Re: [MM] 'qmi-support' branch merged to git master



Aleksander Morgado <aleksander lanedo com> writes:

> So, the 'qmi-support' was just merged to git master, which means that
> you'll now need libqmi git master [1] to compile ModemManager. All new
> QMI-related development will now go into git master directly.

Wow, great work!

I noticed that you even support multiple bearers now, allowing me to
configure multiple APNs on the same modem (the 3rd QMI/wwan device is
fake - I'm experimenting.  It does not work):

ModemManager[25642]: <debug> [1346264110.916784] [mm-broadband-modem-qmi.c:143] modem_create_bearer(): Creating QMI bearer in QMI modem
ModemManager[25642]: <debug> [1346264110.917592] [mm-broadband-modem-qmi.c:122] modem_create_bearer_finish(): New bearer created at DBus path '/org/freedesktop/ModemManager1/Bearer/0'
ModemManager[25642]: <debug> [1346264115.797676] [mm-broadband-modem-qmi.c:143] modem_create_bearer(): Creating QMI bearer in QMI modem
ModemManager[25642]: <debug> [1346264115.797963] [mm-broadband-modem-qmi.c:122] modem_create_bearer_finish(): New bearer created at DBus path '/org/freedesktop/ModemManager1/Bearer/1'
ModemManager[25642]: <debug> [1346264118.807731] [mm-broadband-modem-qmi.c:143] modem_create_bearer(): Creating QMI bearer in QMI modem
ModemManager[25642]: <debug> [1346264118.808034] [mm-broadband-modem-qmi.c:122] modem_create_bearer_finish(): New bearer created at DBus path '/org/freedesktop/ModemManager1/Bearer/2'




bjorn@nemi:~$ mmcli -m 0   --list-bearers

Found 3 bearers:

        /org/freedesktop/ModemManager1/Bearer/0

        /org/freedesktop/ModemManager1/Bearer/1

        /org/freedesktop/ModemManager1/Bearer/2


Connecting one of them works fine, but will always connect wwan0 it
seems: 

bjorn@nemi:~$ mmcli -b 0
Bearer '/org/freedesktop/ModemManager1/Bearer/0'
  -------------------------
  Status             |   connected: 'no'
                     |   suspended: 'no'
                     |   interface: 'unknown'
                     |  IP timeout: '20'
  -------------------------
  Properties         |         apn: 'telenor'
                     |     roaming: 'allowed'
                     |     IP type: 'ipv4'
                     |        user: 'none'
                     |    password: 'none'
                     |      number: 'none'
                     | Rm protocol: 'unknown'
  -------------------------
  IPv4 configuration |   method: 'unknown'
  -------------------------
  IPv6 configuration |   method: 'unknown'
bjorn@nemi:~$ mmcli -b 1
Bearer '/org/freedesktop/ModemManager1/Bearer/1'
  -------------------------
  Status             |   connected: 'yes'
                     |   suspended: 'no'
                     |   interface: 'wwan0'
                     |  IP timeout: '20'
  -------------------------
  Properties         |         apn: 'pilot.telenor'
                     |     roaming: 'allowed'
                     |     IP type: 'ipv4'
                     |        user: 'none'
                     |    password: 'none'
                     |      number: 'none'
                     | Rm protocol: 'unknown'
  -------------------------
  IPv4 configuration |   method: 'dhcp'
  -------------------------
  IPv6 configuration |   method: 'unknown'


Attempting to connect more than one bearer makes ModemManager crash:

bjorn@nemi:~$ mmcli -b 0 -c
error: couldn't connect the bearer: 'GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message did not receive a reply (timeout by message bus)'



ModemManager[25642]:   Client ID: 05
ModemManager[25642]:   Transaction ID: 03:00
ModemManager[25642]: [/dev/cdc-wdm0] Received message...
>>>>>> QMUX:
>>>>>>   length  = 19
>>>>>>   flags   = 0x80
>>>>>>   service = "wds"
>>>>>>   client  = 5
>>>>>> QMI:
>>>>>>   flags       = "response"
>>>>>>   transaction = 3
>>>>>>   tlv_length  = 7
>>>>>>   message     = "Set IP Family" (0x004D)
>>>>>> TLV:
>>>>>>   type       = "Result" (0x02)
>>>>>>   length     = 4
>>>>>>   value      = 00:00:00:00
>>>>>>   translated = SUCCESS
ModemManager[25642]: KEY: 03:00:05:01:00:00:00:00
ModemManager[25642]:   Service: 01
ModemManager[25642]:   Client ID: 05
ModemManager[25642]:   Transaction ID: 03:00
ModemManager[25642]: <debug> [1346264213.789248] [mm-bearer-qmi.c:438] connect_context_step(): Starting IPv4 connection...
ModemManager[25642]: [/dev/cdc-wdm0] Sending message...
<<<<<< QMUX:
<<<<<<   length  = 22
<<<<<<   flags   = 0x00
<<<<<<   service = "wds"
<<<<<<   client  = 5
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 4
<<<<<<   tlv_length  = 10
<<<<<<   message     = "Start Network" (0x0020)
<<<<<< TLV:
<<<<<<   type       = "APN" (0x14)
<<<<<<   length     = 7
<<<<<<   value      = 74:65:6C:65:6E:6F:72
<<<<<<   translated = telenor
ModemManager[25642]: KEY: 04:00:05:01:00:00:00:00
ModemManager[25642]:   Service: 01
ModemManager[25642]:   Client ID: 05
ModemManager[25642]:   Transaction ID: 04:00
ModemManager[25642]: [/dev/cdc-wdm0] Received message...
>>>>>> QMUX:
>>>>>>   length  = 19
>>>>>>   flags   = 0x80
>>>>>>   service = "wds"
>>>>>>   client  = 5
>>>>>> QMI:
>>>>>>   flags       = "response"
>>>>>>   transaction = 4
>>>>>>   tlv_length  = 7
>>>>>>   message     = "Start Network" (0x0020)
>>>>>> TLV:
>>>>>>   type       = "Result" (0x02)
>>>>>>   length     = 4
>>>>>>   value      = 01:00:1A:00
>>>>>>   translated = FAILURE: NoEffect
ModemManager[25642]: KEY: 04:00:05:01:00:00:00:00
ModemManager[25642]:   Service: 01
ModemManager[25642]:   Client ID: 05
ModemManager[25642]:   Transaction ID: 04:00

(ModemManager:25642): GLib-GIO-CRITICAL **: g_simple_async_result_take_error: assertion `error != NULL' failed
Segmentation fault


I assume some of the problem is that you use /dev/cdc-wdm0 for all the
bearers. That's fine for QMI_NAS etc, but for QMI_WDS you need to match
the wwanX interface for each bearer.


Bjørn


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]