Re: [MM] 'qmi-support' branch merged to git master
- From: Aleksander Morgado <aleksander lanedo com>
- To: Bjørn Mork <bjorn mork no>
- Cc: Network Manager <networkmanager-list gnome org>
- Subject: Re: [MM] 'qmi-support' branch merged to git master
- Date: Thu, 30 Aug 2012 00:32:21 +0200
>> 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:
Expected; the logic to select the wwan interface corresponding to a
given QMI interface is not ready yet. I'll fix that tomorrow and let you
know for a quick test. Actually, the logic is the reverse one, we have a
list of data ports (the wwan ones) and we'll look for the corresponding
QMI devices.
>
> 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
Oh; interesting... can you get me a backtrace?
>
>
> 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.
The code to grab different QMI ports is in place; just the method I
talked about before is missing, the one looking for the matching QMI
port for a given wwan. I'll focus tomorrow in getting all this in place.
--
Aleksander
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]