FEL mode is the USB bootloader programmed into the ROM of the T113-S4 chip. You
must have the sunxi-tools package installed to successfully program flash the
board while in FEL mode. See the dependency installation below for instructions.
This process is required for virgin or corrupted boards. Under normal circumstances, you should use the normal Nerves firmware upgrade tooling.
The following are required:
-
fwup. If you have Nerves already installed, you likely already have this one. The recommended installation path is viaasdformise. It is also available in HomeBrew. -
sunxi-tools. Required for flashing via FEL mode. Summarized installation instructions:-
Ubuntu:
sudo apt install sunxi-tools
-
MacOS:
brew install libusb dtc git clone https://github.com/linux-sunxi/sunxi-tools CFLAGS="-I$(brew --prefix dtc)/include" LDFLAGS="-L$(brew --prefix dtc)/lib" make -C sunxi-tools
You need to add the resulting binaries to your
PATH. Most important is thesunxi-felbinary.
-
To flash a firmware image to a virgin or corrupted board (one where the flash storage is empty), you need to put the board in FEL mode.
- Open your name badge, connect a USB cable to your computer
- On the right side, press and hold the FEL button
- Press and release the RESET button (to the left of FEL button). This must be done while holding the FEL button!
- Release the FEL button
- Your badge should now be in FEL mode
To flash a firmware, there is a two-step process. First, we flash a small binary
to RAM which initializes USB and the onboard flash storage. The board will show
up as an external storage device, exactly like a micro SD card. The scripts to
flash this binary are in the
usb_fel_loaders project. Do the
following:
- Download the latest release
- Unzip the archive
cdinto the extracted archive- Run
./launch.sh trellis
The device will reboot as a USB storage device. If you are on MacOS, you may get a warning that says the storage device was not initialized. Press "ignore".
Once your device shows up as a USB flash storage device, you can use fwup to
flash the firmware file.
fwup path/to/firmware.fwAlternatively, if you customize the firmware, you can flash it using standard Nerves tooling:
mix firmware
mix burnMore information is available in the Build Custom Firmware guide