I have changed my bluetooth dongle and it is based on CSR chip:
[cuanyu@tom sbin]$ ./hciconfig hci0 version
hci0:   Type: USB
        BD Address: 00:02:72:02:02:E7 ACL MTU: 192:8  SCO MTU: 64:8
        HCI Ver: 1.1 (0x1) HCI Rev: 0x20d LMP Ver: 1.1 (0x1) LMP Subver: 0x20d
        Manufacturer: Cambridge Silicon Radio (10)
[cuanyu@tom sbin]$ ./hciconfig hci0 revision
hci0:   Type: USB
        BD Address: 00:02:72:02:02:E7 ACL MTU: 192:8  SCO MTU: 64:8
        HCI 16.4 (bc02x)
right now I can record very well and replay it by sox like this:
[root@tom sbin]# sox -t raw -r 8000 -c 1 -w -s recorded -t ossdsp -w -s /dev/dsp

But I still can't replay the recorded file. What I heard is just very sharp noise. I can't tell it is the original audio because I can still tell when the speaker stopped and when he started again. But it is just some noise. I am using the default 0x0060 voice setting. Here is the content of my usb devices:
T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 4
B:  Alloc=120/900 us (13%), #Int=  2, #Iso=  1
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 0.00
S:  Product=USB OHCI Root Hub
S:  SerialNumber=cc87b000
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=1.5 MxCh= 0
D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=05e3 ProdID=1205 Rev= 2.30
S:  Product=USB Mouse
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 48mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=hid
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=10ms
T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  3 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=e0(unk. ) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0a12 ProdID=0001 Rev= 5.25
C:* #Ifs= 3 Cfg#= 1 Atr=c0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
I:  If#= 2 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=00 Driver=(none)

I am using the default kernel image of Fedora core 1 and all the USB Bluetooth option are selected as module. Here is the list of loaded module:
ppp_mppe               13848   2 (autoclean)
ppp_async               9472   1 (autoclean)
ppp_generic            24612   3 (autoclean) [ppp_mppe ppp_async]
slhc                    6756   1 (autoclean) [ppp_generic]
trident                33620   1 (autoclean)
ac97_codec             17192   0 (autoclean) [trident]
pcigame                 2952   0 (autoclean) [trident]
gameport                3380   0 (autoclean) [pcigame]
soundcore               6468   2 (autoclean) [trident]
parport_pc             19076   1 (autoclean)
lp                      9060   0 (autoclean)
parport                37056   1 (autoclean) [parport_pc lp]
autofs                 13364   0 (autoclean) (unused)
rfcomm                 38016   0 (autoclean)
l2cap                  19948   2 (autoclean) [rfcomm]
3c574_cs               12612   1
ds                      8680   1 [3c574_cs]
yenta_socket           13664   1
pcmcia_core            57216   0 [3c574_cs ds yenta_socket]
natsemi                19552   1
floppy                 58012   0 (autoclean)
sg                     36492   0 (autoclean)
sr_mod                 18168   1 (autoclean)
microcode               4700   0 (autoclean)
ide-scsi               12208   0
scsi_mod              108168   3 [sg sr_mod ide-scsi]
ide-cd                 35776   0
cdrom                  33728   0 [sr_mod ide-cd]
ohci1394               29160   0 (unused)
ieee1394              204676   0 [ohci1394]
usbdfu                 10220   0 (unused)
hci_usb                 9752   1
bluez                  40324   3 [rfcomm l2cap hci_usb]
keybdev                 2976   0 (unused)
hid                    24708   0 (unused)
usb-ohci               21512   0 (unused)
usbcore                79168   1 [usbdfu hci_usb hid usb-ohci]
thermal                 8224   0 (unused)
processor              10712   0 [thermal]
fan                     2496   0 (unused)
button                  3692   0 (unused)
battery                 7072   0 (unused)
asus_acpi               9820   0 (unused)
ac                      2752   0 (unused)
mousedev                5556   1 (autoclean)
input                   5888   0 (autoclean) [keybdev hid mousedev]
ext3                   71300   2
jbd                    52084   2 [ext3]

What else should I do for this?

Liu Jie

在2004年05月18日的20:10,Marcel Holtmann写道:
Hi,

>   I am using Anycom's USB 220 and it is not based on CSR chip. Here is the device information of it on my computer:
> [root@tom sbin]# ./hciconfig hci0 version
> hci0:   Type: USB
>         BD Address: 00:0B:0D:21:9E:81 ACL MTU: 339:4  SCO MTU: 64:0
>         HCI Ver: 1.1 (0x1) HCI Rev: 0x93 LMP Ver: 1.1 (0x1) LMP Subver: 0x93
>         Manufacturer: Transilica, Inc. (24)
> [root@tom sbin]# ./hciconfig hci0 features
> hci0:   Type: USB
>         BD Address: 00:0B:0D:21:9E:81 ACL MTU: 339:4  SCO MTU: 64:0
>         Features: 0xff 0xff 0x3d 0x00
>                 <3-slot packets> <5-slot packets> <encryption> <slot offset>
>                 <timing accuracy> <role switch> <hold mode> <sniff mode>
>                 <park mode> <RSSI> <channel quality> <SCO link>
>                 <HV2 packets> <HV3 packets> <u-law log> <A-law log>
>                 <CVSD> <power control> <transparent SCO>
> [root@tom sbin]# ./hciconfig hci0 revision
> hci0:   Type: USB
>         BD Address: 00:0B:0D:21:9E:81 ACL MTU: 339:4  SCO MTU: 64:0
>         Unsupported manufacturer
> 
> Is there any other way I could figure out if the sco packets are routed through HCI or PCM interface? Can I trace it by hcidump?

I don't have any detailed information about the Transilica chip. Run
"hcidump -x" as root and if you see SCO packets then this dongles routes
the SCO data over HCI, otherwise it goes over the PCM.

And btw. do you activated the HCIUSB_SCO kernel option and do this
dongle really have the needed ISOC interface? You must check the content
of /proc/bus/usb/devices.

Regards

Marcel