openwrtv3/target/linux
Andrew Crawley fe6f298b07 ramips: add support for Vonets VAR11N-300
The VAR11N-300 is a tiny wireless-N device with a hardwired Ethernet
cable, one extra Ethernet port, and an internal antenna, based on the
MediaTek MT7620n chipset.

Specs:
- MT7620n WiSoC @ 600MHz
- 32 MB SDRAM
- 4 MB SPI flash
- 2T2R 2.4GHz WiFi-N
- 1 attached 10/100 Ethernet cable (LAN)
- 1 10/100 Ethernet port (WAN)
- 1 attached USB / barrel 5vdc power cable
- 5 LEDs (see notes below)
- 1 reset button
- 1 UART (3 pads on board)

Installation:

The stock firmware does not support uploading new firmware directly,
only checking the manufacturer's site for updates.  This process may be
possible to spoof, but the update check uses some kind of homebrew
encryption that I didn't investigate.  Instead, you can install via a
backdoor:

1. Set up a TFTP server to serve the firmware binary
(lede-ramips-mt7620-var11n-300-squashfs-sysupgrade.bin)
2. Factory reset the device by holding the reset button for a few
seconds.
3. Open the web interface (default IP: 192.168.253.254)
4. Log in with the "super admin" credentials: username `vonets`,
password `vonets26642519`.
5. On the "Operative Status" page, click the text "System Uptime", then
quickly click the uptime value.
6. If successful, an alert dialog will appear reading "Ated start", and
the device will now accept telnet connections.  If the alert does not
appear, repeat step 5 until it works (the timing is a bit tricky).
7. Telnet to the device using credentials "admin / admin"
8. Retrieve the firmware binary from the tftp server: `tftp -l lede.bin
-r lede-ramips-mt7620-var11n-300-squashfs-sysupgrade.bin -g
<tftp-server-ip>`
9. Write the firmware to flash: `mtd_write write lede.bin /dev/mtd4`
10. Reboot

Tested:
- LAN / WAN ethernet
- WiFi
- LAN / WAN / status LED GPIOs (see notes below)
- Reset button
- Sysupgrade

Notes:

LEDs:

The board has 5 LEDs - two green LEDs for LAN / WAN activity, one blue
LED for WiFi, and a pair of "status" LEDs connected to the same GPIO
(the blue LED lights when the GPIO is low, and the green when it's
high).  I was unable to determine how to operate the WiFi LED, as it
does not appear to be controlled by a GPIO directly.

Recovery:

The default U-boot installation will only boot from flash due to a
missing environment block.  I generated a valid 4KB env block using
U-boot's `fw_setenv` tool and wrote it to flash at 0x30000 using an
external programmer.  After this, it was possible to enter the U-boot
commandline interface and download a new image via TFTP (`tftpboot
81b00000 <image-filename>`), but while I could boot this image
sucessfully (`bootm`), writing it to flash (`cp.linux`) just corrupted
the flash chip.  The sysupgrade file can be written to flash at 0x50000
using an external programmer.

Signed-off-by: Andrew Crawley <acrawley@gmail.com>
2017-12-21 01:05:16 +01:00
..
adm5120 treewide: populate boardname and model earlier 2017-07-15 23:13:34 +02:00
adm8668 build: fix subtarget descriptions 2016-09-04 13:35:11 +02:00
apm821xx apm821xx: use x86's upgrade scripts for MyBook Live 2017-12-14 09:29:30 +01:00
ar7 kernel: Update kernel 4.9 to 4.9.70 2017-12-19 22:45:27 +01:00
ar71xx kernel: Update kernel 4.9 to 4.9.70 2017-12-19 22:45:27 +01:00
arc770 arc770: mark as source-only 2017-10-28 13:59:03 +02:00
archs38 treewide: drop target board_name functions 2017-07-15 23:13:34 +02:00
armvirt merge: targets: update image generation and targets 2017-12-08 19:41:18 +01:00
at91 at91: create sdcard image for sama5 2017-12-16 00:02:14 +01:00
ath25 kernel: cleanup CONFIG_SCHED_HRTICK 2017-06-29 04:46:59 +02:00
au1000 kernel: update kernel 3.18 to version 3.18.43 2016-10-24 20:25:14 +03:00
bcm53xx bcm53xx: use otrx for creating TRX images 2017-11-17 11:43:33 +01:00
brcm47xx brcm47xx: remove versions from linksys-e1000 target 2017-12-11 12:44:50 +01:00
brcm63xx brcm63xx: fix Sercomm AD1018 status led 2017-12-17 12:50:22 +01:00
brcm2708 kernel: Update kernel 4.9 to 4.9.70 2017-12-19 22:45:27 +01:00
cns3xxx kernel: bump 4.9 to 4.9.67 2017-12-07 01:41:09 +02:00
gemini kernel: Update kernel 4.4 to 4.4.100 2017-11-25 19:48:39 +01:00
generic kernel: Update kernel 4.9 to 4.9.70 2017-12-19 22:45:27 +01:00
imx6 treewide: add only one device when appending to TARGET_DEVICES 2017-12-12 18:47:26 +01:00
ipq806x base-files: unify get_dt_led helper function 2017-12-14 09:29:30 +01:00
ixp4xx kernel: Update kernel 4.9 to 4.9.70 2017-12-19 22:45:27 +01:00
kirkwood treewide: add only one device when appending to TARGET_DEVICES 2017-12-12 18:47:26 +01:00
lantiq kernel: Update kernel 4.9 to 4.9.70 2017-12-19 22:45:27 +01:00
layerscape kernel: Update kernel 4.9 to 4.9.70 2017-12-19 22:45:27 +01:00
malta treewide: do not use IMG_PREFIX in Image/Prepare 2017-10-26 12:26:25 +02:00
mcs814x merge: targets: update image generation and targets 2017-12-08 19:41:18 +01:00
mediatek kernel: bump 4.9 to 4.9.63 2017-11-22 20:45:52 +01:00
mpc85xx mpc85xx: use image metadata 2017-10-25 09:22:13 +02:00
mvebu treewide: add only one device when appending to TARGET_DEVICES 2017-12-12 18:47:26 +01:00
mxs treewide: drop target board_name functions 2017-07-15 23:13:34 +02:00
octeon treewide: use only board_name function to get name 2017-07-15 23:13:34 +02:00
omap omap: clean up configuration 2017-10-18 21:46:05 +02:00
omap24xx merge: ssid: update default ssid 2017-12-08 19:41:18 +01:00
orion orion: Switch to 4.9 kernel 2017-10-24 18:39:17 -07:00
oxnas kernel: Update kernel 4.4 to 4.4.100 2017-11-25 19:48:39 +01:00
pistachio kernel: bump 4.9 to 4.9.67 2017-12-07 01:41:09 +02:00
ppc40x treewide: drop target board_name functions 2017-07-15 23:13:34 +02:00
ppc44x ppc44x: mark as broken 2017-01-10 12:49:34 +01:00
ramips ramips: add support for Vonets VAR11N-300 2017-12-21 01:05:16 +01:00
rb532 treewide: drop obsolete kernel config options 2017-10-04 20:08:15 +02:00
sunxi kernel: Update kernel 4.9 to 4.9.70 2017-12-19 22:45:27 +01:00
uml merge: targets: update image generation and targets 2017-12-08 19:41:18 +01:00
x86 x86: Add support for kernel 4.14 2017-12-16 22:16:07 +01:00
xburst xburst: enable high-res timers, refresh kernel config 2017-06-07 18:31:10 +02:00
zynq treewide: use only board_name function to get name 2017-07-15 23:13:34 +02:00
Makefile