jromang/picochess

DGTPi: Bluetooth not reconnecting from standby

Closed this issue · 1 comments

My DGTPi with the latest Raspberry Pi 3B+ inside won't reconnect to the Bluetooth DGT Board when waking up from standby mode. The clock keeps displaying 'no e-Board' with the spinning wheel. The output of systemctl status hciuart looks like this:

● hciuart.service - Configure Bluetooth Modems connected by UART
   Loaded: loaded (/lib/systemd/system/hciuart.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sat 2018-03-31 09:34:28 UTC; 1min 11s ago
  Process: 2768 ExecStart=/usr/bin/hciattach /dev/serial1 bcm43xx 115200 noflow - (code=exited, status=1/FAILURE)

Mar 31 09:34:28 dgtpi systemd[1]: Starting Configure Bluetooth Modems connected by UART...
Mar 31 09:34:28 dgtpi hciattach[2768]: Failed to reset chip, command failure
Mar 31 09:34:28 dgtpi hciattach[2768]: Can't initialize device: Success
Mar 31 09:34:28 dgtpi hciattach[2768]: bcm43xx_init
Mar 31 09:34:28 dgtpi systemd[1]: hciuart.service: Control process exited, code=exited status=1
Mar 31 09:34:28 dgtpi systemd[1]: Failed to start Configure Bluetooth Modems connected by UART.
Mar 31 09:34:28 dgtpi systemd[1]: hciuart.service: Unit entered failed state.
Mar 31 09:34:28 dgtpi systemd[1]: hciuart.service: Failed with result 'exit-code'.

The output of systemctl status bluetooth looks correct:

● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2018-03-31 09:34:28 UTC; 1min 5s ago
     Docs: man:bluetoothd(8)
 Main PID: 2830 (bluetoothd)
   Status: "Running"
   CGroup: /system.slice/bluetooth.service
           └─2830 /usr/lib/bluetooth/bluetoothd --noplugin=sap

Mar 31 09:34:28 dgtpi systemd[1]: Starting Bluetooth service...
Mar 31 09:34:28 dgtpi bluetoothd[2830]: Bluetooth daemon 5.43
Mar 31 09:34:28 dgtpi bluetoothd[2830]: Starting SDP server
Mar 31 09:34:28 dgtpi bluetoothd[2830]: Excluding (cli) sap
Mar 31 09:34:28 dgtpi systemd[1]: Started Bluetooth service.
Mar 31 09:34:28 dgtpi bluetoothd[2830]: Bluetooth management interface 1.14 initialized

Invoking hciattach manually does not help. It gives this output:

pi@dgtpi:~ $ sudo /usr/bin/hciattach /dev/serial1 bcm43xx 115200 noflow - bcm43xx_init
Patch not found for dgtpi, continue anyway
Set Controller UART speed to 115200 bit/s
Device setup complete

Output of systemctl status hciuart should look like this when the Bluetooth connection is made correctly, for example upon rebooting the RPi3B+:

● hciuart.service - Configure Bluetooth Modems connected by UART
   Loaded: loaded (/lib/systemd/system/hciuart.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2018-03-31 09:16:02 UTC; 44s ago
  Process: 294 ExecStart=/usr/bin/hciattach /dev/serial1 bcm43xx 115200 noflow - (code=exited, status=0/SUCCESS)
 Main PID: 575 (hciattach)
   CGroup: /system.slice/hciuart.service
           └─575 /usr/bin/hciattach /dev/serial1 bcm43xx 115200 noflow -

Mar 31 09:15:55 dgtpi systemd[1]: Starting Configure Bluetooth Modems connected by UART...
Mar 31 09:16:02 dgtpi hciattach[294]: bcm43xx_init
Mar 31 09:16:02 dgtpi hciattach[294]: Flash firmware /lib/firmware/brcm/BCM4345C0.hcd
Mar 31 09:16:02 dgtpi hciattach[294]: Set Controller UART speed to 115200 bit/s
Mar 31 09:16:02 dgtpi hciattach[294]: Device setup complete
Mar 31 09:16:02 dgtpi systemd[1]: Started Configure Bluetooth Modems connected by UART.

To get DGTPi playing again, the user needs to reboot the RPi3B+.

Thats the same as #252
You need to change line 12 & 17 to "115200" too (file: /usr/bin/hciuart), and it should work
On behalf of Lucas.