rio(1) program to control a Diamond RIO MP3 player


rio [options] files ...


This manual page documents briefly the rio command. This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.

rio is a CLI controller for a Diamond Rio MP3 file player.

The default ioport is 0x378. If this is not the ioport for your printer port, you will have to use the -p option.


Initialization should only be performed on new or corrupt cards. You can initialize with bad block checking enabled (-iy) which will test all blocks on the internal or external flash ram (which ever is selected) and note all bad blocks. This process will take some time (upto 20 minutes on slow machines). You can also initialize with bad block checking disabled (-in) which is much quicker but all blocks (even bad blocks) will be used.

If you want to delete all files on the device, the (-za) option should be used instead of using the initialization options mentioned above.


A summary of options are included below.
Display Directory
initialize with check for bad blocks
initialize without check for bad blocks
perform operations on external flash ram
specify file(s) to upload
specify file to download
specify text based playlist file which contains files to be upload
specify file to delete
delete all files
specify new playlist order in quotes
specify parallel port base IO address, default=0x378
enable verbose mode
specify initialization delay
specify tx delay
specify rx delay


display directory using parallel port at 0x278

rio -p 0x278 -d

initialize (with bad block check) and upload files

rio -iy -u *.mp3

delete existing files and upload playlist onto external flash ram

rio -za -f playlist.txt -x

initialize, upload files in playlist and then display directory

rio -d -in -f playlist.txt

download file then delete it and finally display directory

rio -d -g mp3Files/song.mp3 -z song.mp3

reverse playlist order and display directory, also change rx iodelay

rio -o "5 4 3 2 1" -d -dr 4


This manual page was written by Vince Mulhollon <[email protected]>, for the Debian GNU/Linux system (but may be used by others).