---
name: "u3g"
section: "4"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/u3g"
---

# u3g(4)

USB support for 3G and 4G cellular modems

## NAME

**u3g** – USB support for 3G and 4G cellular modems

## SYNOPSIS

**device** **usb** **device** **ucom** **device** **u3g**

In [loader.conf(5)](/loader.conf/5.md): **u3g\_load="YES"**

## DESCRIPTION

The **u3g** driver provides support for USB-to-serial interfaces exposed by many 3G and 4G modems. The supported adapters provide the necessary modem port for [ppp(8)](/ppp/8.md), or *net/mpd5* connections. Depending on the specific device, extra ports provide other functions such as an additional command port, diagnostic port, GPS receiver port, or SIM toolkit port.

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

In some adapters a mass storage device supported by the [umass(4)](/umass/4.md) 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)](/usbconfig/8.md) and [usb\_quirk(4)](/usb_quirk/4.md).

## HARDWARE

The **u3g** driver supports the following cellular modems:

- Option GT 3G Fusion, GT Fusion Quad, etc. (3G only, not WLAN)

- Option GT 3G, GT 3G Quad, etc.

- Vodafone Mobile Connect Card 3G

- Vodafone Mobile Broadband K3772-Z

- Qualcomm Inc. CDMA MSM

- Qualcomm Inc. GOBI 1000, 2000 and 3000 devices with MDM1000 or MDM2000 chipsets

- QUECTEL BGX, ECX, EGX, EMX, EPX, RGX series

- Quectel EM160R, EM060K (see CAVEATS)

- Huawei B190, E180v, E220, E3372, E3372v153, E5573Cs322, ('\<Huawei Mobile\>')

- Novatel U740, MC950D, X950D, etc.

- Sierra MC875U, MC8775U, EM7590, etc.

- Panasonic CF-F9 GOBI

Many more are supported, see */sys/dev/usb/serial/u3g.c* for the complete list.

## FILES

- */dev/ttyU\*.\**

  for callin ports

- */dev/ttyU\*.\*.init*

  - */dev/ttyU\*.\*.lock*

  corresponding callin initial-state and lock-state devices

- */dev/cuaU\*.\**

  for callout ports

- */dev/cuaU\*.\*.init*

  - */dev/cuaU\*.\*.lock*

  corresponding callout initial-state and lock-state devices

## EXAMPLES

Connect to the Internet using the default configuration:

```
ppp -background u3g
```

## SEE ALSO

[tty(4)](/tty/4.md), [ucom(4)](/ucom/4.md), [usb(4)](/usb/4.md), [usb\_quirk(4)](/usb_quirk/4.md), [devd(8)](/devd/8.md), [ppp(8)](/ppp/8.md), [usbconfig(8)](/usbconfig/8.md)

## HISTORY

The **u3g** driver appeared in FreeBSD 7.2, is based on the [uark(4)](/uark/4.md) driver, and written by Andrea Guzzo ⟨*aguzzo@anywi.com*⟩ in September 2008.

## AUTHORS

The **u3g** driver was written by Andrea Guzzo ⟨*aguzzo@anywi.com*⟩ and Nick Hibma ⟨*n\_hibma@FreeBSD.org*⟩. Hardware for testing was provided by AnyWi Technologies, Leiden, NL.

## CAVEATS

The Quectel EM160R is not officially supported in PPP mode. In order to use it in PPP mode, the ctsrts option needs to be turned off, for example, by adding:

```
set ctsrts off
```

to */etc/ppp/ppp.conf* in the correct section.

## BUGS

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.

The GOBI-based devices require the gobi loader available from the *sysutils/gobi\_loader* port.
