Ubiquiti Unifi is Openwrt firmware

I just took delivery of two Unifi NanoHD APs two days ago. They work very nicely, but on logging in with SSH, I noted immediately that they're actually running what appears to be a customized version of LEDE

BZ.v4.0.80# cat openwrt_release
DISTRIB_ID='LEDE'
DISTRIB_RELEASE='17.01.6'
DISTRIB_REVISION='r3979-2252731af4'
DISTRIB_CODENAME='reboot'
DISTRIB_TARGET='ramips/mt7621'
DISTRIB_ARCH='mipsel_24kc'
DISTRIB_DESCRIPTION='LEDE Reboot 17.01.6 r3979-2252731af4'
DISTRIB_TAINTS='no-all mklibs busybox'

I didn't actually see any source code downloads on their website. What's the situation with GPL requirements and Openwrt? I know the build system is GPLed, but what does this imply - they would need to make an entire build environment available for their AP firmware, and presumably one that could build a binary firmware, right?

I was quite surprised to see that it is Openwrt given that there are no source downloads on their website.

1 Like

I thought this was common knowledge.

Perhaps it is common knowledge. I've just never used their equipment before.

Even at a casual glance they appear to be in violation of GPL, hence my surprise.

Have you requested sources from Ubiquiti?

Not yet. But since I posted that first comment, I was doing some forum browsing and lots of people have complained they requested and didn't receive. Hence the second remark I made...

I'll request them and see how far I get.

1 Like

They're known for that, unfortunately.

Luckily, however, it's not too difficult to port OpenWrt on their devices. Only problem could be signature verification, but it's bypassable on Unifi APs. Worst case scenario is that U-Boot needs to be replaced, and they don't make it hard.

Did you investigate the bootloader and boot process yet?

Actually, I like their controller software, so if I put open source Openwrt on them I'd lose that capability. I have multiple servers running and several APs, so it's easy to run the controller and it gives me a nice way to manage the APs.

I would, however, like to put some tools on the image that are not included by default, which is why it would be nice to have the ability to build a firmware. They've locked it down quite tightly.

I did some more reading and apparently they've also locked down the uboot such that it does require a signature like you mention.

It would be nice if these companies that benefit from the hard work of the open source community were to play fair and actually comply with the open source licenses. It seems somewhat unjust that they make a lot of money off it and don't even give credit where credit is due.

1 Like

mt7621 Interesting hardware for sure..
Features:
Network Accelerator:

  • 2Gbps IPv4/6 routing, NAT, NAPT+HQoS

Storage Accelerator:

  • Yes

Crypto:

  • 200Mbps Crypto Suite

So the real question here is.. Is it the software on the ubi that makes it fast or is it the network accel?

I've done some throughput testing on my APs. What I can tell you is that the Gbe interface caps out at just on 900Mbps.

I have a MoCA 2.5 backbone running around my house, which achieves PHY rates of ~3.5Gbps. Using iperf3 on two of my servers across the backbone I get a solid 980Mbps of throughput across this MoCA backhaul.

Using iperf3 as a client on the AP to my server caps out at 900Mbps. It appears to be IO bound and not CPU bound as the CPU is hardly breaking a sweat. Still good performance, so I'm not complaining.

Of course, since I have a wired backhaul, I'm not using any of the meshing capability. However, even if meshing two APs, I don't see how they could achieve 2Gbps, since they're rated on their 4x4 MIMO for 1733Mbps maximum, so even the aggregate would not top 1.7Gbps in the best possible scenario.

Their claimed 2Gbps looks like exaggeration to me. Perhaps it could theoretically route 2Gbps, but the physical network interfaces cannot.

The only way to figure this out is by using an drive that has faster write speed. I would say 150M(B)/s would be a good start to figuring out if this helps, next to ram speed improvements.