[SOLVED] Huawei E3372 won't register with mobile network when connected to AR750S

Welcome to the community, @superg1972

You'll need to ssh into the router, and edit /etc/config/network by hand. Step-by-step:

Check the following packages are installed (they seem to be there by default in the GL.iNet builds, but worth checking):

  • usbutils
  • usb-modeswitch
  • kmod-usb-net-huawei-cdc-ncm
  • kmod-usb-net-cdc-ether
  • comgt-ncm
  • kmod-usb-serial
  • kmod-usb-serial-option
  • kmod-usb-serial-wwan
  • luci-proto-ncm

Confirm that the modem is recognised and is driven by the Linux huawei_cdc_ncm driver (indicated by 12d1:1506 in the output below):

root@GL-AR750S:~# lsusb
Bus 001 Device 019: ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard

Confirm there are two interfaces:

root@GL-AR750S:~# dmesg | grep tty
[ 1160.409071] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
[ 1160.423206] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1

Check the current mode by sending AT commands (the GL-iNet firmware has a nice UI for sending AT commands manually. I had to send the commands to port /dev/ttyUSB0):

AT^SETPORT?
^SETPORT:“A1,A2;12,1,16,A1,A2
OK

16 is NCM mode, I believe; 1 is 3G

If you don't get the outputs similar to those above, it's possible your modem is the Hilink version (firmware v22.xxx.xx.xx.xx) rather than non-Hilink (firmware v21.xxx.xx.xx.xx). In which case, you'll need to do some Googling to switch it to the non-Hilink version. It may be possible to use the Hilink version 'as is', but I've never tried.

ssh into the router and edit /etc/config/network by hand. Add the following, using your mobile provider's APN and username/password if requried:

config interface 'modem_1_1'
        option mode 'preferlte'
        option apn 'three.co.uk'
        option dialnum '*99#'
        option proto 'ncm'
        option ifname 'wwan0'
        option device '/dev/ttyUSB0'
        option ipv6 'auto'
        option metric '40'
        option delegate '0'
        option disabled '0'

then

root@GL-AR750S:~# uci commit /etc/config/network
root@GL-AR750S:~# service network restart

In the logs, you'll see something like this. It's up-and-running if there are no errors and a DHCP lease is obtained

Fri May 31 07:47:54 2019 daemon.notice netifd: Interface 'modem_1_1_4' is disabled
Fri May 31 07:47:54 2019 daemon.notice netifd: modem_1_1 (5878): Stopping network modem_1_1
Fri May 31 07:47:55 2019 daemon.notice netifd: modem_1_1 (5878): sending -> AT^NDISDUP=1,0
Fri May 31 07:47:55 2019 daemon.warn odhcpd[1856]: DHCPV6 SOLICIT IA_NA from 00010001221705213c15c2c0fd64 on br-lan: ok fd56:3f5a:232e:10::2fb/128
Fri May 31 07:47:55 2019 daemon.notice netifd: modem_1_1 (5878): Command failed: Permission denied
Fri May 31 07:47:55 2019 daemon.notice netifd: Interface 'modem_1_1' is now down
Fri May 31 07:47:55 2019 daemon.notice netifd: Interface 'modem_1_1' is setting up now
Fri May 31 07:47:56 2019 daemon.warn odhcpd[1856]: DHCPV6 REQUEST IA_NA from 00010001221705213c15c2c0fd64 on br-lan: ok fd56:3f5a:232e:10::2fb/128
Fri May 31 07:47:59 2019 daemon.notice netifd: modem_1_1 (6032): sending -> AT
Fri May 31 07:47:59 2019 daemon.notice netifd: modem_1_1 (6032): sending -> ATZ
Fri May 31 07:48:00 2019 daemon.notice netifd: modem_1_1 (6032): sending -> ATQ0
Fri May 31 07:48:01 2019 daemon.notice netifd: modem_1_1 (6032): sending -> ATV1
Fri May 31 07:48:01 2019 daemon.notice netifd: modem_1_1 (6032): sending -> ATE1
Fri May 31 07:48:02 2019 daemon.notice netifd: modem_1_1 (6032): sending -> ATS0=0
Fri May 31 07:48:03 2019 daemon.notice netifd: modem_1_1 (6032): sending -> AT+CGDCONT=1,"IP","three.co.uk"
Fri May 31 07:48:03 2019 daemon.notice netifd: modem_1_1 (6032): Configuring modem
Fri May 31 07:48:03 2019 daemon.notice netifd: modem_1_1 (6032): Setting mode
Fri May 31 07:48:04 2019 daemon.notice netifd: modem_1_1 (6032): sending -> AT^SYSCFGEX="030201",3fffffff,2,4,7fffffffffffffff,,
Fri May 31 07:48:05 2019 daemon.notice netifd: modem_1_1 (6032): Starting network modem_1_1
Fri May 31 07:48:05 2019 daemon.notice netifd: modem_1_1 (6032): Connecting modem
Fri May 31 07:48:06 2019 daemon.notice netifd: modem_1_1 (6032): sending -> AT^NDISDUP=1,1,"three.co.uk"
Fri May 31 07:48:06 2019 daemon.notice netifd: modem_1_1 (6032): Setting up wwan0
Fri May 31 07:48:07 2019 daemon.notice netifd: Interface 'modem_1_1_4' is enabled
Fri May 31 07:48:07 2019 daemon.notice netifd: Interface 'modem_1_1' is now up
Fri May 31 07:48:07 2019 daemon.notice netifd: Network device 'wwan0' link is up
Fri May 31 07:48:07 2019 daemon.notice netifd: Network alias 'wwan0' link is up
Fri May 31 07:48:07 2019 daemon.notice netifd: Interface 'modem_1_1_4' has link connectivity
Fri May 31 07:48:07 2019 daemon.notice netifd: Interface 'modem_1_1_4' is setting up now
Fri May 31 07:48:07 2019 daemon.notice netifd: modem_1_1_4 (6862): udhcpc: started, v1.28.3
Fri May 31 07:48:08 2019 daemon.notice netifd: modem_1_1_4 (6862): udhcpc: sending discover
Fri May 31 07:48:08 2019 daemon.notice netifd: modem_1_1_4 (6862): udhcpc: sending select for 100.93.141.179
Fri May 31 07:48:08 2019 daemon.notice netifd: modem_1_1_4 (6862): udhcpc: lease of 100.93.141.179 obtained, lease time 518400
Fri May 31 07:48:09 2019 daemon.notice netifd: Interface 'modem_1_1_4' is now up
Fri May 31 07:48:19 2019 user.notice firewall: Reloading firewall due to ifup of modem_1_1 (wwan0)