aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/base-files
diff options
context:
space:
mode:
authorPawel Dembicki <paweldembicki@gmail.com>2018-01-20 09:27:03 +0100
committerMathias Kresin <dev@kresin.me>2018-03-18 22:22:38 +0100
commita5bd8de0bd80b83e43ce90ddc6623890344ad33d (patch)
tree010dcb56db1833675cdc6012b21a42f6062de46b /target/linux/ramips/base-files
parent5323477184cf39f4f20003142ce320ac1d626863 (diff)
downloadupstream-a5bd8de0bd80b83e43ce90ddc6623890344ad33d.tar.gz
upstream-a5bd8de0bd80b83e43ce90ddc6623890344ad33d.tar.bz2
upstream-a5bd8de0bd80b83e43ce90ddc6623890344ad33d.zip
ramips: add support for D-Link DWR-116-A1/2
The DWR-116-A1/2 Wireless Router is based on the MT7620N SoC. Specification: MediaTek MT7620N (580 Mhz) 32 MB of RAM 8 MB of FLASH 802.11bgn radio 5x 10/100 Mbps Ethernet (1 WAN and 4 LAN) 2x external, non-detachable antennas UART (J1 in A1, JP1 in A2) header on PCB (57600 8n1) 6x LED (GPIO-controlled), 2x button JBOOT bootloader Known issues: WAN LED is drived by uartl tx pin. I decide to use this pin as uartlite tx pin. Installation: Apply factory image via http web-gui. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Diffstat (limited to 'target/linux/ramips/base-files')
-rwxr-xr-xtarget/linux/ramips/base-files/etc/board.d/01_leds1
-rwxr-xr-xtarget/linux/ramips/base-files/etc/board.d/02_network5
-rw-r--r--target/linux/ramips/base-files/etc/diag.sh1
-rw-r--r--target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom19
-rwxr-xr-xtarget/linux/ramips/base-files/lib/upgrade/platform.sh7
5 files changed, 33 insertions, 0 deletions
diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds
index 0a870d9f6c..b068e62e87 100755
--- a/target/linux/ramips/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/base-files/etc/board.d/01_leds
@@ -158,6 +158,7 @@ dir-615-h1)
set_wifi_led "rt2800pci-phy0::radio"
;;
dir-620-d1|\
+dlink,dwr-116-a1|\
mzk-ex300np)
set_wifi_led "$boardname:green:wifi"
;;
diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network
index 20ecf1ab76..d20b0aa1aa 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -80,6 +80,7 @@ ramips_setup_interfaces()
dir-320-b1|\
dir-610-a1|\
dir-615-h1|\
+ dlink,dwr-116-a1|\
ew1200|\
firewrt|\
hc5661a|\
@@ -428,6 +429,10 @@ ramips_setup_macs()
lan_mac=$(mtd_get_mac_ascii factory lanmac)
wan_mac=$(mtd_get_mac_ascii factory wanmac)
;;
+ dlink,dwr-116-a1)
+ wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000)
+ lan_mac=$(macaddr_add "$wan_mac" 1)
+ ;;
e1700)
wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
;;
diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh
index 2e326af0ed..2dcc75a019 100644
--- a/target/linux/ramips/base-files/etc/diag.sh
+++ b/target/linux/ramips/base-files/etc/diag.sh
@@ -93,6 +93,7 @@ get_status_led() {
dir-620-a1|\
dir-620-d1|\
dwr-512-b|\
+ dlink,dwr-116-a1|\
gb-pc1|\
gnubee,gb-pc2|\
hpm|\
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 1e25643cb7..67c05c9a46 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
@@ -19,6 +19,19 @@ rt2x00_eeprom_extract() {
rt2x00_eeprom_die "failed to extract from $mtd"
}
+jboot_eeprom_extract() {
+ local part=$1
+ local offset=$2
+ local mtd
+
+ mtd=$(find_mtd_part $part)
+ [ -n "$mtd" ] || \
+ rt2x00_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"
+}
+
rt2x00_eeprom_set_macaddr() {
local macaddr=$1
@@ -41,6 +54,12 @@ board=$(board_name)
case "$FIRMWARE" in
"soc_wmac.eeprom")
case $board in
+ dlink,dwr-116-a1)
+ wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000)
+ wifi_mac=$(macaddr_add "$wan_mac" 1)
+ jboot_eeprom_extract "config" 0xE000
+ rt2x00_eeprom_set_macaddr $wifi_mac
+ ;;
tiny-ac)
wifi_mac=$(mtd_get_mac_ascii u-boot-env INIC_MAC_ADDR)
rt2x00_eeprom_extract "factory" 0 512
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index d2bd860cb1..e6489a2b58 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -270,6 +270,13 @@ platform_check_image() {
}
return 0
;;
+ dlink,dwr-116-a1)
+ [ "$magic" != "0404242b" ] && {
+ echo "Invalid image type."
+ return 1
+ }
+ return 0
+ ;;
hc5962|\
mir3g|\
r6220|\