[LEDE-DEV] enhanced 3G support

Bjørn Mork bjorn at mork.no
Sun Nov 27 13:31:30 PST 2016


"Giuseppe Lippolis" <giu.lippolis at gmail.com> writes:

> Dear Bjørn,
>
>> Nice.  The "M-MBIM" is a bit confusing, though.  This doesn't seem to have
>> anything to do with MBIM?
>> 
> I'm just recompiled an image with mbim, ncm support.
>
> But I don't know if it is the right driver.
> If I send the cmd 
> echo '2001 7d04'    > /sys/bus/usb/drivers/cdc_ncm/new_id
>
> I get:
> [ 1984.505162] cdc_ncm 1-1:1.1: no of_node; not parsing pinctrl DT
> [ 1984.505366] cdc_ncm 1-1:1.2: no of_node; not parsing pinctrl DT
> [ 1984.505480] cdc_ncm 1-1:1.3: no of_node; not parsing pinctrl DT
> [ 1984.505592] cdc_ncm 1-1:1.4: no of_node; not parsing pinctrl DT
> [ 1984.505704] cdc_ncm 1-1:1.5: no of_node; not parsing pinctrl DT
> [ 1984.505816] cdc_ncm 1-1:1.6: no of_node; not parsing pinctrl DT

No, no, the cdc_ether driver is definitely the correct one.  NCM or MBIM
won't work unless you can make the device morph into another mode. But
since you know how to manage it in cdc_ether mode, and that is the
native mode, I see no reason to mess with it.
>
>> See e.g the 'directip' or 'ncm' protocols implemented in the comgt package.
>> They are very similar, using AT commands to manage a network interface. It
>> should be possible to use the same tricks as in
>> proto_directip_setup() to map between serial device and network device for
>> example.
>> 
> I'm going to recompile also the directip.
>
> By the way in the package/network/utils/wwan/files/data dir  I found the
> 2001-7d03
>
> I'm currently using this as base file for my 2001-7d04 data file.
> I guess that if the 7d03 is supported the 7d04 will be the same (99%).

Not necessarily. The firmware base could be the same, but the modem
layout depends on which firmware features they decided to make
available.

I actually have one the D-Link dongles with a similar ID. It's an
DWM-156A7 I got from Mediatek as an early example of their MBIM
implementation.  It is a mode switching dongle which turns into MBIM (of
course) + serial:

P:  Vendor=2001 ProdID=7d01 Rev= 3.00
S:  Manufacturer=D-Link,Inc  
S:  Product=D-Link DWM-156
C:* #Ifs= 7 Cfg#= 1 Atr=a0 MxPwr=500mA
A:  FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00
I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim
E:  Ad=88(I) Atr=03(Int.) MxPS=  64 Ivl=125us
I:  If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=01 Driver=option
E:  Ad=87(I) Atr=03(Int.) MxPS=  64 Ivl=500us
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 6 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms


I don't think it is relevant for you, though.  You should continue your
initial idea, creating a "proto" supporting the AT managed cdc_ether
based modem.




Bjørn



More information about the Lede-dev mailing list