August 26, 2016

Huwaei E3372h (Hilink) - awesome LTE modem

Huwaei E3372h (Hilink) - awesome LTE modem

Why is Huawei E3372h awesome?

  • Supports 4G/LTE
  • Superior signal quality
  • Very reasonably priced (on EU eBay for around 30€)
  • Can be read/configured via Hilink API
  • Works on OpenWrt
  • Has connectors for external antenna

After testing lots and lots of different modems I have finally found one that works really great under OpenWrt without issues and has great performance.

h stands for Hilink, this basically means that this modem doesn't use AT commands. It has web interface that you connect to via 192.168.8.1 IP address or you can also use it's API.

This modem uses usb over ethernet driver (cdc-ether) so it shows up in OpenWrt and Linux as new network interface that you connect to, under OpenWrt it is usually eth1 or eth2

It has DHCP server running and it offers ip addresses to your device that connects to it over usb port.

First install standard usb and modem support drivers:

opkg install kmod-usb-core kmod-usb2 usb-modeswitch libusb-1.0

Then install support for ethernet over usb (cdc-ether) devices:

opkg install kmod-usb-net-cdc-ether

Now reboot

reboot & exit

When you connect your Huawei E3372h modem to usb port check which ethernet port is enables, this depends on your OpenWrt device. If eth1 device is already configured then E3372h will show up as eth2 device.

# logread | grep cdc_ether
Fri Aug 26 17:59:51 2016 kern.info kernel: [  228.910000] cdc_ether 1-1:1.0 eth2: register 'cdc_ether' at usb-ehci-platform-1, CDC Ethernet Device, 0c:5b:8f:27:9a:64
Fri Aug 26 18:08:00 2016 kern.err kernel: [  718.430000] cdc_ether 1-1:1.0 eth2: kevent 12 may have been dropped
Fri Aug 26 18:08:00 2016 kern.err kernel: [  718.430000] cdc_ether 1-1:1.0 eth2: kevent 11 may have been dropped

Now add new lte interface to network config:

uci set network.lte=interface
uci set network.lte.proto=dhcp
uci set network.lte.ifname=eth2
uci commit network

And now just one last step, add lte interface to wan firewall zone:

uci add_list firewall.@zone[1].network='lte'
uci commit firewall

Again, reboot your OpenWrt device and you should have internet connection via LTE, and you can connect to configure modem via admin interface - http://192.168.8.1

In next article I'll go over some basic Hilink API calls and how to use Hilink API calls to send and receive SMS messages.