Adding support for Avaya WAP9122

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:

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.
2 Likes