Files
mice/tools/muos_bt_diagnostic.sh
T
enne2 486cd6b7c5 Add non-regression test states and Bluetooth diagnostic script
- Introduced a new JSON file containing non-regression test states with detailed unit information, including positions, ages, and movement directions across multiple frames.
- Added a shell script for Bluetooth diagnostics that checks system information, Bluetooth binaries, running processes, D-Bus status, Bluetooth controller details, and audio stack status, providing a comprehensive overview for troubleshooting.
2026-05-17 23:36:24 +02:00

61 lines
2.2 KiB
Bash

#!/bin/sh
set -u
section() {
printf '\n===== %s =====\n' "$1"
}
run_cmd() {
printf '\n$ %s\n' "$*"
"$@" 2>&1 || printf '[exit=%s]\n' "$?"
}
run_shell() {
printf '\n$ %s\n' "$1"
sh -c "$1" 2>&1 || printf '[exit=%s]\n' "$?"
}
section "system"
run_cmd date
run_cmd uname -a
run_shell 'cat /etc/os-release 2>/dev/null || true'
section "bluetooth binaries"
run_shell 'for path in /bin/bluetoothctl /usr/bin/bluetoothctl /usr/sbin/bluetoothd /usr/libexec/bluetooth/bluetoothd /usr/bin/dbus-daemon /bin/dbus-daemon /usr/bin/dbus-send /bin/dbus-send /usr/bin/btmgmt /bin/btmgmt /usr/bin/hciconfig /bin/hciconfig /usr/sbin/rfkill /bin/rfkill; do if [ -e "$path" ]; then ls -l "$path"; fi; done'
section "processes"
run_shell 'pidof bluetoothd || true'
run_shell 'pidof dbus-daemon || true'
run_shell 'ps w | grep -E "bluetoothd|dbus-daemon|pipewire|wireplumber|bluealsa" | grep -v grep || true'
section "dbus"
run_shell 'ls -l /run/dbus/system_bus_socket /var/run/dbus/system_bus_socket 2>/dev/null || true'
run_shell 'dbus-send --system --dest=org.freedesktop.DBus --type=method_call --print-reply / org.freedesktop.DBus.ListNames 2>/dev/null | head -n 40'
section "bluetoothctl"
run_shell 'timeout 8 bluetoothctl --version 2>/dev/null || bluetoothctl --version 2>/dev/null || true'
run_shell 'timeout 8 bluetoothctl show'
section "kernel"
run_shell 'lsmod | grep -i -E "bluetooth|btusb|btmtk|hci_uart|rtl" || true'
run_shell 'dmesg | grep -i -E "bluetooth|bluez|hci|rtl_bt|btusb|btmtk" | tail -n 120 || true'
section "controllers"
run_shell 'hciconfig -a'
run_shell 'btmgmt info'
run_shell 'rfkill list'
section "sysfs"
run_shell 'find /sys/class/bluetooth -maxdepth 2 -type f 2>/dev/null | head -n 50 || true'
run_shell 'find /sys/class/rfkill -maxdepth 2 -type f 2>/dev/null | head -n 50 || true'
section "firmware"
run_shell 'find /lib/firmware -maxdepth 3 -type f 2>/dev/null | grep -i -E "rtlbt|bluetooth|mt76|mt79|mediatek" | head -n 120 || true'
section "audio stack"
run_shell 'ps w | grep -E "pipewire|wireplumber|pulseaudio|bluealsa" | grep -v grep || true'
run_shell 'command -v wpctl >/dev/null 2>&1 && wpctl status || true'
run_shell 'command -v pactl >/dev/null 2>&1 && pactl info || true'
section "done"
printf '\nDiagnostic complete.\n'