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
189 lines
3.7 KiB
Markdown
189 lines
3.7 KiB
Markdown
# 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 |