Hallo zusammen,
ich habe ein Problem mit meinem Bluetooth Headset. Es ist ein Sony Ericsson HBH-600. Mein Bluetooth-Stick ist ein a-quip A/BT-1. Ich baue via btsco eine Verbindung zu meinem Bluetooth-Stick auf. Das klappt auch ganz hervorragend. Auch Musik hören und aufzeichnen ist möglich. Dennoch ein Problem:
beep-media-player beispielsweise beendet bei jedem Dateiwechsel kurz den zugriff auf die Soundkarte. Dadurch trennt der btsco-treiber die Verbindung zum SCO-Channel. Das sieht so aus:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
|
btsco -rv 00:0F:DE:AF:2D:9D
speaker volume: 15 mic volume: 15 //starte wiedergabe in beep
i/o needed: connecting sco...
connected SCO channel
Done setting sco fd
recieved AT+VGS=15
Sending up speaker change 15
speaker volume: 15 mic volume: 15
driver is not in use
disconnected SCO channel //Wiedergabe beendet
|
Das Headset kommentiert den connect/disconnect mit einem piep-ton. An und für sich jetzt weiter nicht tragisch doch manchmal passiert es das nicht mehr zum SCO-Channel verbunden werden kann.
Dann bekomm ich folgende Meldung:
|
Quellcode
|
1
2
3
4
|
i/o needed: connecting sco...
Can't connect SCO audio channel
: Address already in use
recieved AT+CLIP
|
Immer und immer wieder. Der Prozess snd_bt_scod belastet meine CPU auf einmal zu 99%, glücklicherweise jedoch anscheinend mit niedriger priorität. killen kann man den Prozess nicht, nichtmal mit kill -9. Es hilft nur alle Programme die auf das Bluetooth-Audio-Device zugreifen zu beenden einschl. btsco und dann mit sudo rmmod -f snd_bt_sco das kernelmodul zu entfernen. Der Prozess beendet sich dann ebenfalls.
/var/log/messages hält auch noch einiges bereit:
Das erscheint wenn ich die Wiedergabe starte:
|
Quellcode
|
1
2
3
4
5
|
Aug 8 15:22:23 christian-desktop kernel: [27661.904102] snd-bt-sco: playback_open
Aug 8 15:22:23 christian-desktop kernel: [27661.910161] snd-bt-sco: prepare ok bps: 16000 size: 8000 count: 800
Aug 8 15:22:23 christian-desktop kernel: [27661.910194] snd-bt-sco: prepare ok bps: 16000 size: 8000 count: 800
Aug 8 15:22:23 christian-desktop kernel: [27661.932219] snd-bt-sco: playback_trigger 1
Aug 8 15:22:23 christian-desktop kernel: [27661.932228] snd-bt-sco: setting playback to bspcm
|
Das beim stoppen:
|
Quellcode
|
1
2
3
4
|
Aug 8 15:25:18 christian-desktop kernel: [27836.135142] snd-bt-sco: playback_trigger 0
Aug 8 15:25:18 christian-desktop kernel: [27836.135152] snd-bt-sco: setting playback to NULL
Aug 8 15:25:18 christian-desktop kernel: [27836.137897] snd-bt-sco: Disposing of previous socket count 3
Aug 8 15:25:18 christian-desktop kernel: [27836.137911] snd-bt-sco: file_count is 2 (expected 3)
|
Das hier erscheint sobald der "Adress already in use"-Fehler auftritt:
|
Quellcode
|
1
|
Aug 8 15:27:08 christian-desktop kernel: [27946.008441] snd-bt-sco: file_count is 2 (expected 3)
|
Und zwar unendlich oft, es werden bestimmt über 20 zeilen pro sekunde in die log geschrieben. Da dies die selbe Meldung ist wie beim disconnecten vom SCO-Channel denke ich mal das btsco dauernd versucht eine neue Verbindung herzustellen.
Desweiteren tauchen solche Meldungen auf:
|
Quellcode
|
1
2
3
|
Aug 8 15:27:08 christian-desktop kernel: ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccco: filecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccco:ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
Aug 8 15:27:08 christian-desktop kernel: cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccco: ficcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccco: file_count iscccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccco:ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
Aug 8 15:27:08 christian-desktop kernel: cccco: file_cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
|
Evtl. ein Anzeichen von überlastung? Es soll ja anscheinend die gleiche meldung erzeugt werden wir oben.
Weiter Infos:
Distribution: Kubuntu 7.04
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
christian@christian-desktop:~$ uname -a
Linux christian-desktop 2.6.20-16-generic #2 SMP Thu Jun 7 20:19:32 UTC 2007 i686 GNU/Linux
christian@christian-desktop:~$ lsmod|grep snd_bt_sco
snd_bt_sco 17036 0
snd_pcm 79876 3 snd_bt_sco,snd_cmipci,snd_pcm_oss
snd_page_alloc 10888 2 snd_bt_sco,snd_pcm
snd_hwdep 9988 2 snd_bt_sco,snd_opl3_lib
snd 54020 13 snd_bt_sco,snd_cmipci,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_opl3_lib,snd_hwdep,snd_mpu401_uart,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
christian@christian-desktop:~$ lsusb|grep Bluetooth
Bus 005 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
christian@christian-desktop:~$ hciconfig -a
hci0: Type: USB
BD Address: 00:15:83:C2:D3:98 ACL MTU: 310:10 SCO MTU: 64:8
UP RUNNING PSCAN
RX bytes:46393794 acl:6287 sco:906249 events:5598 errors:0
TX bytes:46273428 acl:4050 sco:905827 commands:713 errors:18
Features: 0xff 0xff 0x8f 0xfe 0x9b 0xf9 0x00 0x80
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy:
Link mode: SLAVE ACCEPT
Name: 'BT2.0'
Class: 0x000000
Service Classes: Unspecified
Device Class: Miscellaneous,
HCI Ver: 2.0 (0x3) HCI Rev: 0xc5c LMP Ver: 2.0 (0x3) LMP Subver: 0xc5c
Manufacturer: Cambridge Silicon Radio (10)
|
Meine Frage ist jetzt: Kann ich jetzt irgendwie verhindern das btsco die Verbindung zum SCO-Channel beendet oder aber den "Address already in use"-Fehler beseitigen? Hat sonst noch jemand eine Idee?