1.\"- 2.\" SPDX-License-Identifier: ISC 3.\" 4.\" Copyright (c) 2008 AnyWi Technologies 5.\" All rights reserved. 6.\" 7.\" This code is derived from uark.c 8.\" 9.\" Permission to use, copy, modify, and distribute this software for any 10.\" purpose with or without fee is hereby granted, provided that the above 11.\" copyright notice and this permission notice appear in all copies. 12.\" 13.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 14.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 15.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 16.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 17.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 18.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 19.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 20.\" 21.Dd December 5, 2024 22.Dt U3G 4 23.Os 24.Sh NAME 25.Nm u3g 26.Nd USB support for 3G and 4G cellular modems 27.Sh SYNOPSIS 28To compile this driver into the kernel, 29place the following lines in your 30kernel configuration file: 31.Bd -ragged -offset indent 32.Cd "device usb" 33.Cd "device ucom" 34.Cd "device u3g" 35.Ed 36.Pp 37Alternatively, to load the driver as a 38module at boot time, place the following line in 39.Xr loader.conf 5 : 40.Bd -literal -offset indent 41u3g_load="YES" 42.Ed 43.Pp 44If neither of the above is done, the driver will be 45automatically loaded by devd(8) when the device is connected. 46.Sh DESCRIPTION 47The 48.Nm 49driver provides support for USB-to-serial interfaces 50exposed by many 3G and 4G modems. 51The supported adapters provide the necessary modem port for 52.Xr ppp 8 , 53or 54.Pa net/mpd5 55connections. 56Depending on the specific device, extra ports provide other functions 57such as an additional command port, diagnostic port, 58GPS receiver port, or SIM toolkit port. 59.Pp 60The device is accessed through the 61.Xr ucom 4 62driver which makes it behave like a 63.Xr tty 4 . 64.Pp 65In some adapters a mass storage device supported by the 66.Xr umass 4 67driver is present which contains Windows and Mac OS X drivers. 68The device starts up in disk mode (TruInstall, ZeroCD, etc.) 69and requires additional commands to switch it to modem mode. 70If your device is not switching automatically, please try to add quirks. 71See 72.Xr usbconfig 8 73and 74.Xr usb_quirk 4 . 75.Sh HARDWARE 76The 77.Nm 78driver supports the following cellular modems: 79.Pp 80.Bl -bullet -compact 81.It 82Option GT 3G Fusion, GT Fusion Quad, etc. 83.Pq 3G only, not WLAN 84.It 85Option GT 3G, GT 3G Quad, etc. 86.It 87Vodafone Mobile Connect Card 3G 88.It 89Vodafone Mobile Broadband K3772-Z 90.It 91Qualcomm Inc. CDMA MSM 92.It 93Qualcomm Inc. GOBI 1000, 2000 and 3000 devices with MDM1000 or MDM2000 chipsets 94.It 95QUECTEL BGX, ECX, EGX, EMX, EPX, RGX series 96.It 97Quectel EM160R 98.Pq see Sx CAVEATS 99.It 100Huawei B190, E180v, E220, E3372, E3372v153, E5573Cs322, ('<Huawei Mobile>') 101.It 102Novatel U740, MC950D, X950D, etc. 103.It 104Sierra MC875U, MC8775U, etc. 105.It 106Panasonic CF-F9 GOBI 107.El 108.Pp 109Many more are supported, see 110.Pa /sys/dev/usb/serial/u3g.c 111for the complete list. 112.Sh FILES 113.Bl -tag -width "/dev/ttyU*.*.init" -compact 114.It Pa /dev/ttyU*.* 115for callin ports 116.It Pa /dev/ttyU*.*.init 117.It Pa /dev/ttyU*.*.lock 118corresponding callin initial-state and lock-state devices 119.Pp 120.It Pa /dev/cuaU*.* 121for callout ports 122.It Pa /dev/cuaU*.*.init 123.It Pa /dev/cuaU*.*.lock 124corresponding callout initial-state and lock-state devices 125.El 126.Sh EXAMPLES 127Connect to the Internet using the default configuration: 128.Bd -literal -offset indent 129ppp -background u3g 130.Ed 131.Sh SEE ALSO 132.Xr tty 4 , 133.Xr ucom 4 , 134.Xr usb 4 , 135.Xr usb_quirk 4 , 136.Xr devd 8 , 137.Xr ppp 8 , 138.Xr usbconfig 8 139.Sh HISTORY 140The 141.Nm 142driver appeared in 143.Fx 7.2 , 144is based on the 145.Xr uark 4 146driver, and written by 147.An Andrea Guzzo Aq Mt aguzzo@anywi.com 148in September 2008. 149.Sh AUTHORS 150.An -nosplit 151The 152.Nm 153driver was written by 154.An Andrea Guzzo Aq Mt aguzzo@anywi.com 155and 156.An Nick Hibma Aq Mt n_hibma@FreeBSD.org . 157Hardware for testing was provided by AnyWi Technologies, Leiden, NL. 158.Sh CAVEATS 159The Quectel EM160R is not officially supported in PPP mode. 160In order to use it in PPP mode, the ctsrts option needs to be turned off, 161for example, by adding: 162.Pp 163.Dl set ctsrts off 164.Pp 165to 166.Pa /etc/ppp/ppp.conf 167in the correct section. 168.Sh BUGS 169The automatic mode switch from disk mode to modem mode does not work unless 170the driver is either built into the kernel or loaded before the device is 171connected. 172.Pp 173The GOBI-based devices require the gobi loader available from the 174.Pa sysutils/gobi_loader 175port. 176