Subject: Re: btconfig: SIOCSBTFLAGS: Resource temporarily unavailable
To: Berndt Josef Wulf <wulf@ping.net.au>
From: Iain Hibbert <plunky@rya-online.net>
List: tech-kern
Date: 07/14/2006 19:10:40
On Thu, 13 Jul 2006, Berndt Josef Wulf wrote:

> On Thursday 13 July 2006 05:29, Iain Hibbert wrote:
> > On Wed, 12 Jul 2006, Berndt Josef Wulf wrote:
> > > > Yes, the usb controller has changed.
> > > >
> > > > old laptop = Intel 82801FB/FR USB UHCI Controller (rev. 0x03)
> > > > new laptop= Intel 82801GB/GR USB EHCI Controller (rev. 0x01)
> >
> > and is the bluetooth controller internal to the laptop or is it a dongle?
> >
> > > Is there anything else I can provide you with?
> >
> > Output file from 'hcidump -w config.dump' may indicate something.
> >
> > Also could you try adding
> >
> > #define UBT_DEBUG	15
> > #define BLUETOOTH_DEBUG	5
> >
> > to your <opt_bluetooth.h> file and rebuild another kernel to see if I can
> > see where it is failing, thanks?
>
> I've used other usb devices with this system. One of these is using
>
> ugen0 -> uhub4 -> usb4
>
> without problems.
>
> I'm not sure about hcidump and opt_bluetooth.h files. They don't exist on this
> system. Are we talking about the same distributions? As a reminder, I'm using
> NetBSD-i386 V3.99.21.

hcidump is a package (but only in pkgsrc/wip currently) - you can download
a precompiled i386 version at:

	http://homepages-rya-online.net/plunky/hcidump-1.5.1.tgz

and "opt_bluetooth.h" is in your kernel build directory (eg
compile/GENERIC/) after you do "config GENERIC" - just edit it and do make
again.

> Anyhow, I've set USB_DEBUG in usb_port.h which enables a whole series of DEBUG
> conditions including UBT_DEBUG and also BTHSET_DEBUG in bluetooth/blhset.c.
>
> I'm no getting the following message when issuing btconfig
>
> Jul 13 08:38:40  /netbsd: ubt_recv_acl_complete: status=CANCELLED (6)

Actually, that is because we timed out and cancelled it.  I think if you
can get hcidump and show the output of that it might show something.
What should happen is that we send a reset command, then when it succeeds
the kernel will send some get information packets. I would like to see if
the reset succeeds (so we get a command_complete) or if nothing works at
all (no response from device)

I guess you have tried this new laptop with some other OS that has
bluetooth and it works ok? I'm looking at ubt.c and I can't see any place
where I have failed to complain if the return values are not as they
should be. I will have to google a bit and see if I can find any known
problems..

iain