openwrtv3/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
John Crispin 48feea4861 Add Netgear WNCE2001 (OF version)
Add Netgear WNCE2001.

This is a small RT3052 device with 4MB spi flash and 32MB ram.
2 built-in antennas, 1x fastE, no USB, reset & wps switch.
On my model the AP/RT switch is unpopulated, but I verified the gpio
mapping for it.
The stock firmware is running an unprotected tftpd which allows you
to read any file from the filesystem.
Serial port is present on testpads (See image on the wiki page).
There are more testpads below the shield near the SoC, which
may have JTAG.

Slight annoyance: The bootloader is checksumming kernel&rootfs, but
can be tricked by zeroing checksum and length fields in the checksum
partition, see
target/linux/ramips/base-files/lib/preinit/04_disable_wnce2001_flash_checksumming

The manufacturer image is very similar to the DAP one, so I slightly
modified mkdapimg to support generating it.

The resulting
openwrt-ramips-rt305x-wnce2001-squashfs-factory-(worldwide|northamerica).bin
can be used to flash from stock to OpenWRT using the stock firmware
upgrade function, without using the serial port.

http://www.netgear.com/landing/wnce2001.aspx
http://wiki.openwrt.org/toh/netgear/wnce2001

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>

SVN-Revision: 36289
2013-04-09 14:19:33 +00:00

123 lines
1.8 KiB
Bash

#!/bin/sh
rt2x00_eeprom_die() {
echo "rt2x00 eeprom: " "$*"
exit 1
}
rt2x00_eeprom_extract() {
local part=$1
local offset=$2
local count=$3
local mtd
. /lib/functions.sh
mtd=$(find_mtd_part $part)
[ -n "$mtd" ] || \
rt2x00_eeprom_die "no mtd device found for partition $part"
dd if=$mtd of=/lib/firmware/$FIRMWARE bs=1 skip=$offset count=$count 2>/dev/null || \
rt2x00_eeprom_die "failed to extract from $mtd"
}
[ -e /lib/firmware/$FIRMWARE ] && exit 0
. /lib/ramips.sh
board=$(ramips_board_name)
case "$FIRMWARE" in
"soc_wmac.eeprom")
case $board in
dir-300-b1 | \
dir-600-b1 | \
dir-600-b2 | \
dir-615-d)
rt2x00_eeprom_extract "devdata" 16384 272
;;
dap-1350)
rt2x00_eeprom_extract "devdata" 0 272
;;
rt-n10-plus | \
rt-g32-b1)
rt2x00_eeprom_extract "devconf" 0 272
;;
f5d8235-v1 | \
f5d8235-v2)
rt2x00_eeprom_extract "u-boot" 262144 272
;;
3g-6200n | \
3g-6200nl | \
3g300m | \
air3gii | \
all0239-3g | \
all0256n | \
all5002 | \
argus-atp52b | \
bc2 | \
br6425 | \
broadway | \
br6524n | \
carambola | \
d105 | \
dir-615-h1 | \
dir-620-a1 | \
esr-9753 | \
fonera20n | \
rt-n13u | \
freestation5 | \
hw550-3g | \
mofi3500-3gn | \
pwh2004 | \
nbg-419n | \
nw718 | \
omni-emb | \
omni-emb-hpm | \
psr-680w | \
rt-n15 | \
rt-n56u | \
sl-r7205 | \
v11st-fe | \
v22rw-2x2 | \
w306r-v20 | \
w150m | \
w502u | \
wcr-150gn | \
whr-g300n | \
wl-330n | \
wl-330n3g | \
wl-351 | \
wli-tx4-ag300n | \
wnce2001 | \
wr512-3gn | \
wr6202 | \
mzk-w300nh2 | \
ur-326n4g | \
ur-336un | \
xdxrn502j)
rt2x00_eeprom_extract "factory" 0 272
;;
wl341v3)
rt2x00_eeprom_extract "board-nvram" 64880 272
;;
*)
rt2x00_eeprom_die "board $board is not supported yet"
;;
esac
;;
"rt2x00pci_1_0.eeprom")
case $board in
rt-n56u)
rt2x00_eeprom_extract "factory" 32768 272
;;
esac
;;
esac