UCOM(4)
π¦ UCOM(4) β USB tty support π¦
okay so bestie, this is the ucom(4) page from the Kernel Interfaces Manual, and itβs giving USB tty support realness. π
π NAME π
ucom β USB tty support. literally thatβs the whole vibe. π
β¨ SYNOPSIS β¨
To compile this driver into the kernel, place the following line in your kernel configuration file:
device ucom
Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):
ucom_load="YES"
πΈ DESCRIPTION πΈ
The ucom driver attaches to USB modems, serial ports, and other devices that need to look like a tty. It shows a behavior like a tty(4). This means that normal programs such as tip(1) or ppp(8) can be used to access the device. no cap, it just slots right in. π«Ά
π SYSCTL VARIABLES π
The following variables are available as both sysctl(8) variables and loader(8) tunables:
hw.usb.ucom.debugβ Debug output level, where0is debugging disabled and larger values increase debug message verbosity. Default is0. πhw.usb.ucom.device_mode_consoleβ When set to1, theucomdriver will mark terminals as console devices when operating in device mode. Default is1. β¨hw.usb.ucom.pps_modeβ Enables and configure PPS capture mode as described below. π
π Pulse Per Second (PPS) Timing Interface π
The ucom driver can capture PPS timing information as defined in RFC 2783. The API, accessed via ioctl(2), is available on the tty device. To use the PPS capture feature with ntpd(8), symlink the tty device to /dev/pps0.
The hw.usb.ucom.pps_mode sysctl configures the PPS capture mode. It can be set in loader.conf(5) or sysctl.conf(5). The following capture modes are available:
0β Capture disabled (default).1β Capture pulses on the CTS line.2β Capture pulses on the DCD line.
π¦ 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
π SEE ALSO π
go read these, bestie, theyβre all linked in the group chat:
cu(1)tty(4)uark(4)ubsa(4)ubser(4)uchcom(4)ucycom(4)ufoma(4)uftdi(4)uhso(4)uipaq(4)umcs(4)umct(4)umodem(4)umoscom(4)uplcom(4)usb(4)uslcom(4)uvistor(4)uvscom(4)ttys(5)
π HISTORY π
The ucom driver was adopted from NetBSD in March of 2002. This manual page was adopted from NetBSD by Tom Rhodes <trhodes@FreeBSD.org> in April 2002. iconic lineage, honestly. π
π BUGS π
Prior to FreeBSD 6.0 ucom created /dev/ucom? rather than the uniform device names created today. Old scripts must be adjusted accordingly. yeah, thatβs the messy part β adjust those scripts, bestie. π
signing off with the footer lore: this page is from Debian, dated July 11, 2020 β¨π«Ά
π¦ where this page comes from
- freebsd 14.5: base 14.5
- freebsd 15.1: base 15.1
- nixpkgs unstable: source
- Copyright (c) 1999 The NetBSD Foundation, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms