Some checks failed
CI / markdown-lint (push) Failing after 14s
- 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
3.7 KiB
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
fastbootandadbtools- 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
- Display Testing: Verify framebuffer output
- Input Testing: Test keyboard and trackpad
- Audio Testing: Check audio codec detection
- Network Testing: Test Wi-Fi/Bluetooth
- Power Testing: Check battery and charging