diff options
author | Cástor Muñoz <cmvidal@gmail.com> | 2017-05-04 10:52:03 +0200 |
---|---|---|
committer | Cástor Muñoz <cmvidal@gmail.com> | 2017-06-19 02:00:30 +0200 |
commit | fbbba9292b07d91916d330b31e7f8644d65ff91a (patch) | |
tree | 191d6ad03986d3e469a1dc32c11f2d423601dec7 /rbutil/mks5lboot/README | |
parent | cf168d4636b81e414f11ef2c69b1430302d33c3b (diff) | |
download | rockbox-fbbba9292b07d91916d330b31e7f8644d65ff91a.tar.gz rockbox-fbbba9292b07d91916d330b31e7f8644d65ff91a.zip |
mks5lboot: updates
- fix Makefile to allow cross compilation
- Windows: use Sleep() instead of nanosleep()
- Windows: libusb now is optional
- OS X: use IOKit instead of libusb
- small rework on the DFU API
Change-Id: Ia4b07012c098ad608594e15f6effe9c9d2164b9b
Diffstat (limited to 'rbutil/mks5lboot/README')
-rw-r--r-- | rbutil/mks5lboot/README | 49 |
1 files changed, 34 insertions, 15 deletions
diff --git a/rbutil/mks5lboot/README b/rbutil/mks5lboot/README index c2df299867..c424f7e617 100644 --- a/rbutil/mks5lboot/README +++ b/rbutil/mks5lboot/README | |||
@@ -5,7 +5,7 @@ A tool to install/uninstall a dual bootloader into a s5l8702 based | |||
5 | device: | 5 | device: |
6 | 6 | ||
7 | - iPod Classic 6G | 7 | - iPod Classic 6G |
8 | - iPod Nano 3G (TODO) | 8 | - iPod Nano 3G (WIP) |
9 | 9 | ||
10 | 10 | ||
11 | Usage | 11 | Usage |
@@ -97,32 +97,40 @@ Prerequisites: | |||
97 | [INFO] DFU device state: 2 | 97 | [INFO] DFU device state: 2 |
98 | . When the device is found but there is no driver installed: | 98 | . When the device is found but there is no driver installed: |
99 | [ERR] Could not open USB device: LIBUSB_ERROR_NOT_SUPPORTED | 99 | [ERR] Could not open USB device: LIBUSB_ERROR_NOT_SUPPORTED |
100 | . Then the device is found but driver is not valid (probably a | 100 | . When the device is found but driver is not valid (probably a |
101 | libusb-win32 driver is installed): | 101 | libusb-win32 driver is installed): |
102 | [ERR] Could not set USB configuration: LIBUSB_ERROR_NOT_FOUND | 102 | [ERR] Could not set USB configuration: LIBUSB_ERROR_NOT_FOUND |
103 | . If there is no valid DFU driver installed, try one of these: | 103 | . If there is no valid DFU driver installed, try one of these: |
104 | a) Use Zadig (http://zadig.akeo.ie/) to build and install a WinUSB | 104 | a) Use Zadig (http://zadig.akeo.ie/) to build and install a WinUSB |
105 | (libusb.info) or libusbK driver for your device. Note that | 105 | (libusb.info) or libusbK driver for your device. Note that |
106 | libusb-win32 (libusb0) drivers are not valid for mks5lboot. | 106 | libusb-win32 (libusb0) drivers are not valid for mks5lboot. |
107 | b) Use Apple Mobile Device USB driver (included with iTunes). | 107 | b) Use Apple Mobile Device USB driver (included with iTunes). To |
108 | install this driver without iTunes see https://www.freemyipod.org | ||
109 | /wiki/EmCORE_Installation/iPodClassic/InstalliTunesDrivers | ||
108 | 110 | ||
109 | Command line install: | 111 | Command line install: |
110 | 112 | ||
111 | - If you are using iTunes on Windows, close iTunes and kill (or pause) | 113 | - If you are using iTunes on Windows, close iTunes and kill (or pause) |
112 | iTunesHelper.exe before entering DFU mode. | 114 | iTunesHelper.exe before entering DFU mode. |
113 | 115 | ||
116 | - If you are using iTunes on Mac, quit iTunes and kill (or pause) the | ||
117 | iTunesHelper process before entering DFU mode. | ||
118 | You can use "ps x | grep iTunesHelper" to locate the process <PID>, | ||
119 | use "kill -STOP <PID>" to suspend the process and "kill -CONT <PID>" | ||
120 | to resume it once the bootloader is installed. | ||
121 | |||
114 | - Put you device on DFU mode by pressing and holding SELECT+MENU buttons | 122 | - Put you device on DFU mode by pressing and holding SELECT+MENU buttons |
115 | for about 12 seconds. | 123 | for about 12 seconds. |
116 | 124 | ||
117 | You can notice when the device enters DFU mode running the next command | 125 | You can notice when the device enters DFU mode running the next command |
118 | to scan the USB bus every second (press Ctrl-C to abort the scan): | 126 | to scan the USB bus every second (press Ctrl-C to abort the scan): |
119 | mks5lboot --dfuscan --loop | 127 | ./mks5lboot --dfuscan --loop |
120 | 128 | ||
121 | - To install or update a bootloader, build the DFU installer and send it | 129 | - To install or update a bootloader, build the DFU installer and send it |
122 | to the device: | 130 | to the device: |
123 | mks5lboot --bl-inst /path/to/bootloader-ipod6g.ipod | 131 | ./mks5lboot --bl-inst path/to/bootloader-ipod6g.ipod |
124 | 132 | ||
125 | When the DFU imagen is loaded and executed, the device emits an 'alive' | 133 | When the DFU image is loaded and executed, the device emits an 'alive' |
126 | tone (2000Hz/100ms). When the bootloader is successfully installed then | 134 | tone (2000Hz/100ms). When the bootloader is successfully installed then |
127 | a dual tone beep sounds (1000Hz/100ms+2000Hz/150ms) and the device | 135 | a dual tone beep sounds (1000Hz/100ms+2000Hz/150ms) and the device |
128 | reboots. If something went bad then 330Hz/500ms tone is emited and the | 136 | reboots. If something went bad then 330Hz/500ms tone is emited and the |
@@ -132,10 +140,15 @@ Command line install: | |||
132 | 140 | ||
133 | - To remove a previously installed bootloader, build the DFU uninstaler | 141 | - To remove a previously installed bootloader, build the DFU uninstaler |
134 | and send it to the device: | 142 | and send it to the device: |
135 | mks5lboot --bl-uninst ipod6g | 143 | ./mks5lboot --bl-uninst ipod6g |
144 | |||
145 | Notes: | ||
146 | |||
147 | - If USB access is denied, try to run the mks5lboot tool using a privileged | ||
148 | user (i.e. Administrator or root). | ||
149 | |||
150 | - On Windows, use 'mks5lboot' or 'mks5lboot.exe' instead of './mks5lboot'. | ||
136 | 151 | ||
137 | If USB access is denied, try to run the mks5lboot tool using a privileged | ||
138 | user (i.e. Administrator or root). | ||
139 | 152 | ||
140 | 153 | ||
141 | Dual-Boot | 154 | Dual-Boot |
@@ -192,14 +205,20 @@ To build the DFU single-boot installer and send it to the device: | |||
192 | mks5lboot --bl-inst --single /path/to/bootloader-ipod6g.ipod | 205 | mks5lboot --bl-inst --single /path/to/bootloader-ipod6g.ipod |
193 | 206 | ||
194 | 207 | ||
195 | Compilation | 208 | Build |
196 | ----------- | 209 | ----- |
210 | |||
211 | To build type 'make'. | ||
212 | |||
213 | Linux needs libusb >= 1.0, use your package manager to install libusb. | ||
197 | 214 | ||
198 | Needs libusb > 1.0 installed, tested on: | 215 | For Windows, to build with libusb support type 'make USE_LIBUSBAPI=1'. |
199 | 216 | ||
200 | Linux: gcc-4.9.2 + libusb-1.0.19 | 217 | Tested on: |
201 | Windows XP: mingw32-gcc-4.8.1 + libusbx-1.0.15 | 218 | Linux: gcc-4.9.2 + libusb-1.0.19 |
202 | OS X 10.11: clang-7.3.0 + libusb-1.0.20 | 219 | Windows XP: mingw32-gcc-4.8.1 + libusbx-1.0.15 |
220 | OS X 10.11: clang-7.3.0 + libusb-1.0.20 | ||
221 | MXE: i686-w64-mingw32.static-gcc 5.4.0 + libusb-1.0.21 | ||
203 | 222 | ||
204 | 223 | ||
205 | Hacking | 224 | Hacking |