Bluetooth dangerously unstable on Dell Q15R (N5110)

Bug #1176680 reported by Cefn
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
bluez (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Some kind of major kernel issue has been triggered on three separate occasions in the last couple of days when trying to manipulate a bluetooth serial rfcomm socket. This issue has persisted through a kernel update (yesterday) and I just experienced it again a few moments ago.

The symptoms are that the desktop drops to scrolling black text, and CTRL+ALT+F1 is unresponsive, leaving the only option a hard shutdown. The entire desktop session is lost.

This has been triggered simply by trying to connect/disconnect a Bluetooth serial device (known as a JY-MCU). The tools I've been using to send and receive data over the /dev/rfcomm0 device are python-serial and Arduino. You can see the tools and commands I've been using to pair and connect the device at https://github.com/cefn/blueshrimp/blob/master/util/desktop/pairbluetooth.sh

In the case of python-serial, the operation of the program is only possible after _binding_, as it seems to want to connect the port itself...
rfcomm bind rfcomm ${MACADDRESS}

...whilefor Arduino, the following is needed, as it needs a _connected_ port
rfcomm connect rfcomm0 ${MACADDRESS}

They certainly don't play nicely together. Java/Arduino seems to be mismanaging the serial device - it doesn't release it when not in use, so I have to shut down Arduino completely to then launch python. In principle this is something I can cope with as I don't need both at the same time.

However, hitting total kernel panic is not acceptable and means my project work on Bluetooth may be impossible to progress.

I'm currently running the hcidump log and I suppose I may be able to gather something from the next time it occurs. Not sure what else I can report about the global brownout which is experienced by the 13.04 desktop, since I have no console access at all once the bug appears.

ProblemType: Bug
DistroRelease: Ubuntu 13.04
Package: bluetooth (not installed)
ProcVersionSignature: Ubuntu 3.8.0-19.30-generic 3.8.8
Uname: Linux 3.8.0-19-generic i686
ApportVersion: 2.9.2-0ubuntu8
Architecture: i386
Date: Sun May 5 23:22:55 2013
InterestingModules: bnep rfcomm btusb bluetooth
MachineType: Dell Inc. Inspiron N5110
MarkForUpload: True
ProcEnviron:
 LANGUAGE=en_GB:en
 TERM=xterm
 PATH=(custom, no user)
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.8.0-19-generic root=UUID=c9767810-263a-424a-80cd-714fd4a9afa1 ro quiet splash
SourcePackage: bluez
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 03/22/2012
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A10
dmi.board.name: 0HVRTT
dmi.board.vendor: Dell Inc.
dmi.board.version: A10
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.chassis.version: Not Specified
dmi.modalias: dmi:bvnDellInc.:bvrA10:bd03/22/2012:svnDellInc.:pnInspironN5110:pvrNotSpecified:rvnDellInc.:rn0HVRTT:rvrA10:cvnDellInc.:ct8:cvrNotSpecified:
dmi.product.name: Inspiron N5110
dmi.product.version: Not Specified
dmi.sys.vendor: Dell Inc.
hciconfig:
 hci0: Type: BR/EDR Bus: USB
  BD Address: BC:77:37:BB:22:03 ACL MTU: 310:10 SCO MTU: 64:8
  UP RUNNING PSCAN
  RX bytes:976 acl:0 sco:0 events:43 errors:0
  TX bytes:907 acl:0 sco:0 commands:42 errors:0

Revision history for this message
Cefn (6-launchpad-net-cefn-com) wrote :
Revision history for this message
Cefn (6-launchpad-net-cefn-com) wrote :

Worth noting that I have been forced to modify the setuid bit on rfcomm0 which may increase the damage it can do somehow?

You can see the command in the linked shell script file above, here it is again..
https://github.com/cefn/blueshrimp/blob/master/util/desktop/pairbluetooth.sh

Without setting the setuid bit it's impossible to configure an rfcomm connection - permission denied. Running it directly through sudo is obviously a bad idea, and sometimes impossible (e.g. Arduino can't access it when launched via sudo).

I don't know how anyone is intended to configure a bluetooth serial port on Ubuntu. Am I using deprecated tools or something?

Revision history for this message
Cefn (6-launchpad-net-cefn-com) wrote :

I just lost my desktop once again and attach the hci.log output of hcidump.

The sequence seems to be...

bind bluetooth rfcomm0 (this time it would only access rfcomm0 when bound, not connected)
Launch Arduino 1.0.3
try to program Arduino device over bluetooth, fail
try to program Arduino device over bluetooth, fail
Close Arduino 1.0.3
release rfcomm0
bind bluetooth rfcomm0
Relaunch Arduino
try to program Arduino device over bluetooth, fail
try to program Arduino device over bluetooth, fail
Close Arduino 1.0.3...triggers
IMMEDIATE TOTAL DESKTOP DEATH
(scrolling lines report kernel panics and come to a halt, finally even Alt+SysRq keys are dead).

Revision history for this message
Konrad Zapałowicz (kzapalowicz) wrote :

This is reported against an old version of Ubuntu and many things has changed since then. Because of that we won't fix this issue however if this behavior repeats on a modern version please fill a bug report against it and we will take it from there.

Changed in bluez (Ubuntu):
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.