Add OpenWrt support for Ubiquiti AirCube ISP (UBNT ACB-ISP)

Hello davidb2111,

that's great news. I had started thinking whether I have to buy one just to get rid of questions for it. Sounds like you solved that for me :wink:

Regarding the LED: I would expect that they used a similar aproch like for the ISP. A small extra controller that is controlled via SPI. I wrote a driver for this controller some time back. It has been merged to upstream Linux. Only problem left: When using the driver a bit more I noted that the SPI speed is too high and I haven't been able to reduce it. That would need another patch to Linux but creating that patch isn't simple without having a big performance impact on a lot of other systems.

You might want to take a look at the last two commits on https://github.com/c-mauderer/openwrt/commits/20190525_aircube_led. These pull in the LED driver and enable it for the ISP. But like I said: It didn't work reliable. For a reliable LED you would additionally need that patch for the Linux kernel: https://gist.github.com/5c3ed1c9305e5318c659577f4e3628d2. Again: That would have a big performance impact for GPIO-SPI and therefore can't be included into Linux in that form.

Best regards

Christian

Hello,

For people who want to try OpenWRT on Aircube AC, they can find sources here https://github.com/david-barbion/openwrt-acb-ac

A new target profile is available: airCube AC, select it and also select firmware -> ath10k-firmware-qca988x-ct-htt.

Almost everything work as expected but not flashing LED. There is also a strange bug with switch port counters not reported (only ???). I've tested changing registers values without luck. If someone find this one, I would be grateful.

Finally, I never made a contribution to OpenWRT, if someone can guide me to create a contribution, that would be great.

David

1 Like

Great that your port works. Congratulations.

The LED is most likely the same problem like on the ISP: The driver isn't integrated yet because the SPI is too fast.

Regarding Contributing: You seem to use github. In that case the simplest method is to do a pull request: https://openwrt.org/docs/guide-developer/working-with-github-pr

hi,
since there is no activity for the last 16 days and i am interested in getting it merged upstream (openwrt), would it be acceptable to pick where it is left to get device support merged?
it currently has LED blinking at all times due to obvious reasons stated above but the same applies to AirCube ISP (acb-isp)

i tested building for aircube-ac on trunk and last stable release and it seem to be working fine.
upgrade to 2.5.0 (or downgrade via tftp) and people could flash device from stock firmware following same procedure as for AirCube ISP (acb-isp).

maybe we could share common configuration for both of them and even wiki page?

cc @davidb2111 @c-mauderer

No problem with that. Feel free to adapt anything that is necessary and makes sense. You can ask me anything about the AirCube ISP and I can also support that activity. But you have to talk mainly to @davidb2111 regarding the AirCube AC patches. I don't have an AirCube AC here so I can't really test anything related to that.

Hi @damex

Got it running for a long time now, seems stable. I'm looking forward to make a patch request.

David

hello, thanks everyone for the great work done with these devices i was wondering if anyone can upload the file openwrt-ath79-generic-ubnt_acb-isp-squashfs-factory.bin, it is no longer found at https://openwrt.org/toh/ubiquiti/ubiquiti_aircube_isp, thanks in advance

@Prim Here it is, factory image for the aircube isp :slight_smile: Including luci for easy config. Make sure to follow the guide. As downgrading firmware isn't possible through the web interface, you need to:

  1. download firmware 2.5.0 from ubiquiti
  2. connect with lan cable to your router (not on the blue wan port, it wont work for openwrt afterwards)
  3. unplug it and press a paper clip down the reset hole on the bottom
  4. plug power back in and hold the clip in place for a while
  5. let go of the reset pin, send the ubiquiti firmware through tftp (set your ip to 192.168.1.2, gateway to 192.168.1.1 and subnet to 255.255.255.0, use a tftp program and connect to 192.168.1.1, set transfer to binary and send the file, just like in the guide)
  6. let it turn back on again, upload the modified config file
  7. upload the factory image as a new firmware.
    [sorry my hosting is broken will reupload very soon]
    (8. log in through ssh at root@192.168.1.1 and sysupgrade to the openwrt-supplied upgrade system if you want, but mine should be fine)

For everyone else: I have it running on my aircube ac, works great. Compiled from the @davidb2111 github and followed his instructions on adding the wifi firmware, as well as luci.

finally :slight_smile: built from the latest of the latest sources.

Prebuilt images can be found there.

1 Like

Hi, I just installed OpenWRT on the AirCube AC and it is fantastic!

What is the current state regarding the blinking LED?
I could not manage to turn it off via luci. Is it still being worked on?

I think most of the questions should be answered in the github pull request with the same question:
https://github.com/openwrt/openwrt/pull/2080#issuecomment-1001717228

@c-mauderer

Hello,

Thanks for your work with the aircube, that is what I was looking for :slight_smile:

But I have problems with installing OpenWRT on my Aircube-ISP

  1. I did the downgrade to V2.8.3 as described on the UI Website
    The file I found there is ACB.ar934x.v2.8.3.f1a1344.210726.1457.bin
    The downgrade works I can log in etc etc.
  2. I uploaded the configuration file aircube_isp_remove_signaturecheck_config_firmware_2.8.3.tgz
  3. I call the HTTP://192.168.1.1:8000/lua
    I get the message DONE.

but if after uploading the open wrt image - openwrt-22.03.0-ath79-generic-ubnt_aircube-isp-squashfs-sysupgrade.bin - using the WebUi
i got the error verification failed :frowning:
What can I try now?

Michael
(from Germany :slight_smile: )

Hello Michael,

from which version did you downgrade?

Can you post the full output of the lua script?

Best regards

Christian

Hello @c-mauderer ,

I downgraded from V2.8.5.
I tried it again, here is the output of the lua script:

+ UBNTBOX_PATCHED=/tmp/fwupdate.real
+ MD5FILE=/tmp/patchmd5
+ cat
+ md5sum -c /tmp/patchmd5
/sbin/fwupdate.real: OK
+ LOWERDIR=/tmp/lower_root
+ mkdir -p /tmp/lower_root
+ mount -t squashfs -oro /dev/mtdblock3 /tmp/lower_root
+ overlay_some_path /sbin sbin
+ PATH_TO_OVERLAY=/sbin
+ ALIAS=sbin
+ UPPERDIR=/tmp/over_sbin
+ WORKDIR=/tmp/over_sbin_work
+ mkdir -p /tmp/over_sbin
+ mkdir -p /tmp/over_sbin_work
+ mount -t overlay -o lowerdir=/tmp/lower_root/sbin,upperdir=/tmp/over_sbin,workdir=/tmp/over_sbin_work overlay /sbin
+ + echo -en \x65\x00
dd of=/sbin/fwupdate.real conv=notrunc bs=1 count=2 seek=26484
2+0 records in
2+0 records out
+ dd of=/sbin/fwupdate.real conv=notrunc bs=1 count=1 seek=25586
+ echo -en \x10
1+0 records in
1+0 records out
+ echo ******** Done ********
******** Done ********

And here is the error-message:

I hope this will bring some light in the darkness :slight_smile:

Best regards
Michael

Hm. The lua script is all as expected. The fwupdate.real has the correct md5 sum. And I'm quite sure that I have seen a downgrade from 2.8.5 somewhere already in the past.

I just noted that the wiki page doesn't have the install image linked any more but only the upgrade image. Which image did you use? Was it this one: https://downloads.openwrt.org/releases/22.03.0/targets/ath79/generic/openwrt-22.03.0-ath79-generic-ubnt_aircube-isp-squashfs-factory.bin? If that doesn't work: Maybe you can try an older release and upgrade from there: https://downloads.openwrt.org/releases/22.03.0/targets/ath79/generic/openwrt-22.03.0-ath79-generic-ubnt_aircube-isp-squashfs-factory.bin

Hello again,

As I mentioned above I use the image linked in the WiKi.
https://downloads.openwrt.org/releases/22.03.0/targets/ath79/generic/openwrt-22.03.0-ath79-generic-ubnt_aircube-isp-squashfs-sysupgrade.bin

It seems to be the wrong one. :slight_smile:

I try the factory image and upgrade with the sysupgrade

Michael

Edit Where is the diffrence?

Factory is meant to be used when coming from OEM firmware. Sysupgrade only between OpenWrt releases.

Background to what Borromini said: The images have a different structure. For some routers it can be a completely different file format. In this case it's only a relatively small difference in the headers because the Ubiquity Firmware is based on an old OpenWRT version. But it's still different enough that you can't use the sysupgrade directly.

1 Like

Hello
@c-mauderer
with the facory image you linked above it works :slight_smile: yeah :+1: :+1: :+1:

The only thing is the led, it is blinking, and nothing changes if I setup it in openwrt.
But this is a verry verry smal thing.....

Thanks alot