Problems getting the bluetooth stack to start

John comp.john at googlemail.com
Mon Nov 23 01:49:23 UTC 2009


Hi, thanks for replying.

On Sun, Nov 22, 2009 at 09:45:25AM +0000, Iain Hibbert wrote:
> On Sat, 21 Nov 2009, John wrote:
> 
> > Firstly, the small size of the device means that it is very awkward to
> > pull the dongle out once it's pushed in. When restarting the computer,
> > is it sufficient to reboot(8) then power the machine off, wait a few
> > seconds then power it back up? I mean does this properly reset the
> > dongle, or does it truly have to be pulled out and pushed back in for
> > the system to re-read it?
> 
> power down should be sufficient to reset the device entirely, internal
> state is rarely kept (sometimes there is nvram for link keys but thats
> all)

Yeah I thought it should be, but it seems that is not the case on my
hardware. (gigabyte motherboard & case, AMD Athalon 64 x2 6000+). Whilst
trying to fix things, I brought the OS up-to-date with 7-STABLE (I was
running 7.2-R p4) and went through mergemaster the long and hard way,
making sure all the bluetooth-related stuff was the newest. Rebooted,
still no joy. Then I pulled the dongle from the socket on the back and
plugged it into one at the front, and this showed more promise. ubt0
didn't appear in messages before, now it did. Seems it needs to be
unplugged then plugged back in. Additionally, I had to go through the
routine of stopping the bluetooth stack, starting it again, getting the
"Unable to setup Bluetooth stack for device ubt0" error, then starting
it again and getting no error.

Now I get:

potato# kldstat 
Id Refs Address            Size     Name
 1   14 0xffffffff80100000 bf99e0   kernel
 2    1 0xffffffff80cfa000 7118     geom_concat.ko
 3    1 0xffffffff80d02000 9808     ng_ubt.ko
 4    6 0xffffffff80d0c000 14e98    netgraph.ko
 5    1 0xffffffff80e22000 972      pflog.ko
 6    1 0xffffffff80e23000 2aefc    pf.ko
 7    1 0xffffffff80e4e000 12c9e    ng_btsocket.ko
 8    3 0xffffffff80e61000 89a      ng_bluetooth.ko
 9    1 0xffffffff80e62000 aa7a     fuse.ko
 10   1 0xffffffff80e6d000 827      accf_http.ko
 11   1 0xffffffff80e6e000 8b1a     ng_hci.ko
 12   1 0xffffffff80e77000 b498     ng_l2cap.ko
 13   1 0xffffffff80e83000 19ba     ng_socket.ko

and

potato# ngctl li
There are 7 total nodes:
Name: btsock_l2c_raw  Type: btsock_l2c_raw  ID: 00000002   Num hooks: 1
Name: ngctl23568      Type: socket          ID: 00000063   Num hooks: 0
Name: ubt0hci         Type: hci             ID: 00000059   Num hooks: 3
Name: btsock_hci_raw  Type: btsock_hci_raw  ID: 00000001   Num hooks: 1
Name: ubt0l2cap       Type: l2cap           ID: 0000005d   Num hooks: 3
Name: btsock_l2c      Type: btsock_l2c      ID: 00000003   Num hooks: 1
Name: ubt0            Type: ubt             ID: 00000004   Num hooks: 1

so that looks OK

potato# hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
Inquiry result #0
BD_ADDR: 00:0a:d9:3e:70:24
Page Scan Rep. Mode: 0x1
Page Scan Period Mode: 00
Page Scan Mode: 00
Class: 52:02:04
Clock offset: 0x273b
Inquiry complete.
Status: No error [00]

potato# hccontrol -n ubt0hci remote_name_request 00:0a:d9:3e:70:24
BD_ADDR: 00:0a:d9:3e:70:24
Name: T610

so, in the parlance of the literature, the phone is my server and this
is the server's MAC address: 00:0a:d9:3e:70:24 

What I can't work out now is why i can't see the channels:

potato# l2ping -a 00:0a:d9:3e:70:24
0 bytes from 00:0a:d9:3e:70:24 seq_no=0 time=500.567 ms result=0 
0 bytes from 00:0a:d9:3e:70:24 seq_no=1 time=31.890 ms result=0 
0 bytes from 00:0a:d9:3e:70:24 seq_no=2 time=31.895 ms result=0 
0 bytes from 00:0a:d9:3e:70:24 seq_no=3 time=31.897 ms result=0 
0 bytes from 00:0a:d9:3e:70:24 seq_no=4 time=32.900 ms result=0 
0 bytes from 00:0a:d9:3e:70:24 seq_no=5 time=30.906 ms result=0 
^C
potato# l2control -a 00:0a:d9:3e:70:24 Read_Channel_List
l2control: Could not bind socket, bdaddr=00:0a:d9:3e:70:24: Network is
down

I have paired the handset with the device and it shows the fqdn of the 
freebsd machine. If I do sdpcontrol -a 00:0a:d9:3e:70:24 browse I get
pages of output.

But! If I do rfcomm_sppd -a 00:0a:d9:3e:70:24 -t /dev/ttyp6 I see this
in messages:

Nov 23 01:38:24 potato rfcomm_sppd: Could not open(/dev/ptyp6).
Input/output error

any ideas? I think the l2control error and the rfcomm one may be
related, but I haven't a clue how to resolve the issue.
-- 
John - comp dot john at googlemail dot com
OpenBSD firewall | FreeBSD desktop | Ubuntu Karmic laptop
GPG: 0xF08A33C5


More information about the freebsd-bluetooth mailing list