UFOMA(4)

✨ UFOMA(4) ✨ β€” the Kernel Interfaces Manual girlies know πŸ’…

okay bestie so <rainbow>ufoma</rainbow> β€” USB mobile phone support β€” is a section 4 kernel interfaces man page and she is serving connectivity realness πŸ’–


🌸 NAME 🌸

ufoma β€” USB mobile phone support 🫢


πŸŽ€ SYNOPSIS πŸŽ€

so to compile this driver into the kernel, you place the following lines in your kernel configuration file:

device usb
device ucom
device ufoma

alternatively!! to load the driver as a module at boot time, put this line in loader.conf(5):

ufoma_load="YES"

slay. no cap. that's the whole vibe check ✨


πŸ’… DESCRIPTION πŸ’…

so like, the ufoma driver provides support for USB mobile phone terminals in the subset of the Mobile Computing Promotion Consortium USB Implementation Guideline, which is adopted by FOMA, the NTT DoCoMo 3G system, terminal. lowkey iconic of them.

these are partly like CDC ACM model based modems, which are supported by umodem(4), but β€” and this is the main character moment β€” the ufoma driver recognizes a specific USB descriptor that describes its role and interface structure, and it will negotiate its role when the device is open. it's giving ✨autonomy✨.

they support a regular AT command set and the commands can either be multiplexed with the data stream or handled through separate pipes. in the latter case the AT commands have to be given on a device separate from the data device. iykyk.

the device is accessed through the ucom(4) driver which makes it behave like a tty(4). so yes bestie, it's a tty at the end of the day 🌈


πŸ¦‹ SYSCTLS πŸ¦‹

these devices often have a few interface sets and these interfaces have their role, sometimes multiplexed. these roles are identified with the following sysctl MIBs:

  • dev.ucom.%d.supportmode β€” the modes which are supported by the interface. πŸ’œ
  • dev.ucom.%d.currentmode β€” current mode of the interface. currently. right now. living in the moment 🫢
  • dev.ucom.%d.openmode β€” mode to transit when the device is open next. like a little glow-up scheduled for later ✨

the modes are as follows:

  • modem β€” accepts AT commands and go and pass packet communication data.
  • handsfree β€” accepts AT commands but it does not pass data. she's chatty but she's not carrying anything πŸŽ€
  • obex β€” accepts OBEX frame which is used to exchange telephone book, etc.
  • vendor1, vendor2 β€” vendor specific data may be passed.
  • deactivated β€” when an interface is recognized by the system but not used, the interface will be set to this mode. not ignored, just... benched πŸ’€
  • unlinked β€” when an interface is not yet negotiated, the interface is in this mode. she's still loading bestie ⭐

πŸ‘‘ HARDWARE πŸ‘‘

devices supported by the ufoma driver include:

  • SHARP FOMA SH902i
  • KYOCERA PHS AH-K3001V (a.k.a Kyopon)
  • SANYO Vodafone3G V801SA

three icons. that's it. that's the roster πŸ’–


🌈 SEE ALSO 🌈

specification can be found at:

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


🧚 HISTORY 🧚

the ufoma driver appeared in FreeBSD 7.0, partly derived from the umodem(4) code. generational talent fr fr 🫢


πŸ™ˆ BUGS πŸ™ˆ

interfaces with multiplexed commands and data and interfaces with commands only are supported.

yes bestie that's listed under BUGS and we're reporting it exactly as written, no editorialising, no cap 😭

and that's the whole page!! sign-off time πŸŽ€ β€” this one's from Debian, dated November 20, 2011, and honestly she ate and left no crumbs. mwah πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from