@@ -13,6 +13,8 @@ A comprehensive, read-only diagnostic tool for troubleshooting Linux audio issue
1313- ** Comprehensive checks** : Services, devices, routing, profiles, and recent logs
1414- ** Smart detection** : Identifies common issues like dummy outputs, suspended nodes, and disabled profiles
1515- ** Test capability** : Optional audio playback test to verify output
16+ + ** Technical detail reporting** : Shows Bluetooth codecs, sample rates, latency, and battery levels
17+ + ** Enhanced Bluetooth support** : Real-time battery monitoring via bluetoothctl
1618
1719## 📋 Requirements
1820
@@ -29,6 +31,8 @@ A comprehensive, read-only diagnostic tool for troubleshooting Linux audio issue
2931- ` pactl ` - PulseAudio control
3032- ` aplay ` - ALSA utilities
3133- ` journalctl ` - System log access
34+ + ` bluetoothctl ` - Bluetooth battery monitoring
35+ + ` bc ` - Volume percentage calculations
3236
3337## 🚀 Quick Start
3438
@@ -100,6 +104,12 @@ SINCE="1 hour ago" ./audio-diagnostic.sh
100104- Current default input (source)
101105- Device routing (HDMI, Bluetooth, USB, built-in)
102106- Dummy device detection
107+ + Bluetooth codec quality (SBC, AAC, aptX, LDAC)
108+ + Sample rates and formats (48kHz/s16le)
109+ + Channel configurations (stereo, 5.1, 7.1)
110+ + Latency monitoring
111+ + Battery levels for wireless devices
112+ + DSP effects (echo cancellation, noise suppression)
103113
104114### 3. Available Audio Devices
105115- All audio sinks (outputs)
@@ -133,16 +143,15 @@ SINCE="1 hour ago" ./audio-diagnostic.sh
133143- ℹ️ ** Info icons** : Important routing information
134144- 🔊 ** Dim text** : Additional details and suggestions
135145
136- ### Common Issues Detected
137-
138- | Issue | What It Means | Typical Fix |
139- | -------| ---------------| -------------|
140- | ** Dummy output** | No real audio device available | Restart audio service, check drivers |
141- | ** Profile OFF** | Sound card disabled | Set profile in Settings → Sound |
142- | ** Service inactive** | Audio daemon not running | ` systemctl --user restart pipewire ` |
143- | ** Suspended nodes** | Devices in power-save state | Restart WirePlumber |
144- | ** Bluetooth errors** | BT audio connection issues | Re-pair device, restart bluetooth |
145- | ** No default sink** | No output device selected | Select device in Settings → Sound |
146+ + ### Technical Details Shown
147+ +
148+ + | Detail | What It Means | Good Values |
149+ + | --------| ---------------| -------------|
150+ + | ** Codec** | Bluetooth audio compression | AAC, aptX, LDAC (avoid SBC) |
151+ + | ** Sample Rate** | Audio quality/resolution | 44.1kHz or 48kHz standard |
152+ + | ** Latency** | Audio delay in samples | <1000 samples |
153+ + | ** Battery** | Wireless device charge | >20% |
154+ + | ** Channels** | Audio channel config | Stereo for most uses |
146155
147156## 💡 Example Outputs
148157
@@ -151,7 +160,16 @@ SINCE="1 hour ago" ./audio-diagnostic.sh
151160✅ PipeWire core: active (systemd)
152161✅ WirePlumber session: active (systemd)
153162✅ Default Output: alsa_output.pci-0000_00_1f.3.analog-stereo (ID: 47)
154- ✅ Default Input: alsa_input.pci-0000_00_1f.3.analog-stereo (ID: 48)
163+ +
164+
165+ Output Device Technical Details:
166+ ℹ️ • Connection: Bluetooth
167+ ✅ • Codec: AAC (Good quality - balanced efficiency)
168+ ✅ • Battery: 85%
169+ ✅ • Sample Rate: 48000Hz/s16le (Standard quality)
170+ ✅ • Channels: Stereo
171+ ℹ️ • Latency: 512 samples
172+ ℹ️ • Volume: 76%
155173✅ No service events or errors in recent logs
156174✅ No critical issues detected - audio system appears healthy
157175```
@@ -224,6 +242,8 @@ GPL-3.0-1 License - [See LICENSE file for details](https://github.com/FrameworkC
224242- Journal time window may include system-wide logs when user logs are empty
225243- Some device names may be truncated in PipeWire listings
226244- Bluetooth device detection relies on device naming patterns
245+ + Bluetooth battery levels require bluetoothctl and may not work with all devices
246+ + Some PipeWire versions may not expose all technical properties
227247
228248
229249## ❓ FAQ
@@ -243,6 +263,9 @@ A: Only when experiencing audio issues. It's a diagnostic tool, not a monitoring
243263** Q: Does this work with Bluetooth headphones?**
244264A: Yes, it detects and reports Bluetooth audio devices and related issues.
245265
266+ + ** Q: Why don't I see battery levels for my Bluetooth device?**
267+ + A: Battery reporting requires bluetoothctl and device support. Not all Bluetooth devices report battery status.
268+
246269---
247270
248271* For issues or questions, please open a GitHub issue.*
0 commit comments