Files
BBeOS/docs/guides/hardware-testing-guide.md
Eliott 73fb76098e
Some checks failed
CI / markdown-lint (push) Failing after 14s
Reorganize BBeOS project structure for better maintainability
- Reorganized directory structure following open source best practices
- Created src/ directory for all source code components
- Moved build artifacts to build/ subdirectories
- Organized documentation into phases/, guides/, and api/ subdirectories
- Moved third-party code to vendor/ directory
- Moved downloads to downloads/ directory
- Updated all build scripts to reference new directory structure
- Created comprehensive PROJECT_STRUCTURE.md documentation
- Added DEVELOPMENT_GUIDE.md as main entry point
- Improved separation of concerns and maintainability
- Follows standard open source project conventions
2025-08-01 11:48:06 +02:00

3.7 KiB

Hardware Testing Guide - BlackBerry Classic Q20

🔧 Prerequisites

Required Hardware

  • BlackBerry Classic Q20 device
  • USB-to-serial adapter (FTDI, CP210x, or similar)
  • USB cable for device connection
  • Computer with Linux/Ubuntu

Required Software

  • fastboot and adb tools
  • Serial terminal (minicom, screen, or similar)
  • QDL tools (for EDL mode if needed)

📱 Device Preparation

1. Bootloader Access

# Check if device is unlocked
fastboot devices

# If device shows up, bootloader is accessible
# If not, we need to use EDL mode

2. Serial Console Setup

# Install serial tools
sudo apt install minicom screen

# Connect USB-to-serial adapter
# Identify device (usually /dev/ttyUSB0)
ls /dev/ttyUSB*

# Configure minicom for 115200 baud
sudo minicom -s
# Set device: /dev/ttyUSB0
# Set baud: 115200
# Set data bits: 8
# Set parity: None
# Set stop bits: 1

3. Device Boot Modes

Fastboot Mode

# Boot into fastboot
adb reboot bootloader
# or
# Power + Volume Down during boot

# Flash boot image
fastboot flash boot bbeos-boot.img
fastboot reboot

EDL Mode (Emergency Download)

# If fastboot not available, use EDL
# Power + Volume Up + Volume Down during boot
# Device should show as Qualcomm device

# Use QDL tools to flash
qdl --debug --storage emmc --program boot bbeos-boot.img

🧪 Testing Procedure

1. Initial Boot Test

# Flash boot image
./flash-boot.sh

# Monitor serial console
sudo minicom -D /dev/ttyUSB0 -b 115200

# Expected output:
# BBeOS starting...
# BBeOS root filesystem loaded
# Welcome to BBeOS on BlackBerry Classic Q20!
# / #

2. Basic System Test

# Test basic commands
ls /
cat /proc/cpuinfo
cat /proc/meminfo
dmesg | head -20

3. Hardware Detection Test

# Check detected hardware
ls /sys/bus/
ls /sys/class/
cat /proc/interrupts
cat /proc/devices

4. Device Tree Test

# Verify device tree
cat /proc/device-tree/compatible
ls /proc/device-tree/

🔍 Debugging

Serial Console Issues

  • Check baud rate (should be 115200)
  • Verify USB-to-serial adapter compatibility
  • Check device permissions (sudo chmod 666 /dev/ttyUSB0)

Boot Issues

  • Check kernel command line parameters
  • Verify device tree compatibility
  • Check initramfs loading

Hardware Issues

  • Check GPIO configurations
  • Verify I2C bus detection
  • Check interrupt assignments

📊 Expected Results

Successful Boot

  • Kernel loads without errors
  • Initramfs mounts successfully
  • BusyBox shell starts
  • Serial console responsive

Hardware Detection

  • CPU: MSM8960 detected
  • Memory: 2GB RAM available
  • Storage: eMMC detected
  • Serial: UART console working

Basic Functionality

  • File system operations work
  • Process management functional
  • Device tree accessible
  • Interrupt system working

🚨 Troubleshooting

Device Not Detected

# Check USB connection
lsusb | grep -i qualcomm
lsusb | grep -i blackberry

# Check fastboot
fastboot devices

# Check ADB
adb devices

Boot Loop

  • Check kernel command line
  • Verify device tree compatibility
  • Check initramfs integrity

No Serial Output

  • Verify serial adapter connection
  • Check baud rate settings
  • Test with known working device

📝 Testing Checklist

  • Device boots into BBeOS
  • Serial console accessible
  • Basic shell commands work
  • Hardware detection functional
  • Device tree properly loaded
  • No kernel panics or errors
  • System responsive to input

🎯 Next Steps After Testing

  1. Display Testing: Verify framebuffer output
  2. Input Testing: Test keyboard and trackpad
  3. Audio Testing: Check audio codec detection
  4. Network Testing: Test Wi-Fi/Bluetooth
  5. Power Testing: Check battery and charging