Huawei E3276 problem

Tommy Cheng tommy7765 at yahoo.com
Fri Nov 9 04:37:57 PST 2012


Yes, please feel free to add me as Reported-by.

I am using option driver.  option driver will bind to interface 0 by issuing
"echo 12d1 1506 > /sys/bus/usb-serial/drivers/option1/new_id"

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

Yes, the firmware support DHCP.  I can just use dhcp client (e.g. dhclient)
to get the ip address from Huawei E3276.


----- Original Message -----
From: Bjørn Mork <bjorn at mork.no>
To: Tommy Cheng <tommy7765 at yahoo.com>
Cc: Olof Ermis <olof.ermis at gmail.com>; "libqmi-devel at lists.freedesktop.org" <libqmi-devel at lists.freedesktop.org>; Thomas Schäfer <tschaefer at t-online.de>
Sent: Friday, November 9, 2012 7:20 PM
Subject: Re: Huawei E3276 problem

Tommy Cheng <tommy7765 at yahoo.com> writes:

> Just sending AT^NDISDUP=1,1,"yourapn" to Huawei E3276 through serial port and then using dhcp cleint to ip address.
>
> I just simply add the following lines to cdc_ncm.c for my tests.
> it's a ugly patch.
>
> { USB_INTERFACE_INFO(0xff,
> 0x02, 0x16),
> .driver_info = (unsigned long)&cdc_ncm_info,
> },

Thanks.  I didn't realize that would just work. NCM normally requires
two interfaces, and the Huawei config only had CDC functional
descriptors on alternate setting #0, both issues which I (wrongly)
assumed would make the probe fail.

But after re-reading cdc_ncm_bind once more, I see that you are right.
The functional descriptors are all parsed and saved before switching to
alternate setting #1, and the combined interface works because Huawei
includes a CDC Union descriptor with both master and slave set to the
same interface.

Nice.  I'll clean up your patch, add the Vodafone variant as well, and
submit it.  May I add you as Reported-by?

Now the only remaining quiestion is how you got the serial port working
abd why Olof cannot get any response there.  Which driver are you using
for that one?  According to the Huawei Windows drivers, it is probably
implementing CDC ACM on a single interface, but AFAIK that should work
just fine with e.g. the option driver.

Does the firmware support DHCP, or do you have to do AT^DHCP? on the
serial port to get the address configuration?


Bjørn



More information about the libqmi-devel mailing list