UMCS(4)

πŸ’– UMCS πŸ’– β€” like, the manual page, bestie

okay so this is UMCS(4), from the Kernel Interfaces Manual section of the FreeBSD man pages, and it's literally all about USB serial adapter support. buckle up πŸŽ€


✨ NAME ✨

umcs β€” USB support for serial adapters based on the MCS7820 and MCS7840 chips πŸ¦‹


🌸 SYNOPSIS 🌸

so, you wanna bake this driver into the kernel? not me writing fanfic, this is real. drop these lines into your kernel configuration file:

device usb
device ucom
device umcs

orrr, if you'd rather load it as a module at boot time (iconic, low-effort, we love her πŸ’…), put this line in loader.conf(5):

umcs_load="YES"

πŸ‘‘ DESCRIPTION πŸ‘‘

the umcs driver gives you support for all kinds of multiport serial adapters built on the MosCom MCS7820 and MCS7840 chips. these are 2- or 4-port adapters, and they come with full-featured 16550-compatible UARTs plus very flexible baud generators. and the way that these chips also support RS422/RS485 and IrDA operations?? obsessed. πŸ’–

you reach the device through the ucom(4) driver, which makes it behave like a tty(4). periodt.

different ports on the device show up as sub-units, like /dev/ttyU0.1 and /dev/ttyU0.2. yes bestie, the little dot is doing the heavy lifting ✨


πŸ”₯ HARDWARE πŸ”₯

the umcs driver was tested on these adapters, so this is the verified squad:

  • ST Lab U-360 two-port serial USB adapter
  • ST Lab U-400 four-port serial USB adapter

πŸŽ€ FILES πŸŽ€

here's the whole roster of device nodes, no gatekeeping:

  • /dev/ttyU*.* β€” for callin ports
  • /dev/ttyU*.*.init
  • /dev/ttyU*.*.lock β€” corresponding callin initial-state and lock-state devices

and then the callout side:

  • /dev/cuaU*.* β€” for callout ports
  • /dev/cuaU*.*.init
  • /dev/cuaU*.*.lock β€” corresponding callout initial-state and lock-state devices

πŸ’œ SEE ALSO πŸ’œ

go read these too, iykyk:

tty(4), ucom(4), usb(4)


🌈 HISTORY 🌈

the umcs driver appeared in ports since December of 2010. a legend from day one, fr fr. ⭐


🫢 AUTHORS 🫢

the umcs driver was written by Lev Serebryakov <lev@FreeBSD.org>. thank you king πŸ‘‘


πŸ’€ BUGS πŸ’€

okay so here's the tea, and it's giving mildly tragic: this driver doesn't support access to any fine tunes of the chip, like RS522/RS485 mode, non-standard baudrates, etc. 😭 not a vibe, but that's the reality β€” plan accordingly.


and that's the whole page, bestie!! this one came from the Debian build of the manual, dated April 26, 2017, filed under UMCS(4). go forth and serial-port responsibly πŸ’…πŸ¦‹βœ¨

πŸ“¦ where this page comes from