E1750 Reloaded - QMI - STATIC - DHCP - IPv4

poma pomidorabelisima at gmail.com
Wed Aug 6 00:41:44 PDT 2014


On 06.08.2014 09:04, Aleksander Morgado wrote:
> Hey,
> 
> On Wed, Aug 6, 2014 at 1:33 AM, poma <pomidorabelisima at gmail.com> wrote:
>> On 05.08.2014 10:15, Aleksander Morgado wrote:
>>> On Tue, Aug 5, 2014 at 1:06 AM, poma <pomidorabelisima at gmail.com> wrote:
>>>> http://cgit.freedesktop.org/ModemManager/ModemManager/tree/src/mm-bearer-mbim.c#n349
>>>> Besides, unlike the 'mm-bearer-qmi.c', the 'mm-bearer-mbim.c' didn't lose the "MM_BEARER_IP_METHOD_DHCP".
>>>> Yet. :)
>>>
>>> Haha; that's actually the "else" branch of the logic in MBIM. The
>>> default branch checks whether we got IP and DNS, and if so it defaults
>>> to use STATIC, so DHCP is the fallback. The thing is that there are
>>> MBIM modems out there which don't support DHCP at all.
>>>
>>
>> Related to QMI IPv4 - MM_BEARER_IP_METHOD_STATIC
>>
>> Believe it or not after the first successful connectionbut via "qmicli ... --wds-start-network..." connection started to work, although not in the way as it would be expected.
>> As I wrote before, one step forward, two steps back. :)
>>
>>
>> # qmicli -d /dev/cdc-wdm0 --wds-start-network="<APN>,pap,<USER>,<PASSWD>" --client-no-release-cid
>> [/dev/cdc-wdm0] Network started
>>         Packet data handle: '<PDH>'
>> [/dev/cdc-wdm0] Client ID not released:
>>                 Service: 'wds'
>>             CID: '<CID>'
>> # dhclient wwan0
>>
>> # qmicli -d /dev/cdc-wdm0 --wds-get-packet-service-status
>> [/dev/cdc-wdm0] Connection status: 'connected'
>>
>> # dhclient -r wwan0
>> # qmicli -d /dev/cdc-wdm0 --wds-stop-network=<PDH> --client-cid=<CID>
>> Network cancelled... releasing resources
>> [/dev/cdc-wdm0] Network stopped
>>
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>
>> $ mmcli -m 0 --simple-connect="apn=<APN>,allowed-auth=pap,user=<USER>,password=<PASSWD>,allow-roaming=no"
>> # dhclient wwan0
>>
>> $ mmcli -m 0 --simple-status | grep state | awk '{print $3$4}'
>> state:'connected'
>>
>> # dhclient -r wwan0
>> $ mmcli -m 0 --simple-disconnect
>>
> 
> Debug logs? :(

:)

> 
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>
>> $ nmcli device connect cdc-wdm0
>> or
>> $ nmcli connection up <ID>
>> # dhclient wwan0
>>
>> $ nmcli -f GENERAL.STATE device show cdc-wdm0
>> GENERAL.STATE:                          100 (connected)
>> or
>> $ nmcli -f GENERAL.STATE connection show <ID>
>> GENERAL.STATE:                          activated
>>
>> # dhclient -r wwan0
>> $ nmcli device disconnect cdc-wdm0
>> or
>> $ nmcli connection down <ID>
>>
> 
> Ok, so you only get a proper connection if after running it through
> NetworkManager you also run manually dhclient. That we already knew :)

Actually we knew it for a MM_BEARER_IP_METHOD_DHCP, 
and now we know it for a MM_BEARER_IP_METHOD_STATIC, also. :)
In fact all six combinations work, via qmicli, mmcli and nmcli, each of them for both methods, MM_BEARER_IP_METHOD_ DHCP & STATIC.
Just for the nmcli(I count this as a representative for the NetworkManager) require is another round of DHCP request.

> 
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>
>> $ nm-applet
>> No matter what the data interface i.e. "wwan0" already picked the right address, due to the additional steps required to actually provide a  connection, that is a DHCP client address request & release,
>> network-manager-applet as a GUI ain't very useful per se.
>>
> 
> nm-applet runs it through NM, without any other additional step. NM
> should be able to handle the full connection process. If your modem
> doesn't provide a valid static IP config, we need to detect it and in
> that case fallback to DHCP. But first, we need to know what static IP
> config we got from your modem, and we cannot do that if you don't give
> us MM debug logs :/
> 
> 

Let's go step by step without haste. :)


poma



More information about the ModemManager-devel mailing list