UHSO(4)
π UHSO π
okay bestie, gather round, because today we're talking about uhso β the kernel driver that makes a whole squad of HSxPA devices from Option N.V. actually work. yes it's a manual page. yes it's from the Kernel Interfaces Manual. yes i'm gonna make it cute. let's go π¦
β¨ NAME β¨
uhso β support for several HSxPA devices from Option N.V.
β¨ SYNOPSIS β¨
so the way you load this module at boot time? you drop this line into loader.conf(5) and you're done, no cap:
uhso_load="YES"
β¨ DESCRIPTION β¨
okay so the uhso driver provides support for several HSxPA devices from Option N.V. that are based on their packet interface. it's giving "one device, two whole personalities" π
every device has:
- a set of serial ports, and
- a raw IP packet interface
the serial ports of the device are accessed through the ucom(4) driver, which makes them behave like tty(4) devices. meanwhile the packet interface is exposed as a network interface. two vibes, one driver, iconic.
now, establishing a connection on the packet interface? that's achieved by using the proprietary AT commands AT_OWANCALL and AT_OWANDATA on any of the available serial ports. proprietary AT commands, iykyk.
β οΈ the network interface must be configured manually using the data obtained from these calls. it will not do it for you, bestie. no autopilot here.
each device usually has at least two or more serial ports, and their individual purpose can be identified through sysctl(8). here's the breakdown:
- ports identified as βModemβ feature a normal modem interface that can be used with PPP. classic, reliable, we love her.
- ports identified as βDiagnosticβ use a proprietary binary interface used for firmware upgrades. this port does not have an AT command interface and can not be used to control the device. she's for firmware only, don't ask her for anything else π
- other ports feature an AT command interface that can be used for normal device control. these are your main characters.
β¨ HARDWARE β¨
the uhso driver should work with most devices from Option. the following devices have been verified to work:
- Option GlobeSurfer iCON 7.2 (new firmware)
- Option GlobeTrotter Max 7.2 (new firmware)
- Option iCON 225
- Option iCON 452
- Option iCON 505
okay and here's a fun little plot twist π β the device features a mass storage device referred to as βZero-CDβ which contains drivers for Microsoft Windows; this is the default mode for the device. so it wakes up pretending to be a CD drive full of Windows drivers. not me being a whole different device on boot π
the uhso driver automatically switches the device from βZero-CDβ mode to modem mode. slay. this behavior can be disabled by setting hw.usb.uhso.auto_switch to 0 using sysctl(8).
β¨ FILES β¨
/dev/cuaU?.?
β¨ EXAMPLES β¨
establishing a packet interface connection using the AT command interface available at one of the serial ports
AT+CGDCONT=1,,"apn.provider"
AT_OWANCALL=1,1,1
OK
_OWANCALL=1,1
AT_OWANDATA=1
_OWANDATA: 1, 10.11.12.13, 0.0.0.0, 10.2.3.4, 10.2.3.5, \
0.0.0.0, 0.0.0.0, 72000
configuring the interface
this part is on you, bestie β remember, manual configuration only:
ifconfig uhso0 10.11.12.13 up
route add default -interface uhso0
echo "nameserver 10.2.3.4" > /etc/resolv.conf
echo "nameserver 10.2.3.5" >> /etc/resolv.conf
and when you're done
the connection can be terminated with:
AT_OWANCALL=1,0,1
bye bye connection, you served π
β¨ SEE ALSO β¨
β¨ AUTHORS β¨
the uhso driver was written by Fredrik Lindberg <fli@shapeshifter.se>. thank you for your service, legend π«Άπ
and that's the whole page, bestie β this one's from the Debian crew, dated July 20, 2010, living in the UHSO(4) slot of the manual. oldie but a goodie, fr fr. go forth and configure your packet interface manually, and remember: Modem ports are for PPP, Diagnostic ports are for firmware only, and the driver switches you out of Zero-CD mode unless you tell it not to. periodt. β¨π¦π
π¦ 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) 2009 Fredrik Lindberg
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms