Skip to content

Latest commit

 

History

History
48 lines (35 loc) · 1.87 KB

File metadata and controls

48 lines (35 loc) · 1.87 KB

AFi-R

Research, tools, and custom firmware for the Ubiquiti AmpliFi AFi-R router.

Hardware overview

Component Detail
Main SoC Qualcomm Atheros QCA956X (MIPS 74Kc, 775 MHz)
RAM 128 MB DDR2
Flash 32 MB
WiFi 5GHz AR9561 + 2.4GHz QCA988X
Display module STM32F205VGT6 board with 240x240 LCD, touchscreen, speaker
OS OpenWrt-based (Linux 4.1.16, BusyBox ash, musl libc)

Contents

Serial console access, enabling SSH, patching uh-fw-tool, and flashing custom router firmware.

Scripts for extracting, modifying, and repacking the router's SquashFS firmware images.

Full hardware and software analysis of the stock display module — MCU firmware, USB CDC protocol, LCD controller, bootloader, and more.

Replacement STM32 firmware that lets you push arbitrary images, animated GIFs, and solid colors to the 240x240 display. Also supports speaker audio (tones, presets, music streaming), and touchscreen input (tap/drag coordinates over USB). Includes host and router scripts.

Quick start

Enable SSH access

  1. Connect a UART reader to the J11 header inside the router
  2. Run echo 'SSH' | prst_tool -w misc && reboot
  3. Set up SSH config and key auth, then: ssh amplifi

Push an image to the display

  1. Flash the custom display firmware
  2. Connect the display board to your PC via micro-USB
  3. Run:
    sudo python3 custom_display_fw/scripts/host/push_image.py photo.jpg
    

Resources