Banana Pro resources
Summary
This page is a comprehensive resource hub for Banana Pro owners, providing downloads, hardware specifications, GPIO pinouts, peripheral configuration, and troubleshooting guidance. The Banana Pro extends the original Banana Pi with onboard WiFi (AP6210 802.11n), Bluetooth 4.0, SATA 2.0 interface, and enhanced power delivery, making it suitable for NAS builds, home automation, and wireless projects.
If you only do one thing, verify your image checksum before flashing, then capture a baseline boot report (kernel version, dmesg, journalctl) while the system is healthy. This baseline is invaluable for troubleshooting after updates or hardware changes.
Who this is for
New Banana Pro owners setting up their first build, developers migrating from Banana Pi who need to understand the Pro-specific differences (WiFi, SATA, power requirements), and anyone troubleshooting GPIO, WiFi, SATA, or boot issues on Banana Pro hardware.
What you'll do
- Understand Banana Pro hardware differences: WiFi/Bluetooth module, SATA interface, power requirements.
- Find the correct image downloads and verify integrity before flashing.
- Configure GPIO using 40-pin header pinout (BCM/physical/Allwinner numbering).
- Set up onboard WiFi (AP6210) and Bluetooth 4.0 connectivity.
- Configure SATA 2.0 interface for storage expansion (NAS, media server).
- Identify FEX/script.bin vs device tree configuration requirements.
- Collect baseline boot reports for comparison after updates.
- Troubleshoot common Banana Pro issues: WiFi driver problems, SATA detection, power delivery.
Banana Pro hardware overview
Key differences from Banana Pi
- WiFi: Onboard AP6210 module (802.11b/g/n 2.4GHz, up to 150Mbps). Requires driver support and country code configuration.
- Bluetooth: Integrated Bluetooth 4.0 on AP6210 module. Configured via
hciconfigand BlueZ stack. - SATA: SATA 2.0 interface (up to 3 Gbps) for 2.5" drives or SSDs. Requires 5V power connection from dedicated SATA power connector.
- Power: Enhanced power delivery circuit. Recommended 5V 2.5A minimum (3A for SATA drives). Poor power causes WiFi disconnects and SATA instability.
- PCB: Improved thermal management and power routing compared to original Banana Pi.
GPIO 40-pin header pinout
Banana Pro uses a 40-pin header compatible with Raspberry Pi 2 layout. Pin numbering follows three conventions:
- Physical: Pin position on header (1-40)
- BCM (Broadcom): GPIO numbers used by RPi software (for compatibility)
- Allwinner: Actual A20 SoC pin names (e.g., PH7, PI10)
Key GPIO pins (Allwinner naming):
- Power: Pins 1, 17 (3.3V), Pins 2, 4 (5V), Pins 6, 9, 14, 20, 25, 30, 34, 39 (Ground)
- I2C: SDA (Pin 3 - PB21/TWI1-SDA), SCL (Pin 5 - PB20/TWI1-SCL)
- SPI: MOSI (Pin 19 - PI12), MISO (Pin 21 - PI13), SCLK (Pin 23 - PI11), CE0 (Pin 24 - PI10)
- UART: TXD (Pin 8 - PB22), RXD (Pin 10 - PB23)
- PWM: Pin 12 (PI3), configurable via device tree or FEX
- General GPIO: PH series (PH2, PH7, PH10, etc.) and PI series pins available for user applications
GPIO access methods:
# Using sysfs (legacy, widely compatible):
echo 7 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio7/direction
echo 1 > /sys/class/gpio/gpio7/value
# Using gpiod tools (modern, recommended):
gpioinfo
gpioset gpiochip0 7=1
gpioget gpiochip0 7
# Using WiringPi (if installed, see wiki link):
gpio readall
gpio mode 7 out
gpio write 7 1
Important: Pin numbering varies by tool. WiringPi uses its own numbering scheme. Always verify pinout before connecting hardware to avoid damaging GPIO pins (max 3.3V input).
WiFi and Bluetooth configuration
WiFi (AP6210 module)
The AP6210 module provides 2.4GHz 802.11n WiFi. Driver support varies by kernel version:
- Modern kernels (4.x+): Use mainline
brcmfmacdriver (built-in or module) - Legacy kernels (3.x): May require vendor-specific driver or firmware
# Check if WiFi interface exists:
ip link show wlan0
# Check driver and firmware:
dmesg | grep -i brcm
lsmod | grep brcm
# If firmware missing, install (Debian/Ubuntu):
sudo apt install firmware-brcm80211
# Connect to WiFi (NetworkManager):
sudo nmcli dev wifi list
sudo nmcli dev wifi connect "SSID" password "password"
# Or using wpa_supplicant:
wpa_passphrase "SSID" "password" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf
sudo systemctl restart wpa_supplicant
# Set regulatory domain (required for proper channel access):
sudo iw reg set US
Common WiFi issues:
- Module not detected: Check
dmesg | grep brcmfor errors. Verify firmware installed. Some images require manual firmware installation. - Weak signal/disconnects: Check power supply (insufficient power causes WiFi instability). Disable power management:
sudo iw dev wlan0 set power_save off. - Country code issues: Some channels unavailable without proper regulatory domain setting. Set via
iw reg set.
Bluetooth (BT 4.0)
# Check Bluetooth status:
hciconfig -a
# If interface down, bring up:
sudo hciconfig hci0 up
# Scan for devices:
sudo hcitool scan
# Using bluetoothctl (interactive):
bluetoothctl
> scan on
> pair [MAC_ADDRESS]
> connect [MAC_ADDRESS]
SATA 2.0 interface
Banana Pro includes SATA 2.0 interface (up to 3 Gbps theoretical, ~150-200 MB/s practical throughput with good drives).
Hardware setup
- Data cable: Standard SATA data cable connects to onboard SATA port
- Power: SATA power connector on board (4-pin, near SATA data port). Connect 5V power supply capable of delivering 2.5A+ for drive plus board.
- Drive support: 2.5" SATA drives and SSDs. 3.5" drives require external power supply (board cannot provide sufficient 12V).
Software configuration
# Check if SATA drive detected:
lsblk
# Look for /dev/sda or similar
dmesg | grep -i sata
# Look for: ahci, ata1, drive detection messages
# Check SMART status (if drive supports SMART):
sudo smartctl -a /dev/sda
# Format and mount (example, adjust as needed):
sudo fdisk /dev/sda # Create partition
sudo mkfs.ext4 /dev/sda1
sudo mkdir /mnt/sata
sudo mount /dev/sda1 /mnt/sata
# Auto-mount on boot (/etc/fstab):
/dev/sda1 /mnt/sata ext4 defaults,noatime 0 2
SATA troubleshooting:
- Drive not detected: Check power connection to SATA power connector. Verify drive spins up (listen for spin-up sound). Check
dmesgfor AHCI/SATA controller initialization. - Intermittent disconnects: Usually power-related. Upgrade to 5V 3A power supply. Check cables are fully seated.
- Poor performance: SATA 2.0 limits to ~300 MB/s theoretical. Practical speeds 150-200 MB/s with SSD. Check filesystem alignment and mount options (noatime reduces writes).
Power requirements and recommendations
- Board only: 5V 2A minimum (idle ~1.2A, peak ~1.8A with WiFi active)
- Board + SATA 2.5" HDD: 5V 2.5A minimum (3A recommended for headroom)
- Board + SATA SSD: 5V 2.5A adequate (SSDs draw less power than HDDs)
- Cable quality: Use short (<1m), thick (24AWG or better) micro-USB cable. Thin cables cause voltage drop.
Undervoltage symptoms:
- WiFi disconnects randomly
- SATA drive disconnects or not detected
- Random system freezes or reboots
- Filesystem corruption
- Check:
dmesg | grep -i voltagefor undervoltage warnings (if kernel supports detection)
Curated internal links (start here)
- Start here: Quick Start Guide — cabling, first boot, and basic access.
- Downloads hub — image files and integrity checks.
- Banana Pro specifications — reference details when choosing images and peripherals.
- SBC Maintenance Routine — preventive maintenance, backup strategies, and security updates for ARM boards.
- Network setup notes — common network bring-up checks and symptoms.
- Boot and Storage Notes — SD card reliability, boot troubleshooting, and storage best practices.
- ARM Linux Reliable Setup Checklist — comprehensive pre-flash and post-boot procedures for ARM boards.
- Log in to the Banana Pi (Wiki) — archived login tips and defaults.
- FEX configuration (Wiki) — archived notes for systems that still use script.bin style configuration.
- Building U‑Boot and kernel (Wiki) — deeper bootloader/kernel workflow notes.
- WiringPi (Wiki) — GPIO tooling notes (archival).
If you are unsure which path applies, start with the downloads hub and the Quick Start Guide. Only move to bootloader/kernel work once the board is stable and repeatable.
Quick checklist
- Stable PSU and cable (undervoltage causes random resets and storage corruption).
- Known-good SD card (or eMMC module) and a reliable card writer.
- Ethernet cable for first boot (recommended).
- Optional: USB–TTL serial adapter (3.3V) for recovery and early boot logs.
- Verified image file (checksum matches).
- A plan for access: SSH keys ready, or local console available.
- Spare storage available for "try a different card" troubleshooting.
Steps / guidance
- Choose an image and verify the download.
Start from the downloads hub and verify integrity before flashing:
sha256sum banana-pro-image.img.xz sha256sum banana-pro-image.img - Flash to storage and confirm partitions.
lsblk blkid - Boot with minimal peripherals. Use Ethernet and avoid extra USB devices until the baseline boot is stable.
- Confirm identity and interfaces.
uname -a cat /proc/cpuinfo | head -n 40 ip a ip r lsblk - Record a baseline boot report.
systemctl --failed journalctl -b -p err | tail -n 120 dmesg | tail -n 80Keep this output (copy/paste into notes). If a future update changes behaviour, you can compare logs quickly.
- Update once under supervision. Keep console access open; after reboot, repeat the verification checks.
Verification checks
Use at least two checks after flashing or changing boot components:
sha256sum banana-pro-image.img
ip a
lsblk
dmesg | tail -n 50
journalctl -b -p err | tail -n 120
Common pitfalls (Banana Pro)
- Wrong image for the board variant: symptoms include no boot, no network, or missing devices; re-check model and image notes.
- Wrong boot configuration format: some images rely on FEX/script.bin expectations; others use device tree. Change one variable at a time.
- Undervoltage and marginal storage: random resets, filesystem errors, and "sometimes works" behaviour usually point here.
- Assuming Wi‑Fi is easier than Ethernet: first boot over Ethernet removes a lot of variables.
Troubleshooting
- No boot: swap PSU/cable first, then swap SD card; confirm you flashed the correct device; capture serial logs if available.
- Boots but no network: check
ip aandip r; confirm DNS withcat /etc/resolv.conf. - Filesystem errors: treat as storage until proven otherwise; re-flash to a new card and retry.
- USB devices unstable: reduce peripherals; try powered hub for high-draw devices; check
dmesgimmediately after plug/unplug. - After update, access lost: use serial/local console; check
journalctl -b -p err; revert the last risky change first. - SATA drive not detected: verify power connection to SATA power connector; check
lsblkanddmesg | grep -i sata; confirm drive spins up (audible); upgrade PSU to 3A if using HDD. - WiFi firmware missing: install firmware package:
sudo apt install firmware-brcm80211; checkdmesg | grep brcmfor loading errors; reboot after installation. - Bluetooth not working: bring up interface:
sudo hciconfig hci0 up; check BlueZ service:systemctl status bluetooth; scan for devices:bluetoothctl scan on. - GPIO permission denied: add user to gpio group:
sudo usermod -a -G gpio $USER; check udev rules in/etc/udev/rules.d/; logout and login for group changes to take effect.
Common mistakes
- Skipping checksums and debugging a corrupt image.
- Changing bootloader and kernel in the same session.
- Running headless without a recovery path (serial or local console).
- Debugging "random" problems without swapping PSU/cable and storage.
- Mixing configuration approaches (FEX/script.bin assumptions vs device tree) without confirming what the image expects.
- Connecting 5V signals to GPIO pins (max input is 3.3V).
- Using WiFi for first boot without confirming firmware is present.
- Expecting 3.5" SATA drives to work without external 12V power.
Frequently asked questions
- Are GPIO pins 5V tolerant?
- No. Banana Pro GPIO operates at 3.3V. Connecting 5V signals directly will damage the SoC. Use level shifters for 5V devices.
- SATA vs USB storage: which is faster?
- SATA 2.0 provides ~150-200 MB/s with SSD (theoretical 300 MB/s). USB 2.0 limited to ~30-35 MB/s practical. For NAS or high-throughput applications, use SATA.
- Does WiFi support 5GHz band?
- No. AP6210 module is 2.4GHz only (802.11b/g/n). Maximum theoretical speed 150Mbps (typical 50-80Mbps in practice).
- What Bluetooth version is supported?
- Bluetooth 4.0 (part of AP6210 module). Supports BLE (Bluetooth Low Energy) and classic profiles. Configure via
bluetoothctl. - Which OS images work best for Banana Pro?
- Armbian offers best hardware support and mainline kernels. Raspbian ports available but may have driver limitations. Check downloads hub for verified images.
- FEX vs device tree: which does my image use?
- Legacy images (kernel 3.x) use FEX/script.bin. Modern images (kernel 4.x+) use device tree. Check
/bootforscript.bin(FEX) or*.dtbfiles (device tree). - Serial console settings?
- 115200 baud, 8N1, no flow control. Connect USB–TTL adapter to pins 8 (TX) and 10 (RX) on GPIO header. Adapter must be 3.3V logic level.
- What power supply do you recommend?
- 5V 2.5-3A from reputable brand (Anker, RAVPower, official Raspberry Pi adapter). Use quality micro-USB cable (24AWG or thicker, <1m length). Avoid phone chargers.
- SD card vs eMMC: which should I use?
- eMMC faster and more reliable for constant writes. SD card easier to swap for testing. For production NAS/server, use eMMC or boot from SATA (if bootloader supports).
- CSI camera support?
- Banana Pro has CSI connector for parallel camera interface. Support depends on kernel drivers and device tree configuration. Compatibility limited compared to Raspberry Pi Camera Module.
Related guides
- Image files and integrity checks
- Banana Pro specifications
- Quick Start Guide
- SBC Maintenance Routine
- Network Setup Notes
- Boot and Storage Notes
- ARM Linux Reliable Setup Checklist
Author: LeMaker Documentation Team
Last updated: 2026-01-12