openwrt/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
Gabor Juhos 67e6461ad7 ramips: add board alias for the ALL0239-3G
Generate image for the ALL0239-3G which can be flashed through the
chipset-vendor SDK based firmware's web-interface and bootloader.

The bootloader seems to ignore uImage checksum errors, but does complain about
them once the 0xDEADC0DE was replaced by an actual JFFS2 page.

I'm working on implementing fixtrx for uImage in the mtd package to solve this.

Signed-off-by: Daniel Golle <dgolle@allnet.de>

SVN-Revision: 33206
2012-08-17 17:56:07 +00:00

111 lines
1.7 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
. /etc/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
"RT288X.eeprom" | \
"RT305X.eeprom" | \
"RT3883.eeprom")
case $board in
dir-300-b1 | \
dir-600-b1 | \
dir-600-b2)
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 | \
all0239-3g | \
all0256n | \
all5002 | \
argus-atp52b | \
bc2 | \
dir-615-h1 | \
dir-620-a1 | \
esr-9753 | \
fonera20n | \
freestation5 | \
hw550-3g | \
mofi3500-3gn | \
pwh2004 | \
nbg-419n | \
nw718 | \
omni-emb | \
psr-680w | \
rt-n15 | \
rt-n56u | \
sl-r7205 | \
v11st-fe | \
v22rw-2x2 | \
w306r-v20 | \
w502u | \
wcr-150gn | \
whr-g300n | \
wl-330n | \
wl-330n3g | \
wl-351 | \
wli-tx4-ag300n | \
wr512-3gn | \
wr6202 | \
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