/rioutil

Command line program for communicating with Rio flash players

Primary LanguageCGNU General Public License v2.0GPL-2.0

This project was originally created by Nathan Hjelm. I created this
Git repository from v1.4.4 before the upstream project moved to Git. I
then fixed a few bugs, added support for Unicode tags and for writing
Unicode tags to S-series and later players (provided they are running
new enough firmware.)

I haven't tested on anything but a Rio S50 because I don't regularly
use anything else. (I do have a Rio S30, but don't use it.)

Nathan made various changes after I created my fork. You can find them
at https://github.com/hjelmn/rioutil and it may work better on the
Cirrus-based Rio models (600, 800, 900, Nike and Riot.)

Note that 2004 Rio player models (Rio Forge, Rio Carbon, ce2100) are
just mass storage devices using FAT, so you don't need any special
host software for them.

The Rio Karma is a mass storage device but it uses a special
filesystem. See http://linux-karma.sourceforge.net/Karma-HOWTO.html
for advice. Its spiritual successor, the Trekstor Vibez is a standard
mass storage device using FAT.

Nathan's original README now follows.

rioutil Supported Players:
 - Rio 600 (all sizes)
 - Rio 800 (all sizes)
 - Rio 900 (all sizes)
 - Nike psa[play (Diamond MM version)
 - Rio S-Series (firmware update works. remember to run rioutil -m 0 -f after upgrading)
 - Rio Fuse/Chiba/Cali 
 - Rio Nitrus (mostly works)

no download support:
 - Rio Riot
 - Future flash players ... (REALLY EXPERIMENTAL)

-- All players' memory expansion should work through -m option --

Unsupported Rio players:
Rio 500 - please try rio500.sf.net.
Rio One - mount as fat filesystem.
Rio Karma - unknown
Phillips psa[play - unknown

If you have any questions, comments, or patches please email:
hjelmn at users dot sourceforge dot net

** NOTE **
- If compiling from cvs, use ./autogen.sh instead of ./configure.
- You probably want to install libusb and run configure with --with-libusb

rioutil is free software released under the terms of the LGPL (read LICENCE file).


** If you like rioutil and you want to thank me for my time, you can send me an item
   off my Amazon wish list :D **
http://www.amazon.com/o/registry/2T0HLGZAHALMM


******************************************************************************
** building package                                                         **
******************************************************************************
debian:
% ./configure [options]
% make
% cd debian
% sh build_dpkg.sh

redhat:
% ./configure [options]
% make dist
% cp rioutil-{VERSION}.tar.gz {RPM SOURCE DIRECTORY}
% cd spec
% rpmbuild -bb rioutil-{configuration}.spec

******************************************************************************
** Very likely you will want to use libusb (regardless of your platform).   **
******************************************************************************
% ./configure --with-libusb

*** libusb NOTES **
 - libusb is now the default driver so you no longer need to use this option.
 - to disable libusb use the option --without-libusb
 - For linux see usbdevfs notes becuase it is required before this method will.
work.
 - For darwin 5.x, 6.x or macos 10.x.x you will want libusb 1.6 or newer.

******************************************************************************
** Instructions if you don't want to use usbdevfs (linux)                   **
** (I'll create a patch one of these days)                                  **
******************************************************************************
% ./configure --without-usbdevfs
% make

(as root)
% cp linux_driver/rio* /usr/src/linux/drivers/usb/
% cd /usr/src/linux/drivers/usb
% mv rios.c rio500.c
% cd /usr/src/linux
(add the rio500 module in configuration)
% make modules
% make modules_install
% insmod rio500

(and if you do not use devfs and the device file does not exist)
% mkdir /dev/usb
% mknod /dev/usb/rio0 c 180 64

The 64 is the base minor, if you have more than one rio add the minor
assigned by the driver (you can see the minor number in /var/log/messages).
i.e. :
<snip from /var/log/messages>
Device assigned minor 1
</snip>
% mknod /dev/usb/rio1 c 180 65

If you want firmware updates, please do not email me. I dont know
the legal issues with mirroring them, so if you want to get a hold of
one and can use stuffit expander (www.aladdinsys.com), you can download
the firmware designed for the mac from www.riohome.com (a .sit.hqx or .zip file).
Once this file is decompressed you should have a .lok file, this is the firmware.

08/25/2004: Current firmware versions:
rio600   : 1.56
rio600-64: 1.56
rio800   : 1.56
Riot     : 1.24

These players work with rioutil's firmware update only from the ready to recieve
firmware screen. A future version of rioutil will fix this known issue.
S-Series : 2.03
Fuse     : 1.12
Cali     : 1.12
Chiba    : 1.12

As far as I know, if you have any other player you probably have the latest
firmware version (if it was bought recently).

enjoy!

-Nathan Hjelm