UMODEM(4)
π umodem(4) β the USB modem driver, bestie edition π
okay so like. this is a page from the Kernel Interfaces Manual, and it's all about umodem, the USB Communication Device Class serial (CDC ACM) driver. yes that's a mouthful. we're gonna get through it together tho π«Ά
β¨ NAME β¨
umodem β USB Communication Device Class serial (CDC ACM) driver
β¨ SYNOPSIS β¨
so like, you wanna bake this driver right into your kernel? okay queen, add these lines to your kernel configuration file:
device usb
device ucom
device umodem
orrr, if you'd rather just load it as a module at boot time (way more chill tbh), drop this line into loader.conf(5):
umodem_load="YES"
β¨ DESCRIPTION β¨
The umodem driver is literally the support system for USB modems and serial devices that implement the Communication Device Class Abstract Control Model (CDC ACM). it also provides device-side CDC ACM support, which is giving main character energy on both sides ngl.
the supported modems are basically standard serial line modems, but you reach them through USB instead. they speak the regular AT command set, no cap. and here's the cute part β those AT commands can either be multiplexed with the data stream or handled through separate pipes. if it's the separate-pipes situation, then the AT commands have to be given on a device separate from the data device. that's just how it is π
you access the device through the ucom(4) driver, which makes it behave like a tty(4). slay.
β¨ HARDWARE β¨
these are the devices umodem has your back on, bestie:
- 3Com 5605
- Curitel PC5740 Wireless Modem
- Kyocera AH-K3001V Mobile Phone(WILLCOM)
- Kyocera WX320K Mobile Phone(WILLCOM)
- Metricom Ricochet GS USB wireless modem
- Sierra MC5720 Wireless Modem
- Yamaha Broadband Wireless Router RTW65b
- ELSA MicroLink 56k USB modem
- Sony Ericsson W810i phone
- Sonim XP5300 Force
look at that roster. iconic lineup honestly π₯
β¨ FILES β¨
here's where everything lives, keep it noted π
/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 next, i promise they're worth it:
β¨ HISTORY β¨
the umodem driver first appeared in NetBSD 1.5. then this manual page got adopted from NetBSD by Tom Rhodes <trhodes@FreeBSD.org> in April 2002. a little historical moment. we love to see it πΈ
β¨ BUGS β¨
okay so this is the tea: only modems with multiplexed commands and data are supported at the moment. that's it. that's the limitation. don't come for me, i'm just the messenger π
and that's the whole page, bestie!! this one came from the Debian crew and it's dated April 26, 2017. go forth and modem responsibly π¦π
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 1999 The NetBSD Foundation, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms