USB BOOT mode

From Qi-Hardware
Jump to: navigation, search

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:

  1. Try running lsusb. If this shows a list of devices, you may not need to do anything else.
  2. Make sure usbfs is mounted on /proc/bus/usb. It can be enough to list this directory and check that it contains something.
  3. Make sure /dev/bus/usb points to a usbfs 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...

  1. Removing the battery and unplugging the USB cable
  2. Waiting 30 seconds or more
  3. Holding down the [U] key and while keeping it held down...
  4. Applying power by plugging in the USB cable
  5. 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

USB Boot pins (to the right of the image)
Carbonized rubber button

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.

  1. Take the battery out, unplug the USB cable, keep the NanoNote disconnected for at least 30 seconds, maybe even a minute or so.
  2. 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.
  3. Position the carbonized rubber button over them with its flat side against the surface.
  4. Now press down on this button in order to short the USB BOOT pins and while doing so...
  5. Connect the NanoNote to your computer with a USB cable.
  6. 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.
  7. 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.

Personal tools
Namespaces
Variants
Actions
Navigation
interactive
Toolbox
Print/export