For those who actually got this to work, what is the performance like?
I'm finding official firmware has have gotten slower and slower as they "upgraded" the firmware so am seriously considering this now.
For those who actually got this to work, what is the performance like?
I'm finding official firmware has have gotten slower and slower as they "upgraded" the firmware so am seriously considering this now.
I'm interested too. Even when I think I cannot install OpenWrt in my NanoHDs. I tried a month ago and I couldn't probably because of their U-Boot version.
I did the following:
Made sure I had ssh login enabled to the nanohd.
I had restored to factory settings so using ubnt login credentials but this should not be necessary.
Download https://dl.ubnt.com/unifi/firmware/U7NHD/3.9.27.8537/BZ.mt7621.v3.9.27.8537.180317.1220.bin and scp it to the nanoHD.
scp BZ.mt7621.v3.9.27.8537.180317.1220.bin ubnt@nanoipaddress:/tmp/
Downgrade the nanoHD:
ssh ubnt@nanoipaddress
cd /tmp
fwupdate.real -m BZ.mt7621.v3.9.27.8537.180317.1220.bin
The nanoHD rebooted.
Download OpenWRT and scp to the nanoHD:
scp openwrt-21.02.0-ramips-mt7621-ubnt_unifi-nanohd-squashfs-sysupgrade.bin ubnt@nanohdipaddress:/tmp/
Write the bootselect flag. Otherwise, the device might boot from the wrong partition. Verify the mtd partition used in the command below
is the one labled "bs" in /proc/mtd (as this might change in the future).
dd if=/dev/zero bs=1 count=1 of=/dev/mtd4
Write the OpenWrt sysupgrade to the mtd partitions labeled "kernel0" and "kernel1" then reboot the nanoHD.
dd if=/tmp/openwrt-21.02.0-ramips-mt7621-ubnt_unifi-nanohd-squashfs-sysupgrade.bin of=/dev/mtdblock6
dd if=/tmp/openwrt-21.02.0-ramips-mt7621-ubnt_unifi-nanohd-squashfs-sysupgrade.bin of=/dev/mtdblock7
reboot
Set my local ip to something in 192.168.1.x, but not 192.168.1.1, and ssh root@192.168.1.1, and change the ip in /etc/config/network to what I want it to be, and reboot.
Speed seems okay on 80Mhz but I'm having some issues with DFS channels, specifically 160Mhz wont work at all. I'm seeing 62-72MB/s copying from my NAS and it seems to authenticate with the access point much faster than stock firmware. I also seem to get a higher link rate further away from the AP.
If you're fine with channel 36 or 52, its working fine there. It feels more responsive than stock firmware to me. I had no idea the nanoHD was a quad-core CPU, never seen LuCI this fast.
This is where my installation fails, probably due to the fact that the lower version that's allowed to be installed: "required_version": "4.3.16",
Oh, well, I'm not sure what to do next.
Yeah that's a weird one as some people have successfully done it to brand new units, I can only guess they must have old stock.
I think its extremely scummy of a company to block downgrades, it should always be the end users choice unless it legitimately cannot run due to hardware changes and those hardware changes had better make the product BETTER not worse too.
I'm really thankful it worked for me as even if its slower than I could get on stock firmware, I just don't want to deal with the bloated Unifi Controller. I've always found OpenWRT rock-solid stable and easy to use.
I'm using OpenWRT on my NanoHD and performance is pretty bad to be honest.
Are you using 80Mhz channel width?
i would expect proper performance, am i wrong?
This is a iperf running from a Macbook Pro connected to a NanoHD against my router.
@grim$ ➜ ~ iperf3 -u -b 0 -c openwrt.lan
Connecting to host openwrt.lan, port 5201
[ 7] local 192.168.1.189 port 61871 connected to 192.168.1.1 port 5201
[ ID] Interval Transfer Bitrate Total Datagrams
[ 7] 0.00-1.00 sec 99.7 MBytes 836 Mbits/sec 77254
[ 7] 1.00-2.00 sec 90.9 MBytes 762 Mbits/sec 74451
[ 7] 2.00-3.00 sec 93.8 MBytes 787 Mbits/sec 72122
[ 7] 3.00-4.00 sec 105 MBytes 879 Mbits/sec 79881
[ 7] 4.00-5.00 sec 89.5 MBytes 751 Mbits/sec 68851
[ 7] 5.00-6.00 sec 105 MBytes 879 Mbits/sec 79427
[ 7] 6.00-7.00 sec 90.9 MBytes 762 Mbits/sec 71275
[ 7] 7.00-8.00 sec 97.3 MBytes 817 Mbits/sec 75009
[ 7] 8.00-9.00 sec 101 MBytes 844 Mbits/sec 77872
[ 7] 9.00-10.00 sec 86.6 MBytes 727 Mbits/sec 67609
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 7] 0.00-10.00 sec 959 MBytes 804 Mbits/sec 0.000 ms 0/743751 (0%) sender
[ 7] 0.00-10.01 sec 949 MBytes 795 Mbits/sec 0.007 ms 56423/743573 (7.6%) receiver
that looks excellent, thank you
And this one using TCP, forgot to include it:
@grim$ ➜ ~ iperf3 -c openwrt.lan
Connecting to host openwrt.lan, port 5201
[ 7] local 192.168.1.189 port 57642 connected to 192.168.1.1 port 5201
[ ID] Interval Transfer Bitrate
[ 7] 0.00-1.00 sec 87.6 MBytes 735 Mbits/sec
[ 7] 1.00-2.00 sec 89.1 MBytes 748 Mbits/sec
[ 7] 2.00-3.00 sec 82.0 MBytes 687 Mbits/sec
[ 7] 3.00-4.00 sec 86.5 MBytes 725 Mbits/sec
[ 7] 4.00-5.00 sec 91.1 MBytes 765 Mbits/sec
[ 7] 5.00-6.00 sec 90.7 MBytes 761 Mbits/sec
[ 7] 6.00-7.00 sec 89.0 MBytes 746 Mbits/sec
[ 7] 7.00-8.00 sec 87.2 MBytes 732 Mbits/sec
[ 7] 8.00-9.00 sec 87.0 MBytes 730 Mbits/sec
[ 7] 9.00-10.00 sec 89.4 MBytes 750 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 7] 0.00-10.00 sec 880 MBytes 738 Mbits/sec sender
[ 7] 0.00-10.01 sec 877 MBytes 735 Mbits/sec receiver
iperf Done.
Note: My wife and daughters using same AP at the same time to play and watch a YT video.
somehow i do net get the same speed, i am on 5ghz channel 124 with 80mhz width.
macbook pro m1 to nanohd within a couple of meters direct distance:
➜ ~ iperf3 -c 192.168.178.2
Connecting to host 192.168.178.2, port 5201
[ 5] local 192.168.178.26 port 50042 connected to 192.168.178.2 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 29.9 MBytes 251 Mbits/sec
[ 5] 1.00-2.00 sec 35.6 MBytes 299 Mbits/sec
[ 5] 2.00-3.00 sec 36.7 MBytes 308 Mbits/sec
[ 5] 3.00-4.00 sec 37.5 MBytes 314 Mbits/sec
[ 5] 4.00-5.01 sec 28.6 MBytes 239 Mbits/sec
[ 5] 5.01-6.01 sec 7.89 MBytes 66.2 Mbits/sec
[ 5] 6.01-7.01 sec 7.50 MBytes 62.9 Mbits/sec
[ 5] 7.01-8.00 sec 30.6 MBytes 258 Mbits/sec
[ 5] 8.00-9.00 sec 37.1 MBytes 311 Mbits/sec
[ 5] 9.00-10.00 sec 36.2 MBytes 303 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.00 sec 288 MBytes 241 Mbits/sec sender
[ 5] 0.00-10.01 sec 284 MBytes 238 Mbits/sec receiver
config:
config wifi-device 'radio1'
option type 'mac80211'
option hwmode '11a'
option path '1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0'
option cell_density '0'
option htmode 'VHT80'
option country 'DE'
option channel '124'
option txpower '20'
Its probably not the Access Point.
I've moved over to a WiFi 6 AP and on a good day I get 940Mbit, on a bad day I get 400Mbit, on average its anywhere inbetween. Seems to be the nature of 5Ghz that it picks up interference all over the place, even on channels that appear clean. I've now used about four different Access Points and they exhibit identical behaviour, apart from WiFi 6 being faster on a good day.
Testing just now I got 496Mbit from my NAS and 610Mbit to my NAS, on my Macbook Pro. Channel 100, 80Mhz, Link rate 1200Mbit, 802.11ax. Oh and iperf3 can't always be trusted, I just copied a file to my NAS at 672Mbit.
I'd recommend something like Stats for MacOS so you can put network transfer rate in the menu bar to see what its REALLY doing.
It looks about right, your M1 only has a 2x2 MIMO, which has a maximum theorical speed of 867 Mbps, real life is 40-50% of it, so your 300 Mbps.
No really so good, tho'.
Quick test with a M1 Pro (running Sonoma) and a NanoHD (lastest OpenWrt 23.05.0-rc3):
@reaper$ ➜ ~ networkQuality
==== SUMMARY ====
Uplink capacity: 35.409 Mbps
Downlink capacity: 370.244 Mbps
Responsiveness: High (36.123 milliseconds | 1661 RPM)
Idle Latency: 19.375 milliseconds | 3157 RPM
@reaper$ ➜ ~ iperf -c openwrt.lan -e -z --bounceback
------------------------------------------------------------
Client connecting to openwrt.lan, TCP port 5001 with pid 95163 (1 flows)
Write buffer size: 100 Byte
Bursting: 100 Byte writes 10 times every 1.00 second(s)
Bounce-back test (size= 100 Byte) (server hold req=0 usecs)
TOS set to 0x0 and nodelay (Nagle off)
TCP window size: 128 KByte (default)
------------------------------------------------------------
[ 1] local 192.168.1.151%en0 port 55657 connected with 192.168.1.1 port 5001 (bb len/hold=100/0) (sock=5) (icwnd/mss/irtt=11/1448/7000) (ct=7.09 ms) on 2023-09-30 05:08:58.011 (AEST)
[ ID] Interval Transfer Bandwidth BB cnt=avg/min/max/stdev Rtry Cwnd/RTT RPS
[ 1] 0.00-1.00 sec 1.95 KBytes 16.0 Kbits/sec 10=3.227/2.416/4.443/0.640 ms 0 12K/3000 us 310 rps
[ 1] 1.00-2.00 sec 1.95 KBytes 16.0 Kbits/sec 10=3.255/2.732/7.516/1.499 ms 0 13K/2000 us 307 rps
[ 1] 2.00-3.00 sec 1.95 KBytes 16.0 Kbits/sec 10=3.235/2.505/7.247/1.417 ms 0 14K/3000 us 309 rps
[ 1] 3.00-4.00 sec 1.95 KBytes 16.0 Kbits/sec 10=3.389/2.808/7.682/1.515 ms 0 15K/3000 us 295 rps
[ 1] 4.00-5.00 sec 1.95 KBytes 16.0 Kbits/sec 10=3.316/2.850/6.707/1.200 ms 0 16K/2000 us 302 rps
[ 1] 5.00-6.00 sec 1.95 KBytes 16.0 Kbits/sec 10=3.392/2.826/7.512/1.459 ms 0 17K/3000 us 295 rps
[ 1] 6.00-7.00 sec 1.95 KBytes 16.0 Kbits/sec 10=3.396/2.710/7.326/1.412 ms 0 18K/3000 us 294 rps
[ 1] 7.00-8.00 sec 1.95 KBytes 16.0 Kbits/sec 10=3.193/2.355/7.619/1.560 ms 0 19K/3000 us 313 rps
[ 1] 8.00-9.00 sec 1.95 KBytes 16.0 Kbits/sec 10=3.201/2.419/7.358/1.472 ms 0 20K/4000 us 312 rps
[ 1] 9.00-10.00 sec 1.95 KBytes 16.0 Kbits/sec 10=3.243/2.730/7.410/1.464 ms 0 21K/3000 us 308 rps
[ 1] 0.00-10.03 sec 19.7 KBytes 16.1 Kbits/sec 101=3.355/2.355/10.365/1.495 ms 0 21K/18000 us 298 rps
[ 1] 0.00-10.03 sec BB8-PDF: bin(w=100us):cnt(101)=24:1,25:2,26:1,27:7,28:26,29:32,30:10,32:2,33:3,34:3,35:1,38:1,41:1,45:1,68:1,73:1,74:2,75:1,76:2,77:2,104:1 (5.00/95.00/99.7%=27/75/104,Outliers=1,obl/obu=0/0)
@reaper$ ➜ ~ flent rrul --verbose -H sydney.starlink.taht.net -p all --figure-width=12.80 --figure-height=9.60 -s 0.05 -o rrul.png
Connection to AP:
CAKE and QoS parameters:
config queue 'eth1'
option interface 'eth1'
option qdisc 'cake'
option linklayer 'none'
option upload '47000'
option debug_logging '0'
option verbosity '5'
option qdisc_advanced '1'
option qdisc_really_really_advanced '1'
option ingress_ecn 'ECN'
option egress_ecn 'ECN'
option squash_dscp '0'
option squash_ingress '0'
option enabled '1'
option script 'piece_of_cake.qos'
option iqdisc_opts 'nat dual-dsthost ingress docsis noatm'
option eqdisc_opts 'nat dual-srchost ack-filter docsis noatm'
option download '0'
/etc/config/wireless iw_qos_map_set
only BE in my wireless as per following config:
option iw_qos_map_set '0,63,255,255,255,255,255,255,255,255,255,255,255,255,255,255'