Ubiquiti LiteBeam 5AC-23 support

#1

Hi,
I am working on LBE 5AC 23 support.
It is not complicated device, but I am really having issues getting images accepted.
So far I haven't been able to update using web UI, I get:
Corrupted firmware file uploaded. Please upload correct file and try again. (99)

I have not tested TFTP but usually, TFTP on UBNT devices is pickier on images that web UI.
Firmware version I tried was from latest 8.4.3 to oldest 7.1.4.
Unfortunately, they removed mtd so manually writing image is not possible.

My tree is here:

Any help is appreciated

#2

Manually triggering fwupdate app gets me this
WA.v8.4.3# fwupdate -m
FW Image partition "β–’β–’β–’β–’"(3) crc check failed.
Signature check failed
/usr/bin/fwupdate: Firmware update file check failed!

Also tried TFTP,it checks the signature too:
ar7240> urescue
Setting default IP 192.168.1.20
Starting TFTP server...
Using eth0 (192.168.1.20), address: 0x80000000
Waiting for connection: |
Receiving file from 192.168.1.254:57301
Received 4456860 bytes
Firmware Version: WA.ar934x.v8.0.0-OpenWrt-r5673-0e25f80
Bad signature!
Firmware check failed! (-3)
Invalid speed detected
Setting default IP 192.168.1.20
Starting TFTP server...
Using eth0 (192.168.1.20), address: 0x80000000
Waiting for connection: /
Abort

Managed to get initramfs image loaded but MIPS: no machine found for id 'UBNT-LITEBEAM-5AC-23', supported machines:

#3

Ok,got it working throught initramfs and sysupgrade.
It boots and ethernet works,but UBNT has rebranded one of QCA98XX chips,most likely QCA9880 under their brand and now ath10k driver does not recognize it so radio does not work.

Anybody knows hot to fake it as QCA988X?

Ubiquiti Networks, Inc. Device [0777:11ac]
root@OpenWrt:/# lspci -vv
00:00.0 Network controller: Ubiquiti Networks, Inc. Device 11ac
Subsystem: Ubiquiti Networks, Inc. Device e8f5
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- SERR- <PERR- INTx-
Interrupt: pin A routed to IRQ 40
Region 0: Memory at 10000000 (64-bit, non-prefetchable) [disabled] [size=2097153]
Region 2: Memory at (32-bit, non-prefetchable) [disabled] [size=2]
Region 3: Memory at (32-bit, non-prefetchable) [disabled] [size=2]
Region 4: Memory at (32-bit, non-prefetchable) [disabled] [size=2]
Region 5: Memory at (32-bit, non-prefetchable) [disabled] [size=2]
[virtual] Expansion ROM at 10200000 [disabled] [size=65537]
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] MSI: Enable- Count=1/8 Maskable+ 64bit-
Address: 00000000 Data: 0000
Masking: 00000000 Pending: 00000000
Capabilities: [70] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 <64us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 0.000W
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <4us, L1 <64us
ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR-, OBFF Not Supported
AtomicOpsCap: 32bit- 64bit- 128bitCAS-
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
AtomicOpsCtl: ReqEn-
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [100 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
AERCap: First Error Pointer: 00, ECRCGenCap- ECRCGenEn- ECRCChkCap- ECRCChkEn-
MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
HeaderLog: 00000000 00000000 00000000 00000000
Capabilities: [140 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed- WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
Status: NegoPending- InProgress-
Capabilities: [160 v1] Device Serial Number 00-00-00-00-00-00-00-00
lspci: Unable to load libkmod resources: error -12

#4

Hi,
Do you think it will also work on LBE 5 AC-Gen2? Could you describe in detail how you got the Firmware flashed?

https://github.com/freifunk-gluon/gluon/issues/1367

WA.v8.5.1# cat /proc/cpuinfo
system type : Atheros AR934x
processor : 0
cpu model : MIPS 74Kc V4.12
BogoMIPS : 266.24
wait instruction : yes
microsecond timers : yes
tlb_entries : 32
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0000, 0x0018, 0x08e0, 0x06a0]
ASEs implemented : mips16 dsp
shadow register sets : 1
core : 0
VCED exceptions : not available
VCEI exceptions : not available

Thanks

#5

Yes,since they are pretty much identical hardware wise.
Its not yet ready,I gotta update the branch and include patch for ath10k.

I got stuck since I loaned it to a friend,so after I get it back I will contine to work on it.

1 Like
#6

Hi, i am working on the same thing and just found your post, have you got ethernet working most important?

I am stuck finding the correct configuration, maybe i will try to get in touch with you on irc if you are there

#7

Yes, ethernet is working as far as I remember.

#8

Ok i have got it working with your branch, about original firmware not accepting openwrt images, have you investigated ? Maybe i could try disassemblying uboot

#9

Yes,I investigated and we really cant do much about it.
They are signing the stock firmware and nobody has leaked the recipe for it.
And Ubiquiti simply ignores the GPL licence and refuses to release anything usefull.
U-boot also does the same check.

You can take a look at comments in this PR,there is a lot of info.
https://github.com/openwrt/openwrt/pull/689

#10

Just wanted to let you know that i manged installing it on LBE-5AC-Gen2 :slight_smile:

#11

Great,as they are pretty much the same.
Gen2 only has the built in 2.4GHz radio enabled

#12

It has the same 5Ghz Chip, but hides under another name, right?

#13

What name does the one in gen2 have?
Gen1 has QCA988X 2.0 hidden under UBNT brand and 11ac id

#14

[ 11.219000] Ubiquiti U-AME chipset detected
[ 11.219000] ath_pci_probe
[ 11.219000] PCI: Setting latency timer of device 0000:00:00.0 to 64
[ 11.220000] ath_pci 0000:00:00.0: ath DEBUG: sc=0x83b21a00
[ 12.036000] ol_ath_attach() TARGET TYPE: 7 Vers 0x4100016c
[ 12.036000] qc98xx_verify_checksum: flash checksum passed: 0x7c37

Seems like an sort of qc98xx

#15

Thats from stock,you wont find out much from that.
Compile initramfs OpenWRT image with lspci for Litebeam and then read the vendor and product ids.

But specifications are exactly the same so I doubt they changed the AC IC

#16

root@OpenWrt:/# lspci
00:00.0 Class 0280: 0777:11ac

#17

Then its the same.

#18

It currently has some LAN-Issues

  • When i'll connect it to my Laptop directly, it's only pingable when in 100M Mode, firstly it tries to synchrosize with 1000M, but after a few failed attempts, it switches into 100M and then its pingable.

  • When connecting it to a Switch, the Switch LED states that it's synchrosized with 1000M, but it's not pingable and it can't ping any other hosts. I even tried disabling iptables.

I set it up with

uci set network.lan.ipaddr = '192.168.1.200'     
uci set network.lan.gateway='192.168.1.1'    
uci set network.lan.netmask='255.255.255.0'

uci commit network 
sync
service network restart
#19

What branch did you use?
I think that PLL settings are missing

#20

I used the Litebeam-AC branch.