URIO(4)

πŸ’– URIO(4) πŸ’–

okay bestie, so this is the manual page for urio, sitting all cute in section 4 of the Kernel Interfaces Manual πŸŽ€ β€” which is the section where the kernel-adjacent interfaces hang out. iykyk.


✨ NAME ✨

urio β€” the USB driver for the Rio MP3 players πŸŽ΅πŸ¦‹


🌸 SYNOPSIS 🌸

so if you wanna bake this driver straight into your kernel, you drop this one single line into your kernel configuration file:

device urio

or, if you'd rather be a chill modular girlie and load it as a module at boot time instead, you put this line in loader.conf(5):

urio_load="YES"

πŸ’… DESCRIPTION πŸ’…

the urio driver is what gives you support for the Rio MP3 players from Diamond MultiMedia, the ones that attach to the USB port πŸ”Œβœ¨. and listen β€” the urio device has to be configured in the kernel, okay? not just vibing on its own. it needs usb next to it, plus one of the uhci or ohci controllers. they're a package deal, no cap. 🫢

once all that's set up, the /dev/urio0 device is right there ready to be used by the Rio userland applications. main character energy fr πŸ’–


πŸŽ€ HARDWARE πŸŽ€

here's the roster of devices the urio driver supports, and honestly? iconic lineup:

  • Diamond MultiMedia Rio 500 πŸ‘‘
  • Diamond MultiMedia Rio 600 ⭐
  • Diamond MultiMedia Rio 800 🌈

πŸ¦‹ FILES πŸ¦‹

  • /dev/urio0 β€” the blocking device node 🫧

✨ EXAMPLES ✨

wanna add the urio driver to your kernel? put this exact line in your kernel configuration file, that's it, that's the whole thing:

device urio

and to download a song over the USB connection into the Rio, you use the rio_add_song(1) utility (peep the β€œSEE ALSO” section below for the deets):

rio_add_song /usr/local/MP3/TracyChapman/02-Fast-Car.mp3

like. it just works. πŸŽΆπŸ’œ


🌈 SEE ALSO 🌈

The Rio 500 SourceForge Project Web Page, over at http://rio500.sourceforge.net/. 🧚

and okay so the Rio500 tools from SourceForge? those are the actual userland tools you use to download, format or rename songs on the players. periodt. when you're compiling those tools, this pre-build configuration command will make sure that rio_usb.h is available in the include path and that the device being used is /dev/urio0:

CFLAGS="-I/usr/include/dev/usb" ./configure \
    --with-devicepath='/dev' --with-deviceentry='urio0'

πŸ’– AUTHORS πŸ’–

the urio driver was written by Iwasa Kazmi <kzmi@ca2.so-net.ne.jp> for FreeBSD. 🫑

and this manual page was written by Dirk-Willem van Gulik <dirkx@webweaving.org>. πŸŽ€


lowkey a little history moment: this page came out of the Debian project, dated November 22, 2006. yes bestie, 2006. the Rio era. we love an archival slay πŸ’€πŸ’–βœ¨
πŸ“¦ where this page comes from