Re: [OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 'HiLink') Modems

2016-03-01 Thread John Crispin


On 01/03/2016 12:14, Bruno Randolf wrote:
> On 03/01/2016 08:43 AM, John Crispin wrote:
>>
>>
>> On 26/02/2016 08:50, John Crispin wrote:
>>>
>>>
>>> On 25/02/2016 08:23, John Crispin wrote:


 On 24/02/2016 09:08, Bruno Randolf wrote:
> On 02/24/2016 06:11 AM, Matti Laakso wrote:
>>> The reason is that I want different types of Modems to work with the
>>> same interface configuration, using 'wwan'. E.g. it's configured like
>>> this (/etc/config/network):
>>>
>>> config interface 'umts'
>>> option proto wwan
>>> option apn internet.eplus.de
>>> option metric 4
>>>
>>> And it will work with PPP, QMI, MBIM, HiLink or whatever modem supported
>>> by "wwan" (which are hopefully more and more)... Doesn't that make
>>> sense? It would help the user who doesn't want to guess wether QMI works
>>> better than PPP for a specific modem and which serial port to use, 
>>> etc...
>>>
>>
>> That's a good goal, but I think it's confusing for the user when apn and
>> pin options don't work with HiLink modems but do work with all other
>> modems handled by wwan.
>
> Well, you can see it the other way round: they are not needed for HiLink
> modems and it will "just work"... :)
>
> bruno
>

 i have to say i agree most with bruno but i need to think about this a
 bit and i'll test it with the 2 hilinks i have here. i believe that
 having the wwan proto handle most of the options is desirable as it will
 not only unify the code path but also the config path which at the end
 will increase usability.

John

>>>
>>> Hi,
>>>
>>> this only works if the sim card has no pin set. correct ? i tried it and
>>> without logging into the webui and adding my pin/apn/ ... there it wont
>>> go online
>>>
>>> John
>>
>> i have spent ages thinking about this. the main problem is that the unit
>> wont go online unless we previously set the apn/pin, ... in the webui.
>> although having a unified wwan proto is great and we should have hilink
>> support in it, i fear that this will be rather ambiguous to users as
>> they set the pin in uci and then it wont get applied. so i have heavy
>> heartedly decided to NAK this. i wish i had more time so we could hack
>> up a tiny tool to set the webui setting from uci. although that is
>> really would be an ugly hack.
>>
>> sorry but i hope that the explanation makes sense.
> 
> Well, it makes sense only when you need to set APN and PIN. But this
> seems to depend on the Provider and SIM card settings.
> 
> I know two cases where this is not necessary: "eplus.de" and
> "vodafone.es" (PIN lock was disabled manually before in the vodafone.es
> case).
> 
> Anyhow, this is maybe not a generic enough situation to merit adding
> this to OpenWRT...
> 
> bruno

that is a SIM card feature. if you disable the pin none of the protos
need a PIN. i tested it on a eplus card and it did require an APN.
however there was a patch on the mailing list just now that posted the
mikrotik scripts. they should be easy to integrate. i know its an extra
todo but we really want to have a solution that will work for all SIM
cards and not just some depending on the provide. hope you agree

John



> ___
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
> 
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 'HiLink') Modems

2016-03-01 Thread Bruno Randolf
On 03/01/2016 08:43 AM, John Crispin wrote:
> 
> 
> On 26/02/2016 08:50, John Crispin wrote:
>>
>>
>> On 25/02/2016 08:23, John Crispin wrote:
>>>
>>>
>>> On 24/02/2016 09:08, Bruno Randolf wrote:
 On 02/24/2016 06:11 AM, Matti Laakso wrote:
>> The reason is that I want different types of Modems to work with the
>> same interface configuration, using 'wwan'. E.g. it's configured like
>> this (/etc/config/network):
>>
>> config interface 'umts'
>> option proto wwan
>> option apn internet.eplus.de
>> option metric 4
>>
>> And it will work with PPP, QMI, MBIM, HiLink or whatever modem supported
>> by "wwan" (which are hopefully more and more)... Doesn't that make
>> sense? It would help the user who doesn't want to guess wether QMI works
>> better than PPP for a specific modem and which serial port to use, etc...
>>
>
> That's a good goal, but I think it's confusing for the user when apn and
> pin options don't work with HiLink modems but do work with all other
> modems handled by wwan.

 Well, you can see it the other way round: they are not needed for HiLink
 modems and it will "just work"... :)

 bruno

>>>
>>> i have to say i agree most with bruno but i need to think about this a
>>> bit and i'll test it with the 2 hilinks i have here. i believe that
>>> having the wwan proto handle most of the options is desirable as it will
>>> not only unify the code path but also the config path which at the end
>>> will increase usability.
>>>
>>> John
>>>
>>
>> Hi,
>>
>> this only works if the sim card has no pin set. correct ? i tried it and
>> without logging into the webui and adding my pin/apn/ ... there it wont
>> go online
>>
>>  John
> 
> i have spent ages thinking about this. the main problem is that the unit
> wont go online unless we previously set the apn/pin, ... in the webui.
> although having a unified wwan proto is great and we should have hilink
> support in it, i fear that this will be rather ambiguous to users as
> they set the pin in uci and then it wont get applied. so i have heavy
> heartedly decided to NAK this. i wish i had more time so we could hack
> up a tiny tool to set the webui setting from uci. although that is
> really would be an ugly hack.
> 
> sorry but i hope that the explanation makes sense.

Well, it makes sense only when you need to set APN and PIN. But this
seems to depend on the Provider and SIM card settings.

I know two cases where this is not necessary: "eplus.de" and
"vodafone.es" (PIN lock was disabled manually before in the vodafone.es
case).

Anyhow, this is maybe not a generic enough situation to merit adding
this to OpenWRT...

bruno
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 'HiLink') Modems

2016-03-01 Thread John Crispin


On 01/03/2016 10:34, Jakub Jančo wrote:
> On Tue, Mar 1, 2016 at 9:43 AM, John Crispin  wrote:
>> i have spent ages thinking about this. the main problem is that the unit
>> wont go online unless we previously set the apn/pin, ... in the webui.
>> although having a unified wwan proto is great and we should have hilink
>> support in it, i fear that this will be rather ambiguous to users as
>> they set the pin in uci and then it wont get applied. so i have heavy
>> heartedly decided to NAK this. i wish i had more time so we could hack
>> up a tiny tool to set the webui setting from uci. although that is
>> really would be an ugly hack.
> 
> By the way - mikrotik devices has PIN and APN settings for hilink too.
> Maybe there are some devices which support it - it didnt work for me,
> I had to set up things over webif.
> 
> I have done hack with wget to set PIN(huawei 3372h), but it is
> umaintained for now and I cant test it because we have device on
> "production" router.
> Problem can be a lot of APIs. And it needs to be able use cookies and
> post data.(If I remember I had to download full wget)
> 

reallly ugly stuff, but if anyone feels like merging this into the patch
that bruno posted then please do so.

John


> 
> If someone want play with it:
> In connect.post the PIN code is not variabled.
> --- config.sh
> #!/bin/sh
> gateway_ip="192.168.8.1"
> base_url="http://${gateway_ip};
> cookie_file="/tmp/cookie"
> connect_data="connect.post"
> connect_url="${base_url}/api/dialup/mobile-dataswitch"
> unlocksim_data="unlocksim.post"
> unlocksim_url="${base_url}/api/pin/operate"
> 
> token_url="${base_url}/html/home.html"
> request_token=$(wget -q -t 0 "$token_url" -O - --save-cookies
> "$cookie_file" --keep-session-cookies | grep csrf_token | head -n1 |
> cut -d'"' -f4)
> --
> --- connect.sh
> #!/bin/sh
> 
> . config.sh
> 
> [ -n "$request_token" ] || {
> echo No request token found
> exit 1
> }
> 
> wget -q -t 0 --load-cookies "$cookie_file"
> --header="__RequestVerificationToken: $request_token" \
>--post-file="$connect_data" "$connect_url" -O -
> --
> --- unlocksim.sh
> #!/bin/sh
> 
> . config.sh
> 
> [ -n "$request_token" ] || {
> echo No request token found
> exit 1
> }
> 
> wget -q -t 0 --load-cookies "$cookie_file"
> --header="__RequestVerificationToken: $request_token" \
> --post-file="$unlocksim_data" "$unlocksim_url" -O -
> --
> --- connect.post
>  encoding="UTF-8"?>0
> --
> --- connect.post
> 0
> --
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> --
> S pozdravom Jakub Janco
> 
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 'HiLink') Modems

2016-03-01 Thread Jakub Jančo
On Tue, Mar 1, 2016 at 9:43 AM, John Crispin  wrote:
> i have spent ages thinking about this. the main problem is that the unit
> wont go online unless we previously set the apn/pin, ... in the webui.
> although having a unified wwan proto is great and we should have hilink
> support in it, i fear that this will be rather ambiguous to users as
> they set the pin in uci and then it wont get applied. so i have heavy
> heartedly decided to NAK this. i wish i had more time so we could hack
> up a tiny tool to set the webui setting from uci. although that is
> really would be an ugly hack.

By the way - mikrotik devices has PIN and APN settings for hilink too.
Maybe there are some devices which support it - it didnt work for me,
I had to set up things over webif.

I have done hack with wget to set PIN(huawei 3372h), but it is
umaintained for now and I cant test it because we have device on
"production" router.
Problem can be a lot of APIs. And it needs to be able use cookies and
post data.(If I remember I had to download full wget)


If someone want play with it:
In connect.post the PIN code is not variabled.
--- config.sh
#!/bin/sh
gateway_ip="192.168.8.1"
base_url="http://${gateway_ip};
cookie_file="/tmp/cookie"
connect_data="connect.post"
connect_url="${base_url}/api/dialup/mobile-dataswitch"
unlocksim_data="unlocksim.post"
unlocksim_url="${base_url}/api/pin/operate"

token_url="${base_url}/html/home.html"
request_token=$(wget -q -t 0 "$token_url" -O - --save-cookies
"$cookie_file" --keep-session-cookies | grep csrf_token | head -n1 |
cut -d'"' -f4)
--
--- connect.sh
#!/bin/sh

. config.sh

[ -n "$request_token" ] || {
echo No request token found
exit 1
}

wget -q -t 0 --load-cookies "$cookie_file"
--header="__RequestVerificationToken: $request_token" \
   --post-file="$connect_data" "$connect_url" -O -
--
--- unlocksim.sh
#!/bin/sh

. config.sh

[ -n "$request_token" ] || {
echo No request token found
exit 1
}

wget -q -t 0 --load-cookies "$cookie_file"
--header="__RequestVerificationToken: $request_token" \
--post-file="$unlocksim_data" "$unlocksim_url" -O -
--
--- connect.post
0
--
--- connect.post
0
--










--
S pozdravom Jakub Janco
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 'HiLink') Modems

2016-03-01 Thread John Crispin


On 26/02/2016 08:50, John Crispin wrote:
> 
> 
> On 25/02/2016 08:23, John Crispin wrote:
>>
>>
>> On 24/02/2016 09:08, Bruno Randolf wrote:
>>> On 02/24/2016 06:11 AM, Matti Laakso wrote:
> The reason is that I want different types of Modems to work with the
> same interface configuration, using 'wwan'. E.g. it's configured like
> this (/etc/config/network):
>
> config interface 'umts'
> option proto wwan
> option apn internet.eplus.de
> option metric 4
>
> And it will work with PPP, QMI, MBIM, HiLink or whatever modem supported
> by "wwan" (which are hopefully more and more)... Doesn't that make
> sense? It would help the user who doesn't want to guess wether QMI works
> better than PPP for a specific modem and which serial port to use, etc...
>

 That's a good goal, but I think it's confusing for the user when apn and
 pin options don't work with HiLink modems but do work with all other
 modems handled by wwan.
>>>
>>> Well, you can see it the other way round: they are not needed for HiLink
>>> modems and it will "just work"... :)
>>>
>>> bruno
>>>
>>
>> i have to say i agree most with bruno but i need to think about this a
>> bit and i'll test it with the 2 hilinks i have here. i believe that
>> having the wwan proto handle most of the options is desirable as it will
>> not only unify the code path but also the config path which at the end
>> will increase usability.
>>
>>  John
>>
> 
> Hi,
> 
> this only works if the sim card has no pin set. correct ? i tried it and
> without logging into the webui and adding my pin/apn/ ... there it wont
> go online
> 
>   John

i have spent ages thinking about this. the main problem is that the unit
wont go online unless we previously set the apn/pin, ... in the webui.
although having a unified wwan proto is great and we should have hilink
support in it, i fear that this will be rather ambiguous to users as
they set the pin in uci and then it wont get applied. so i have heavy
heartedly decided to NAK this. i wish i had more time so we could hack
up a tiny tool to set the webui setting from uci. although that is
really would be an ugly hack.

sorry but i hope that the explanation makes sense.
John



> ___
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
> 
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 'HiLink') Modems

2016-02-25 Thread John Crispin


On 25/02/2016 08:23, John Crispin wrote:
> 
> 
> On 24/02/2016 09:08, Bruno Randolf wrote:
>> On 02/24/2016 06:11 AM, Matti Laakso wrote:
 The reason is that I want different types of Modems to work with the
 same interface configuration, using 'wwan'. E.g. it's configured like
 this (/etc/config/network):

 config interface 'umts'
 option proto wwan
 option apn internet.eplus.de
 option metric 4

 And it will work with PPP, QMI, MBIM, HiLink or whatever modem supported
 by "wwan" (which are hopefully more and more)... Doesn't that make
 sense? It would help the user who doesn't want to guess wether QMI works
 better than PPP for a specific modem and which serial port to use, etc...

>>>
>>> That's a good goal, but I think it's confusing for the user when apn and
>>> pin options don't work with HiLink modems but do work with all other
>>> modems handled by wwan.
>>
>> Well, you can see it the other way round: they are not needed for HiLink
>> modems and it will "just work"... :)
>>
>> bruno
>>
> 
> i have to say i agree most with bruno but i need to think about this a
> bit and i'll test it with the 2 hilinks i have here. i believe that
> having the wwan proto handle most of the options is desirable as it will
> not only unify the code path but also the config path which at the end
> will increase usability.
> 
>   John
> 

Hi,

this only works if the sim card has no pin set. correct ? i tried it and
without logging into the webui and adding my pin/apn/ ... there it wont
go online

John
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 'HiLink') Modems

2016-02-24 Thread John Crispin


On 24/02/2016 09:08, Bruno Randolf wrote:
> On 02/24/2016 06:11 AM, Matti Laakso wrote:
>>> The reason is that I want different types of Modems to work with the
>>> same interface configuration, using 'wwan'. E.g. it's configured like
>>> this (/etc/config/network):
>>>
>>> config interface 'umts'
>>> option proto wwan
>>> option apn internet.eplus.de
>>> option metric 4
>>>
>>> And it will work with PPP, QMI, MBIM, HiLink or whatever modem supported
>>> by "wwan" (which are hopefully more and more)... Doesn't that make
>>> sense? It would help the user who doesn't want to guess wether QMI works
>>> better than PPP for a specific modem and which serial port to use, etc...
>>>
>>
>> That's a good goal, but I think it's confusing for the user when apn and
>> pin options don't work with HiLink modems but do work with all other
>> modems handled by wwan.
> 
> Well, you can see it the other way round: they are not needed for HiLink
> modems and it will "just work"... :)
> 
> bruno
> 

i have to say i agree most with bruno but i need to think about this a
bit and i'll test it with the 2 hilinks i have here. i believe that
having the wwan proto handle most of the options is desirable as it will
not only unify the code path but also the config path which at the end
will increase usability.

John
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 'HiLink') Modems

2016-02-24 Thread Jakub Jančo
It is not true. My 3372h may need PIN. It is on me if I disable PIN
verification in modem webif. Only problem is that it is not universal
- I need send http POST request to webif to unlock SIM, instead AT
cmd.
So maybe someone implement unlocking hilink modems on every start - so
we need PIN.

--
S pozdravom Jakub Janco


On Wed, Feb 24, 2016 at 7:11 AM, Matti Laakso <malaa...@elisanet.fi> wrote:
>> Subject: Re: [OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei
>> 'HiLink') Modems
>> To: malaa...@elisanet.fi; openwrt-devel@lists.openwrt.org
>> CC: blo...@openwrt.org
>> From: b...@einfach.org
>> Date: Tue, 23 Feb 2016 17:26:33 +
>>
>> On 02/23/2016 07:11 AM, Matti Laakso wrote:
>> >> Huawei HiLink ("h" model names) modems just provide a CDC Ethernet
>> >> interface
>> >> where we have to run DHCP to get an IP address (usually in the
>> >> 192.168.8.0
>> >> range). While this may be bad design in general it's sometimes
>> >> necessary to
>> >> support these modems.
>> >>
>> >> This adds autodetection and handling of these to wwan.
>> >>
>> >> Tested with Huawei E3030h-1.
>> >
>> > Why do you need an extra protocol for these? They work just fine with
>> > the regular DHCP protocol.
>>
>> Hi, sorry I saw this so late... (cc: please).
>>
>> The reason is that I want different types of Modems to work with the
>> same interface configuration, using 'wwan'. E.g. it's configured like
>> this (/etc/config/network):
>>
>> config interface 'umts'
>> option proto wwan
>> option apn internet.eplus.de
>> option metric 4
>>
>> And it will work with PPP, QMI, MBIM, HiLink or whatever modem supported
>> by "wwan" (which are hopefully more and more)... Doesn't that make
>> sense? It would help the user who doesn't want to guess wether QMI works
>> better than PPP for a specific modem and which serial port to use, etc...
>>
>
> That's a good goal, but I think it's confusing for the user when apn and pin
> options don't work with HiLink modems but do work with all other modems
> handled by wwan.
>
> Matti
>
>
>
> ___
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 'HiLink') Modems

2016-02-24 Thread Matti Laakso
> Subject: Re: [OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 
> 'HiLink') Modems
> To: malaa...@elisanet.fi; openwrt-devel@lists.openwrt.org
> CC: blo...@openwrt.org
> From: b...@einfach.org
> Date: Tue, 23 Feb 2016 17:26:33 +
> 
> On 02/23/2016 07:11 AM, Matti Laakso wrote:
> >> Huawei HiLink ("h" model names) modems just provide a CDC Ethernet
> >> interface
> >> where we have to run DHCP to get an IP address (usually in the
> >> 192.168.8.0
> >> range). While this may be bad design in general it's sometimes
> >> necessary to
> >> support these modems.
> >>
> >> This adds autodetection and handling of these to wwan.
> >>
> >> Tested with Huawei E3030h-1.
> > 
> > Why do you need an extra protocol for these? They work just fine with
> > the regular DHCP protocol.
> 
> Hi, sorry I saw this so late... (cc: please).
> 
> The reason is that I want different types of Modems to work with the
> same interface configuration, using 'wwan'. E.g. it's configured like
> this (/etc/config/network):
> 
> config interface 'umts'
>   option protowwan
>   option apn  internet.eplus.de
>   option metric   4
> 
> And it will work with PPP, QMI, MBIM, HiLink or whatever modem supported
> by "wwan" (which are hopefully more and more)... Doesn't that make
> sense? It would help the user who doesn't want to guess wether QMI works
> better than PPP for a specific modem and which serial port to use, etc...
> 

That's a good goal, but I think it's confusing for the user when apn and pin 
options don't work with HiLink modems but do work with all other modems handled 
by wwan.

Matti


  ___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 'HiLink') Modems

2016-02-24 Thread Bruno Randolf
On 02/24/2016 06:11 AM, Matti Laakso wrote:
>> The reason is that I want different types of Modems to work with the
>> same interface configuration, using 'wwan'. E.g. it's configured like
>> this (/etc/config/network):
>>
>> config interface 'umts'
>> option proto wwan
>> option apn internet.eplus.de
>> option metric 4
>>
>> And it will work with PPP, QMI, MBIM, HiLink or whatever modem supported
>> by "wwan" (which are hopefully more and more)... Doesn't that make
>> sense? It would help the user who doesn't want to guess wether QMI works
>> better than PPP for a specific modem and which serial port to use, etc...
>>
> 
> That's a good goal, but I think it's confusing for the user when apn and
> pin options don't work with HiLink modems but do work with all other
> modems handled by wwan.

Well, you can see it the other way round: they are not needed for HiLink
modems and it will "just work"... :)

bruno
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 'HiLink') Modems

2016-02-23 Thread John Crispin


On 23/02/2016 18:26, Bruno Randolf wrote:
> On 02/23/2016 07:11 AM, Matti Laakso wrote:
>>> Huawei HiLink ("h" model names) modems just provide a CDC Ethernet
>>> interface
>>> where we have to run DHCP to get an IP address (usually in the
>>> 192.168.8.0
>>> range). While this may be bad design in general it's sometimes
>>> necessary to
>>> support these modems.
>>>
>>> This adds autodetection and handling of these to wwan.
>>>
>>> Tested with Huawei E3030h-1.
>>
>> Why do you need an extra protocol for these? They work just fine with
>> the regular DHCP protocol.
> 
> Hi, sorry I saw this so late... (cc: please).
> 
> The reason is that I want different types of Modems to work with the
> same interface configuration, using 'wwan'. E.g. it's configured like
> this (/etc/config/network):
> 
> config interface 'umts'
>   option protowwan
>   option apn  internet.eplus.de
>   option metric   4
> 
> And it will work with PPP, QMI, MBIM, HiLink or whatever modem supported
> by "wwan" (which are hopefully more and more)... Doesn't that make
> sense? It would help the user who doesn't want to guess wether QMI works
> better than PPP for a specific modem and which serial port to use, etc...
> 
> bruno

that does indeed make sense and is the core reason why i added the wwan
proto/package.

i am planning to merge stuff tomorrow during the day and will pick this
one up aswell.

John
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 'HiLink') Modems

2016-02-23 Thread Bruno Randolf
On 02/23/2016 07:54 AM, John Crispin wrote:
> On 23/02/2016 08:47, Torbjorn Jansson wrote:
>> FYI the hilink modem i have (E3372) only works if you visit one of the
>> pages on the usb sticks built in web server.
>> if you don't visit this page the stick never connects.
>>
>> i have not yet found a good solution to this problem.

We have only been testing with E303 and we had one of them, which got
plugged into a Windows machine. After that it didn't want to autoconnect
any more, until we did a "restore factory defaults" or "reset" on it's
web server. After that it worked fine again.

> that is what i thought. i had the idea that we could build a http client
> to do this but that is a really ugly hack.

Well, HiLink is a pretty ugly design in any case. E.g. you will run into
problems when you want to use 192.168.8.0/24 yourself on another
interface. Problem is that some have these sticks and want to use them.

If really necessary, this "hilink protocol" could be the place to add
these ugly hacks...

> however reading that 3 people talk to the stick in a different manner
> makes me wonder if there is more than 1 type of hilink modem ?

Thats certainly possible, allthough I'd be interested if the "reset" as
described above helps. And we all do DHCP or use an IP from the
192.168.8.0/24 range, no?

bruno
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 'HiLink') Modems

2016-02-23 Thread Bruno Randolf
On 02/23/2016 07:11 AM, Matti Laakso wrote:
>> Huawei HiLink ("h" model names) modems just provide a CDC Ethernet
>> interface
>> where we have to run DHCP to get an IP address (usually in the
>> 192.168.8.0
>> range). While this may be bad design in general it's sometimes
>> necessary to
>> support these modems.
>>
>> This adds autodetection and handling of these to wwan.
>>
>> Tested with Huawei E3030h-1.
> 
> Why do you need an extra protocol for these? They work just fine with
> the regular DHCP protocol.

Hi, sorry I saw this so late... (cc: please).

The reason is that I want different types of Modems to work with the
same interface configuration, using 'wwan'. E.g. it's configured like
this (/etc/config/network):

config interface 'umts'
option protowwan
option apn  internet.eplus.de
option metric   4

And it will work with PPP, QMI, MBIM, HiLink or whatever modem supported
by "wwan" (which are hopefully more and more)... Doesn't that make
sense? It would help the user who doesn't want to guess wether QMI works
better than PPP for a specific modem and which serial port to use, etc...

bruno
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 'HiLink') Modems

2016-02-23 Thread Cezary Jackiewicz
Dnia 2016-02-23, o godz. 08:54:06
John Crispin  napisał(a):

> however reading that 3 people talk to the stick in a different manner
> makes me wonder if there is more than 1 type of hilink modem ?

E3372s-153 (sold in Poland) require only connect to usb and connect 
automatically.

-- 
Pozdrawiam,
 Cezary Jackiewicz
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 'HiLink') Modems

2016-02-22 Thread John Crispin


On 23/02/2016 08:47, Torbjorn Jansson wrote:
> On 2016-02-23 08:11, Matti Laakso wrote:
>>> Huawei HiLink ("h" model names) modems just provide a CDC Ethernet
>>> interface
>>> where we have to run DHCP to get an IP address (usually in the
>>> 192.168.8.0
>>> range). While this may be bad design in general it's sometimes
>>> necessary to
>>> support these modems.
>>>
>>> This adds autodetection and handling of these to wwan.
>>>
>>> Tested with Huawei E3030h-1.
>>
>> Why do you need an extra protocol for these? They work just fine with
>> the regular DHCP protocol.
>>
> 
> FYI the hilink modem i have (E3372) only works if you visit one of the
> pages on the usb sticks built in web server.
> if you don't visit this page the stick never connects.
> 
> i have not yet found a good solution to this problem.

that is what i thought. i had the idea that we could build a http client
to do this but that is a really ugly hack.

however reading that 3 people talk to the stick in a different manner
makes me wonder if there is more than 1 type of hilink modem ?

John

> ___
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 'HiLink') Modems

2016-02-22 Thread Torbjorn Jansson

On 2016-02-23 08:11, Matti Laakso wrote:

Huawei HiLink ("h" model names) modems just provide a CDC Ethernet
interface
where we have to run DHCP to get an IP address (usually in the
192.168.8.0
range). While this may be bad design in general it's sometimes
necessary to
support these modems.

This adds autodetection and handling of these to wwan.

Tested with Huawei E3030h-1.


Why do you need an extra protocol for these? They work just fine with
the regular DHCP protocol.



FYI the hilink modem i have (E3372) only works if you visit one of the 
pages on the usb sticks built in web server.

if you don't visit this page the stick never connects.

i have not yet found a good solution to this problem.
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 'HiLink') Modems

2016-02-22 Thread Matti Laakso

Huawei HiLink ("h" model names) modems just provide a CDC Ethernet interface
where we have to run DHCP to get an IP address (usually in the 192.168.8.0
range). While this may be bad design in general it's sometimes necessary to
support these modems.

This adds autodetection and handling of these to wwan.

Tested with Huawei E3030h-1.


Why do you need an extra protocol for these? They work just fine with 
the regular DHCP protocol.


Matti



Signed-off-by: Bruno Randolf >

---
  package/network/utils/wwan/Makefile|  3 +-
  package/network/utils/wwan/files/hilink.sh | 56 ++
  package/network/utils/wwan/files/wwan.sh   |  9 -
  3 files changed, 66 insertions(+), 2 deletions(-)
  create mode 100644 package/network/utils/wwan/files/hilink.sh

diff --git a/package/network/utils/wwan/Makefile 
b/package/network/utils/wwan/Makefile
index 8d388dc..1917d1c 100644
--- a/package/network/utils/wwan/Makefile
+++ b/package/network/utils/wwan/Makefile
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
  
  PKG_NAME:=wwan

  PKG_VERSION:=2014-07-17
-PKG_RELEASE=1
+PKG_RELEASE=3
  
  PKG_LICENSE:=GPL-2.0

  PKG_LICENSE_FILES:=
@@ -24,6 +24,7 @@ endef
  define Package/wwan/install
$(INSTALL_DIR) $(1)/lib/netifd/proto/
$(CP) ./files/wwan.sh $(1)/lib/netifd/proto/
+   $(CP) ./files/hilink.sh $(1)/lib/netifd/proto/
$(INSTALL_DIR) $(1)/etc/hotplug.d/usb
$(INSTALL_BIN) ./files/wwan.usb $(1)/etc/hotplug.d/usb/00_wwan.sh
$(INSTALL_DIR) $(1)/etc/hotplug.d/usbmisc
diff --git a/package/network/utils/wwan/files/hilink.sh 
b/package/network/utils/wwan/files/hilink.sh
new file mode 100644
index 000..229e1a4
--- /dev/null
+++ b/package/network/utils/wwan/files/hilink.sh
@@ -0,0 +1,56 @@
+#!/bin/sh
+
+[ -n "$INCLUDE_ONLY" ] || {
+   . /lib/functions.sh
+   . ../netifd-proto.sh
+   init_proto "$@"
+}
+
+proto_hilink_init_config() {
+   available=1
+   no_device=1
+   proto_config_add_boolean defaultroute
+   proto_config_add_boolean peerdns
+   proto_config_add_int metric
+}
+
+proto_hilink_setup() {
+   local interface="$1"
+   local ifname="$ctl_device"
+   local defaultroute peerdns metric
+
+   json_get_vars defaultroute peerdns metric
+
+   [ -n "$ifname" ] || {
+   proto_notify_error "$interface" NO_IFNAME
+   proto_set_available "$interface" 0
+   return 1
+   }
+
+   logger -p daemon.info -t "hilink[$$]" "Starting DHCP on $ifname"
+   proto_init_update "$ifname" 1
+   proto_send_update "$interface"
+
+   json_init
+   json_add_string name "${interface}_4"
+   json_add_string ifname "@$interface"
+   json_add_string proto "dhcp"
+   [ -n "$defaultroute" ] && json_add_boolean defaultroute "$defaultroute"
+   [ -n "$peerdns" ] && json_add_boolean peerdns "$peerdns"
+   [ -n "$metric" ] && json_add_int metric "$metric"
+   json_close_object
+   ubus call network add_dynamic "$(json_dump)"
+
+   return 0
+}
+
+proto_hilink_teardown() {
+   local interface="$1"
+
+   proto_init_update "*" 0
+   proto_send_update "$interface"
+}
+
+[ -n "$INCLUDE_ONLY" ] || {
+   add_protocol hilink
+}
diff --git a/package/network/utils/wwan/files/wwan.sh 
b/package/network/utils/wwan/files/wwan.sh
index 6b33600..3d80aba 100755
--- a/package/network/utils/wwan/files/wwan.sh
+++ b/package/network/utils/wwan/files/wwan.sh
@@ -14,12 +14,14 @@ proto_qmi_setup() { echo "wwan[$$] qmi proto is missing"; }
  proto_ncm_setup() { echo "wwan[$$] ncm proto is missing"; }
  proto_3g_setup() { echo "wwan[$$] 3g proto is missing"; }
  proto_directip_setup() { echo "wwan[$$] directip proto is missing"; }
+proto_hilink_setup() { echo "wwan[$$] hilink proto is missing"; }
  
  [ -f ./mbim.sh ] && . ./mbim.sh

  [ -f ./ncm.sh ] && . ./ncm.sh
  [ -f ./qmi.sh ] && . ./qmi.sh
  [ -f ./3g.sh ] && { . ./ppp.sh; . ./3g.sh; }
  [ -f ./directip.sh ] && . ./directip.sh
+[ -f ./hilink.sh ] && . ./hilink.sh
  
  proto_wwan_init_config() {

available=1
@@ -66,7 +68,7 @@ proto_wwan_setup() {
}
}
  
-	[ -z "$ctl_device" ] && for net in $(ls /sys/class/net/ | grep wwan); do

+   [ -z "$ctl_device" ] && for net in $(ls /sys/class/net/ | grep -E 
"wwan|eth"); do
[ -z "$ctl_device" ] || continue
driver=$(grep DRIVER /sys/class/net/$net/device/uevent | cut 
-d= -f2)
case "$driver" in
@@ -76,6 +78,9 @@ proto_wwan_setup() {
sierra_net|*cdc_ncm)
ctl_device=/dev/$(cd /sys/class/net/$net/; find 
../../../ -name ttyUSB* |xargs basename | head -n1)
;;
+   cdc_ether)
+   ctl_device=$net
+   ;;
*) continue;;
esac
echo "wwan[$$]" "Using proto:$proto 

[OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 'HiLink') Modems

2016-02-18 Thread Bruno Randolf
Huawei HiLink ("h" model names) modems just provide a CDC Ethernet interface
where we have to run DHCP to get an IP address (usually in the 192.168.8.0
range). While this may be bad design in general it's sometimes necessary to
support these modems.

This adds autodetection and handling of these to wwan.

Tested with Huawei E3030h-1.

Signed-off-by: Bruno Randolf 
---
 package/network/utils/wwan/Makefile|  3 +-
 package/network/utils/wwan/files/hilink.sh | 56 ++
 package/network/utils/wwan/files/wwan.sh   |  9 -
 3 files changed, 66 insertions(+), 2 deletions(-)
 create mode 100644 package/network/utils/wwan/files/hilink.sh

diff --git a/package/network/utils/wwan/Makefile 
b/package/network/utils/wwan/Makefile
index 8d388dc..1917d1c 100644
--- a/package/network/utils/wwan/Makefile
+++ b/package/network/utils/wwan/Makefile
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=wwan
 PKG_VERSION:=2014-07-17
-PKG_RELEASE=1
+PKG_RELEASE=3
 
 PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=
@@ -24,6 +24,7 @@ endef
 define Package/wwan/install
$(INSTALL_DIR) $(1)/lib/netifd/proto/
$(CP) ./files/wwan.sh $(1)/lib/netifd/proto/
+   $(CP) ./files/hilink.sh $(1)/lib/netifd/proto/
$(INSTALL_DIR) $(1)/etc/hotplug.d/usb
$(INSTALL_BIN) ./files/wwan.usb $(1)/etc/hotplug.d/usb/00_wwan.sh
$(INSTALL_DIR) $(1)/etc/hotplug.d/usbmisc
diff --git a/package/network/utils/wwan/files/hilink.sh 
b/package/network/utils/wwan/files/hilink.sh
new file mode 100644
index 000..229e1a4
--- /dev/null
+++ b/package/network/utils/wwan/files/hilink.sh
@@ -0,0 +1,56 @@
+#!/bin/sh
+
+[ -n "$INCLUDE_ONLY" ] || {
+   . /lib/functions.sh
+   . ../netifd-proto.sh
+   init_proto "$@"
+}
+
+proto_hilink_init_config() {
+   available=1
+   no_device=1
+   proto_config_add_boolean defaultroute
+   proto_config_add_boolean peerdns
+   proto_config_add_int metric
+}
+
+proto_hilink_setup() {
+   local interface="$1"
+   local ifname="$ctl_device"
+   local defaultroute peerdns metric
+
+   json_get_vars defaultroute peerdns metric
+
+   [ -n "$ifname" ] || {
+   proto_notify_error "$interface" NO_IFNAME
+   proto_set_available "$interface" 0
+   return 1
+   }
+
+   logger -p daemon.info -t "hilink[$$]" "Starting DHCP on $ifname"
+   proto_init_update "$ifname" 1
+   proto_send_update "$interface"
+
+   json_init
+   json_add_string name "${interface}_4"
+   json_add_string ifname "@$interface"
+   json_add_string proto "dhcp"
+   [ -n "$defaultroute" ] && json_add_boolean defaultroute "$defaultroute"
+   [ -n "$peerdns" ] && json_add_boolean peerdns "$peerdns"
+   [ -n "$metric" ] && json_add_int metric "$metric"
+   json_close_object
+   ubus call network add_dynamic "$(json_dump)"
+
+   return 0
+}
+
+proto_hilink_teardown() {
+   local interface="$1"
+
+   proto_init_update "*" 0
+   proto_send_update "$interface"
+}
+
+[ -n "$INCLUDE_ONLY" ] || {
+   add_protocol hilink
+}
diff --git a/package/network/utils/wwan/files/wwan.sh 
b/package/network/utils/wwan/files/wwan.sh
index 6b33600..3d80aba 100755
--- a/package/network/utils/wwan/files/wwan.sh
+++ b/package/network/utils/wwan/files/wwan.sh
@@ -14,12 +14,14 @@ proto_qmi_setup() { echo "wwan[$$] qmi proto is missing"; }
 proto_ncm_setup() { echo "wwan[$$] ncm proto is missing"; }
 proto_3g_setup() { echo "wwan[$$] 3g proto is missing"; }
 proto_directip_setup() { echo "wwan[$$] directip proto is missing"; }
+proto_hilink_setup() { echo "wwan[$$] hilink proto is missing"; }
 
 [ -f ./mbim.sh ] && . ./mbim.sh
 [ -f ./ncm.sh ] && . ./ncm.sh
 [ -f ./qmi.sh ] && . ./qmi.sh
 [ -f ./3g.sh ] && { . ./ppp.sh; . ./3g.sh; }
 [ -f ./directip.sh ] && . ./directip.sh
+[ -f ./hilink.sh ] && . ./hilink.sh
 
 proto_wwan_init_config() {
available=1
@@ -66,7 +68,7 @@ proto_wwan_setup() {
}
}
 
-   [ -z "$ctl_device" ] && for net in $(ls /sys/class/net/ | grep wwan); do
+   [ -z "$ctl_device" ] && for net in $(ls /sys/class/net/ | grep -E 
"wwan|eth"); do
[ -z "$ctl_device" ] || continue
driver=$(grep DRIVER /sys/class/net/$net/device/uevent | cut 
-d= -f2)
case "$driver" in
@@ -76,6 +78,9 @@ proto_wwan_setup() {
sierra_net|*cdc_ncm)
ctl_device=/dev/$(cd /sys/class/net/$net/; find 
../../../ -name ttyUSB* |xargs basename | head -n1)
;;
+   cdc_ether)
+   ctl_device=$net
+   ;;
*) continue;;
esac
echo "wwan[$$]" "Using proto:$proto device:$ctl_device 
iface:$net desc:$desc"
@@ -98,6 +103,7 @@ proto_wwan_setup() {
sierra_net) proto_directip_setup $@ ;;
comgt)  proto_3g_setup $@ ;;

[OpenWrt-Devel] [PATCH 1/2] wwan: Add support for CDC (Huawei 'HiLink') Modems

2016-02-17 Thread Bruno Randolf
Huawei HiLink ("h" model names) modems just provide a CDC Ethernet interface
where we have to run DHCP to get an IP address (usually in the 192.168.8.0
range). While this may be bad design in general it's sometimes necessary to
support these modems.

This adds autodetection and handling of these to wwan.

Tested with Huawei E3030h-1.

Signed-off-by: Bruno Randolf 
---
 package/network/utils/wwan/Makefile|  3 +-
 package/network/utils/wwan/files/hilink.sh | 52 ++
 package/network/utils/wwan/files/wwan.sh   |  9 +-
 3 files changed, 62 insertions(+), 2 deletions(-)
 create mode 100644 package/network/utils/wwan/files/hilink.sh

diff --git a/package/network/utils/wwan/Makefile 
b/package/network/utils/wwan/Makefile
index 8d388dc..02028a9 100644
--- a/package/network/utils/wwan/Makefile
+++ b/package/network/utils/wwan/Makefile
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=wwan
 PKG_VERSION:=2014-07-17
-PKG_RELEASE=1
+PKG_RELEASE=2
 
 PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=
@@ -24,6 +24,7 @@ endef
 define Package/wwan/install
$(INSTALL_DIR) $(1)/lib/netifd/proto/
$(CP) ./files/wwan.sh $(1)/lib/netifd/proto/
+   $(CP) ./files/hilink.sh $(1)/lib/netifd/proto/
$(INSTALL_DIR) $(1)/etc/hotplug.d/usb
$(INSTALL_BIN) ./files/wwan.usb $(1)/etc/hotplug.d/usb/00_wwan.sh
$(INSTALL_DIR) $(1)/etc/hotplug.d/usbmisc
diff --git a/package/network/utils/wwan/files/hilink.sh 
b/package/network/utils/wwan/files/hilink.sh
new file mode 100644
index 000..ed8de6d
--- /dev/null
+++ b/package/network/utils/wwan/files/hilink.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+[ -n "$INCLUDE_ONLY" ] || {
+   . /lib/functions.sh
+   . ../netifd-proto.sh
+   init_proto "$@"
+}
+
+proto_hilink_init_config() {
+   available=1
+   no_device=1
+   proto_config_add_string metric
+}
+
+proto_hilink_setup() {
+   local interface="$1"
+   local ifname="$ctl_device"
+   local metric
+
+   json_get_vars metric
+
+   [ -n "$ifname" ] || {
+   proto_notify_error "$interface" NO_IFNAME
+   proto_set_available "$interface" 0
+   return 1
+   }
+
+   logger -p daemon.info -t "hilink[$$]" "Starting DHCP on $ifname"
+   proto_init_update "$ifname" 1
+   proto_send_update "$interface"
+
+   json_init
+   json_add_string name "${interface}_4"
+   json_add_string ifname "@$interface"
+   json_add_string proto "dhcp"
+   json_add_int metric $metric
+   json_close_object
+   ubus call network add_dynamic "$(json_dump)"
+
+   return 0
+}
+
+proto_hilink_teardown() {
+   local interface="$1"
+
+   proto_init_update "*" 0
+   proto_send_update "$interface"
+}
+
+[ -n "$INCLUDE_ONLY" ] || {
+   add_protocol hilink
+}
diff --git a/package/network/utils/wwan/files/wwan.sh 
b/package/network/utils/wwan/files/wwan.sh
index 6b33600..3d80aba 100755
--- a/package/network/utils/wwan/files/wwan.sh
+++ b/package/network/utils/wwan/files/wwan.sh
@@ -14,12 +14,14 @@ proto_qmi_setup() { echo "wwan[$$] qmi proto is missing"; }
 proto_ncm_setup() { echo "wwan[$$] ncm proto is missing"; }
 proto_3g_setup() { echo "wwan[$$] 3g proto is missing"; }
 proto_directip_setup() { echo "wwan[$$] directip proto is missing"; }
+proto_hilink_setup() { echo "wwan[$$] hilink proto is missing"; }
 
 [ -f ./mbim.sh ] && . ./mbim.sh
 [ -f ./ncm.sh ] && . ./ncm.sh
 [ -f ./qmi.sh ] && . ./qmi.sh
 [ -f ./3g.sh ] && { . ./ppp.sh; . ./3g.sh; }
 [ -f ./directip.sh ] && . ./directip.sh
+[ -f ./hilink.sh ] && . ./hilink.sh
 
 proto_wwan_init_config() {
available=1
@@ -66,7 +68,7 @@ proto_wwan_setup() {
}
}
 
-   [ -z "$ctl_device" ] && for net in $(ls /sys/class/net/ | grep wwan); do
+   [ -z "$ctl_device" ] && for net in $(ls /sys/class/net/ | grep -E 
"wwan|eth"); do
[ -z "$ctl_device" ] || continue
driver=$(grep DRIVER /sys/class/net/$net/device/uevent | cut 
-d= -f2)
case "$driver" in
@@ -76,6 +78,9 @@ proto_wwan_setup() {
sierra_net|*cdc_ncm)
ctl_device=/dev/$(cd /sys/class/net/$net/; find 
../../../ -name ttyUSB* |xargs basename | head -n1)
;;
+   cdc_ether)
+   ctl_device=$net
+   ;;
*) continue;;
esac
echo "wwan[$$]" "Using proto:$proto device:$ctl_device 
iface:$net desc:$desc"
@@ -98,6 +103,7 @@ proto_wwan_setup() {
sierra_net) proto_directip_setup $@ ;;
comgt)  proto_3g_setup $@ ;;
*cdc_ncm)   proto_ncm_setup $@ ;;
+   cdc_ether)  proto_hilink_setup $@ ;;
esac
 }
 
@@ -113,6 +119,7 @@ proto_wwan_teardown() {
sierra_net) proto_mbim_teardown $@ ;;
comgt)  proto_3g_teardown $@ ;;
*cdc_ncm)   proto_ncm_teardown $@ ;;