LiveSuit
LiveSuit is developed by Allwinner as an installation application for computer systems (Linux, Windows, Mac) to flash the NAND for Allwinner chips.
You could also look at the Installing to NAND tutorial to flash and manage NAND using opensource tools.
Linux
For linux, we have gathered everything you need in one place.
Clone the repository
git clone https://github.com/linux-sunxi/sunxi-livesuite.git
Build and install the kernel module
Debian/Ubuntu
Before you can build this module, you first need to install dkms
apt-get install dkms
Now descend into the awusb directory and run
make
If you are getting error that /lib/modules/4.4.50+/build is missing try adding symlink to the /usr/src/linux-headers-XXX, for example:
sudo ln -s /usr/src/linux-headers-3.6-trunk-rpi/ /lib/modules/4.4.50+/build
Now install the module in your module tree, and load it:
cp awusb.ko /lib/modules/`uname -r`/kernel/ depmod -a modprobe awusb
Add the following 50-awusb.rules file to /etc/udev/rules.d, to be able to access the device as a normal user:
KERNEL=="aw_efex[0-9]*", MODE="0666"
Now reload udev rules to make the change active
udevadm control --reload-rules
Fedora
Before you can build this module, you first could need to install dkms and libusbx (maybe you need also nas-libs)
yum install dkms libusbx nas-libs kernel-devel
Now descend into the awusb directory and run
make
Now, as root, install the module in your module tree, and load it:
cp awusb.ko /lib/modules/`uname -r`/extra/ depmod -a modprobe awusb.ko
Add the following 50-awusb.rules file to /etc/udev/rules.d, to be able to access the device as a normal user:
SUBSYSTEM!="usb_device",ACTION!="add",GOTO="objdev_rules_end" #USBasp ATTRS{idVendor}=="1f3a",ATTRS{idProduct}=="efe8",GROUP="yuorgrupid",MODE="0666" LABEL="objdev_rules_end"
where "yuorgrupid" have to be substituted by the group id of your user.
Now reload udev rules to make the change active
udevadm control --reload-rules
Running LiveSuit
Just run the shell script directly:
./LiveSuit.sh
This will detect whether your system is x86 or x86-64 and will run the appropriate binaries.
Flashing an image
Warning: If you attach your FEL enabled device before you start LiveSuit, then LiveSuit will not detect it. You need to first start the LiveSuit application.
First, properly power down the device by either pressing and holding the power button for about 10 seconds, or by cutting all power in case of development board.
Start LiveSuit, if you haven't already done so, and select an image for flashing.
Then, put your device into FEL mode, and attach the USB OTG cable.
LiveSuit should now detect your device and start flashing.
Common pitfalls
Too many devices error
If you try to flash a USB 2.0 Device (such as Cubietruck) from a recent Ubuntu on an USB 3.0 Port, Chances are your device is not flashed as it is recognized by both xhci_hcd and ehci_hcd kernel modules. Try deactivating xhci_hcd (it needs to be blacklisted if it is in the kernel, as on Ubuntu 14.04), or, easier if available, deactivate USB 3.0 in your BIOS.
"Failed to flash firmware: Get Device Stage Failed!"
If you get a dialog window reading:
Failed to flash firmware: Get Device Stage Failed!
While the log in the terminal states:
Fex_Send error: Invalid argument Fex_transmit_receive Error: ./eFexCore.cpp, 318 Fex_command Error ./eFexCore.cpp 409 cmd_common_verify_dev 85 GetCurrentStage Failed 142 ./DeviceMessage/ASuitDeviceMessage.cpp
Then you are most likely using an older version of the kernel module with a newer LiveSuit binary. Use the latest kernel driver.
While if the log in the terminal states:
open: Permission denied PANIC : dev_manager_open_raw_dev() : can not open raw dev cmd_common_verify_dev 85 PANIC : GetCurrentStage() : run verify dev cmd ,fail PANIC : dev_manager_close_raw_dev() : can not close raw dev GetCurrentStage Failed 142 ./DeviceMessage/ASuitDeviceMessage.cpp
likely you can overcome this issue unloading the awusb module
modprobe -r awusb.ko
and try again.
Windows
Please note that this version of livesuit only seems to work on Windows 7.
It fails to run on windows XP, and shows the following error message in a dialog:
Wait for PnpFesIn timeout!
There are similar reports from Windows 8 users.
Download
- Windows version LiveSuit
- Please note that PhoenixSuit is actually LiveSuit2.0
Flash
To flash A10 devices with LiveSuit, first you need to let the device go to FEL mode.
Execute LiveSuit.exe and click SelectImg button to select the LiveSuit images you have. Connect your devices to PC with a USB cable. If Windows ask you to install driver, select the driver in the LiveSuit program UsbDriver folder.
MacOS
Download
http://dl.cubieboard.org/software/tools/livesuit/LiveSuit_ForMac.zip
Installation and usage
This zip archive contains a pdf explaining procedure (in English and Chinese) and another zip for the software itself.
See Also
Troubleshooting
- Linux distribution Linux does not supported issue:
LiveSuit is accessible two ways. One is above way by getting from sunxi repository. The other way is by downloading as a zip file. For the zip file, LiveSuit v3.0.6 or below, if you try to install under Linux Mint 17.1, when you run LiveSuit.run file, you get such error:
"Linux distribution Linux does not supported!!!"
This is because distribution name for Linux Mint starts with "Linux Mint....blablabla" in /etc/issue file. Simple edit that file ( sudo nano /etc/issue ), and add "Ubuntu" in the beginning of the line.
After that, I highly recommend to install in root mode, i.e "sudo ./LiveSuit.run" Tested with LinuxMint 17.1 xfce 64bit, and LiveSuitV3.0.6 works perfectly to write img files to board via USB-OTG connection.