Re: MM: Non QMI Huawei modems without PPP support?
- From: Bjørn Mork <bjorn mork no>
- To: Aleksander Morgado <aleksander lanedo com>
- Cc: Olof Ermis <olof ermis gmail com>, networkmanager-list gnome org, Tommy Cheng <tommy7765 yahoo com>
- Subject: Re: MM: Non QMI Huawei modems without PPP support?
- Date: Sun, 11 Nov 2012 16:13:31 +0100
Aleksander Morgado <aleksander lanedo com> writes:
> Hey Bjørn,
>
>>
>> following up the recent discussions on libqmi regarding E3276 I am
>> wondering if these modems could be supported without too much fuzz by
>> ModemManager?
>>
>> This is a typical example of such a device (after adding the necessary
>> match to the cdc_ncm driver):
>>
>> T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=480 MxCh= 0
>> D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
>> P: Vendor=12d1 ProdID=1506 Rev= 1.02
>> S: Manufacturer=HUAWEI Technology
>> S: Product=HUAWEI Mobile
>> C:* #Ifs= 4 Cfg#= 1 Atr=80 MxPwr=500mA
>> I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=02 Prot=12 Driver=option
>> E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
>> E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
>> I: If#= 1 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=02 Prot=16 Driver=cdc_ncm
>> E: Ad=82(I) Atr=03(Int.) MxPS= 64 Ivl=2ms
>> I:* If#= 1 Alt= 1 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=16 Driver=cdc_ncm
>> E: Ad=82(I) Atr=03(Int.) MxPS= 64 Ivl=2ms
>> E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
>> E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
>> I:* If#= 2 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=
>> E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
>> E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
>> I:* If#= 3 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=
>> E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
>> E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
>>
>>
>> So, except for the Mass Storage functions, there is only one serial
>> function and one CDC NCM function available. And according to the
>> Windows drvier inf, the serial function is intended for PCUI. It is
>> used to manage the CDC NCM function, and may not support PPP at all(?)
>>
>> Ideally ModemManager should use the wwanX interface for data and the
>> ttyUSBY device for control, using Huawei vendor specific AT commands to
>> initiate and manage the connection. The known commands specific to
>> network device management are AFAIK
>>
>> connect:
>> AT^NDISDUP=1,1,"apn"
>>
>> disconnect:
>> AT^NDISDUP=1,0
>>
>> check:
>> AT^DHCP?
>>
>> The last command will return all addresses, but the firmware also
>> support running DHCP over the network interface so using these is not
>> necessary . The command is still useful to check whether there is an
>> active connection or not.
>>
>> Is this something which can be supported relatively easy?
>>
>> I do not know how common these devices are, but the E3276 is relatively
>> new so there might be an increasing demand for this. Based on the
>> Windows driver I expect there are also similar devices with a CDC ECM
>> function instead of NCM, but I have not seen any example of those yet.
>> So I have so far only submitted a patch for cdc_ncm.
>>
>>
>
> It should not be very difficult to support these modems.
>
> First, we would need a way to guess whether the huawei modem is one of
> this kind or not. If this modem replies to "AT+CLAC", please send back
> that output.
Since I don't have any such modems, I am hoping Olof or Tommy can help
with this?
> A first try would be to use "AT^NDISDUP=?", assuming that a
> proper reply is given by this modem and not by the others.
That I am pretty sure will not work. AT^NDISDUP is implemented in many
other Huawei modems, including some you will want to support via QMI.
> Just
> wondering, we may actually be able to decide this looking at the driver
> reported?
Probably, using some driver based heuristic like
1) I got a wwanX interface => need some management interface
2) Look at the driver of wwanX to guess what type of management interface
to use:
qmi_wwan => QMI over /dev/cdc-wdmY
cdc_mbim => MBIM over /dev/cdc-wdmY
(cdc_ncm or cdc_ether) and Ericsson => AT*ENAP etc over /dev/cdc-wdmY or /dev/ttyACMY
(cdc_ncm or cdc_ether) and Huawei => AT^NDISDUP etc over /dev/ttyUSBY
And maybe other combinations you already support? AFAIK, this is pretty
much what you already do e.g. for the Ericsson (aka MBM) modems?
> Are you able to run current git master ModemManager to see how the modem
> behaves w.r.t other things like messaging, registration and such? A
> debug log would be very helpful, as well as the output of "mmcli -m 0".
Again, Olof or Tommy?
> Last but not least, if anyone can sponsor a couple of these new devices
> for us to test with, that would be best :-)
Of course. One could hope the vendors stepped in here.
Bjørn
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]