This uses the common eeprom extraction functions in eeprom.sh. As a by-product, this will bring the speed enhancement through blockwise reading to the ramips target.
This patch is based on the proposed unification by Petr Štetiar. Signed-off-by: Adrian Schmutzler <freif...@adrianschmutzler.de> --- New in v3: This is cut out from Petr's initial unification proposal, as I do not own a ramips device to test. --- .../etc/hotplug.d/firmware/10-rt2x00-eeprom | 32 +++++----------------- 1 file changed, 7 insertions(+), 25 deletions(-) diff --git a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom index 13a4687251..60b0e68bff 100644 --- a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom +++ b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom @@ -1,24 +1,5 @@ #!/bin/sh -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 2>/dev/null || \ - rt2x00_eeprom_die "failed to extract from $mtd" -} - jboot_eeprom_extract() { local part=$1 local offset=$2 @@ -26,21 +7,21 @@ jboot_eeprom_extract() { mtd=$(find_mtd_part $part) [ -n "$mtd" ] || \ - rt2x00_eeprom_die "no mtd device found for partition $part" + eeprom_die "no mtd device found for partition $part" jboot_config_read -i $mtd -o $offset -e /lib/firmware/$FIRMWARE 2>/dev/null || \ - rt2x00_eeprom_die "failed to extract from $mtd" + eeprom_die "failed to extract from $mtd" } rt2x00_eeprom_set_macaddr() { local macaddr=$1 [ -n "$macaddr" ] || \ - rt2x00_eeprom_die "invalid wlan mac address" + eeprom_die "invalid wlan mac address" macaddr_2bin $macaddr | dd of=/lib/firmware/$FIRMWARE \ conv=notrunc bs=1 seek=4 count=6 2>/dev/null || \ - rt2x00_eeprom_die "failed to write mac address to eeprom file" + eeprom_die "failed to write mac address to eeprom file" } FW="/lib/firmware/$FIRMWARE" @@ -48,6 +29,7 @@ FW="/lib/firmware/$FIRMWARE" . /lib/functions.sh . /lib/functions/system.sh +. /lib/functions/eeprom.sh board=$(board_name) @@ -67,11 +49,11 @@ case "$FIRMWARE" in ;; tiny-ac) wifi_mac=$(mtd_get_mac_ascii u-boot-env INIC_MAC_ADDR) - rt2x00_eeprom_extract "factory" 0 512 + mtd_eeprom_extract "factory" 0 512 rt2x00_eeprom_set_macaddr $wifi_mac ;; *) - rt2x00_eeprom_die "Please define mtd-eeprom in $board DTS file!" + eeprom_die "Please define mtd-eeprom in $board DTS file!" ;; esac ;; -- 2.11.0 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel