Thanks to some help from Claude AI, I’ve brought my BPI-W2 back to life after it sat in a drawer for years. I ported PiKVM to the board, and along the way I also brought it up on a mainline Linux kernel (6.18 LTS). Almost everything now works. PCIe is the exception: I don’t have an M.2 E-key card to test it with.
Working on Linux 6.18 (tested on the board):
- Boot from SD card or eMMC (HS200), all four CPU cores
- CPU frequency scaling 300 MHz – 1.4 GHz with the G2227 PMIC, temperature sensor and thermal throttling
- Gigabit Ethernet on both RJ45 ports (the second one through the hardware NAT engine’s port)
- SATA (AHCI, 6 Gbps)
- USB host ports and USB OTG (Type-C, gadget mode)
- HDMI input: 1080p60 capture with EDID, plus HDMI audio capture
- H.264 hardware encoding (CODA980, mainline coda driver)
- HDMI output and mini DisplayPort output (1080p60)
- IR receiver (rc-core)
PiKVM: 1080p60 capture, MJPEG / H.264 / WebRTC streaming, keyboard and mouse, virtual media (MSD), HDMI audio and the web terminal all work.
Not done yet: a PCIe driver (no card to test with), the ATX power/reset lines (the GPIOs are set up, but no ATX board has been tried), and other HDMI output modes (only 1080p60).
It’s an old board, but if you’re interested, you’re welcome to try it out or help with development.
- PiKVM for BPI-W2 (prebuilt SD/eMMC images on the Releases page): GitHub - JalenLin/BananaPi_W2_PiKVM · GitHub
- Mainline Linux kernel for BPI-W2 (RTD1296): GitHub - JalenLin/BPI-W2-linux: Mainline Linux for the Banana Pi BPI-W2 (Realtek RTD1296): kernel patches, drivers, device tree, build toolchain · GitHub
Feedback, bug reports and pull requests are welcome!