openwrt/target/linux/brcm63xx/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
Adrian Schmutzler b133e466b0
treewide: convert WiFi caldata size and offset to hexadecimal
This changes size and offset set for WiFi caldata extraction and
MAC address adjustment to hexadecimal notation.

This will be much clearer for the reader when numbers are big, and
will also match the style used for mtd-cal-data in DTS files.

Since dd cannot deal with hexadecimal notation, one has to convert
back to decimal by simple $(($hexnum)).

Acked-by: Alexander Couzens <lynxis@fe80.eu>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2019-08-14 12:36:37 +02:00

45 lines
807 B
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 mtd
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 || \
rt2x00_eeprom_die "failed to extract from $mtd"
}
[ -e /lib/firmware/$FIRMWARE ] && exit 0
. /lib/functions.sh
board=$(board_name)
case "$FIRMWARE" in
"rt2x00.eeprom" )
case $board in
hg556a_c)
rt2x00_eeprom_extract "cal_data" 0x1fe00 0x200
;;
hg622 |\
hg655b)
rt2x00_eeprom_extract "cal_data" 0x0 0x200
;;
*)
rt2x00_eeprom_die "board $board is not supported yet"
;;
esac
;;
esac