diff options
author | Pawel Dembicki <paweldembicki@gmail.com> | 2018-01-20 09:27:03 +0100 |
---|---|---|
committer | Mathias Kresin <dev@kresin.me> | 2018-03-18 22:22:38 +0100 |
commit | a5bd8de0bd80b83e43ce90ddc6623890344ad33d (patch) | |
tree | 010dcb56db1833675cdc6012b21a42f6062de46b /target/linux/ramips/base-files | |
parent | 5323477184cf39f4f20003142ce320ac1d626863 (diff) | |
download | upstream-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')
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|\ |