Sixaxis dies after a few minutes, takes BT with it, requires reboot to reconnect
-
RPI 3 v 1.2 2015 with 3 amp power supply, nothing connected to it. Official PS3 Dualshock 3 controller, tried 2 controllers, both do it.
Running the latest RetroPie image and updated all packages in RetroPie-Setup, installed sixaxis and the controller pairs fine. No other drivers installed.
After 1-2 minutes of playing, the controller stops responding. LED shows it still connected for about 30 seconds after, then the controller turns off and RetroPie shows the controller as disconnected at about that time. Turning it back on will NOT reconnect it. I have to plug in a controller to get anything to work at that point.
I have a Gamesir 3Gs as well (generic Android BT Control pad) and it will connect and stay connected by itself but if one of my Dualshock 3's dies the Gamesir will get disconnected too and will not reconnect either. Only way to get anything to connect to BT at that point is to reboot.
I found a similar post -> https://www.raspberrypi.org/forums/viewtopic.php?t=268915
However, the recommended fix involves downgrading Bluez version 5.50-1.2~deb10u1 which is too old for the current pi-bluetooth package (0.1.15 requires bluez 5.50-1.2~deb10u1+rpt1 or newer and current installed is 5.50-1.2~deb10u1+rpt2) There is no older pi-bluetooth package in the repo
EDIT: Now the Gamesir did it, too, without a Sixaxis connected. So it's not just the Dualshocks.
"/etc/init.d/bluetooth status" shows
Feb 12 16:48:37 retropie systemd[1]: Starting Bluetooth service...
Feb 12 16:48:38 retropie bluetoothd[484]: Bluetooth daemon 5.50
Feb 12 16:48:38 retropie systemd[1]: Started Bluetooth service.
Feb 12 16:48:38 retropie bluetoothd[484]: Starting SDP server
Feb 12 16:48:38 retropie bluetoothd[484]: Bluetooth management interface 1...zed
Feb 12 16:48:38 retropie bluetoothd[484]: Sap driver initialization failed.
Feb 12 16:48:38 retropie bluetoothd[484]: sap-server: Operation not permit...(1)
Feb 12 16:48:38 retropie bluetoothd[484]: Failed to set privacy: Rejected (0x0b)Restarting the bluetooth service via ssh also doesn't work, full reboot required
-
@phane Did you also upgrade the OS during the update ? There have been some changes a new Bluetooth firmware version added recently.
-
@mitu It asked me if I wanted to upgrade the Core OS files and I said yes. I believe I was told years ago not to use apt-upgrade and use the RetroPie-Setup to update since some packages on the repo could break things. Should I do a full apt-upgrade?
-
@phane said in Sixaxis dies after a few minutes, takes BT with it, requires reboot to reconnect:
It asked me if I wanted to upgrade the Core OS files and I said yes.
Then you don't need to run
apt
to upgrade the kernel/firmware.Can you run
dmesg | tail -n 20
after the controller is disconnected and post the output on pastebin.com ? -
The issue seems to have resolved itself. I played a bit last night and today and have had no disconnects despite having changed nothing at all. I'll post a dmesg if it happens again.
@mitu Update: After leaving it idle for a while my Dualshock 3 and Gamesir won't reconnect, so I'm guessing it happened again but not certain. Here's the dmesg output
[ 9311.196464] Bluetooth: hci0: Frame reassembly failed (-84) [ 9345.613738] Bluetooth: hci0: Frame reassembly failed (-84) [ 9345.613946] Bluetooth: hci0: Frame reassembly failed (-84) [ 9345.614043] Bluetooth: hci0: Frame reassembly failed (-84) [ 9345.614128] Bluetooth: hci0: Frame reassembly failed (-84) [ 9345.614214] Bluetooth: hci0: Frame reassembly failed (-84) [ 9345.614268] Bluetooth: hci0: Frame reassembly failed (-84) [ 9376.641762] Bluetooth: hci0: Frame reassembly failed (-84) [ 9376.642400] Bluetooth: hci0: Frame reassembly failed (-84) [ 9522.308071] Bluetooth: hci0: Frame reassembly failed (-84) [ 9522.308109] Bluetooth: hci0: Frame reassembly failed (-84) [ 9522.308154] Bluetooth: hci0: Frame reassembly failed (-84) [ 9522.308254] Bluetooth: hci0: Frame reassembly failed (-84) [ 9522.308342] Bluetooth: hci0: Frame reassembly failed (-84) [ 9522.308487] Bluetooth: hci0: Frame reassembly failed (-84) [ 9522.308550] Bluetooth: hci0: Frame reassembly failed (-84) [10183.597671] sony 0005:054C:0268.0007: unknown main item tag 0x0 [10184.057612] input: Sony PLAYSTATION(R)3 Controller Motion Sensors as /devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:054C:0268.0007/input/input13 [10184.059085] input: Sony PLAYSTATION(R)3 Controller as /devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:054C:0268.0007/input/input12 [10184.059693] sony 0005:054C:0268.0007: input,hidraw0: BLUETOOTH HID v80.00 Joystick [Sony PLAYSTATION(R)3 Controller] on b8:27:eb:2b:5f:2a
-
To quote on of the RPF engineers:
The 3B doesn't have the flow control signals hooked up to the BT modem - we were short of pins - so it is possible for characters to get lost under load (especially interrupt load). [..]If the rate is low, you may find that reducing the baud rate by editing /usr/bin/btuart gets a more stable connection.
Try disabling the WiFi and see if that makes a difference:
sudo rfkill block wlan
You can also take the advice above and edit /usr/bin/btuart to lower the bitrate then reboot to see if the connection remains stable.
IMHO, when using multiple Bluetooth adapters on Pi models before 3B+, an USB BT dongle should be preferred.
-
@mitu I don't think this is a load issue since it has happened repeatedly with just one controller and didn't happen when we were playing with 3 and 4 controllers for about an hour yesterday. This issue also never occurred under Stretch. I've had this Pi for years using Dualshock 3's and it wasn't a problem.
I did have it running something else for the last year or so and wasn't using BT, then flashed the new Buster based Retropie after, so it could be that the BT is failing with age and I didn't notice until now. It also seems to have been happening less often the more I've used it for some reason.
If I did have the issue again, would reducing the baud rate of the BT adapter have any adverse effects on the controllers? What rate should I change (there are three in the file based on some if statements I don't understand) and what would be a good setting to reduce it to?
-
@phane said in Sixaxis dies after a few minutes, takes BT with it, requires reboot to reconnect:
What rate should I change (there are three in the file based on some if statements I don't understand) and what would be a good setting to reduce it to?
Change the
921600
value and halve it to460800
(then 230400, 115200 etc.).
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.