I figured it out yesterday and went to sleep right after finishing what I was working on lol. Here’s how I did it:
Steps / tldr:
- Start from fresh install
- Setup as normal but DO NOT install MODEP
- Make a copy of
/usr/bin/pisound-ctl
and put it somewhere safe (ie. home directory) - Install MODEP
- Replace the current
/usr/bin/pisound-ctl
with the copy you made in step 3 - The
pisound-ctl
service will auto-restart. Put your Pisound in pairing mode and connect with the app!
Explanation:
So after starting from a fresh install, I realized that the exact same Bluetooth errors mentioned earlier in this thread were still there, yet the Pisound app worked just fine:
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2022-05-17 14:32:39 BST; 1 months 6 days ago
Docs: man:bluetoothd(8)
Main PID: 808 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 4915)
CPU: 76ms
CGroup: /system.slice/bluetooth.service
└─808 /usr/libexec/bluetooth/bluetoothd
May 17 14:32:38 patchbox bluetoothd[808]: Bluetooth daemon 5.55
May 17 14:32:39 patchbox bluetoothd[808]: Starting SDP server
May 17 14:32:39 patchbox systemd[1]: Started Bluetooth service.
Jun 23 23:54:59 patchbox bluetoothd[808]: Bluetooth management interface 1.21 initialized
Jun 23 23:55:00 patchbox bluetoothd[808]: profiles/sap/server.c:sap_server_register() Sap driver initialization failed.
Jun 23 23:55:00 patchbox bluetoothd[808]: sap-server: Operation not permitted (1)
Jun 23 23:55:00 patchbox bluetoothd[808]: Failed to set privacy: Rejected (0x0b)
Jun 23 23:56:01 patchbox bluetoothd[808]: Endpoint registered: sender=:1.48 path=/MediaEndpoint/A2DPSink/sbc
Jun 23 23:56:01 patchbox bluetoothd[808]: Endpoint registered: sender=:1.48 path=/MediaEndpoint/A2DPSource/sbc
Jun 23 23:56:01 patchbox bluetoothd[808]: src/profile.c:ext_start_servers() RFCOMM server failed for Headset unit: rfcomm_bind: Address already in use (98)
And I remembered pisound-ctl
being in an auto-restart loop, and when I tried to execute it myself earlier with MODEP installed, it gave an exec format error
, implying the binary was never going to run, no matter what settings were tweaked in the system.
So given that the executable was not giving this error before MODEP was installed, I concluded that the MODEP installation was improperly modifying /usr/bin/pisound-ctl
, causing the error. I’m not sure if this is intentional, but when I replaced the post-MODEP version with a backup of the pre-MODEP version, everything worked flawlessly. I was expecting the Pisound app to not be able to see my MODEP pedalboards or something, but nope. Everything works exactly as expected!
It’s also worth noting that the Bluetooth errors are still present after this fix - but they don’t seem to cause any issues. I have my Pisound set up to transfer mp3s over Bluetooth, and it hasn’t failed to connect/transfer once.
Hope this helps!
(Also dev team, this should be easy to replicate on a RPi 4B 8GB, but if you need any more information lmk )