ar71xx: add revision detection for D-Link DIR-505 A1/A2
authorMatthias Schiffer <mschiffer@universe-factory.net>
Thu, 28 Jul 2016 13:43:25 +0000 (15:43 +0200)
committerMatthias Schiffer <mschiffer@universe-factory.net>
Thu, 28 Jul 2016 13:44:52 +0000 (15:44 +0200)
The A1 image also works on the A2, correctly set AR71XX_MODEL in this case.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
target/linux/ar71xx/base-files/lib/ar71xx.sh

index 56b5947..5d38555 100755 (executable)
@@ -73,6 +73,15 @@ cybertan_get_hw_magic() {
        dd bs=8 count=1 skip=0 if=$part 2>/dev/null | hexdump -v -n 8 -e '1/1 "%02x"'
 }
 
+dir505_board_detect() {
+       local dev=$(find_mtd_part 'mac')
+       [ -z "$dev" ] && return
+
+       # The revision is stored at the beginning of the "mac" partition
+       local rev="$(LC_CTYPE=C awk -v 'FS=[^[:print:]]' '{print $1; exit}' $dev)"
+       AR71XX_MODEL="D-Link DIR-505 rev. $rev"
+}
+
 tplink_get_hwid() {
        local part
 
@@ -471,6 +480,7 @@ ar71xx_board_detect() {
                ;;
        *"DIR-505 rev. A1")
                name="dir-505-a1"
+               dir505_board_detect
                ;;
        *"DIR-600 rev. A1")
                name="dir-600-a1"