URIO(4)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1, nixpkgs unstable

πŸ’– URIO(4) β€” the urio man page, bestie edition πŸŽ€

okay so this is the URIO(4) page from the Kernel Interfaces Manual β€” yes, that whole section, mwah πŸ’…. it's all about a lil USB driver, and i'm gonna walk you through it like we're texting at 2am. no cap, it's lowkey iconic. πŸ¦‹


✨ NAME ✨

urio β€” the USB driver for the Rio MP3 players 🎡 like, the driver. for MP3 players. from 1999-core era. it's giving retro-tech main character energy and honestly? obsessed. πŸ’œ


🌸 SYNOPSIS 🌸

so like, two whole ways to get this driver living in your system, bestie β€” pick your vibe ✨

option one: bake it right into the kernel 🍰 β€” drop this line in your kernel configuration file:

device urio

option two: load it as a module at boot time 🌈 β€” then put this in loader.conf(5):

urio_load="YES"

both are valid, both are slay, choose your fighter 🫢


πŸ’« DESCRIPTION πŸ’«

okay so here's the tea β˜• β€” the urio driver provides support for Rio MP3 players from Diamond MultiMedia which attaches to the USB port. πŸ”₯

and listen β€” the urio device must be configured in the kernel, along with usb and one of the uhci or ohci controllers. like, that's not optional, that's the whole foundation, babe. 🌸

once that's all set up? subsequently, the /dev/urio0 device can be used by the Rio userland applications. πŸ’– that's the payoff. that's the moment. ✨


πŸ‘‘ HARDWARE πŸ‘‘

the following devices are supported by the urio driver β€” a whole lil squad of them πŸŽ€

  • Diamond MultiMedia Rio 500
  • Diamond MultiMedia Rio 600
  • Diamond MultiMedia Rio 800

three icons. all supported. no notes. πŸ’…


πŸŽ€ FILES πŸŽ€

  • /dev/urio0 β€” blocking device node 🌈 (yes bestie, blocking, it does what it says)

⭐ EXAMPLES ⭐

okay practical queen time πŸ‘‘ β€” the following line in the kernel configuration file adds the urio driver to the kernel:

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, i gotchu 🫢):

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

like yes, that's the actual example. Tracy Chapman, Fast Car, track 02. the manpage authors had taste fr fr 😭πŸ”₯


πŸ”₯ SEE ALSO πŸ”₯

the Rio 500 SourceForge Project Web Page, over at http://rio500.sourceforge.net/. β€” go say hi 🌸

now this next part is important, so listen up πŸ’… β€” the Rio500 tools from SourceForge are the actual userland tools used to download, format or rename songs on players. when compiling these tools, the following pre-build configuration command will ensure that rio_usb.h is available in the include path and that the device used is /dev/urio0:

CFLAGS="-I/usr/include/dev/usb" ./configure \
    --with-devicepath='/dev' --with-deviceentry='urio0'
like seriously, run this exact thing β€” it's the difference between "it works" and "why is nothing working 😭". the paths matter, bestie. don't freestyle them. πŸ™ˆ

πŸ’œ 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> πŸ’–

legends, both of them. we stan. πŸ‘‘


✨ and that's the whole page, bestie β€” every flag, every path, every little detail, accounted for and understood ✨ πŸ¦‹ this slay lil page came to you from Debian, dated November 22, 2006 πŸŽ€ (yes, 2006 β€” vintage, iconic, timeless). mwah πŸ’‹

πŸ“¦ where this page comes from