From 9087ef9f3d930fb26861d042e8906120799954a6 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Sun, 22 Feb 2015 10:44:04 -0500 Subject: Document the Bluetooth troubleshooting procedure. --- www/upstream-bugs.html | 47 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 13 deletions(-) (limited to 'www/upstream-bugs.html') diff --git a/www/upstream-bugs.html b/www/upstream-bugs.html index 0fd47883..886280d5 100644 --- a/www/upstream-bugs.html +++ b/www/upstream-bugs.html @@ -126,19 +126,40 @@ baud rate so tcsetattr is never called.

Firmware problems in some Bluetooth and USB devices can hang them

The baudrate-hunting code in gpsd tickles a serious -firmware bug on some some Bluetooth devices, notably those shipped by -Holux and including the GPSlim-236. This bug may render these GPSes -catatonic. The problem seems to be that buggy firmware inside these -receivers doesn't necessarily keep the Bluetooth serial-port emulation -and the GPS chip talking at the same baud rate. This problem is not -unique to gpsd — Windows users are warned against using -SiRFdemo's "Synchronize Protocol/Baud Rate" option on Bluetooth devices.

+firmware bug on some some Bluetooth devices; these are flagged on our +Hardware page. This bug may render these +GPSes catatonic. The problem seems to be that buggy firmware inside +these receivers doesn't necessarily keep the Bluetooth serial-port +emulation and the GPS chip talking at the same baud rate. This problem +is not unique to gpsd — Windows users are warned +against using SiRFdemo's "Synchronize Protocol/Baud Rate" option on +Bluetooth devices.

If this happens, you can sometimes recover by repeatedly sending -reset messages using gpsctl. The only guaranteed fix is to -drain the battery backing up the GPS's settings; in extreme cases, you -may have to open the case and unsolder the backup battery so the chip -forgets its configuration settings.

+reset messages using gpsctl. Otherwise, power-cycling the +GPS The only guaranteed fix is to drain the battery backing up the +GPS's settings; in extreme cases, you may have to open the case and +unsolder the backup battery so the chip forgets its configuration +settings.

+ +

To check whether you have this bug:

+ +
    +
  1. Reset your GPS to a usable state.

  2. + +
  3. Launch gpsd with the Bluetooth device on the command line and +the -b option to prevent autobauding.

  4. + +
  5. Observe it operating.

  6. + +
  7. Power down the device and terminate gpsd.

  8. + +
  9. Launch with -b again and see if it still works.

  10. +
+ +

If you find the device comes up on the last step, then you know +that -b is an effective workaround and can finger bad Bluetooth +firmware as the cause of the problem.

A separate bug with less severe symptoms afflicts some USB devices. The probe strings gpsd sends in order to determine device @@ -148,8 +169,8 @@ break up the probe writes into smaller pieces, interleaving them with the first few packet reads, so they are far less likely to trigger this bug.

-

Use the -b option of gpsd to prevent it from trying to reconfigure -your GPS; this will avoid both problems.

+

You can use the -b option of gpsd to prevent it from trying to +reconfigure your GPS; this will avoid both problems.

Linux pl2303 driver on openwrt 2.4 kernel can hang when device is read at unexpected speed

-- cgit v1.2.1