All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Favrholdt <pfavr@mip.sdu.dk>
To: BlueZ Mailing List <bluez-devel@lists.sourceforge.net>
Cc: Marcel Holtmann <marcel@holtmann.org>
Subject: Re: [Bluez-devel] snd-bt-sco
Date: Thu, 01 Jul 2004 22:49:51 +0200	[thread overview]
Message-ID: <40E478EF.4040206@mip.sdu.dk> (raw)
In-Reply-To: <1088691001.4540.230.camel@pegasus>

Hi Marcel,

Thank you very much for the reply. I have included the information you 
requested at the bottom. First a little more information that might help you 
help me :-)

When I start the user space "btsco" program the headset goes "off the hook" - 
I hear a beep, the led starts blinking three blinks at a time, and I can hear 
some "static" noise (mostly silent but occasionally some lsb "clicks"). I take 
this as a good sign since it was mentioned in the readme for the snd-bt-sco 
package:
"There seems to be some unexplained noise that's noticeable when a program has
the device open but is not sending audio data. Instead of seeing all silence,
the driver is receiving the occasional non-zero byte. I've added a temporary
filter to eliminate this, but I'd really like to know what's causing it."

As I said earlier, the buttons on the headset works - I can disconnect and 
change the volume (can be seen in alsamixer :-)

dmesg has lots of these messages. Sometimes the number following handle is not 
zero but a "random" integer.
hci_scodata_packet: hci0 SCO packet for unknown connection handle 0
hci_scodata_packet: hci0 SCO packet for unknown connection handle 0
hci_scodata_packet: hci0 SCO packet for unknown connection handle 0
hci_scodata_packet: hci0 SCO packet for unknown connection handle 0
hci_scodata_packet: hci0 SCO packet for unknown connection handle 0

Besides adding the snd-bt-sco alsa driver to the kernel tree, I have patched 
the hci_usb.c of the 2.6.6 kernel with this patch (which was meant for 2.6.4):

<patch>
--- linux-2.6.4-orig/drivers/bluetooth/hci_usb.c 2004-03-11 02:55:44
+++ linux-2.6.4/drivers/bluetooth/hci_usb.c     2004-03-13 23:52:27
@@ -851,7 +851,12 @@

#ifdef CONFIG_BT_HCIUSB_SCO
                   case USB_ENDPOINT_XFER_ISOC:
-                        if (ep->desc.wMaxPacketSize < size || a > 2)
+                        /* Use only the 9 byte
+                           "One voice channel with 8 bit encoding"
+                           endpoint until there is support for changing
+                           the endpoint dynamically. See
+                           Bluetooth 1.1 Part H:2, section 2.1 */
+                        if (ep->desc.wMaxPacketSize != 9)
                                  break;
                          size = ep->desc.wMaxPacketSize;
</patch>

One further note: I had to increment the magic numbers in sndmagic.h because 
the ones in the patch was already used in kernel 2.6.6. I assume this isn't a 
problem as I have compiled both kernel and the btsco program with these 
numbers... but something else might need to be changed also?

After having "used" the headset and turned it off I have trouble getting it 
online again (without rebooting Linux). After putting the headset in "pairing 
mode" I can do "hcitool scan"
Scanning ...
         00:0D:44:00:76:07       Logitech HS01

But it fails with one of two error messages when I try to setup a connection:
hcitool cc 00:0D:44:00:76:07
Can't create connection: Input/output error
or:
Can't create connection: Connection timed out

But still "hcitool con" shows no connections.

Any ideas/suggestions welcome,

BR Peter


Marcel Holtmann wrote:
> and I am not sure that your USB dongle supports SCO over HCI. Show us
> the output of "hciconfig -a" and "cat /proc/bus/usb/devices".

At the moment the headset is not turned on (don't know if that makes a 
difference). Also I noted that sometimes the headset will be master and 
sometimes slave. Not sure what that means though:-)

how4:~# hciconfig -a
hci0:   Type: USB
         BD Address: 00:0B:0D:20:79:21 ACL MTU: 339:4  SCO MTU: 64:0
         UP RUNNING PSCAN ISCAN
         RX bytes:665056950 acl:108 sco:216472402 events:222 errors:0
         TX bytes:2507 acl:87 sco:0 commands:66 errors:0
         Features: 0xff 0xff 0x3d 0x00 0x00 0x00 0x00 0x00
         Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
         Link policy: RSWITCH HOLD SNIFF PARK
         Link mode: SLAVE ACCEPT
         Name: 'how4-0.'
         Class: 0x000100
         Service Classes: Unspecified
         Device Class: Computer, Uncategorized
         HCI Ver: 1.1 (0x1) HCI Rev: 0x93 LMP Ver: 1.1 (0x1) LMP Subver: 0x93
         Manufacturer: Transilica, Inc. (24)

how4:~# cat /proc/bus/usb/devices

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=143/900 us (16%), #Int=  2, #Iso=  2
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.6 uhci_hcd
S:  Product=Intel Corp. 82801AA USB
S:  SerialNumber=0000:00:1f.2
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=e0(unk. ) Sub=01 Prot=01 MxPS=16 #Cfgs=  1
P:  Vendor=0f4d ProdID=1000 Rev= 4.01
C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr= 26mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=00(>ifc ) Sub=00 Prot=00 Driver=hci_usb
E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  32 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms
I:  If#= 1 Alt= 0 #EPs= 2 Cls=00(>ifc ) Sub=00 Prot=00 Driver=hci_usb
E:  Ad=84(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
E:  Ad=05(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
I:  If#= 1 Alt= 1 #EPs= 2 Cls=00(>ifc ) Sub=00 Prot=00 Driver=hci_usb
E:  Ad=84(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
E:  Ad=05(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
I:  If#= 1 Alt= 2 #EPs= 2 Cls=00(>ifc ) Sub=00 Prot=00 Driver=hci_usb
E:  Ad=84(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
E:  Ad=05(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
I:  If#= 1 Alt= 3 #EPs= 2 Cls=00(>ifc ) Sub=00 Prot=00 Driver=hci_usb
E:  Ad=84(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
E:  Ad=05(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
I:  If#= 1 Alt= 4 #EPs= 2 Cls=00(>ifc ) Sub=00 Prot=00 Driver=hci_usb
E:  Ad=84(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
E:  Ad=05(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
I:  If#= 1 Alt= 5 #EPs= 2 Cls=00(>ifc ) Sub=00 Prot=00 Driver=hci_usb
E:  Ad=84(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
E:  Ad=05(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  3 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=046d ProdID=c408 Rev=14.00
S:  Manufacturer=Logitech
S:  Product=USB Trackball
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 50mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=hid
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms

  reply	other threads:[~2004-07-01 20:49 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-30 22:17 [Bluez-devel] snd-bt-sco Peter Favrholdt
2004-06-30 23:03 ` Peter Favrholdt
2004-07-01 14:10   ` Marcel Holtmann
2004-07-01 20:49     ` Peter Favrholdt [this message]
  -- strict thread matches above, loose matches on Subject: below --
2004-12-09 17:34 Michael Zanetti
2004-12-09 21:28 ` Marcel Holtmann
2004-12-09 22:35 ` Brad Midgley
2004-12-09 22:57   ` Chris Boyle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=40E478EF.4040206@mip.sdu.dk \
    --to=pfavr@mip.sdu.dk \
    --cc=bluez-devel@lists.sourceforge.net \
    --cc=marcel@holtmann.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.