u3g(4) USB support for 3G datacards


To compile this driver into the kernel, place the following lines in your kernel configuration file:
device usb device ucom device u3g

Alternatively, to load the driver as a module at boot time, place the following line in loader.conf5:


If neither of the above is done, the driver will automatically be loaded by devd(8) when the device is connected.


The driver provides support for the multiple USB-to-serial interfaces exposed by many 3G USB/PCCard modems.

The device is accessed through the ucom(4) driver which makes it behave like a tty(4).


The driver supports the following adapters:

  • Option GT 3G Fusion, GT Fusion Quad, etc. (only 3G part, not WLAN)
  • Option GT 3G, GT 3G Quad, etc.
  • Vodafone Mobile Connect Card 3G
  • Vodafone Mobile Broadband K3772-Z
  • Qualcomm Inc. CDMA MSM
  • Huawei B190, E180v, E220 ('<Huawei Mobile>')
  • Novatel U740, MC950D, X950D, etc.
  • Sierra MC875U, MC8775U, etc.

(See /sys/dev/usb/serial/u3g.c for the complete list of supported cards for each vendor mentioned above.)

The supported 3G cards provide the necessary modem port for ppp, or mpd connections as well as extra ports (depending on the specific device) to provide other functions (additional command port, diagnostic port, SIM toolkit port).

In some of these devices a mass storage device supported by the umass(4) driver is present which contains Windows and Mac OS X drivers. The device starts up in disk mode (TruInstall, ZeroCD, etc.) and requires additional commands to switch it to modem mode. If your device is not switching automatically, please try to add quirks. See usbconfig(8) and usb_quirk4.


The driver appeared in Fx 7.2 , is based on the uark(4) driver, and written by An Andrea Guzzo Aq [email protected] in September 2008.


The driver was written by An Andrea Guzzo Aq [email protected] and An Nick Hibma Aq [email protected] . Hardware for testing was provided by AnyWi Technologies, Leiden, NL.


The automatic mode switch from disk mode to modem mode does not work unless the driver is either built into the kernel or loaded before the device is connected.