Huawei E8372h in Stick Mode but not connecting?

I am trying to get a Huawei E8372h working in stick mode with a Glinet AR300M (OpenWrt 19.07.7 r11306)

I have got the E8372h to switch into stick mode using a custom usb-modeswitch json config as below

{
	"messages" : [
		"55534243123456780000000000000011063000000000010000000000000000"
],
"devices" : {
		"12d1:1f01": {
			"*": {
				"t_vendor": 4817,
				"t_product": [ 5382 ],
				"msg": [ 0 ]
			}
		}
	}
}

lsusb confirms it has switched
Bus 001 Device 008: ID 12d1:155e Huawei Technologies Co., Ltd

It now appears as a modem at /dev/ttyUSB2

cat /dev/ttyUSB2 outputs the following:

^RSSI: 23

^CERSSI:0,0,255,-97,-6,20,2,11,11,

^ANLEVEL:0,99,23,4,97,6

^HCSQ:"LTE",54,44,201,28

^DSFLOWRPT:00000784,00000000,00000000,0000000000000B8C,00000000000046F3,00000000,00000000

^DSFLOWRPT:00000786,00000000,00000000,0000000000000B8C,00000000000046F3,00000000,00000000
^LCACELLURC: "0 0 0 0","1 0 0 0","2 0 0 0","3 0 0 0","4 0 0 0","5 0 0 0","6 0 0 0","7 0 0 0"^LCACELLURC: "0 0 0 0","1 0 0 0","2 0 0 0","3 0 0 0","4 0 0 0","5 0 0 0","6 0 0 0","7 0 0 0"^LCACELLURC: "0 0 0 0","1 0 0 0","2 0 0 0","3 0 0 0","4 0 0 0","5 0 0 0","6 0 0 0","7 0 0 0"
^DSFLOWRPT:00000788,00000000,0000003C,0000000000000B8C,000000000000475B,00000000,00000000

^DSFLOWRPT:0000078A,00000000,00000000,0000000000000B8C,0000000000004797,00000000,00000000

^DSFLOWRPT:0000078C,00000000,00000028,0000000000000B8C,00000000000047FB,00000000,00000000

^RSSI: 23

I am not sure how to debug this further and get it to connect in stick mode, can anyone offer some advice please. Got model code wrong meant E8372h.. edited

Please edit your message and use </> code formatting.
Then show the result of cat /sys/kernel/debug/usb/devices

Sorry edited question, here is output

root@GL-AR300M:/dev# cat /sys/kernel/debug/usb/devices

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 4.14
S:  Manufacturer=Linux 4.14.221 ehci_hcd
S:  Product=EHCI Host Controller
S:  SerialNumber=1b000000.usb
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  8 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=02(comm.) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=155e Rev= 1.02
S:  Manufacturer=HUAWEI_MOBILE
S:  Product=HUAWEI_MOBILE
C:* #Ifs= 5 Cfg#= 1 Atr=80 MxPwr=  2mA
A:  FirstIf#= 3 IfCount= 2 Cls=02(comm.) Sub=0d Prot=00
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=01 Driver=option
E:  Ad=83(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=02 Prot=03 Driver=option
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=02 Prot=02 Driver=option
E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_ncm
E:  Ad=87(I) Atr=03(Int.) MxPS=  16 Ivl=2ms
I:  If#= 4 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
I:* If#= 4 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Try to follow this guide https://openwrt.org/docs/guide-user/network/wan/wwan/ethernetoverusb_ncm
Keep in mind that your modem is not supported by huawei_cdc_ncm driver, that's why you see Driver=cdc_ncm instead of Driver=huawei_cdc_ncm as shown in the example.

I had a look through that article and am now lost, I seem to have all the packages installed already but I don't have a device /dev/cdc-wdm0

The network config has this entry, is this wrong?

config interface 'modem_1_1'
	option ifname '3g-modem'
	option node '1-1:1.0'
	option disabled '0'
	option proto 'ncm'
	option ipv6 'auto'
	option apn 'three.co.uk'
	option pdptype 'IP'
	option service 'preferlte'
	option dialnumber '*99#'
	option device '/dev/ttyUSB2'

There is no /dev/cdc-wdm0 with the cdc_ncm driver. But you don't need it. The huawei_cdc_ncm variant of cdc-wdmX is just an additional AT command channel. You can use any serial AT command channel instead. Maybe /dev/ttyUSB0?

1 Like

I have tried ttyUSB0, 1 and 2 but no luck in getting it to work :frowning:

Haven't looked, but maybe our scripts ties the handling of these devices to the huawei_cdc_ncm driver? Maybe they don't understand that the cdc_ncm session can be controlled by AT commands? There probably hasn't been many examples of Huawei devices using the cdc_ncm driver.

You can try RNDIS mode as shown here: https://openwrt.org/docs/guide-user/network/wan/wwan/ethernetoverusb_rndis

Hi
Can you print lsusb -t?

@paqs did you get any further with this? I'm in the same boat not getting the NCM mode to work.