I hope you made a backup of the factory section before you did any of this if not do it now using flashrom before you try the below. factory is unique to each vocore and without it you have no wifi!!!
Gitoriuos has closed up shop so the source to GNUtoo's work isn't available there any more. I made a copy here. There is a link on the page to some documentation but my particulars are:
After loading the software on my Uno I do this to test the set up:
- Code: Select all
./flashrom -p serprog:dev=/dev/ttyACM0:115200
flashrom v0.9.8-r1888 on Linux 3.2.0-4-amd64 (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop... OK.
serprog: Programmer name is "serprog-duino"
Found Winbond flash chip "W25Q128.V" (16384 kB, SPI) on serprog.
No operations were specified.
If it finds the flash you should be ready to go.
You need a layout file, I call mine flashromlayout and its contents look like this:
- Code: Select all
0x000000000000:0x00002FFFF uboot
0x000000030000:0x00003FFFF uboot-env
0x000000040000:0x00004FFFF factory
0x000000050000:0x000FFFFFF firmware
This let's you write only one of the flash sections, in this case we just want to write the uboot section. If you try this with the uboot from Vonger's server which is the one that came on your VoCore you get this
- Code: Select all
./flashrom -p serprog:dev=/dev/ttyACM0:115200 -l ../../flashromlayout -w ../../uboot.img -i uboot
flashrom v0.9.8-r1888 on Linux 3.2.0-4-amd64 (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org
Using region: "uboot".
Calibrating delay loop... OK.
serprog: Programmer name is "serprog-duino"
Found Winbond flash chip "W25Q128.V" (16384 kB, SPI) on serprog.
Error: Image size (136708 B) doesn't match the flash chip's size (16777216 B)!
- Code: Select all
dd if=/dev/zero bs=1 count=16673024 >>uboot.img
- Code: Select all
./flashrom -p serprog:dev=/dev/ttyACM0:115200 -l ../../flashromlayout -w ../../uboot.img -i uboot -c W25Q128.V -VV
flashrom v0.9.8-r1888 on Linux 3.2.0-4-amd64 (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org
flashrom was built with libpci 3.1.9, GCC 4.7.2, little endian
Command line (11 args): ./flashrom -p serprog:dev=/dev/ttyACM0:115200 -l ../../flashromlayout -w ../../uboot.img -i uboot -c W25Q128.V -VV
romlayout 00000000 - 0002ffff named uboot
romlayout 00030000 - 0003ffff named uboot-env
romlayout 00040000 - 0004ffff named factory
romlayout 00050000 - 00ffffff named firmware
Using region: "uboot".
Calibrating delay loop... OS timer resolution is 1 usecs, 2013M loops per second, 10 myus = 9 us, 100 myus = 98 us, 1000 myus = 978 us, 10000 myus = 10013 us, 4 myus = 4 us, OK.
Initializing serprog programmer
Baud rate is 115200 now.
serprog: connected - attempting to synchronize
...
serprog: Synchronized
serprog: Interface version ok.
serprog: Bus support: parallel=off, LPC=off, FWH=off, SPI=on
Warning: Automatic command availability check failed for cmd 0x08 - won't execute cmd
Warning: Automatic command availability check failed for cmd 0x11 - won't execute cmd
serprog: Programmer name is "serprog-duino"
serprog: Serial buffer size is 65535
serprog: Warning: Programmer does not support toggling its output drivers
The following protocols are supported: SPI.
Probing for Winbond W25Q128.V, 16384 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4018
Found Winbond flash chip "W25Q128.V" (16384 kB, SPI) on serprog.
Chip status register is 0x00.
This chip may contain one-time programmable memory. flashrom cannot read
and may never be able to write it, hence it may not be able to completely
clone the contents of this chip (see man page for details).
serprog_delay used, but programmer doesn't support delays natively - emulating
Block protection is disabled.
Reading old flash chip contents...