Around christmas, I received an Avaya WAP9122 from @Chrizz to add support for the board. I haven't had much time to work on it, so a lot of things aren't working as expected, but I'm making good progress. This post will be updated and will always reflect the current state. The Cavium platform is a bit different to the other platforms I used to work with, so it's taking more time than expected.
Working:
- TFTP Boot
- (MMC Boot)
- Both ethernet ports (partially), see below
- LEDs
- button
- RTC
Code:
- WiP support is in my github repository: https://github.com/andyboeh/openwrt/tree/xirrus_xr620
TFTP Boot:
- Build an initramfs image and copy it to your TFTP server root as "openwrt.bin"
- Attach serial console
- Interrupt bootloader by pressing [space]
- Log in to bootloader using admin:admin
- Run the following commands in boot loader to boot "openwrt.bin" via TFTP from server at 192.168.1.254:
env set serverip 192.168.1.254
env set ipaddr 192.168.1.100
env set bootfile openwrt.bin
tftp
boot 0x20000000
NB: The device can only be powered via PoE. My AP refuses to boot if the serial console is attached while powering it on. I connect the console cable after power up, log into the stock firmware and run configure
followed by reboot
.
Problems:
- The PCIe initialization reports an error, but seems to work. Both WiFi cards show up. However, ath10k does not initialize at all.
- Both ethernet ports only work as long as the link doesn't go down. If link is lost, no packets are sent/received.
Log:
2023/01/23:
- Finally found out that it's not a Avaya WAP9022, but a Avaya WAP9122. It's based on Octeon-III, not Octeon-II, so I should be using a different base DTS.
- After a lot of searching, I found a mirror of a Xirrus Octeon Kernel source (https://gitlab.com/gplmirror/xirrus-kernel-uboot-inc/). The source includes a few fixups for the PHY and PCIe bus.