mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-04 10:10:47 +00:00
e9de6e5203
Older busybox versions allowed using the local keyword outside of functions, whereas 1.25.0 (which was introduced in 06fa1c46fc32) do not allow this anymore (leading to the following error when executing the script: "file: local: line nn: not in a function"). Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
61 lines
1.2 KiB
Bash
61 lines
1.2 KiB
Bash
#!/bin/sh
|
|
# based on gabors ralink wisoc implementation
|
|
|
|
rt2x00_eeprom_die() {
|
|
echo "rt2x00 eeprom: " "$*"
|
|
exit 1
|
|
}
|
|
|
|
rt2x00_eeprom_extract() {
|
|
local part=$1
|
|
local offset=$2
|
|
local count=$3
|
|
local swab=$4
|
|
local mtd
|
|
|
|
. /lib/functions.sh
|
|
|
|
mtd=$(find_mtd_part $part)
|
|
[ -n "$mtd" ] || \
|
|
rt2x00_eeprom_die "no mtd device found for partition $part"
|
|
|
|
if [ $swab -gt 0 ]; then
|
|
dd if=$mtd of=/lib/firmware/$FIRMWARE bs=2 skip=$offset count=$count conv=swab || \
|
|
rt2x00_eeprom_die "failed to extract from $mtd"
|
|
else
|
|
dd if=$mtd of=/lib/firmware/$FIRMWARE bs=1 skip=$offset count=$count || \
|
|
rt2x00_eeprom_die "failed to extract from $mtd"
|
|
fi
|
|
}
|
|
|
|
[ -e /lib/firmware/$FIRMWARE ] && exit 0
|
|
. /lib/functions/lantiq.sh
|
|
|
|
case "$FIRMWARE" in
|
|
"RT2860.eeprom" )
|
|
board=$(lantiq_board_name)
|
|
case $board in
|
|
ARV7506PW11|ARV7510PW22|ARV7519PW|ARV752DPW|ARV752DPW22|VGV7519)
|
|
rt2x00_eeprom_extract "board_config" 520 256 1
|
|
;;
|
|
ARV7525PW)
|
|
rt2x00_eeprom_extract "board_config" 1040 512 0
|
|
;;
|
|
*)
|
|
rt2x00_eeprom_die "board $board is not supported yet"
|
|
;;
|
|
esac
|
|
;;
|
|
"RT3062.eeprom" )
|
|
board=$(lantiq_board_name)
|
|
case $board in
|
|
VGV7510KW22)
|
|
rt2x00_eeprom_extract "board_config" 520 256 1
|
|
;;
|
|
*)
|
|
rt2x00_eeprom_die "board $board is not supported yet"
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|