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