Changeset 47948


Ignore:
Timestamp:
2015-12-19T12:28:36+01:00 (2 years ago)
Author:
nbd
Message:

ar71xx: scan nand ubi partition for ath9k eeprom files

The MR18 stores the ath9k eeprom values on the NAND.
This patch makes it possible to retrieve the images
from there.

Signed-off-by: Chris R Blake <chrisrblake93@…>

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/base-files/files/lib/functions/system.sh

    r41639 r47948  
    4040 
    4141        dd bs=1 skip=$offset count=6 if=$part 2>/dev/null | hexdump -v -n 6 -e '5/1 "%02x:" 1/1 "%02x"' 
     42} 
     43 
     44mtd_get_mac_binary_ubi() { 
     45        local mtdname="$1" 
     46        local offset="$2" 
     47 
     48        . /lib/upgrade/nand.sh 
     49 
     50        local ubidev=$(nand_find_ubi $CI_UBIPART) 
     51        local part=$(nand_find_volume $ubidev $1) 
     52 
     53        if [ -z "$part" ]; then 
     54                echo "mtd_get_mac_binary: ubi volume $mtdname not found!" >&2 
     55                return 
     56        fi 
     57 
     58        hexdump -v -n 6 -s $offset -e '5/1 "%02x:" 1/1 "%02x"' /dev/$part 2>/dev/null 
    4259} 
    4360 
  • trunk/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom

    r47947 r47948  
    2626} 
    2727 
     28ath9k_ubi_eeprom_extract() { 
     29        local part=$1 
     30        local offset=$2 
     31        local count=$3 
     32        local ubidev=$(nand_find_ubi $CI_UBIPART) 
     33        local ubi 
     34 
     35        ubi=$(nand_find_volume $ubidev $part) 
     36        [ -n "$ubi" ] || \ 
     37                ath9k_eeprom_die "no UBI volume found for $part" 
     38 
     39        dd if=/dev/$ubi of=/lib/firmware/$FIRMWARE bs=1 skip=$offset count=$count 2>/dev/null || \ 
     40                ath9k_eeprom_die "failed to extract from $ubi" 
     41} 
     42 
    2843ath9k_patch_firmware_mac() { 
    2944        local mac=$1 
     
    4055        case $board in 
    4156        mr18) 
     57                . /lib/upgrade/nand.sh 
     58 
    4259                if [ -n "$(nand_find_volume ubi0 caldata)" ]; then 
    4360                        ath9k_ubi_eeprom_extract "caldata" 4096 2048 
     
    6279        case $board in 
    6380        mr18) 
     81                . /lib/upgrade/nand.sh 
     82 
    6483                if [ -n "$(nand_find_volume ubi0 caldata)" ]; then 
    6584                        ath9k_ubi_eeprom_extract "caldata" 20480 2048 
     
    83102        case $board in 
    84103        mr18) 
     104                . /lib/upgrade/nand.sh 
     105 
    85106                if [ -n "$(nand_find_volume ubi0 caldata)" ]; then 
    86107                        ath9k_ubi_eeprom_extract "caldata" 36864 2048 
Note: See TracChangeset for help on using the changeset viewer.