Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
devices:netgear_r6260_openwrt [2021/01/11 06:12] – Sean Rhone | devices:netgear_r6260_openwrt [2022/06/09 11:14] – Sean Rhone |
---|
====== Information ====== | ====== Information ====== |
| |
* NETGEAR R6260 ((https://www.netgear.com/home/products/networking/wifi-routers/R6260.aspx)) | * [[https://www.netgear.com/home/products/networking/wifi-routers/R6260.aspx|NETGEAR R6260]] |
* OpenWrt ((https://openwrt.org)) ((https://openwrt.org/toh/netgear/netgear_r6260)) | * [[https://openwrt.org|OpenWrt]] |
| * [[https://openwrt.org/toh/netgear/r6260|OpenWrt Device Page]] |
| * [[https://openwrt.org/releases/snapshot|Snapshot]] |
| |
===== Notes ===== | ===== Notes ===== |
| |
| * 2021/04/28: Dropping invalid packets (firewall) causes an Oculus Quest 2 to not load it's own store/home page |
| * 2021/06/14: Enabling ''Use broadcast flag'' causes WAN not to work (Comcast/Xfinity) |
| * 2021/06/29: Enabling ''802.11w Management Frame Protection'' on 2.4GHz caused a NC200 to not be able to connect |
* 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 | * 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 |
| |
====== Snapshot ====== | ====== Snapshot ====== |
| |
==== sysupgrade ==== | ==== Links ==== |
| |
* This downloads the latest ''sysupgrade.bin'' directly and installs it | * ''ramips/mt7621'' |
| |
ssh 'root'@'192.168.1.1' | * [[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]] |
| |
rm -f '/tmp/sysupgrade.img' && sync && sysupgrade --force -n -v 'https://downloads.openwrt.org/snapshots/targets/ramips/mt7621/openwrt-ramips-mt7621-netgear_r6260-squashfs-sysupgrade.bin' | ==== sysupgrade ==== |
| |
ping '192.168.1.1' | * This downloads the latest ''sysupgrade.bin'' and installs it |
| |
===== Date Check ===== | ssh root@192.168.1.1 |
| |
* https://downloads.openwrt.org/snapshots/targets/ramips/mt7621/ | rm -f '/tmp/sysupgrade.img' && sync && sysupgrade --force -n -v 'https://downloads.openwrt.org/snapshots/targets/ramips/mt7621/openwrt-ramips-mt7621-netgear_r6260-squashfs-sysupgrade.bin' |
| |
===== Download ===== | rm -Rf ~/'.ssh' && ping '192.168.1.1' |
| |
==== OpenWRT ==== | del %UserProfile%"\.ssh\known_hosts" && ping -t "192.168.1.1" |
| |
* ''ramips/mt7621'' | ===== Packages ===== |
| |
rm -f '/tmp/netgear_r6260-sysupgrade-snapshot.bin' && wget -O '/tmp/netgear_r6260-sysupgrade-snapshot.bin' 'https://downloads.openwrt.org/snapshots/targets/ramips/mt7621/openwrt-ramips-mt7621-netgear_r6260-squashfs-sysupgrade.bin' | * [[https://openwrt.org/docs/guide-user/luci/luci.essentials|LuCI]] ((snapshot images don't include LuCI, so it needs installed on **every** clean snapshot install)) |
| |
=== SSL Support === | ssh root@192.168.1.1 |
| |
* :!: If ''wget'' fails because of missing SSL support, run this | sync && passwd |
| |
opkg update && opkg install 'libustream-mbedtls' | opkg update && opkg install luci irqbalance nano && sync |
| |
===== Install ===== | ====== irqbalance ====== |
| |
* ''-n'' doesn't save old config | * https://openwrt.org/docs/guide-user/services/irqbalance |
* ''--force'' forces the flash | |
* ''-v'' more verbose | |
| |
ssh 'root'@'192.168.1.1' | nano '/etc/config/irqbalance' |
| |
sysupgrade --force -n -v '/tmp/netgear_r6260-sysupgrade-snapshot.bin' | ====== LuCI ====== |
| |
===== LuCI ===== | * http://192.168.1.1 |
| |
* https://openwrt.org/docs/guide-user/luci/luci.essentials | ===== DHCP ===== |
* :!: Snapshot images don't include LuCI, so it needs installed on **every** clean snapshot install | |
| |
ssh 'root'@'192.168.1.1' | * Network -> Interfaces -> LAN -> DHCP Server -> Limit |
| |
opkg update && opkg install 'luci' | 48 |
| |
===== Configure ===== | ===== DNS ===== |
| |
* http://192.168.1.1 | ==== Notes ==== |
| |
==== Quad9 DNS ==== | * This advertises an upstream DNS server directly to clients instead of the router |
| * https://1.1.1.1/dns/ |
* https://quad9.net | |
* See [[notes:dns_servers|DNS servers]] for other DNS servers | * See [[notes:dns_servers|DNS servers]] for other DNS servers |
| |
<code>2620:fe::fe</code> | ==== IPv4 ==== |
<code>2620:fe::9</code> | |
<code>9.9.9.9</code> | |
<code>149.112.112.112</code> | |
| |
==== Wireless ==== | * Network -> Interfaces -> LAN -> DHCP Server -> Advanced Settings -> DHCP-Options |
| * :!: The ''6,'' is intentional (([[https://old.reddit.com/r/openwrt/comments/hr6xig/how_to_set_openwrt_to_use_1111_dns_for_example/fylsewz/?context=3|Reddit]], [[https://datatracker.ietf.org/doc/html/rfc2132#section-3.8|RFC 2132]])) |
| |
=== 2.4GHz === | <code>6,1.1.1.1,1.0.0.1</code> |
| |
* Country Code: US | === IPs === |
* [ ] Allow legacy 802.11b rates | |
* Channel: 11 ((Kitchen is 1 @ 20Mhz, Living Room is 6 @ 20Hz)) | |
* Width: 40 MHz | |
* Encryption: WPA2-PSK CCMP AES | |
| |
<code>The Crossroads (2.4GHz)</code> | <code>1.1.1.1</code> |
| |
=== 5GHz === | <code>1.0.0.1</code> |
| |
* Country Code: US | ==== IPv6 ==== |
* [ ] Allow legacy 802.11b rates | |
* Channel: 149 ((Kitchen is 165 @ 20Mhz, Living Room is 36 @ 80Hz)) | |
* Width: 80 MHz ((160 MHz had issues; it's either incompatible with the SoC, driver-side issues, or channel selection-related)) | |
* Encryption: WPA2-PSK CCMP AES | |
| |
<code>Highgate (5GHz)</code> | * Network -> Interfaces -> LAN -> DHCP Server -> Advanced Settings -> IPv6 Settings -> Announced IPv6 DNS servers |
| |
== Notes == | <code>2606:4700:4700::1111</code> |
| <code>2606:4700:4700::1001</code> |
| |
* Quest 2 should be 866.7 Mbit/s on both speeds | ===== Wireless ===== |
| |
==== Firewall ==== | ==== 2.4GHz ==== |
| |
* :!: Software and Hardware flow offloading may cause issues; this needs debugged further | * Advanced Settings -> [x] Disable Inactivity Polling |
* :!: Software and Hardware flow offloading may not offer any benefit on a 30Mbps ISP | * Advanced Settings -> [ ] Disassociate On Low Acknowledgement |
| |
====== Diagnostics ====== | * Country Code: US |
| * Channel: 11 |
| * Width: 20 MHz |
| * Encryption: WPA2-PSK CCMP AES |
| |
dmesg | grep 'recovery' | <code>The Crossroads (2.4GHz)</code> |
| |
dmesg | grep 'dma' | ==== 5GHz ==== |
| |
====== Recovery ====== | * :!: Advanced Settings -> [x] Disable Inactivity Polling |
| * :!: Advanced Settings -> [ ] Disassociate On Low Acknowledgement |
| * :!: These seem to fix 5GHz instability with a Chromecast |
| |
===== nmrpflash ===== | * Country Code: US |
| * :!: Channel: 149 |
| * Width: 80 MHz |
| * Encryption: WPA2-PSK CCMP AES |
| |
* https://github.com/jclehner/nmrpflash | <code>Highgate (5GHz)</code> |
| |
* :!: The 2020/11/07 OpenWRT snapshot ''factory'' image for R6260 had filesystem-related errors | ===== Firewall ===== |
* :!: Installing the ''factory'' image on-top of stock NETGEAR firmware, and then using the ''sysupgrade'' command works fine | |
* :!: If using this, use the ''factory'' OpenWRT images | |
| |
sudo ln -sv 'libpcap.so.1' '/usr/lib64/libpcap.so.0.8' | ==== Webserver ==== |
| |
sudo ~/'Downloads/nmrpflash-0.9.15-rc3-linux/nmrpflash' -L | * Oak |
| |
sudo ~/'Downloads/nmrpflash-0.9.15-rc3-linux/nmrpflash' -i 'enp5s0' -f ~/'Downloads/openwrt-ramips-mt7621-netgear_r6260-squashfs-factory.img' | <code>HTTP</code> |
| <code>80</code> |
| <code>HTTPS</code> |
| <code>443</code> |
| |
sudo ~/'Downloads/nmrpflash-0.9.15-rc3-linux/nmrpflash' -i 'enp5s0' -f ~/'Downloads/R6260_V1.1.0.78_1.0.1/R6260_V1.1.0.78_1.0.1.img' | ==== Steam Remote Play ==== |
| |
====== OpenWRT Compile ====== | * [[https://help.steampowered.com/en/faqs/view/0689-74B8-92AC-10F2|Steam Support]] |
| |
https://forum.openwrt.org/t/new-xiaomi-router-ac2100/48101/403 | === UDP === |
| |
<code>dmesg | grep dma</code> | <code>Steam Remote Play (UDP)</code> |
| <code>27031</code> |
| <code>27036</code> |
| |
https://github.com/openwrt/openwrt/blob/master/target/linux/ramips/dts/mt7621_netgear_r6260.dts | === TCP === |
| |
https://github.com/openwrt/openwrt/blob/master/target/linux/ramips/dts/mt7621.dtsi | <code>Steam Remote Play (TCP)</code> |
| <code>27036</code> |
| <code>27037</code> |
| |
sudo dnf install gcc gcc-c++ git perl-FindBin make patch perl-Thread-Queue ncurses-devel | ====== Recovery ====== |
| |
cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/openwrt/src' && git clone --branch 'master' --depth '1' --recurse-submodules 'https://git.openwrt.org/openwrt/openwrt.git' ~/'Projects/openwrt/src' && sync | ===== nmrpflash ===== |
| |
cd ~/'Projects/openwrt/src' && ~/'Projects/openwrt/src/scripts/feeds' update -a | * https://github.com/jclehner/nmrpflash |
| |
cd ~/'Projects/openwrt/src' && ~/'Projects/openwrt/src/scripts/feeds' install -a | * Reason for the ''libpcap'' command: https://github.com/jclehner/nmrpflash/issues/27 |
| * :!: If using an OpenWRT image, use the ''factory'' image |
| |
cd ~/'Projects/openwrt/src' && make menuconfig | sudo ln -sv 'libpcap.so.1' '/usr/lib64/libpcap.so.0.8' |
| |
nano '/home/espionage724/Projects/openwrt/src/target/linux/ramips/dts/mt7621.dtsi' | |
| |
gdma = enaled | |
dma = enabled | |
| |
| |
nano '/home/espionage724/Projects/openwrt/src/target/linux/ramips/dts/mt7621_netgear_r6260.dts' | |
| |
<code> | |
&gdma { | |
status = "okay"; | |
}; | |
| |
&hsdma { | |
status = "okay"; | |
};</code> | |
| |
menconfig -> kernel modules -> Other modules -> kmod-dma-ralink & kmod-hsdma-mtk | |
| |
nano '/home/espionage724/Projects/openwrt/src/target/linux/ramips/mt7621/config-5.4' | |
| |
<code>CONFIG_MTK_HSDMA=y</code> | |
| |
===== Lean ===== | |
| |
* https://github.com/coolsnowwolf/lede | |
* https://openwrt.org/docs/guide-developer/build-system/install-buildsystem | |
| |
sudo zypper install --no-recommends asciidoc bash bc binutils bzip2 fastjar flex gawk gcc gcc-c++ gettext-tools git git-core intltool libopenssl-devel libxslt-tools make mercurial ncurses-devel patch perl-ExtUtils-MakeMaker python-devel rsync sdcc unzip util-linux wget zlib-devel | |
| |
cd ~ && mkdir -p ~/'Projects' && rm -Rf ~/'Projects/lean-openwrt/src' && git clone --branch 'master' --depth '1' --recurse-submodules 'https://github.com/coolsnowwolf/lede.git' ~/'Projects/lean-openwrt/src' && sync | |
| |
cd ~/'Projects/lean-openwrt/src' && ~/'Projects/lean-openwrt/src/scripts/feeds' update -a | |
| |
cd ~/'Projects/lean-openwrt/src' && ~/'Projects/lean-openwrt/src/scripts/feeds' install -a | |
| |
cd ~/'Projects/lean-openwrt/src' && make menuconfig | |
| |
* Target System: MediaTek Ralink MIPS | |
* Subtarget: MT7621 based boards | |
* Target Profile: NETGEAR R6260 | |
* :!: TODO: mt driver instead of mt76 | |
| |
cd ~/'Projects/lean-openwrt/src' && make -j8 download V=s && sync | |
| |
cd ~/'Projects/lean-openwrt/src' && make -j$(($(nproc) + 1)) V=s && sync | |
| |
gio open ~/'Projects/lean-openwrt/src/bin/targets/ramips/mt7621' | |
| |
==== Copy/Install to Router ==== | |
| |
scp ~/'Projects/lean-openwrt/src/bin/targets/ramips/mt7621/openwrt-ramips-mt7621-netgear_r6260-squashfs-sysupgrade.bin' 'root'@'192.168.1.1':'/tmp' | |
| |
ssh 'root'@'192.168.1.1' | |
| |
sysupgrade --force -n -v '/tmp/openwrt-ramips-mt7621-netgear_r6260-squashfs-sysupgrade.bin' | |
| |
ping '192.168.1.1' | sudo ~/'Downloads/nmrpflash-0.9.16-linux/nmrpflash' -L |
| |
==== Post-install ==== | 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' |
| |
opkg update && opkg install 'luci-i18n-base-en' | |