aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x/base-files
diff options
context:
space:
mode:
authorPeter Geis <pgwipeout@gmail.com>2021-09-13 11:08:57 -0400
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2021-10-26 22:30:18 +0200
commit70c12d26ca6eb01a938feb38f89720d78df0ca6d (patch)
tree64d7039ba38c9bda9fc769b389de14c4f0f85d8b /target/linux/ipq806x/base-files
parent2c3e8bed3f04f426d676d6352018b33a49a72406 (diff)
downloadupstream-70c12d26ca6eb01a938feb38f89720d78df0ca6d.tar.gz
upstream-70c12d26ca6eb01a938feb38f89720d78df0ca6d.tar.bz2
upstream-70c12d26ca6eb01a938feb38f89720d78df0ca6d.zip
ipq806x: add support for Netgear Nighthawk Pro Gaming XR500
This adds support for the Netgear Nighthawk Pro Gaming XR500. It is the successor to the Netgear Nighthawk R7800 and shares almost identical hardware to that device. The stock firmware is a heavily modified version of OpenWRT. Specifications: SoC: Qualcomm Atheros IPQ8065 RAM: 512 MB Storage: 256 MiB NAND Flash Wireless: 2x Qualcomm Atheros QCA9984 Ethernet: 2x 1000/100/10 dedicated interfaces Switch: 5x 1000/100/10 external ports USB: 2x 3.0 ports More information: Manufacturer page: https://www.netgear.com/gaming/xr500/ Almost identical to Netgear R7800 Differences (r7800 > xr500): Flash: 128MiB > 256MiB Removed esata swapped leds: usb1 (gpio 7 > 8) usb2 (gpio 8 > 26) guest/esata (gpio 26 > 7) MAC addresses: On the OEM firmware, the mac addresses are: WAN: *:50 art 0x6 LAN: *:4f art 0x0 (label) 2G: *:4f art 0x0 5G: *:51 art 0xc Installation: Install via Web Interface (preferred): Utilize openwrt-ipq806x-netgear_xr500-squashfs-factory.img Install via TFTP recovery: 1.Turn off the power, push and hold the reset button (in a hole on backside) with a pin 2.Turn on the power and wait till power led starts flashing white (after it first flashes orange for a while) 3.Release the reset button and tftp the factory img in binary mode. The power led will stop flashing if you succeeded in transferring the image, and the router reboots rather quickly with the new firmware. 4.Try to ping the router (ping 192.168.1.1). If does not respond, then tftp will not work either. Uploading the firmware image with a TFTP client $ tftp 192.168.1.1 bin put openwrt-ipq806x-netgear_xr500-squashfs-factory.img Note: The end of the last partition is at 0xee00000. This was chosen by the initial author, but nobody was able to tell why this particular arbitrary size was chosen. Since it's not leaving too much empty space and it's the only issue left, let's just keep it for now. Based on work by Adam Hnat <adamhnat@gmail.com> ref: https://github.com/openwrt/openwrt/pull/3215 Signed-off-by: Peter Geis <pgwipeout@gmail.com> [squash commits, move common LEDs to DTSI, remove SPDX on old files, minor whitespace cleanup, commit message facelift, add MAC address overview, add Notes, fix MAC addresses, use generic name for partition nodes in DTS] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Diffstat (limited to 'target/linux/ipq806x/base-files')
-rw-r--r--target/linux/ipq806x/base-files/etc/board.d/01_leds3
-rw-r--r--target/linux/ipq806x/base-files/etc/board.d/02_network1
-rw-r--r--target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata8
-rw-r--r--target/linux/ipq806x/base-files/lib/upgrade/platform.sh1
4 files changed, 12 insertions, 1 deletions
diff --git a/target/linux/ipq806x/base-files/etc/board.d/01_leds b/target/linux/ipq806x/base-files/etc/board.d/01_leds
index 74b94a29b4..097ba0afe1 100644
--- a/target/linux/ipq806x/base-files/etc/board.d/01_leds
+++ b/target/linux/ipq806x/base-files/etc/board.d/01_leds
@@ -32,7 +32,8 @@ nec,wg2600hp3)
netgear,d7800 |\
netgear,r7500 |\
netgear,r7500v2 |\
-netgear,r7800)
+netgear,r7800 |\
+netgear,xr500)
ucidef_set_led_usbport "usb1" "USB 1" "white:usb1" "usb1-port1" "usb2-port1"
ucidef_set_led_usbport "usb2" "USB 2" "white:usb2" "usb3-port1" "usb4-port1"
ucidef_set_led_switch "wan" "WAN" "white:wan" "switch0" "0x20"
diff --git a/target/linux/ipq806x/base-files/etc/board.d/02_network b/target/linux/ipq806x/base-files/etc/board.d/02_network
index 1a1cec51aa..bb77332ef9 100644
--- a/target/linux/ipq806x/base-files/etc/board.d/02_network
+++ b/target/linux/ipq806x/base-files/etc/board.d/02_network
@@ -57,6 +57,7 @@ nec,wg2600hp3)
"2:lan" "3:lan" "4:lan" "5:lan" "0@eth1" "1:wan" "6@eth0"
;;
netgear,r7800 |\
+netgear,xr500 |\
tplink,c2600)
ucidef_add_switch "switch0" \
"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "6@eth1" "5:wan" "0@eth0"
diff --git a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
index 8cea017ea4..a1cbe0a8f6 100644
--- a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++ b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -48,6 +48,10 @@ case "$FIRMWARE" in
caldata_extract "art" 0x1000 0x2f20
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x6) 1)
;;
+ netgear,xr500)
+ caldata_extract "art" 0x1000 0x2f20
+ ath10k_patch_mac $(mtd_get_mac_binary art 0xc)
+ ;;
tplink,ad7200 |\
tplink,c2600)
caldata_extract "radio" 0x1000 0x2f20
@@ -102,6 +106,10 @@ case "$FIRMWARE" in
caldata_extract "art" 0x5000 0x2f20
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x6) 2)
;;
+ netgear,xr500)
+ caldata_extract "art" 0x5000 0x2f20
+ ath10k_patch_mac $(mtd_get_mac_binary art 0x0)
+ ;;
tplink,ad7200 |\
tplink,c2600)
caldata_extract "radio" 0x5000 0x2f20
diff --git a/target/linux/ipq806x/base-files/lib/upgrade/platform.sh b/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
index a5e18201df..308d7017b3 100644
--- a/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
@@ -16,6 +16,7 @@ platform_do_upgrade() {
netgear,r7500 |\
netgear,r7500v2 |\
netgear,r7800 |\
+ netgear,xr500 |\
qcom,ipq8064-ap148 |\
qcom,ipq8064-ap161)
nand_do_upgrade "$1"