URIO(4) BSD Kernel Interfaces Manual URIO(4)


urio — USB driver for the Rio MP3 players


To compile this driver into the kernel, place the following line in your kernel configuration file:

device urio

Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):



The urio driver provides support for Rio MP3 players from Diamond MultiMedia which attaches to the USB port. The urio device must be configured in the kernel, along with usb and one of the uhci or ohci controllers.

Subsequently, the /dev/urio0 device can be used by the Rio userland applications.


The following devices are supported by the urio driver:

Diamond MultiMedia Rio 500

Diamond MultiMedia Rio 600

Diamond MultiMedia Rio 800


blocking device node


The following line in the kernel configuration file adds the urio driver to the kernel:

device urio

To download a song over the USB connection into the Rio using the rio_add_song(1) utility (see the SEE ALSO section):

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


ohci(4), uhci(4), usb(4)

The Rio 500 SourceForge Project Web Page

, .

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’


The urio driver was written by Iwasa Kazmi <kzmi [AT]> for FreeBSD.

This manual page was written by Dirk-Willem van Gulik <dirkx [AT]>.

BSD November 22, 2006 BSD