1Copyright (C) 1999, 2000 Bruce Tenison
2Portions Copyright (C) 1999, 2000 David Nelson
3Thanks to David Nelson for guidance and the usage of the scanner.txt
4and scanner.c files to model our driver and this informative file.
5
6Mar. 2, 2000
7
8CHANGES
9
10- Initial Revision
11
12
13OVERVIEW
14
15This README will address issues regarding how to configure the kernel
16to access a RIO 500 mp3 player.  
17Before I explain how to use this to access the Rio500 please be warned:
18
19W A R N I N G:
20--------------
21
22Please note that this software is still under development.  The authors
23are in no way responsible for any damage that may occur, no matter how
24inconsequential.
25
26It seems that the Rio has a problem when sending .mp3 with low batteries.
27I suggest when the batteries are low and you want to transfer stuff that you
28replace it with a fresh one. In my case, what happened is I lost two 16kb
29blocks (they are no longer usable to store information to it). But I don't
30know if that's normal or not; it could simply be a problem with the flash 
31memory.
32
33In an extreme case, I left my Rio playing overnight and the batteries wore 
34down to nothing and appear to have corrupted the flash memory. My RIO 
35needed to be replaced as a result.  Diamond tech support is aware of the 
36problem.  Do NOT allow your batteries to wear down to nothing before 
37changing them.  It appears RIO 500 firmware does not handle low battery 
38power well at all. 
39
40On systems with OHCI controllers, the kernel OHCI code appears to have 
41power on problems with some chipsets.  If you are having problems 
42connecting to your RIO 500, try turning it on first and then plugging it 
43into the USB cable.  
44
45Contact information:
46--------------------
47
48   The main page for the project is hosted at sourceforge.net in the following
49   URL: <http://rio500.sourceforge.net>. You can also go to the project's
50   sourceforge home page at: <http://sourceforge.net/projects/rio500/>.
51   There is also a mailing list: rio500-users@lists.sourceforge.net
52
53Authors:
54-------
55
56Most of the code was written by Cesar Miquel <miquel@df.uba.ar>. Keith 
57Clayton <kclayton@jps.net> is incharge of the PPC port and making sure
58things work there. Bruce Tenison <btenison@dibbs.net> is adding support
59for .fon files and also does testing. The program will mostly sure be
60re-written and Pete Ikusz along with the rest will re-design it. I would
61also like to thank Tri Nguyen <tmn_3022000@hotmail.com> who provided use 
62with some important information regarding the communication with the Rio.
63
64ADDITIONAL INFORMATION and Userspace tools
65
66http://rio500.sourceforge.net/
67
68
69REQUIREMENTS
70
71A host with a USB port.  Ideally, either a UHCI (Intel) or OHCI
72(Compaq and others) hardware port should work.
73
74A Linux development kernel (2.3.x) with USB support enabled or a
75backported version to linux-2.2.x.  See http://www.linux-usb.org for
76more information on accomplishing this.
77
78A Linux kernel with RIO 500 support enabled.
79
80'lspci' which is only needed to determine the type of USB hardware
81available in your machine.
82
83CONFIGURATION
84
85Using `lspci -v`, determine the type of USB hardware available.
86
87  If you see something like:
88
89    USB Controller: ......
90    Flags: .....
91    I/O ports at ....
92
93  Then you have a UHCI based controller.
94
95  If you see something like:
96
97     USB Controller: .....
98     Flags: ....
99     Memory at .....
100
101  Then you have a OHCI based controller.
102
103Using `make menuconfig` or your preferred method for configuring the
104kernel, select 'Support for USB', 'OHCI/UHCI' depending on your
105hardware (determined from the steps above), 'USB Diamond Rio500 support', and
106'Preliminary USB device filesystem'.  Compile and install the modules
107(you may need to execute `depmod -a` to update the module
108dependencies).
109
110Add a device for the USB rio500:
111  `mknod /dev/usb/rio500 c 180 64`
112
113Set appropriate permissions for /dev/usb/rio500 (don't forget about
114group and world permissions).  Both read and write permissions are
115required for proper operation.
116
117Load the appropriate modules (if compiled as modules):
118
119  OHCI:
120    modprobe usbcore
121    modprobe usb-ohci
122    modprobe rio500
123
124  UHCI:
125    modprobe usbcore
126    modprobe usb-uhci  (or uhci)
127    modprobe rio500
128
129That's it.  The Rio500 Utils at: http://rio500.sourceforge.net should
130be able to access the rio500.
131
132BUGS
133
134If you encounter any problems feel free to drop me an email.
135
136Bruce Tenison
137btenison@dibbs.net
138