Huawei E3372h-320 in NCM mode

I try to get a E3372h-320 working on my WNR3500L Router for LTE Connection speed.
There are many entries in varios forums for this device, but it seems that the newer parts as mine can not be handled by the recommended procedures.
Device firmware version is:
gcom yields the following (in switched mode):
Huawei Technologies Co.,Ltd.
Model: E3372h-320

  • reflashing with an alternative firmware by balongflash does not work on this device - incompatible firmware version

  • switching by usb_modeswitch with default usb-mode.json switches from usb-storage device into the ethernet mode with double NAT I don't like (12d1:1f01 -> 12d1:14db).

  • switching with option -X (huawei-alt-mode) switches to 12d1:155e, three ttyUSB devices are created. But the only AT command working is AT with answer OK.

dmesg yields into:

[47203.962338] usb 3-3: new high-speed USB device number 34 using xhci_hcd
[47204.112827] usb 3-3: New USB device found, idVendor=12d1, idProduct=155e, bcdDevice= 1.02
[47204.112831] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[47204.112832] usb 3-3: Product: HUAWEI_MOBILE
[47204.112833] usb 3-3: Manufacturer: HUAWEI_MOBILE
[47204.196881] option 3-3:1.0: GSM modem (1-port) converter detected
[47204.196944] usb 3-3: GSM modem (1-port) converter now attached to ttyUSB0
[47204.197002] option 3-3:1.1: GSM modem (1-port) converter detected
[47204.197043] usb 3-3: GSM modem (1-port) converter now attached to ttyUSB1
[47204.197086] option 3-3:1.2: GSM modem (1-port) converter detected
[47204.197126] usb 3-3: GSM modem (1-port) converter now attached to ttyUSB2
[47204.219202] cdc_ncm 3-3:1.3: MAC-Address: 00:1e:10:1f:00:00
[47204.219205] cdc_ncm 3-3:1.3: setting rx_max = 16384
[47204.220115] cdc_ncm 3-3:1.3 wwan0: register 'cdc_ncm' at usb-0000:09:00.3-3, Mobile Broadband Network Device, 00:1e:10:1f:00:00

seems, cdc_ncm driver is used, but no cdc device is created.

/sys/kernel/debug/usb/devices yields:

T:  Bus=03 Lev=01 Prnt=01 Port=02 Cnt=03 Dev#= 34 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
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=ff Prot=ff 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=ff Prot=ff 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=ff Prot=ff 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

So, it seems ncm features are recognised, but something lacks.
Any ideas, how to solve this?


You should open a separate topic for your question.
It's not appropriat to answer a question with an other question!

Did you actually read those threads ?

Yes, I read your threads.
But I can't find an answer for me. You reflashed the stick.
Reflashing does not work on my device, as described in my first report.

OK, so you managed to read the first line of the first post but didn't bother to read the one marked "soluton". That's fine. Moving on, then

1 Like

I am sorry, maybe I am blind. I read both threads, but I can not find a solution for my setup.
I assume, that the version of my device, behaves different.
So, I do not understand why the module huawei_cdc_ncm ist not used, but cdc_ncm.
Maybe you would be so kind, to point me to the important section I oversee?

Did you try something like the config example in this solution: How to setup Huawei E3372h-607 with NCM LTE - #16 by tectonic

You'll obviously have to change the APN to whatever your operator wants, and you may have to use a different ttyUSBx device, but I believe the example is as close as we can get without actually trying. What does you config look like now?

Don't worry about flashing - you probably don't need that since your stick shows serial ports along with the network port. That's a good sign.

And don't worry about cdc_ncm vs huawei_cdc_ncm. It's pretty much the same, except that you don't get a cdc-wdmX device with cdc_ncm. But you don't need one. It's just an alternative AT command channel in some Huawei modesm. Any ttyUSBx serial device accepting AT commands is just as good.

1 Like

thank you for your explainations.
It seems, that the ttyUSBx ports work in 3g mode. The modem tries to login on the provider in UMTS (LED blue blinking). I tried all 3 ports. Maybe it does not work in LTE mode without further setup.
Asking for ports by AT^SETPORT? yields to an errormessage.
Maybe the problem is the lacking cdc-wdm device though ....

I made a progress today:
connecting the device to my linux box (debian bullseye) an using the modem-manager-gui, I the device connects and fires an interface working!
But up to now, I was not able to find the right interface setup for operation without the modem-manager, wether on the linux box nor on the openwrt-router.

I made further investigtions:
install socat on the router
initiating the following AT commands to the device:
AT+COPS=1,2,"23205",7 - modem switches to LTE-Mode -> success
AT^NDISDUP=1,1,"provider-apn" -> success, modem registers and LED goes on, as expected

But: the lte interface setup does still not work:
Error message on the luci interface-screen: Modem information query failed

In the socat stream, the following message appears:
"Huawei Technologies Co.,Ltd."
Seems this is the answer to the question, but is not sufficient.
The device is asked multiple times, then gave up and errormessage "network device not present" is issued

What can I do?

After further investigations, I found the reason for the ncm interface failing:
At initialization, comgt-ncm sends some AT-commands to the modem, one of it ist "ATQ0", which is not accepted by the modem.
After removing this AT-command from the huawei block of /etc/gcom/ncm.json, the interface starts and is working! (The delay option set to some seconds is necessary for start after booting the device)
Additional, a DHCP interface is necessarry.
In summary, for my version of the E3372h-320, two changes in the openwrt were needed to get the device working in stickmode:

  1. usb-modeswitch to stick-mode by modifying the usb-mode.json entry for the device 12d1:1f01 to switch to HuaweiAlt Mode: modify /etc/usb-mode.json:
in message block add:
in devices block modify:
"12d1:1f01": {
                         "*": {
                                 "t_vendor": 4817,
                                 "t_product": [ 5339, 5340 ],
                                 "mode": "HuaweiAlt",
                                 "msg": [  xx ]

where xx is the line number of the message entry.

  1. remove the ATQ0 command from the Huawei initialisation block at the top of /etc/gcom/ncm.json

  2. setup interface in /etc/config/network

config interface 'LTE'
        option apn 'apn-code'
        option dialnum '*99#'
        option proto 'ncm'
        option ifname 'wwan0'
        option ipv6 'auto'
        option metric '40'
        option delegate '0'
        option disabled '0'
        option mode 'preferlte'
        option pdptype 'IP'
        option device '/dev/ttyUSB2'
        option delay '5'
  1. setup dhcp in /etc/config/dhcp
config dhcp 'LTE'
        option interface 'LTE'
        option ignore '1'
        list ra_flags 'none'

And that's it!

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.