====== Information ======
* [[https://www.netgear.com/home/products/networking/wifi-routers/R6260.aspx|NETGEAR R6260]]
* [[https://openwrt.org|OpenWrt]]
* [[https://openwrt.org/toh/netgear/r6260|OpenWrt Device Page]]
* [[https://openwrt.org/releases/snapshot|Snapshot]]
* https://github.com/openwrt/openwrt/commits/main/target/linux/ramips/mt7621
* ''ramips/mt7621''
===== Notes =====
* Stock firmware reports ''d(149)+p(153)+d(157)+d(161)'' for 5GHz channels with ''153'' selected and ''11(P)+7(S)'' for 2.4GHz with ''11'' selected
* 2026: OpenWRT had //slightly// higher LAN pings than [[devices:network:netgear_r6260_dd-wrt|DD-WRT]] ((2025/11/01: pings 0.4ms average vs DD-WRT 0.2ms))
====== Snapshot ======
* https://downloads.openwrt.org/snapshots/targets/ramips/mt7621/
* [[https://downloads.openwrt.org/snapshots/targets/ramips/mt7621/openwrt-ramips-mt7621-netgear_r6260-squashfs-factory.img|factory.bin]]
* [[https://downloads.openwrt.org/snapshots/targets/ramips/mt7621/openwrt-ramips-mt7621-netgear_r6260-squashfs-sysupgrade.bin|sysupgrade.bin]]
* [[#luci1|Settings]]
===== sysupgrade =====
ssh -o "StrictHostKeyChecking='no'" -o "UserKnownHostsFile='/dev/null'" 'root'@'192.168.1.1'
rm -fv '/tmp/sysupgrade.img' && sync && sysupgrade --force -n -p -v 'https://downloads.openwrt.org/snapshots/targets/ramips/mt7621/openwrt-ramips-mt7621-netgear_r6260-squashfs-sysupgrade.bin'
ping '192.168.1.1'
ssh -o "StrictHostKeyChecking='no'" -o "UserKnownHostsFile='/dev/null'" 'root'@'192.168.1.1'
sync && passwd
apk update && apk add 'luci' && sync
==== Windows ====
"%SystemRoot%\System32\OpenSSH\ssh.exe" -o "StrictHostKeyChecking='no'" -o "UserKnownHostsFile='NUL'" "root"@"192.168.1.1"
rm -f '/tmp/sysupgrade.img' && sync && sysupgrade --force -n -p -v 'https://downloads.openwrt.org/snapshots/targets/ramips/mt7621/openwrt-ramips-mt7621-netgear_r6260-squashfs-sysupgrade.bin'
"%SystemRoot%\System32\PING.EXE" -t "192.168.1.1"
"%SystemRoot%\System32\OpenSSH\ssh.exe" -o "StrictHostKeyChecking='no'" -o "UserKnownHostsFile='NUL'" "root"@"192.168.1.1"
sync && passwd
apk update && apk add 'luci' && sync
=== Non-System SSH ===
* https://github.com/PowerShell/Win32-OpenSSH
"%SystemRoot%\System32\curl.exe" --output "%UserProfile%\Downloads\OpenSSH-Win64.zip" --location "https://github.com/PowerShell/Win32-OpenSSH/releases/latest/download/OpenSSH-Win64.zip" --progress-bar && RMDIR /S /Q "%UserProfile%\Downloads\OpenSSH-Win64" & "%SystemRoot%\System32\tar.exe" xf "%UserProfile%\Downloads\OpenSSH-Win64.zip" -C "%UserProfile%\Downloads" && "%UserProfile%\Downloads\OpenSSH-Win64\ssh.exe" -o "StrictHostKeyChecking='no'" -o "UserKnownHostsFile='NUL'" "root"@"192.168.1.1"
"%UserProfile%\Downloads\OpenSSH-Win64\ssh.exe" -o "StrictHostKeyChecking='no'" -o "UserKnownHostsFile='NUL'" "root"@"192.168.1.1"
====== LuCI ======
===== Install =====
* https://openwrt.org/docs/guide-user/luci/luci.essentials
apk update && apk add 'luci' && sync
===== System =====
* http://192.168.1.1/cgi-bin/luci/admin/system/admin/dropbear
==== Scheduled Tasks ====
* https://openwrt.org/docs/guide-user/base-system/cron#periodic_reboot
* http://192.168.1.1/cgi-bin/luci/admin/system/crontab
* Daily ''02:45:28 AM'' ((timed to come back online around the same time as a TP-Link AX1500 that restarts at ''2:45 AM'' exact))
# Restart 2:45:28 AM
45 2 * * * '/bin/sleep' '28s' && '/bin/touch' '/etc/banner' && '/sbin/reboot'
# End
===== Network =====
* [[servers:upstream_dns_servers|More DNS Servers]]
* lan -> DHCP Server -> IPv4 Settings -> Limit: ''48''
2606:4700:4700::1112
2606:4700:4700::1002
1.1.1.2
1.0.0.2
==== Firewall ====
=== Webserver ===
* ''TCP''
* TODO: ''QUIC''
HTTP
80
HTTPS
443
=== XMPP ===
* [[servers:linux:prosody|Prosody]]
* ''TCP''
XMPP c2S
5222
XMPP s2s
5269
==== WAN Block ====
* Firewall -> Traffic Rules
* Protocol: ''Any''
* Source zone: ''Any zone (forward)''
* Destination zone: ''wan:'' ''wan6:''
* Action: ''drop''
* Source MAC address: (devices)
====== Recovery ======
* Back to NETGEAR stock firmware
* Can also initial-flash OpenWRT
===== nmrpflash =====
* https://github.com/jclehner/nmrpflash
* Reason for the ''libpcap'' command: https://github.com/jclehner/nmrpflash/issues/27
* :!: Use ''factory'' for OpenWRT image (not ''sysupgrade'')
sudo ln -sv 'libpcap.so.1' '/usr/lib64/libpcap.so.0.8'
sudo ~/'Downloads/nmrpflash-0.9.16-linux/nmrpflash' -L
sudo ~/'Downloads/nmrpflash-0.9.16-linux/nmrpflash' -i 'enp6s0' -f ~/'Downloads/openwrt-ramips-mt7621-netgear_r6260-squashfs-factory.img'
sudo ~/'Downloads/nmrpflash-0.9.16-linux/nmrpflash' -i 'enp6s0' -f ~/'Downloads/R6260-V1.1.0.84_1.0.1/R6260-V1.1.0.84_1.0.1.img'
sudo ~/'Downloads/nmrpflash-0.9.25-linux-x86_64/nmrpflash' -L
sudo ~/'Downloads/nmrpflash' -a '192.168.1.1' -f ~/'Downloads/openwrt-ramips-mt7621-netgear_r6260-squashfs-factory.img' -i 'eno1' -R 'NA' -v
==== Windows ====
=== Npcap ===
* https://npcap.com/#download
* Last tested: ''npcap-1.83.exe''
* ''[x]'' Install Npcap in WinPcap API-compatible Mode
=== nmrpflash ===
* https://github.com/jclehner/nmrpflash/releases
* Last tested: ''nmrpflash-0.9.25-win32.zip''
* https://www.netgear.com/support/product/r6260/#download
* https://kb.netgear.com/000064951/R6260-Firmware-Version-1-1-0-88
* Last tested: ''R6260-V1.1.0.88.zip''
* Post-flash URL: http://192.168.1.1/BRS_index.htm
"%UserProfile%\Downloads\nmrpflash-0.9.25-win32\nmrpflash.exe" -L
"%UserProfile%\Downloads\nmrpflash-0.9.25-win32\nmrpflash.exe" -a "192.168.1.1" -f "%UserProfile%\Downloads\R6260-V1.1.1.88\R6260-V1.1.1.88_1.0.1.img" -i "net7" -M "255.255.255.0" -R "NA" -v
====== TODO ======
'/usr/sbin/ethtool' --pause 'eth0' 'rx' 'off' 'tx' 'off'
'/usr/sbin/ethtool' --pause 'wan' 'rx' 'off' 'tx' 'off'
'/usr/sbin/ethtool' --pause 'lan4' 'rx' 'off' 'tx' 'off'
'/usr/sbin/ethtool' --pause 'lan3' 'rx' 'off' 'tx' 'off'
'/usr/sbin/ethtool' --pause 'lan2' 'rx' 'off' 'tx' 'off'
'/usr/sbin/ethtool' --pause 'lan1' 'rx' 'off' 'tx' 'off'
ethtool -s eth0 speed 1000 duplex full autoneg off
ethtool -K eth0 tso off
====== New nmrpflash ======
===== Windows =====
==== Npcap =====
* https://npcap.com/#download
* Last tested: ''npcap-1.88.exe''
* ''[ ]'' Restrict Npcap driver's access to Administrators only
* ''[ ]'' Support raw 802.11 traffic (and monitor mode) for wireless adapters
* ''[x]'' Install Npcap in WinPcap API-compatible Mode
==== nmrpflash ====
* https://github.com/jclehner/nmrpflash
* https://github.com/jclehner/nmrpflash/releases
* Last tested: ''nmrpflash-0.9.27-win32.zip''
MOVE /Y "%UserProfile%\Downloads\nmrpflash-"*"-win32.zip" "%UserProfile%\Downloads\nmrpflash-win32.zip" & "%SystemRoot%\System32\tar.exe" -xf "%UserProfile%\Downloads\nmrpflash-win32.zip" -C "%UserProfile%\Downloads" "nmrpflash.exe" && DIR /B "%UserProfile%\Downloads\nmrpflash.exe"
==== Official Firmware ====
* https://www.netgear.com/support/product/r6260
* Last tested: ''R6260-V1.1.1.88.zip''
MOVE /Y "%UserProfile%\Downloads\R6260-V"*".zip" "%UserProfile%\Downloads\R6260-NETGEAR.zip" & "%SystemRoot%\System32\tar.exe" -xf "%UserProfile%\Downloads\R6260-NETGEAR.zip" -C "%UserProfile%\Downloads" "R6260-V"*".img" && MOVE /Y "%UserProfile%\Downloads\R6260-V"*".img" "%UserProfile%\Downloads\R6260-NETGEAR.img" && DIR /B "%UserProfile%\Downloads\R6260-NETGEAR.img" & DEL /Q "%UserProfile%\Downloads\R6260-NETGEAR.zip"
"%UserProfile%\Downloads\nmrpflash.exe" -L
"%UserProfile%\Downloads\nmrpflash.exe" -a "192.168.1.1" -M "255.255.255.0" -R "NA" -i "eth4" -f "%UserProfile%\Downloads\R6260-NETGEAR.img" -v
"%SystemRoot%\System32\PING.EXE" -t "192.168.1.1"
==== OpenWRT Snapshot ====
"%SystemRoot%\System32\curl.exe" --output "%UserProfile%\Downloads\openwrt-ramips-mt7621-netgear_r6260-squashfs-factory.img" --location "https://downloads.openwrt.org/snapshots/targets/ramips/mt7621/openwrt-ramips-mt7621-netgear_r6260-squashfs-factory.img" --progress-bar && DIR /B "%UserProfile%\Downloads\openwrt-ramips-mt7621-netgear_r6260-squashfs-factory.img"
"%UserProfile%\Downloads\nmrpflash.exe" -L
"%UserProfile%\Downloads\nmrpflash.exe" -i "eth4" -f "%UserProfile%\Downloads\openwrt-ramips-mt7621-netgear_r6260-squashfs-factory.img" -v
"%SystemRoot%\System32\PING.EXE" -t "192.168.1.1"
==== Clean-up ====
* TODO