# 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 ```bash # 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 ```bash # 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 ```bash # 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) ```bash # 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 ```bash # 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 ```bash # Test basic commands ls / cat /proc/cpuinfo cat /proc/meminfo dmesg | head -20 ``` ### 3. Hardware Detection Test ```bash # Check detected hardware ls /sys/bus/ ls /sys/class/ cat /proc/interrupts cat /proc/devices ``` ### 4. Device Tree Test ```bash # 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 ```bash # 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