Troubleshooting¶
Solutions for common issues when using BIT.
Service Issues¶
Service Won't Start¶
Check service status:
View error logs:
Common causes:
- Missing configuration files
- Permission errors
Some tests require root privileges. Ensure service runs as root (default in systemd unit).
- Plugin load errors
# Verify plugins exist
ls -l /usr/local/lib/bit_manager/*.so
# Reinstall if missing
sudo dpkg -i bit-manager_*.deb
Service Crashes or Restarts¶
Check logs for errors:
Look for: - Segmentation faults → File a bug report with logs - Configuration errors → Fix invalid TOML syntax - Hardware access errors → Check permissions
Test Discovery Issues¶
Tests Not Appearing in bit-inspect¶
Verify plugin directory:
Should show 50+ .so files for test plugins.
If plugins are missing:
Specific Test Not Loading¶
Check configuration file exists:
Regenerate specific test config:
Verify test is enabled:
Should show enabled = true.
bit-learn Issues¶
Permission Denied¶
Solution:
Missing Hardware Tools¶
Symptoms: lsusb not found or similar warnings
Solution:
Overwrote Manual Changes¶
Prevention:
Recovery:
bit-inspect Issues¶
Test Not Listed¶
Check if .so exists:
Config File Not Found¶
Solution:
Permission Errors¶
Solution:
Configuration Issues¶
Invalid Configuration¶
Symptoms: Tests fail to load, service won't start
Check TOML syntax:
Common TOML errors:
- Missing quotes around strings
- Incorrect array syntax ([[device]] vs [device])
- Trailing commas
- Mismatched brackets
Fix: Edit manually or regenerate:
Configuration Changes Not Applied¶
Restart the service after editing configs:
One-shot mode picks up changes automatically:
Lost Configuration After bit-learn¶
bit-learn overwrites all config files. Always back up before regenerating:
# Backup before regenerating
sudo cp -r /etc/bit /etc/bit.backup
# Restore if needed
sudo cp -r /etc/bit.backup/* /etc/bit/
Permission Issues¶
Permission Denied Errors¶
Symptoms: Tests fail with "permission denied" or "operation not permitted"
Affected tests: GPIO, CAN, serial ports, dmesg
Solution: Run as root:
Service mode runs as root by default (via systemd unit).
Specific Hardware Tests Fail¶
Check hardware permissions:
# CAN interfaces
ls -l /dev/can*
# Serial ports
ls -l /dev/ttyS* /dev/ttyUSB*
# GPIO
ls -l /sys/class/gpio/
Grant access (if not running as root):
# Add user to dialout group for serial
sudo usermod -a -G dialout $USER
# Reboot or re-login for changes to take effect
Monitor Issues¶
Monitors Can't Connect¶
Symptoms: bit-monitor-cli or bit-monitor-gui show no results
Check bit-manager is running with Zenoh:
# Service mode
systemctl status bit_manager
# Manual mode (must include --zenoh flag)
bit-manager --zenoh -o
Verify Zenoh publishing:
Check logs for "Publishing" messages:
Check hostname match:
Monitors subscribe to bit/<hostname>/* topics. Verify hostnames match:
# On target system
hostname
# On monitor system
bit-monitor-cli --hostname <target-hostname> --listen
GUI Monitor Won't Start¶
Missing Qt6 dependencies:
Display issues (headless systems):
Test Execution Issues¶
Tests Always Fail¶
Check thresholds are realistic:
Check hardware is functional:
Tests Never Run (NotRun status)¶
CBIT tests wait for interval:
First execution happens after frequency seconds:
Test is disabled:
Should show enabled = true.
Specific Hardware Test Fails¶
Hardware not present (normal):
Tests pass gracefully when hardware isn't configured:
This is expected behavior - no action needed.
Hardware present but failing:
Check device-specific logs:
Performance Issues¶
High CPU Usage¶
Reduce CBIT test frequency:
Slow Test Execution¶
Disable unnecessary tests:
Or remove hardware-specific tests for devices you don't have (GPIO, CAN, etc.).
Getting Help¶
If you can't resolve the issue:
- Collect logs:
- Check test configuration:
- Get system info:
- File an issue: https://github.com/Astute-Systems/bit/issues
Include logs, configuration, and system information in your report.
Related Documentation¶
- Installation Guide: Reinstallation steps
- Configuration Reference: Configuration syntax
- Test Reference: Test-specific requirements
- User Guide: Advanced execution modes