Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 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 thats 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 | address: http://rio500.sourceforge.net You can also go to the sourceforge |
| 50 | project page at: http://sourceforge.net/project/?group_id=1944 There is |
| 51 | 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 | |