FireBrick 2700 with 4G ZTE MF823

Back up to the FireBrick USB Dongles Category
From AAISP Support Site
Revision as of 14:49, 7 February 2017 by Aa-jamie (talk | contribs) (force manual apn, add dial string to make the dongle work)


ZTE MF823 Overview

The ZTE MF823 is 4G dongle that (as of 2017) is widely available at a good price (Below £50).

Default settings and configs just work if NAT is acceptable

Out of the box, it will work as an 'ethernet' device, and so the FireBrick or a computer will see it as a USB ethernet adapter. The Dongle runs a DHCP server and will dish out IP addresses to you in the 192.168.0.x range. Then, once its connected to the Internet on the 4G side, it will give you natted internet access.

A factory default FireBrick configuration will work with a ZTE MF823 dongle without any additional configuration

  • The FireBrick will DHCP an address in the 192.168.0.x range from the ZTE dongle
  • You can access the dongle's web interface via http://192.168.0.1
  • There will be NAT performed by the FireBrick and then again by the dongle
  • The FireBrick will give you internet access over the dongle

ZTE MF823 and No NAT

In its default state, the ZTE MF823 dongle will give internet access and the FireBrick can also be configured to use the dongle as a backup internet connection if your main connection goes down. However, when used with a Data SIM from AAISP you may want to take advantage of the static IP and routed blocks of IPv4 addresses. In these cases you don't want the dongle to do any NAT. To do this, the dongle needs to be configured to be a 'modem', and then we need to do a little bit of FireBrick config.

Changing the ZTE MF823 to 'modem' mode

Warning: This is still in progress and has not been fully tested, and as such may not work.

The ZTE823 works as an Ethernet device by default, it is possible to change the mode so that it works as a modem. The idea here is that rather than the dongle NATing the connection it can be a modem and the FireBrick will be given the public WAN IP address directly.

One caveat of modem mode, is that it does not seem to reliably respond to AT commands, as it appears the dongle is generating its own AT commands internally, presumably part of it's web interface thing. It does appear to respond to the AT+CGDATA command to start a data session, with almost no other interaction required on the behalf of the Firebrick.

Switching to Modem Mode

 
Disabling Autoconnect

Some of this information came from: archlinux.org

  1. Disable auto-connect, and manually set the APN:
    • Go to http://192.168.0.1
    • Click on Home
    • Click Disconnect
    • Click Settings
    • Click Network settings
    • Click Dial-up settings
    • Click the radio button labeled 'Manual' and click Apply
    • Click APN
    • Click the radio button labeled 'Manual' and click 'Add new'
    • Set PDP type to IPv4, create a Profile Name, enter the APN as 'm2m.aql.net', set Authentication to none, and select Apply.
    • Go to your newly created profile, and click 'Set as default'.
  2. Put the Dongle into download mode:
    • In your browser, go to: http://192.168.0.1/goform/goform_process?goformId=MODE_SWITCH&switchCmd=FACTORY
    • The modem should respond with: {"result":"FACTORY:ok"}
  3. Unplug and plug back in to the FireBrick and the FireBrick should see the dongle as a modem
  4. TODO - HOW TO CONFIGURE THE FIREBRICK TO USE THE DONGLE
 
ZTE as shown in FireBrick UI

Switching back to Ethernet mode

To put the dongle back to Ethernet mode you will need to connect the dongle to a computer in order to send it some commands via a serial terminal

 
gtkterm
  • Open gtkserial or another serial terminal (or simply echo the following AT commands to /dev/ttyUSB2) (or maybe another dev/ttyUSBx):
ATZ
AT&F
AT+ZCDRUN=9
AT+ZCDRUN=F 
  • Disconnect the modem from the computer and reconnect it to the FireBrick

FireBrick config

<dongle name="ZTE" vendor="19d2" product="0016" modeswitch="noswitch" dial-string="AT+CGDATA="PPP",1"/>

and change the <port...> item for USB to use usb="ZTE" rather than the default (which is usually Example-3G)

Further help with the dongle

What mode is it in?

On a linux system, if you run lsusb you'll see something like:

Bus 002 Device 030: ID 19d2:0016 ZTE WCDMA Technologies MSM 

The 0016 is the mode:

  • 1225 – Default Mode. Available USB Mass Storage Device with CD-ROM and card reader. Corresponds to AT+ZCDRUN=9+AT+ZCDRUN=F
  • 1403 – Operating Mode. Available RNDIS adapter and Mass Storage Device. Corresponds to AT+ZCDRUN=8+AT+ZCDRUN=F
  • 1405 – CDC Ethernet Mode. A mode similar to that described above (1403). Included in Linux after starting usb_modeswitch c default settings.
  • 0016 – Download Mode. Under the name of ZTE., but simply a mode where available diagnostic port and two command (analog modem port and PC UI devices Huawei). Corresponds to AT+ZCDRUN=E
  • 0076 – "real" Download Mode. Includes a standard for devices running QC methods.