All of lore.kernel.org
 help / color / mirror / Atom feed
* Linux 2.6.22-19 bluetoothd on mediaplayer, works AND hangs
@ 2011-01-14  3:34 Jorgen Lundman
  0 siblings, 0 replies; only message in thread
From: Jorgen Lundman @ 2011-01-14  3:34 UTC (permalink / raw)
  To: linux-bluetooth


Hello list,


I am trying out the bluetooth drivers on an embedded MIPS media player. The 
Linux kenrel version is locked at 2.6.22-19-sigma. Not much I can do there.

As it happens, I did get it all to work, but the "bluetoothd" process, hangs. It 
hangs in a strange way where you can not kill it, and "ps" will also hang when 
it inspects /proc/$pid-of-bluetoothd/ etc.

If I ignore that bluetoothd process hangs, the bluetooth device does actually 
work. The device is made active before the process hangs.

For example:

sh-3.00# ./dbus-daemon --system

sh-3.00# insmod bluetooth.ko
<6>Bluetooth: Core ver 2.11
<6>NET: Registered protocol family 31
<6>Bluetooth: HCI device and connection manager initialized
<6>Bluetooth: HCI socket layer initialized

sh-3.00# insmod l2cap.ko
<6>Bluetooth: L2CAP ver 2.8
<6>Bluetooth: L2CAP socket layer initialized

sh-3.00# insmod hci_usb.ko
<6>Bluetooth: HCI USB driver ver 2.9
<6>usbcore: registered new interface driver hci_usb

sh-3.00# ./bluetoothd

(Not hung yet [1])

sh-3.00# ./usr/sbin/hciconfig -a
hci0:   Type: USB
         BD Address: 00:1B:DC:00:41:91 ACL MTU: 310:10 SCO MTU: 64:8
         UP RUNNING
         RX bytes:95 acl:0 sco:0 events:10 errors:0
         TX bytes:45 acl:0 sco:0 commands:10 errors:0
         Features: 0xff 0xff 0x8f 0xfe 0x9b 0xff 0x59 0x83
         Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
         Link policy:
         Link mode: SLAVE ACCEPT
         Name: 'PCH-C200-0'
         Class: 0x000100
         Service Classes: Unspecified
         Device Class: Computer, Uncategorized
         HCI Ver: 2.1 (0x4) HCI Rev: 0x12e7 LMP Ver: 2.1 (0x4) LMP Subver: 0x12e7
         Manufacturer: Cambridge Silicon Radio (10)

Now the 'bluetoothd' process is hung - unkillable etc. What is amusing is that 
the bluetooth device keeps working:

sh-3.00# ./wminput
Put Wiimote in discoverable mode now (press 1+2)...
Ready.
<6>input: Nintendo Wiimote as /class/input/input1


I have not yet found anyway to kill bluetoothd, apart from reboot. It is 
annoying that is hangs like this, even though I can still use the device.  If I 
strace the process, I get:


writev(2, [{"bluetoothd[1813]: plugins/hciops."..., 71}, {"\n"...,
1}], 2bluetoothd[1813]: plugins/hciops.c:update_ext_inquiry_response()) 
                                      = 72

[snip]

open("/var/lib/bluetooth/00:1B:DC:00:41:91/config", O_RDWR) = 17
flock(17, LOCK_EX) = 0
fstat(17, {st_mode=S_IFREG|0644, st_size=13, ...}) = 0
old_mmap(NULL, 13, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_LOCKED, 17, 0

Note the missing return value for old_mmap(). It never comes back. If I take out 
update_ext_inquiry_response() entirely, it just dies in another old_mmap(). This 
makes me think that the process is locked against itself somewhere earlier, and 
dying in mmap() is just a symptom of that.

Are there any known issues with the version of bluetooth module that comes with 
2.6.22-19 which could be my issue? Anything know relating to -sigma's kernel 
patches even? Although it is peculiar the device keeps working if the problem is 
in the kernel module. Debug mode I can turn on?

sh-3.00# lsmod
Module                  Size  Used by    Tainted: P
hci_usb                15872  2
l2cap                  26576  6
bluetooth              66176  6 hci_usb,l2cap

If I "hciconfig hci0 down" the device, hci_usb module decreases to 1, but I can 
never get it to 0 (I would guess bluetoothd holds the other one).

[1] Actually, I tried to kill bluetoothd before I run hciconfig, and even though 
it is not yet stuck in mmap, the process does not die even here.

-- 
Jorgen Lundman       | <lundman@lundman.net>
Unix Administrator   | +81 (0)3 -5456-2687 ext 1017 (work)
Shibuya-ku, Tokyo    | +81 (0)90-5578-8500          (cell)
Japan                | +81 (0)3 -3375-1767          (home)

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2011-01-14  3:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-14  3:34 Linux 2.6.22-19 bluetoothd on mediaplayer, works AND hangs Jorgen Lundman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.