🛠 Advanced setup: First console access and firmware flashing for BPI-RT2
Objectives
This tutorial targets advanced users aiming to master the low-level boot process of the Banana Pi BPI-RT2. We will establish a reliable serial connection to diagnose the U-Boot boot process and manually install an OpenWrt firmware image via TFTP. This method is crucial for debugging or board recovery.
Hardware Required
- Banana Pi BPI-RT2 board
- 12V DC Power Supply (barrel jack)
- USB-to-Serial Converter (3.3V TTL)
- Dupont cables (TX, RX, GND)
- PC with serial client (PuTTY, minicom) and TFTP server
- OpenWrt firmware image compatible with RTL8198D
Steps
Locate the UART header on the board. The official schematic indicates TX, RX, and GND pins. Ensure your serial converter operates at 3.3V to avoid damaging the Realtek RTL8198D SoC.
- Identify UART Pins
Connect the converter's GND to the board's GND. Cross the lines: Converter TX to Board RX, and Converter RX to Board TX. Do not connect VCC if power is already supplied via the barrel jack.
- Serial Wiring
Open your serial client. Set parameters to 115200 baud, 8N1, no flow control. Open the corresponding COM port.
- Terminal Configuration
Connect the 12V power. Observe boot logs. Press a key quickly to interrupt boot and enter the U-Boot prompt. This is where you can modify boot variables.
- Boot and U-Boot Access
On your PC, configure a static IP (e.g., 192.168.1.10). Place the firmware image in your TFTP server root directory. Ensure the firewall allows UDP connections on port 69.
- TFTP Server Preparation
In U-Boot, set IP addresses: setenv ipaddr 192.168.1.1, setenv serverip 192.168.1.10. Start the download: tftpboot 0x82000000 openwrt-rt2.bin. Once loaded, erase the target flash partition and write the image using nand write or sf write depending on the Realtek BSP configuration.
- Flashing via TFTP
Type reset to reboot the board. Verify that status LEDs activate correctly and the OS starts.
- Reboot
Verification
Once the system boots, log in via SSH or serial console. Check the kernel version and loaded WiFi 6 drivers (dmesg | grep wifi). Ensure network interfaces eth0 (WAN) and eth1 (LAN) are detected with valid IP addresses.
Further Reading
Explore GPIO and I2C header configuration to connect external sensors. You can also optimize WiFi 6 AX3000 performance by adjusting channel and power settings in the OpenWrt LuCI web interface.