USB BOOT mode
Contents |
In order to reflash your NanoNote with the xburst-tools (usbboot
), you have to boot the device in USB BOOT mode.
[edit] Preparations on the Host
On the host - a computer that will provide the software images for the NanoNote - check the following:
- Try running
lsusb
. If this shows a list of devices, you may not need to do anything else. - Make sure
usbfs
is mounted on/proc/bus/usb
. It can be enough to list this directory and check that it contains something. - Make sure
/dev/bus/usb
points to ausbfs
file system. Again, if this directory contains something, you should not need to take further action.
If the above directories are absent or empty, you may need to do something like this:
$ mkdir -p /dev/bus/usb $ mount -t usbfs none /dev/bus/usb</pre>
Alternatively, /dev/bus/usb
may be a symbolic link to /proc/bus/usb
and you may need to mount usbfs
in that location instead.
Most modern distributions should take care of the above.
You can now run lsusb
in a terminal. Initially, this should only show your usual set of devices. If you run watch lsusb
, you will be able to see any effect of the activities carried out below.
[edit] Software USB BOOT
Hold the [U] key while powering on the NanoNote ([POWER] + [U]) to enter software USB BOOT mode. Note, the device screen will not power on in USB BOOT mode. [RESET] + [U] may also work.
As described in this mailing list message, a more reliable but more involved method that does not rely on the [POWER] button involves...
- Removing the battery and unplugging the USB cable
- Waiting 30 seconds or more
- Holding down the [U] key and while keeping it held down...
- Applying power by plugging in the USB cable
- Waiting 5 seconds before releasing the [U] key
[edit] Technical Note
Note to anyone who wants to write a kernel which should be bootable through here: to indicate that this is software boot mode, meaning that the SDRAM is already initialized, u-boot writes 0xff to the byte at offset 20 from the entry point address when running stage 1. Also, it will not flush the entire caches, but only from the entry point. So your entry point must be the first byte of your stage1 file, and the fifth word (at byte 20) must be set to 0 (and not executed). You can read it back and skip the SDRAM setup if it has been changed.
[edit] Hardware USB BOOT
To summarise, NanoNote can be booted over a USB connection supplying power from a host computer and connecting the device to that computer whilst the USB Boot pins are shorted.
- Take the battery out, unplug the USB cable, keep the NanoNote disconnected for at least 30 seconds, maybe even a minute or so.
- Locate the USB BOOT pins in the battery compartment showing through the hole in the label affixed underneath the battery. Make sure the pins are clean: grease or dust could prevent shorting.
- Position the carbonized rubber button over them with its flat side against the surface.
- Now press down on this button in order to short the USB BOOT pins and while doing so...
- Connect the NanoNote to your computer with a USB cable.
- The device should remain dark (the screen stays black). If it remains dark (and you pressed the power button long enough), you are now most likely in USB BOOT mode. If the screen turns on, you did not successfully short the 2 pins.
- After 5 seconds or so, you can release the button and stop shorting the USB BOOT pins.
It may take a few attempts to succeed, considering factors like the provisional nature of the carbonized button to make a bridge between the contacts and the need to accurately position the button. Making a solder bridge is more reliable but obviously involves making a modification to the device itself. In addition, this process also assumes that the host computer's USB system is behaving correctly.
[edit] Reset Times
As described in this mailing list message, the time needed for a reset involving removing all power from the device and then reconnecting the USB cable is at least 10 seconds. Here, 30 seconds is mentioned as a conservative figure that should ensure that a reset will be performed.
[edit] Troubleshooting
If the above procedure still doesn't work, consider doing the following things:
- Clean the USB boot pins
- Clean the carbonized rubber button
The unbricking guide suggests using alcohol/spirit or a mild detergent for cleaning.
[edit] Checking for USB BOOT Mode
Running lsusb
again, or monitoring the output of watch lsusb
, should now show a line with 601a:4740
. In the kernel log (obtained using dmesg
) you will get something like this:
usb 1-5: new high speed USB device using ehci_hcd and address 6 usb 1-5: configuration #1 chosen from 1 choice usb 1-5: New USB device found, idVendor=601a, idProduct=4740 usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb 1-5: Product: JZ4740 USB Boot Device usb 1-5: Manufacturer: Ingenic
On some systems, like the Ubuntu distribution variants, you might see only the first two lines.
[edit] Potentially Outdated Information
There is a little red LED on the right side. You can only see it if it's dark. If you plug in the USB cable, there is a brief moment when it's very bright. Then it goes into 'half bright' state. When you boot the device (either via flash or USB), it will go to a very low bright state, almost dark. That's another way how you can see whether you have booted into USB boot mode. If you short the two USB boot pins, then press the power button and then you can see how the LED goes dark (and the LCM stays dark as well), then you are in USB boot state. --MichaelShiloh 04:44, 14 September 2009 (UTC)
[edit] Reflashing the NanoNote
The reflashing options are described on the Updating Ben NanoNote software page. If you came to this page looking for USB BOOT information in order to perform a reflashing operation using usbboot
or reflash_ben.sh
, you can now return to the page describing the tool in question and attempt to use it with your device.
[edit] Rebooting the NanoNote
Once you're done with any reflashing operation and are ready to reboot the machine, unplug the USB cable. If this doesn't work, use the hardware reset button on the bottom of the device by sticking the end of a paperclip or other thin, blunt object into the hole.