Known Working 3G-4G Modems

This page lists 3G and 4G modem devices which are known to work with pfSense® software.

  • 4G Systems XS Stick P14

  • Alcatel Onetouch 4G L850V

  • Anydata ADU-635 WA

  • Verizon/Pantech UM175

  • Verizon/Pantech UML290 and UML295 (see also: UML290 config info)

  • Verizon USB727

  • HP hs2340 HSPA+ Mini Card AMO Ericsson

  • Huawei B970/B970B

  • Huawei E122

  • Huawei E153

  • Huawei E156G

  • Huawei E160

  • Huawei E161

  • Huawei E160E

  • Huawei E169

  • Huawei E172

  • Huawei E173

    • It has been reported that some E173 modems are shipping labeled as E173 but have a different chip that is not supported. See below.

  • Huawei E173U-1

  • Huawei E176

  • Huawei E180

  • Huawei E220

  • Huawei E226

  • Huawei E272

  • Huawei E352

  • Huawei E353U-2

  • Huawei E367

  • Huawei E372

  • Huawei E392

  • Huawei E397u-53

    • Link interface: /dev/cuaU0.0

    • Init string: &F

  • Huawei E398 (E398u-1)

  • Huawei E960

  • Huawei E1550

  • Huawei E1552

  • Huawei E1556

  • Huawei E1612

  • Huawei E1692

  • Huawei E1750

  • Huawei E1756

  • Huawei E1762

  • Huawei E1820

  • Huawei E3372s LTE USB-stick

    • Link interface: /dev/cuaU0.1

    • Init string: &F&C1&D2E0S0=0

  • Huawei E3372h LTE USB-stick

  • Huawei E3531

    The command to switch to the correct mode depends on the hardware revision.

    Newer versions of the hardware may use this command:

    usb_modeswitch -v 12d1 -p 1f01 -c /usr/local/share/usb_modeswitch/12d1:1f01

    Older hardware revisions may use this ID instead:

    usb_modeswitch -v 12d1 -p 15e7 -c /usr/local/share/usb_modeswitch/12d1:15e7

    The command has to be executed every time it’s detached and reattached, the interface has to be disabled and then enabled again.

    • Link interface: /dev/cuaU0.0

    • Init string: &F0E1Q0 +CMEE=2

  • Huawei K3563

  • Huawei E5372

  • Huawei E5776

  • Huawei VIK K3715 HSU by Vodafone

  • Huawei K3765 by Vodafone

  • Huawei ME909u-521 4G/LTE Mini-PCIe

    • Link interface: /dev/cuaU0.0

    • Init string: &F0E1Q0 +CMEE=2

  • Huawei ME909s-120 4G/LTE Mini-PCIe

  • Nokia Phone E72-1 connected via USB cable

  • Sierra Wireless U305

  • Sierra Wireless 320u usb LTE

  • Sierra Wireless U330

  • Sierra Wireless MC7354

  • Sierra Wireless MC7355

  • Sierra Wireless MC7710

  • HP2300 (Sierra Wireless MC8775 3G) Mini-PCIe

  • USB Connect Mercury (Sierra Wireless Compass 885 or C885)

  • Sierra Wireless Compass 889

  • Ovation U727 by Novatel on Sprint CDMA

  • Nokia CS-17

  • Turkey-TTNET Usb Stick 3G Modem. Label says Huawei E173 but its actually Huawei E1800.

  • Telstra maxon bp3-usb (Benchmarked: 2500/350)

  • ZTE MF656A

  • Vodafone Mobile Connect K3565

  • Huawei K4505 (Vodafone Mobile Broadband)

  • LTE Yota LiTE LU 156 4G - NOTE: May need nudged in some way out of storage mode. (e.g. boot delay, unplug/replug)

  • Novatel EU850D (Mini PCIe)

  • ZTE MF683 (May need CD-ROM disabled using AT+ZCDRUN=8 on another system first)

  • ZTE MF622

  • Ericsson H5321G / Lenovo FRU 60Y3297

  • Ericsson F5521GW Gobi3000 / Lenovo

  • Ericsson N5321 / Lenovo

    • May need “AT+CFUN=1” in the init string. Serial port varies from /dev/cuaU[0-3].

  • ZTE MF915 LTE modem (T-Mobile)

  • ZTE MF190 USB (1&1) using /dev/cuaU0.2

  • ZTE MF669 - May need “camcontrol eject da0” in shellcmd, uses /dev/cuaU0.2

  • ZTE MF830 - Can be switched from Ethernet to Modem by accessing the device’s web interface, depending on preference.

  • ZTE MF861

  • ZTE MF985 - Branded as AT&T Velocity 2

  • D-Link DWM-157 (3.75HSPA+)

  • ONDA MT503HSA Type MF636 (requires eject mode switch, see below)

  • Netgear LB1120 (US)

  • Netgear LB1121 (US)

  • Netgear LB2120 (US)

  • Netgear LB1110 (EU)

  • Netgear LB1111 (EU)

  • Netgear LM1200 (EU)

  • And many others

If a modem DOES WORK but is not on the list - Please submit a documentation update.

If a modem DOES NOT WORK - post about it on the Netgate Forum for help, do not contact Netgate asking for support or drivers.

Modems reported to work as Ethernet devices

  • Verizon (Pantech) 295 - Works, but fails if detached and reattached, must reboot.

  • ZTE MF60 3g

  • ZTE MF90

  • ZTE MF823 - Defaults to, will need to be sure local system does not have an overlapping network.

  • ZTE MF833R - Same

  • ZTE MF833V - Same

  • ZTE MF915 LTE modem (T-Mobile)

  • ZTE MF975S

  • ZTE MF79U - Requires Plus 23.01, CE 2.7.0, or later. USB Ethernet device appears after running camcontrol eject cd0.

  • Huawei E3372h - Command to switch to the correct mode:

    usb_modeswitch -v 12d1 -p 1f01 -c /usr/local/share/usb_modeswitch/12d1:1f01

    The command has to be executed every time it’s detached and reattached, the interface has to be disabled and then enabled again.

  • Huawei E5573 - Command to switch to the correct mode:

    usb_modeswitch -v 12d1 -p 1505 -c /usr/local/share/usb_modeswitch/12d1:1505

    The command has to be executed every time it’s detached and reattached, the interface has to be disabled and then enabled again.

  • Huawei E8372h – See Mode Switching and #6226

  • TP-LINK M7350

Modem variations reported to NOT work

These have the same model numbers as the above, but have different chips and may not be supported.

  • Huawei E173s

#Before switching (USB mass storage)
DefaultVendor= 0x12d1
#After switching into modem mode
TargetVendor=  0x12d1
  • mPCIe: Sierra Wireless Gobi2000

Mode Switching

Some devices show up as a media device, such as cd0, in this case it may be possible to switch modes by executing a command:

camcontrol eject cd0

If that does switch the modem to the proper mode, it may be added as a Executing Commands at Boot using the full path:

/sbin/camcontrol eject cd0

usb_modeswitch is required in order to make certain devices switch to the correct mode.

In some cases, switching to the correct mode is too late, resulting in an error “Network interface mismatch” on the console. In this case, the additional command && sleep 10 can be added. For example:

/usr/local/sbin/usb_modeswitch -v 12d1 -p 1f01 -c /usr/local/share/usb_modeswitch/12d1:1f01 && sleep 10

This package is available in the pfSense software repository, but cannot be installed using the GUI package manager. It can be installed from a shell prompt using pkg install usb_modeswitch.

This method should not be used on a production firewall it has not been tested officially.