[review] aleksander/huawei-ndisdup-cdc-wdm-rebased-1.2

Dan Williams dcbw at redhat.com
Thu Jun 12 12:47:15 PDT 2014

> huawei: use the cdc-wdm port dialing if available

g_clear_object() instead of if (foo) g_object_unref (foo)?

I'd extract the "find dial port" stuff from connect_3gpp() and
disconnect_3gpp() into its own function since both code does the same

Also, a rationale in the commit message would be nice; since I forget
why this was necessary.  Does the modem just always want the commands on
the cdc-wdm interface if it exists?

peek_port_at_for_data() seems kind ugly to me; can't we figure this out
when constructing the modem, instead of hitting up udev every time we
want to dial?  Plus during modem probe we're guaranteed to only get the
ports of the modem, so we wouldn't need to do any relationship walking

The rest looks fine; but my E3276 has some other issues that should get
fixed too...

[1402602002.666216] [mm-port-serial.c:1237] mm_port_serial_open():
(cdc-wdm1) device open count is 3 (open)
[1402602002.666249] [mm-port-serial.c:1296] mm_port_serial_close():
(cdc-wdm1) device open count is 2 (close)
[1402602002.666283] [mm-port-serial-at.c:440] debug_log(): (cdc-wdm1):
[1402602002.670020] [mm-port-serial-at.c:440] debug_log(): (cdc-wdm1):
("00","01","02","03","99"),((400380,"GSM900/GSM1800/WCDMA2100"),(6a80000,"GSM850/GSM1900/WCDMA850/AWS/WCDMA1900"),(3fffffff,"All bands")),(0-2),(0-4),((1081b,"LTE_B1/LTE_B2/LTE_B4/LTE_B5/LTE_B12/LTE_B17"),(7fffffffffffffff,"All bands"))<CR><LF><CR><LF>OK<CR>'
ModemManager[11313]: Error while checking ^SYSCFGEX format: Serial
command timed out
[1402602007.961186] [mm-port-serial-at.c:440] debug_log(): (cdc-wdm1):
--> 'AT^SYSCFG=?<CR><LF>'
[1402602007.962065] [mm-port-serial-at.c:440] debug_log(): (cdc-wdm1):
<-- '<LF>'
Error while checking ^SYSCFG format: Missing ^SYSCFG prefix

Note the late-arriving <LF> that's meant for the ^SYSCFGEX; changing the
timeout doesn't help it arrive faster, for some reason the modem just
doesn't send the LF until later.  Is that a quirk of huawei_cdc_ncm,
that maybe it doesn't send the last byte until later or something?


More information about the ModemManager-devel mailing list