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