Huawei E3372H-320 dial up fails

I have several GL.iNet routers at the moment. I’m not fully satisfied with the official firmware yet but I’m keep trying. One of my main goals is to setup a non-tethering 4G connection because I hate NAT and I’m more satisfied if the connection is handled by router as much as possible. So the modem is using RNDIS/HiLink protocol by default. But there are a few articles on the internet that helps to initialize the modem as a serial (PPP) device. I would use it as an NCM or QMI device but I have no clue yet how to initialize the modem in any other way. At the moment I’m using this usb-mode.json modification to get PPP protocol:

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

I don’t find any clear information on the internet how accurate are these modifications but this works for me. The only problem is that this does not works with the GL.iNet firmwares. The detection is fine but the dialling does fails for some reason. Some examples:

Fri May  6 18:29:55 2022 daemon.notice netifd: Interface 'modem_1_1' is setting up now
Fri May  6 18:29:58 2022 daemon.notice netifd: modem_1_1 (19188): Trying to set mode
Fri May  6 18:29:58 2022 daemon.notice netifd: modem_1_1 (19188): cat: can't open '/tmp/modem.1-1/signal': No such file or directory
Fri May  6 18:29:58 2022 daemon.notice pppd[19362]: pppd 2.4.7 started by root, uid 0
Fri May  6 18:29:59 2022 local2.info chat[19363]: abort on (BUSY)
Fri May  6 18:29:59 2022 local2.info chat[19363]: abort on (NO CARRIER)
Fri May  6 18:29:59 2022 local2.info chat[19363]: abort on (ERROR)
Fri May  6 18:29:59 2022 local2.info chat[19363]: report (CONNECT)
Fri May  6 18:29:59 2022 local2.info chat[19363]: timeout set to 10 seconds
Fri May  6 18:29:59 2022 local2.info chat[19363]: send (AT+CGDCONT=1,"IP","internet"^M)
Fri May  6 18:30:00 2022 local2.info chat[19363]: timeout set to 30 seconds
Fri May  6 18:30:00 2022 local2.info chat[19363]: expect (OK)
Fri May  6 18:30:00 2022 local2.info chat[19363]: ^M
Fri May  6 18:30:00 2022 local2.info chat[19363]: OK
Fri May  6 18:30:00 2022 local2.info chat[19363]:  -- got it
Fri May  6 18:30:00 2022 local2.info chat[19363]: send (ATD*99***1#^M)
Fri May  6 18:30:00 2022 local2.info chat[19363]: expect (CONNECT)
Fri May  6 18:30:00 2022 local2.info chat[19363]: ^M
Fri May  6 18:30:00 2022 local2.info chat[19363]: ^M
Fri May  6 18:30:00 2022 local2.info chat[19363]: CONNECT
Fri May  6 18:30:00 2022 local2.info chat[19363]:  -- got it
Fri May  6 18:30:00 2022 local2.info chat[19363]: send ( ^M)
Fri May  6 18:30:00 2022 daemon.info pppd[19362]: Serial connection established.
Fri May  6 18:30:00 2022 kern.info kernel: [  918.034615] 3g-modem_1_1: renamed from ppp0
Fri May  6 18:30:00 2022 daemon.info pppd[19362]: Renamed interface ppp0 to 3g-modem_1_1
Fri May  6 18:30:00 2022 daemon.info pppd[19362]: Using interface 3g-modem_1_1
Fri May  6 18:30:00 2022 daemon.notice pppd[19362]: Connect: 3g-modem_1_1 <--> /dev/ttyUSB0
Fri May  6 18:30:01 2022 daemon.notice pppd[19362]: Modem hangup
Fri May  6 18:30:01 2022 daemon.notice pppd[19362]: Connection terminated.
Fri May  6 18:30:02 2022 daemon.info pppd[19362]: Exit.
Fri May  6 18:30:03 2022 daemon.notice netifd: Interface 'modem_1_1' is now down
Fri May  6 18:30:51 2022 kern.info kernel: [  968.731676] usb 1-1: new high-speed USB device number 5 using ehci-platform
Fri May  6 18:30:51 2022 kern.info kernel: [  968.938296] usb-storage 1-1:1.0: USB Mass Storage device detected
Fri May  6 18:30:51 2022 kern.info kernel: [  968.958953] usb-storage 1-1:1.0: Quirks match for vid 12d1 pid 1f01: 1
Fri May  6 18:30:51 2022 kern.info kernel: [  968.965965] scsi host0: usb-storage 1-1:1.0
Fri May  6 18:30:51 2022 kern.info kernel: [  969.206081] usb 1-1: USB disconnect, device number 5
Fri May  6 18:30:52 2022 kern.info kernel: [  969.911747] usb 1-1: new high-speed USB device number 6 using ehci-platform
Fri May  6 18:30:52 2022 kern.info kernel: [  970.136053] option 1-1:1.0: GSM modem (1-port) converter detected
Fri May  6 18:30:52 2022 kern.info kernel: [  970.142768] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
Fri May  6 18:30:52 2022 kern.info kernel: [  970.150581] option 1-1:1.1: GSM modem (1-port) converter detected
Fri May  6 18:30:52 2022 kern.info kernel: [  970.157232] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
Fri May  6 18:30:52 2022 kern.info kernel: [  970.165031] option 1-1:1.2: GSM modem (1-port) converter detected
Fri May  6 18:30:52 2022 kern.info kernel: [  970.171628] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
Fri May  6 18:30:53 2022 kern.info kernel: [  970.323526] cdc_ncm 1-1:1.3: MAC-Address: 00:1e:10:1f:00:00
Fri May  6 18:30:53 2022 kern.info kernel: [  970.329324] cdc_ncm 1-1:1.3: setting rx_max = 16384
Fri May  6 18:30:53 2022 kern.info kernel: [  970.382791] cdc_ncm 1-1:1.3 wwan0: register 'cdc_ncm' at usb-1b000000.usb-1, Mobile Broadband Network Device, 00:1e:10:1f:00:00

Because of this I installed Gargoyle 1.13.0 one of my GL.iNet routers and applied the same modification. Gargoyle can dial and create the PPP connection without any issues. I would like to figure out how can I fix this but I don’t know where to start.

It has ttyUSB0, ttyUSB1 and ttyUSB2. Also create cdc_ncm interface.

You dial used ttyUSB0 as interface, can you also try ttyUB1 and ttyUSB2? Maybe cdc-ncm interface as well.

Sadly no success. ttyUSB1 does nothing. ttyUSB2 output:

Wed May 11 15:04:01 2022 daemon.notice netifd: Interface 'modem_1_1' is setting up now
Wed May 11 15:04:02 2022 daemon.notice netifd: modem_1_1 (30086): comgt 15:04:02 -> -- Error Report --
Wed May 11 15:04:02 2022 daemon.notice netifd: modem_1_1 (30086): comgt 15:04:02 -> ---->                  ^
Wed May 11 15:04:02 2022 daemon.notice netifd: modem_1_1 (30086): comgt 15:04:02 -> Error @118, line 9, Could not write to COM device. (1)
Wed May 11 15:04:02 2022 daemon.notice netifd: modem_1_1 (30086):
Wed May 11 15:04:02 2022 daemon.notice netifd: modem_1_1 (30086): cat: can't open '/tmp/modem.1-1/signal': No such file or directory
Wed May 11 15:04:02 2022 daemon.notice pppd[30133]: pppd 2.4.7 started by root, uid 0
Wed May 11 15:04:03 2022 local2.info chat[30135]: abort on (BUSY)
Wed May 11 15:04:03 2022 local2.info chat[30135]: abort on (NO CARRIER)
Wed May 11 15:04:03 2022 local2.info chat[30135]: abort on (ERROR)
Wed May 11 15:04:03 2022 local2.info chat[30135]: report (CONNECT)
Wed May 11 15:04:03 2022 local2.info chat[30135]: timeout set to 10 seconds
Wed May 11 15:04:03 2022 local2.info chat[30135]: send (AT+CGDCONT=1,"IP","internet"^M)
Wed May 11 15:04:04 2022 local2.info chat[30135]: timeout set to 30 seconds
Wed May 11 15:04:04 2022 local2.info chat[30135]: expect (OK)
Wed May 11 15:04:04 2022 local2.info chat[30135]: ^M
Wed May 11 15:04:04 2022 local2.info chat[30135]: OK
Wed May 11 15:04:04 2022 local2.info chat[30135]:  -- got it
Wed May 11 15:04:04 2022 local2.info chat[30135]: send (ATD*99***1#^M)
Wed May 11 15:04:04 2022 local2.info chat[30135]: expect (CONNECT)
Wed May 11 15:04:04 2022 local2.info chat[30135]: ^M
Wed May 11 15:04:04 2022 local2.info chat[30135]: ^M
Wed May 11 15:04:04 2022 local2.info chat[30135]: CONNECT
Wed May 11 15:04:04 2022 local2.info chat[30135]:  -- got it
Wed May 11 15:04:04 2022 local2.info chat[30135]: send ( ^M)
Wed May 11 15:04:04 2022 daemon.info pppd[30133]: Serial connection established.
Wed May 11 15:04:04 2022 kern.info kernel: [ 1300.563946] 3g-modem_1_1: renamed from ppp0
Wed May 11 15:04:04 2022 daemon.info pppd[30133]: Renamed interface ppp0 to 3g-modem_1_1
Wed May 11 15:04:04 2022 daemon.info pppd[30133]: Using interface 3g-modem_1_1
Wed May 11 15:04:04 2022 daemon.notice pppd[30133]: Connect: 3g-modem_1_1 <--> /dev/ttyUSB2
Wed May 11 15:04:28 2022 kern.info kernel: [ 1324.938429] usb 1-1: USB disconnect, device number 9
Wed May 11 15:04:28 2022 kern.info kernel: [ 1324.944138] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
Wed May 11 15:04:28 2022 kern.info kernel: [ 1324.952618] option 1-1:1.0: device disconnected
Wed May 11 15:04:28 2022 kern.info kernel: [ 1324.957859] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
Wed May 11 15:04:28 2022 kern.info kernel: [ 1324.966448] option 1-1:1.1: device disconnected
Wed May 11 15:04:28 2022 kern.info kernel: [ 1325.031994] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
Wed May 11 15:04:28 2022 kern.info kernel: [ 1325.040519] option 1-1:1.2: device disconnected
Wed May 11 15:04:28 2022 kern.info kernel: [ 1325.045645] cdc_ncm 1-1:1.3 wwan0: unregister 'cdc_ncm' usb-1b000000.usb-1, Mobile Broadband Network Device
Wed May 11 15:04:28 2022 daemon.notice pppd[30133]: Modem hangup
Wed May 11 15:04:28 2022 daemon.notice pppd[30133]: Connection terminated.
Wed May 11 15:04:29 2022 daemon.info pppd[30133]: Exit.
Wed May 11 15:04:30 2022 daemon.notice netifd: Interface 'modem_1_1' is now down

If I set NCM protocol the results are usually the same like this on any ports:

Wed May 11 15:08:57 2022 kern.info kernel: [ 1593.911743] usb 1-1: new high-speed USB device number 13 using ehci-platform
Wed May 11 15:08:57 2022 kern.info kernel: [ 1594.135948] option 1-1:1.0: GSM modem (1-port) converter detected
Wed May 11 15:08:57 2022 kern.info kernel: [ 1594.142668] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
Wed May 11 15:08:57 2022 kern.info kernel: [ 1594.150477] option 1-1:1.1: GSM modem (1-port) converter detected
Wed May 11 15:08:57 2022 kern.info kernel: [ 1594.157155] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
Wed May 11 15:08:57 2022 kern.info kernel: [ 1594.164952] option 1-1:1.2: GSM modem (1-port) converter detected
Wed May 11 15:08:57 2022 kern.info kernel: [ 1594.171553] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
Wed May 11 15:08:58 2022 kern.info kernel: [ 1594.283523] cdc_ncm 1-1:1.3: MAC-Address: 00:1e:10:1f:00:00
Wed May 11 15:08:58 2022 kern.info kernel: [ 1594.289296] cdc_ncm 1-1:1.3: setting rx_max = 16384
Wed May 11 15:08:58 2022 kern.info kernel: [ 1594.320855] cdc_ncm 1-1:1.3 wwan0: register 'cdc_ncm' at usb-1b000000.usb-1, Mobile Broadband Network Device, 00:1e:10:1f:00:00
Wed May 11 15:09:03 2022 daemon.notice netifd: Interface 'modem_1_1' is setting up now
Wed May 11 15:09:04 2022 daemon.notice netifd: Interface 'modem_1_1' is now down
Wed May 11 15:12:58 2022 kern.info kernel: [ 1834.414404] IPv6: ADDRCONF(NETDEV_UP): wwan0: link is not ready
Wed May 11 15:12:58 2022 daemon.notice netifd: Interface 'modem_1_1' is enabled
Wed May 11 15:12:58 2022 kern.info kernel: [ 1834.422958] IPv6: ADDRCONF(NETDEV_UP): wwan0: link is not ready
Wed May 11 15:14:23 2022 daemon.notice netifd: Interface 'modem_1_1' is disabled
Wed May 11 15:14:43 2022 daemon.notice netifd: Interface 'modem_1_1' is enabled
Wed May 11 15:14:43 2022 kern.info kernel: [ 1939.544660] IPv6: ADDRCONF(NETDEV_UP): wwan0: link is not ready

Then I gave an other shot with another card. Sidenote: I have two cards. The one what I use generally is 2G/4G capable, so no 3G. The other is capable for all networks. This card for some reasons sometimes connects BUT only 3G via PPP and not always.

Wed May 11 16:40:46 2022 daemon.notice netifd: Interface 'modem_1_1' is setting up now
Wed May 11 16:40:51 2022 daemon.notice netifd: modem_1_1 (1927): Trying to set PIN
Wed May 11 16:40:52 2022 daemon.notice netifd: modem_1_1 (1927): PIN set successfully
Wed May 11 16:40:52 2022 daemon.notice netifd: modem_1_1 (1927): Trying to set mode
Wed May 11 16:40:53 2022 daemon.notice netifd: modem_1_1 (1927): cat: can't open '/tmp/modem.1-1/signal': No such file or directory
Wed May 11 16:40:53 2022 daemon.notice pppd[2134]: pppd 2.4.7 started by root, uid 0
Wed May 11 16:40:54 2022 local2.info chat[2147]: abort on (BUSY)
Wed May 11 16:40:54 2022 local2.info chat[2147]: abort on (NO CARRIER)
Wed May 11 16:40:54 2022 local2.info chat[2147]: abort on (ERROR)
Wed May 11 16:40:54 2022 local2.info chat[2147]: report (CONNECT)
Wed May 11 16:40:54 2022 local2.info chat[2147]: timeout set to 10 seconds
Wed May 11 16:40:54 2022 local2.info chat[2147]: send (AT+CGDCONT=1,"IP","internet.vodafone.net"^M)
Wed May 11 16:40:55 2022 local2.info chat[2147]: timeout set to 30 seconds
Wed May 11 16:40:55 2022 local2.info chat[2147]: expect (OK)
Wed May 11 16:40:55 2022 local2.info chat[2147]: ^M
Wed May 11 16:40:55 2022 local2.info chat[2147]: ^RSSI: 16^M
Wed May 11 16:40:55 2022 local2.info chat[2147]: ^M
Wed May 11 16:40:55 2022 local2.info chat[2147]: ^CERSSI:0,-80,-4,0,0,0,0^M
Wed May 11 16:40:55 2022 local2.info chat[2147]: ^M
Wed May 11 16:40:55 2022 local2.info chat[2147]: ^HCSQ:"WCDMA",45,41,57^M
Wed May 11 16:40:55 2022 local2.info chat[2147]: ^M
Wed May 11 16:40:55 2022 local2.info chat[2147]: OK
Wed May 11 16:40:55 2022 local2.info chat[2147]:  -- got it
Wed May 11 16:40:55 2022 local2.info chat[2147]: send (ATD*99***1#^M)
Wed May 11 16:40:55 2022 local2.info chat[2147]: expect (CONNECT)
Wed May 11 16:40:55 2022 local2.info chat[2147]: ^M
Wed May 11 16:40:55 2022 local2.info chat[2147]: ^M
Wed May 11 16:40:55 2022 local2.info chat[2147]: CONNECT
Wed May 11 16:40:55 2022 local2.info chat[2147]:  -- got it
Wed May 11 16:40:55 2022 local2.info chat[2147]: send ( ^M)
Wed May 11 16:40:55 2022 daemon.info pppd[2134]: Serial connection established.
Wed May 11 16:40:55 2022 kern.info kernel: [ 7111.629968] 3g-modem_1_1: renamed from ppp0
Wed May 11 16:40:55 2022 daemon.info pppd[2134]: Renamed interface ppp0 to 3g-modem_1_1
Wed May 11 16:40:55 2022 daemon.info pppd[2134]: Using interface 3g-modem_1_1
Wed May 11 16:40:55 2022 daemon.notice pppd[2134]: Connect: 3g-modem_1_1 <--> /dev/ttyUSB2

I tried to force the modem via AT commands to 4G but it does nothing. The modem falls back to 2G when I try to force it. This card could connect on 2G but nothing happens. It just blinking green (which means it see the 2G network). Somehow it does not establish the data connection. On PC I tested all networks with the modem, it connects without any issues. So it’s not a modem related problem.

From the log ttyUSB2 is the correct port to connect.

The problems seems that when it works on 2G the modem needs a lot of power which the router cannot provide, so the modem rebooted.

Which router are using using? MT1300 may have better USB power output.

Sure? It’s strange cause as I mentioned above Gargoyle (which is also an OpenWRT based firmware can handle and can connect to the network without any issues with the mentioned configuration. That was the main reason why I started the report.

I have an AR150 and and AR300M16. So these basic routers are just one core SoCs.

Then it is strange. Are these modems still popular?

The main reason why I bought this modem is the popularity. This model has three main variants. All popular. Many ISPs sells their branded variants over the world. The 320 is the actual one and the latest.

May it is not obvious and I don’t mentioned it, but with the default protocol (RNDIS, cdc_ether exactly) it works like a charm. I only found one strange(?) thing. When I check devices with cat /sys/kernel/debug/usb/devices the output shows this:

C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr= 2mA

I’m not familiar with these devices power consumption but with other modems I usually see 500mA.

1 Like