View previous topic :: View next topic |
Author |
Message |
hothead Apprentice
Joined: 02 Jul 2004 Posts: 277 Location: /dev/core
|
Posted: Sun Oct 17, 2004 12:25 pm Post subject: bluetooth headset [05.05 updated !!!] |
|
|
Please get updated ebuilds from the bugtracker: https://bugs.gentoo.org/show_bug.cgi?id=91558
In cvs things can change quickly. If you have problems with the cvs ebuilds please report this to the bugtracker.
I've added an iniscript that should manage the headset connection.
Make your bluetooth headset running with linux
I commited a bug report with non-cvs ebuilds for btsco & bluetooth-alsa.
You have to place the sources manually into $DISTDIR before generating the digest.
You may also create your own snapshot from cvs and place it into $DISTDIR.
https://bugs.gentoo.org/show_bug.cgi?id=91558
In remote future bluetooth-alsa and btsco may be added to portage.
05.05.2004
Complete rewrite of the bluetooth-alsa ebuild
The output of the bluetooth-alsa ebuild should be more clear now. Please test it.
bluetooth-alsa-cvs-1.6-r2.ebuild
Code: | # Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: $
ECVS_SERVER="cvs.sourceforge.net:/cvsroot/bluetooth-alsa"
ECVS_MODULE="btsco/kernel"
inherit cvs linux-mod
IUSE=""
DESCRIPTION="ALSA bluetooth headset driver [snd-bt-sco.ko]."
HOMEPAGE="http://bluetooth-alsa.sourceforge.net"
SRC_URI=""
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~x86"
S="${WORKDIR}/${ECVS_MODULE}"
DEPEND="virtual/alsa
virtual/linux-sources"
general_info(){
echo
ewarn "The kernel source needs to be configured and installed with BT_SCO and SND_HWDEP enabled."
echo
einfo "BT_SCO can be found under:"
einfo "Device drivers -> Net. support -> Bluetooth subs. support -> SCO links support"
echo
einfo "If you have a usb bluetooth dongle you must also enable BT_HCIUSB_SCO:"
einfo "Device drivers -> Net. support -> Bluetooth subs. support -> HCI USB driver -> SCO support"
echo
einfo "SND_HWDEP depends on special ALSA sound drivers"
einfo "You can either choose the Tascam usb sound driver 'SND_USB_USX2Y'"
einfo "or the soundblaster live driver 'SND_EMU10K1'."
echo
[ $DIE = true ] && die
exit 1
}
choose_kernel(){
echo
echo "Proceed with enter to compile against running kernel."
echo -n "You may also enter a different kernel version or type 'info' to get general information: "
read KVERSION
echo
DIE="false"
if [ -z $KVERSION ]; then
if kernel_is 2 4; then
eerror "You need a 2.6.x series kernel" && DIE="true"
else
MODDIR="/lib/modules/$(uname -r)"
fi
else
if [ $KVERSION = info ]; then
general_info
elif echo $KVERSION | grep ^2.6.* >/dev/null; then
MODDIR="/lib/modules/${KVERSION}"
elif echo $KVERSION | grep ^2.4.* >/dev/null; then
eerror "You need a 2.6.x series kernel" && DIE="true"
else
eerror "$KVERSION is not a valid kernel version." && DIE="true"
fi
fi
[ $DIE = true ] && general_info
DIE="false"
KSYMDIR="${MODDIR}/source"
NEEDED_OPTIONS="BT_SCO SND_HWDEP"
if [ ! -e ${MODDIR}/source/.config ]; then
eerror "Either ${MODDIR} does not exist"
eerror "or the symlink ${KSYMDIR} does not point to the kernel source"
eerror "or the kernel souce is not properly configured"
einfo "Check this and if needed recompile your kernel with $NEEDED_OPTIONS enabled"
DIE="true"
fi
[ $DIE = true ] && general_info
DIE="false"
for OPTION in $NEEDED_OPTIONS
do
if ! cat ${KSYMDIR}/.config | grep $OPTION | egrep -v ^# >/dev/null; then
eerror "CONFIG_${OPTION} is not enabled." && DIE="true"
fi
done
[ $DIE = true ] && general_info
}
pkg_setup() {
choose_kernel
}
src_unpack() {
cvs_src_unpack
}
src_compile() {
set_arch_to_kernel
make -C ${KSYMDIR} M=$(pwd) modules
}
src_install() {
insinto ${MODDIR}/extra
doins snd-bt-sco.ko
}
pkg_postinst() {
echo
einfo "Running modules-update"
/usr/sbin/update-modules
} |
04.05.2005
Split the ebuild into two
btsco-cvs-0.4a.ebuild -> installs btsco & btsco2
Code: | # Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: $
ECVS_SERVER="cvs.sourceforge.net:/cvsroot/bluetooth-alsa"
ECVS_MODULE="btsco"
inherit eutils cvs
S="${WORKDIR}/${ECVS_MODULE}"
IUSE=""
DESCRIPTION="Userspace programm for connection a bluetooth headset to alsa."
HOMEPAGE="http://bluetooth-alsa.sourceforge.net"
SRC_URI=""
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~x86"
DEPEND="bluez-libs
media-libs/libao"
src_unpack() {
cvs_src_unpack
}
src_compile() {
./bootstrap
./configure
make
}
src_install() {
dobin btsco btsco2
dodoc COPYING INSTALL README ChangeLog
} |
bluetooth-alsa-cvs-1.6.ebuild -> only installs the kernel driver (snd-bt-sco.ko)
Code: | # Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: $
ECVS_SERVER="cvs.sourceforge.net:/cvsroot/bluetooth-alsa"
ECVS_MODULE="btsco/kernel"
inherit eutils cvs kernel-mod linux-info
IUSE=""
DESCRIPTION="ALSA bluetooth headset driver [snd-bt-sco.ko]."
HOMEPAGE="http://bluetooth-alsa.sourceforge.net"
SRC_URI=""
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~x86"
S="${WORKDIR}/${ECVS_MODULE}"
DEPEND="virtual/alsa
virtual/linux-sources"
kernel_check() {
echo
echo -n "Compile against current kernel? [yes|no]: "
read CURRENT
if [ $CURRENT = yes ]; then
KVERSION=${KV}; else
echo -n "Enter the kernel version: "
read KVERSION
fi
einfo "Checking kernel configuration."
if [ -e /lib/modules/${KVERSION} ]; then
if [ -e /lib/modules/${KVERSION}/kernel/sound/usb/usx2y/snd-usb-usx2y.ko ] &&\
[ -e /lib/modules/${KVERSION}/kernel/net/bluetooth/sco.ko ]; then
einfo "Kernel check was successfull."; else
if [ ! -e /lib/modules/${KV}/kernel/sound/usb/usx2y/snd-usb-usx2y.ko ]; then
KCONFIG1="SND_USB_USX2Y" && eerror "Module snd-usb-usx2y.ko not found."
fi
if [ ! -e /lib/modules/${KV}/kernel/net/bluetooth/sco.ko ]; then
KCONFIG2="BT_HCI_SCO" && eerror "Module sco.ko not found."
fi
einfo "Recompile your kernel with ${KCONFIG1}=m ${KCONFIG2}=m enabled"
die "missing modules"
fi; else
eerror "/lib/modules/${KVERSION} does not exist."
die "cannot find modules directory"
fi
}
pkg_setup() {
kernel_check
}
src_unpack() {
cvs_src_unpack
}
src_compile() {
set_arch_to_kernel
make -C /lib/modules/${KVERSION}/source M=$(pwd) modules
}
src_install() {
insinto /lib/modules/${KVERSION}/extra
doins snd-bt-sco.ko
}
pkg_postinst_kmod() {
echo
einfo "Running modules-update"
/usr/sbin/update-modules
} |
01.05.2005
updated ebuild to install btsco2 btsco-cvs-0.4-r2.ebuild
31.03.2005
Adapt ebuild version number to the actual btsco version
To avoid confusion in the naming of the ebuild and the btsco version
I took the decision to adapt the ebuild version to the btsco version.
So the latest version is now 0.4-r1 not 0.5:
btsco-cvs-0.4-r1.ebuild
If the server is down you can copy and paste the code from site four of this thread.
New feature - not yet documented
You are now able to invoke a programm / function with
the connect button of the headset. Will write more about it
if I have tested it. For more Information see: http://sourceforge.net/mailarchive/message.php?msg_id=11151435
30.03.2005
Behaviour of btsco changed slightly
You get all features of btsco with btsco -h
You have to use the verbose parameter -v if you want to get some debug information displayed.
If you don't send any sound information to your headset you will not be able to change the volume.
You can only change the volume when the headset is receiving something.
If you change the volume when the headset is receiving something the volume beep should increase or decrease.
It also seems to me that the headset is now always disconnected/idle when you don't send anything to it
(there is no noise) but get's automatically connected when it is receiving something. Seems to me that the connect button
is not any longer required.
18.02.2005 03:41
New btsco ebuild
The kernel patch is no longer needed.
btsco-cvs-0.5 contains the snd-bt-sco module and the btsco usespace programm.
It is testet with vanilla-sources [2.6.11]
Version 0.5 has some small fixes.
http://www.hotheads.de/linux/ebuilds/usr/net-wireless/btsco-cvs/btsco-cvs-0.5.ebuild
Version 0.4 no longer checks the kernel configuration but looks for the dependend modules
in the module directory you can choose. Of cause the appropriate sources have to be installed.
http://www.hotheads.de/linux/ebuilds/usr/net-wireless/btsco-cvs/btsco-cvs-0.4.ebuild
New project homepage
The bluetooth-alsa project has a new project homepage:
http://bluetooth-alsa.sourceforge.net
Patch the kernel
You can either use my ebuild that uses
gentoo-dev-sources-2.6.8-r10 and applies the patch for you or you can patch your kernel manually. There are two pathes. One that was generated from cvs against gentoo-dev-sources-2.6.8-r8 and should work with vanilla-kernel up to 2.6.8.1 and the gentoo-dev-sources 2.6.8-x. And a patch for the 2.6.9 kernel which was generated from cvs against gentoo-dev-sources-2.6.9-r1.
bluealsa-sources
Get the ebuild from: www.hotheads.de/files/ebuilds/bluealsa-sources-2.6.8-r10.ebuild
Place the ebuild in your PORTAGE_OVERLAY generate the digest and emerge it -> If you don't know how to add ebuilds to your PORTAGE_OVERLAY.
Look at the passage "The userspace program" for details. If that doesn't fit your needs, take a look at the portage manpage and the file /etc/make.conf.example.
Patch the kernel manually
Fetch the bluetooth-alsa patch:
kernel 2.6.8 www.hotheads.de/files/patches/bluetooth-alsa-17-10-2004.patch
kernel 2.6.9 www.hotheads.de/files/patches/bluetooth-alsa-2.6.9.patch
Patch your kernel sources
Code: | # cd /usr/src/linux
# cat /path/to/the/patch/name_of_the_patch.patch | patch -p1 |
Reconfigure & recompile the kernel
enable sco voice support
Code: | Networking support -> [M/Y] Bluetooth subsystem support -> Bluetooth device drivers -> [M/Y] HCI USB driver -> [Y] SCO (voice) support |
enable the bluetooth alsa driver as module
Code: | Sound -> Advanced Linux Sound Architecture -> ALSA Bluetooth device -> [M] USB Bluetooth Alsa driver |
To verify your settings. You should see the following output:
Code: | # cat .config | grep SCO
CONFIG_BT_SCO=m
CONFIG_BT_HCIUSB_SCO=y
CONFIG_SND_BT_SCO=m |
Recompile and reboot into the recompiled kernel.
The userspace program
Get the ebuild for btsco: www.hotheads.de/files/ebuilds/btsco-cvs-0.1.ebuild
copy the ebuild to your PORTAGE_OVERLAY
Code: | # cp btsco-cvs-0.1.ebuild PORTAGE_OVERLAY/net-wireless/btsco-cvs/ |
generate the digest
Code: | # ebuild btsco-cvs-0.1.ebuild digest |
add btsco-cvs to package.keywords
Code: | # echo net-wireless/btsco-cvs ~x86 >> /etc/portage/package.keywords |
emerge btsco-cvs
Modify modules
Set the the sound-cards limit in /etc/modules.d/alsa to 2
Run update-modules and restart alsasound.
Code: | # /etc/init.d/alsasound restart |
Find the appropriate settings for your headset
First you need to load the bluetooth alsa kernel module from your patched kernel:
Code: | # modprobe snd-bt-sco |
To be able to connect to your headset you have to put your bluetooth headset into discovery mode.
To find out the address of your headset use the hcitool which is part of the bluez-utils package:
The hcitool is part of bluez-utils. Next setting you have to find out is the channel of the headset:
Code: | sdptool search --bdaddr <baddr> 0x1108 |
where <baddr> is the adress of the headset.
In order to be able to connect to your headset you must have the sdp server running. The sdp server is started by the bluetooth init-script which is part of the bluez-utils package.
Code: | # /etc/init.d/bluetooth start |
Next you have to start kdebluetooth (I think it should also work with the gnome bluetooth daemon) daemon. As far as I realized it, kdebluetooth is neccessary for the pairing (autentification) of the headset.
Then you can connect to your headset with btsco.
Code: | btsco <bdaddr> [channel] |
press the connect button on your headset and your headset should be connected. You will be asked once to enter the PIN of your headset.The kbluetoothd tray icon should blink while connecting and should be bright colored when pairing was sucessfully.
Test the headset
Open xmms, choose ALSA as output plugin, configure the ALSA output plugin to use the BT Headset as output and play a sound file.
You can control the loudness with the loudness buttons on the headset.
Connect with one click
In order to be able to connect/disconnect to your headset from the controlpanel you have to do the following:
modify '/etc/sudoers' to be able to load and unload modules as well as starting a program in daemon mode as user without entering password:
Code: | # echo "username hostname = NOPASSWD:/sbin/modprobe,/sbin/rmmod,/sbin/start-stop-daemon" >> /etc/sudoers |
Here are two sample skripts you can use to connect to your headset:
connect
Code: | #!/bin/bash
if (lsmod | grep snd_bt_sco) >/dev/null
then
sudo /sbin/start-stop-daemon --start --background --chuid username --exec /usr/bin/btsco -- <bdaddr> [channel]
else
sudo /sbin/modprobe snd-bt-sco
sleep 2
sudo /sbin/start-stop-daemon --start --background --chuid username --exec /usr/bin/btsco -- <bdaddr> [channel]
fi |
username should be set to your username, <bdaddr> is the address of your headset and [channel] is the channel of your headset -> look at the settings passage.
disconnect
Code: | #!/bin/bash
if ( ps -u ruben | grep btsco ) >/dev/null
then
pkill -KILL btsco
sudo /sbin/rmmod snd-bt-sco
sudo /sbin/rmmod snd-hwdep
sudo /sbin/rmmod sco
else
sudo /sbin/rmmod snd-bt-sco
sudo /sbin/rmmod snd-hwdep
sudo /sbin/rmmod sco
fi |
To use your headset in skype just choose dsp1 in the sound settings.
If it works - happy skyping!
Report your experience with this howto please!
If it doesn't work
If it doesn't work, please first check if it wasn't your slackness. Following are my kernel messages you can compare with your own.
It may be interesting what headset and USB dongle I use:
Headset www.reichelt.de Art:HS-808
Dongle http://www.allnet.de/product_info_allnet.php?cPath=_&products_id=22844
As harware does not always correspond 100% to protocol standards, it may be that your hardware isn't working yet.
Please supply the developers with information regarding your harware and malfunctions.
Therefore you have to suscribe to the snd-bt-sco list. http://www.gargan.org/cgi-bin/list/0/
Error Checking
1. Make shure you have alsasound running.
Code: | # /etc/init.d/alsasound start |
2. Make shure you have bluetooth running - it ist part of bluez-utils.
Code: | # /etc/init.d/bluetooth start |
3. Take a look at the output of lsmod, dmesg and the btsco program.
lsmod
The following modules should be loaded when you have inserted your bluetooth dongle and have loaded the snd-bt-sco driver.
Code: | Module Size Used by
sco 14916 0
snd_bt_sco 13664 1
snd_hwdep 9476 2 snd_bt_sco
rfcomm 39068 11
hci_usb 13696 6
l2cap 25540 7 rfcomm
bluetooth 49156 14 sco,rfcomm,hci_usb,l2cap
|
dmesg
inserting usb-dongle:
Code: | usb 2-2.2: new full speed USB device using address 8
Bluetooth: Core ver 2.6
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: HCI USB driver ver 2.7
usbcore: registered new driver hci_usb
Bluetooth: L2CAP ver 2.3
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM ver 1.3
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM TTY layer initialized |
loading snd-bt-sco driver:
Code: | snd-bt-sco revision 1.3 $
snd-bt-sco: snd-bt-scod thread starting |
after connecting with btsco and pressing the connect button:
Code: | Bluetooth: SCO (Voice Link) ver 0.3
Bluetooth: SCO socket layer initialized |
btsco
Code: | bash-2.05b$ btsco 00:0d:b5:80:21:04 1
Device is 1:0
Voice setting: 0x0060
RFCOMM channel connected
recieved AT+CKPD=200 #detecting the pushed connect button of the headset
opened hwdep
connected SCO channel
Setting sco fd
Done setting sco fd
recieved AT+VGS=07
Sending up speaker change 7 |
Ruben _________________ Got a question? - http://justfuckinggoogleit.com/
Last edited by hothead on Thu Jan 05, 2006 3:12 pm; edited 39 times in total |
|
Back to top |
|
|
Wishmaster Tux's lil' helper
Joined: 11 May 2003 Posts: 117 Location: Essen/Germany
|
Posted: Mon Oct 18, 2004 8:41 pm Post subject: |
|
|
Hi!
Thanks for your howto. But I've a problem with:
Code: |
obi btsco-cvs # btsco 00:0E:07:4F:A9:06 1
Error: hwdep next device (hw:0): Operation not permitted
Error: control open (hw:1): No such file or directory
Error: Can't find device. Bail
|
Everything before works fine. Do you have an idea?
[EDIT]
Ah, I've forgotten to load the module. After loading it, everything seems to work. The test with xmms was successful, but I've not tested it with skype yet.
Again, thx a lot for your great tutorial!
[/EDIT]
bye,
Wishmaster
P.S.: Just a little hint: "options snd cards_limit=2". |
|
Back to top |
|
|
masterbrian Guru
Joined: 13 Feb 2004 Posts: 461
|
Posted: Wed Oct 20, 2004 6:08 pm Post subject: |
|
|
First of all thank you for your howto.
I'm trying to make this thing work from some time, but without success.
BTW, I've followed step by step your guide but I have always the same result.
I can connect to the headset, change volume with alsamixer, but I can't hear anything
Can you please help me?
THank you. |
|
Back to top |
|
|
Deathwing00 Bodhisattva
Joined: 13 Jun 2003 Posts: 4087 Location: Dresden, Germany
|
Posted: Wed Oct 20, 2004 8:04 pm Post subject: |
|
|
Moved from Multimedia. |
|
Back to top |
|
|
hothead Apprentice
Joined: 02 Jul 2004 Posts: 277 Location: /dev/core
|
Posted: Thu Oct 21, 2004 6:00 am Post subject: |
|
|
@masterbrian
Do you have tried to playback music from xmms to the headset?
Have you pushed the connect button of the headset after running btsco?
Ruben _________________ Got a question? - http://justfuckinggoogleit.com/ |
|
Back to top |
|
|
masterbrian Guru
Joined: 13 Feb 2004 Posts: 461
|
Posted: Thu Oct 21, 2004 7:22 am Post subject: |
|
|
@HotHead/Ruben
Yes, I've tryed. I've disabled artsd (I'm using kde), then I've started xmms, configured alsa as sound server and the Headset as "sound card". When I press play over xmms, it freeze.
Same thing with aplay -D plughw:Headset file.wav.
When I've linked my gentoo-box with my headset with btsco I've pressed the connect button over headset for a while, but anything changes.
I'm running the same kernel as your, gentoo-dev-sources-2.6.8-r3
Can you please post your hcid.conf and pin_helper pls? Also one Lsmod would be usefull
Thank you. |
|
Back to top |
|
|
dreadhead Guru
Joined: 09 Jul 2004 Posts: 470 Location: Ulm - Germany
|
Posted: Thu Oct 21, 2004 4:24 pm Post subject: |
|
|
When I try to connect my headset I always get an Authentication Error.
I tried the following things:
Code: | # hcitool cc 00:0D:44:01:93:6D
Can't create connection: Input/output error
# hidd --connect 00:0D:44:01:93:6D
Can't create HID control channel: Permission denied
# sdptool search --bdaddr 00:0D:44:01:93:6D 0x1108
Class 0x1108
Failed to connect to SDP server on 00:0D:44:01:93:6D: Permission denied |
I also get a popup with the message:
"Problem connecting with Logitech HS01. Authentication error"
I enabled authentication in hcid.conf and changed pin_helper tu kbluebin. (I also tried it with the standard helper)
My Bluetooth-keyboard and Mouse work fine. Any ideas what I made wrong?
Thanks!
dreadhead _________________ Kopete OTR Plugin |
|
Back to top |
|
|
hothead Apprentice
Joined: 02 Jul 2004 Posts: 277 Location: /dev/core
|
Posted: Thu Oct 21, 2004 8:06 pm Post subject: |
|
|
HOWTO UPDATED
@masterbrain
If you have configured your kernel as I described it everything should be fine. The module snd-bt-sco automatically loads the depending modules.
Modules
Code: | Module Size Used by
sco 14916 0
snd_bt_sco 13664 1
snd_hwdep 9476 2 snd_bt_sco
rfcomm 39068 11
hci_usb 13696 6
l2cap 25540 7 rfcomm
bluetooth 49156 14 sco,rfcomm,hci_usb,l2cap
|
Messages
inserting usb-dongle:
Code: | usb 2-2.2: new full speed USB device using address 8
Bluetooth: Core ver 2.6
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: HCI USB driver ver 2.7
usbcore: registered new driver hci_usb
Bluetooth: L2CAP ver 2.3
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM ver 1.3
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM TTY layer initialized |
loading snd-bt-sco driver:
Code: | snd-bt-sco revision 1.3 $
snd-bt-sco: snd-bt-scod thread starting |
after connecting with btsco and pressing the connect button:
Code: | Bluetooth: SCO (Voice Link) ver 0.3
Bluetooth: SCO socket layer initialized |
Output of btsco
Code: | bash-2.05b$ btsco 00:0d:b5:80:21:04 1
Device is 1:0
Voice setting: 0x0060
RFCOMM channel connected
recieved AT+CKPD=200 #detecting the pushed connect button of the headset
opened hwdep
connected SCO channel
Setting sco fd
Done setting sco fd
recieved AT+VGS=07
Sending up speaker change 7 |
@ dreadhead
OK that means you haven't got the sdp server running.
You have to emerge bluez-utils that contains the sdp server:
Code: | # emerge bluez-utils |
then you have to start the bluetooth init script that loads the sdp server:
Code: | # /etc/init.d/bluetooth start |
Ruben _________________ Got a question? - http://justfuckinggoogleit.com/ |
|
Back to top |
|
|
riksta n00b
Joined: 16 Apr 2004 Posts: 73 Location: Manchester, UK
|
Posted: Fri Oct 22, 2004 6:55 am Post subject: |
|
|
dreadhead wrote: | When I try to connect my headset I always get an Authentication Error.
I tried the following things:
Code: | # hcitool cc 00:0D:44:01:93:6D
Can't create connection: Input/output error
# hidd --connect 00:0D:44:01:93:6D
Can't create HID control channel: Permission denied
# sdptool search --bdaddr 00:0D:44:01:93:6D 0x1108
Class 0x1108
Failed to connect to SDP server on 00:0D:44:01:93:6D: Permission denied |
I also get a popup with the message:
"Problem connecting with Logitech HS01. Authentication error"
I enabled authentication in hcid.conf and changed pin_helper tu kbluebin. (I also tried it with the standard helper)
My Bluetooth-keyboard and Mouse work fine. Any ideas what I made wrong?
Thanks!
dreadhead |
I think you need to bond your pc and device together first, so they have a trust |
|
Back to top |
|
|
riksta n00b
Joined: 16 Apr 2004 Posts: 73 Location: Manchester, UK
|
Posted: Fri Oct 22, 2004 7:47 am Post subject: |
|
|
Hi there, i have been trying to edit the patch to apply it to my
2.6.9-gentoo-r1 kernel, but i am having some issues, mainly that
sndmagic.h appears to no longer exist!
Can anyone provide a solution, or has anyone hacked up a patch for
2.6.9 that they could kindly send to me?
Thanks
Rick |
|
Back to top |
|
|
masterbrian Guru
Joined: 13 Feb 2004 Posts: 461
|
Posted: Fri Oct 22, 2004 1:50 pm Post subject: |
|
|
@hothead
hothead wrote: |
Output of btsco
Code: | bash-2.05b$ btsco 00:0d:b5:80:21:04 1
Device is 1:0
Voice setting: 0x0060
RFCOMM channel connected
recieved AT+CKPD=200 #detecting the pushed connect button of the headset
opened hwdep
connected SCO channel
Setting sco fd
Done setting sco fd
recieved AT+VGS=07
Sending up speaker change 7 |
Ruben |
Great! Here it is the problem: when I start btsco I get only until RFCOMM channel connected and anything else.
If I speaker up from computer I see that the dongle works, but if I press any buttons over the headset anything changes. I'm pretty sure that must be a problem in hcid.conf or pin_helper.
Can you please post them?
Thank you |
|
Back to top |
|
|
masterbrian Guru
Joined: 13 Feb 2004 Posts: 461
|
Posted: Fri Oct 22, 2004 1:52 pm Post subject: |
|
|
riksta wrote: | I think you need to bond your pc and device together first, so they have a trust |
How did you bond devices? With kbluepin? witch pin_helper?
Thank you |
|
Back to top |
|
|
hothead Apprentice
Joined: 02 Jul 2004 Posts: 277 Location: /dev/core
|
Posted: Fri Oct 22, 2004 10:01 pm Post subject: |
|
|
@riksta
Sorry but I don't know a workarround jet for the 2.6.9 Kernel. The changed something in the bluetooth subsystem so this patch doesn't work. Maybe you contact the developers. http://www.gargan.org/cgi-bin/list/0/
-> I saw that someone already did - maybe that's you.
@masterbrain
As I described: You have to push the connect button of the headset to connect. -> see my commenct at the output of btsco.
Maybe it's the version of kdebluetooth. I currently use:
Code: | net-wireless/kdebluetooth-0.0.20040824 |
I haven't modified anything than the PIN Helper. When you start kbluetoothd the first time you get a message to replace the pin helper - so I did.
But did not know the andvantage of this change - do you? For me it works for both PIN-Helpers - bluepin and the newer pinhelper. I was asked only once to enter the pin of the headset.
Here is my configuration of the confirmation part of kdebluetooth :
Confirmation
Code: | Service | Device | Adresse | Policy
* | BT808 | 00:0D:B5:80:21:04 | allow |
hci.conf
Code: | #
# HCI daemon configuration file.
#
# $Id: hcid.conf,v 1.4 2004/04/29 20:14:21 holtmann Exp $
#
# HCId options
options {
# Automatically initialize new devices
autoinit yes;
# Security Manager mode
# none - Security manager disabled
# auto - Use local PIN for incoming connections
# user - Always ask user for a PIN
#
security auto;
# Pairing mode
# none - Pairing disabled
# multi - Allow pairing with already paired devices
# once - Pair once and deny successive attempts
pairing multi;
# PIN helper
#pin_helper /usr/bin/bluepin;
pin_helper /etc/bluetooth/pin-helper;
# D-Bus PIN helper
#dbus_pin_helper;
}
# Default settings for HCI devices
device {
# Local device name
# %d - device id
# %h - host name
name "BlueZ (%d)";
# Local device class
class 0x100;
# Default packet type
#pkt_type DH1,DM1,HV1;
# Inquiry and Page scan
iscan enable; pscan enable;
# Default link mode
# none - no specific policy
# accept - always accept incoming connections
# master - become master on incoming connections,
# deny role switch on outgoing connections
#
#lm accept,master;
#
lm accept;
# Default link policy
# none - no specific policy
# rswitch - allow role switch
# hold - allow hold mode
# sniff - allow sniff mode
# park - allow park mode
#
#lp hold,sniff;
#
lp rswitch,hold,sniff,park;
# Authentication and Encryption
#auth enable;
#encrypt enable;
} |
hope this helps!
Ruben _________________ Got a question? - http://justfuckinggoogleit.com/ |
|
Back to top |
|
|
riksta n00b
Joined: 16 Apr 2004 Posts: 73 Location: Manchester, UK
|
Posted: Sat Oct 23, 2004 4:49 am Post subject: |
|
|
Hi hothead, thanks for the reply.
Yeah that was me that has contacted the developers... i'll try and keep this thread informed of what is going on
Rick |
|
Back to top |
|
|
dreadhead Guru
Joined: 09 Jul 2004 Posts: 470 Location: Ulm - Germany
|
Posted: Sun Oct 24, 2004 1:30 am Post subject: |
|
|
@ hotgead:
My sdp-server is already running. It changes nothing... Code: | # ps xa | grep sdp
5359 ? Ss 0:00 /usr/sbin/sdpd |
@ riska:
How should I bind pc and device? _________________ Kopete OTR Plugin |
|
Back to top |
|
|
riksta n00b
Joined: 16 Apr 2004 Posts: 73 Location: Manchester, UK
|
Posted: Sun Oct 24, 2004 8:16 pm Post subject: |
|
|
dreadhead wrote: |
@ riska:
How should I bind pc and device? |
Well, on my Sony Ericsson P800, i go to the bluetooth section, search for devices, and then choose my PC and "add" it, then it asks me to enter a PIN, then you will see that the kbluepin will pop up on the PC, where you should enter the same pin that you typed onto the phone |
|
Back to top |
|
|
riksta n00b
Joined: 16 Apr 2004 Posts: 73 Location: Manchester, UK
|
Posted: Sun Oct 24, 2004 8:49 pm Post subject: |
|
|
well, i got it working on 2.6.9
but i have a sony ericsson p800, and that has an audio gateway, rather than a headset its self.
the p800 dobviously doesn't have a connect button like the headset, so what do i do? :S
Rick |
|
Back to top |
|
|
dreadhead Guru
Joined: 09 Jul 2004 Posts: 470 Location: Ulm - Germany
|
Posted: Mon Oct 25, 2004 6:56 am Post subject: |
|
|
I have to press the headsets button for about 7 seconds to set it to the peer mode. On my last gentoo install I had no problems connecting to the headset but now I always get this Authentication Error. Even if the headset is set to the peer mode.
Any ideas what else I could try? _________________ Kopete OTR Plugin |
|
Back to top |
|
|
deviljelly Apprentice
Joined: 19 Feb 2003 Posts: 193 Location: Netherlands
|
Posted: Mon Oct 25, 2004 7:35 am Post subject: 2.6.9 Patch |
|
|
Hi, This btsco.c should compile fine with 2.6.9, and it may even work, don't worry about sndmagic.h, and the rest of the patches should work.
Last edited by deviljelly on Thu Oct 28, 2004 8:32 am; edited 1 time in total |
|
Back to top |
|
|
hothead Apprentice
Joined: 02 Jul 2004 Posts: 277 Location: /dev/core
|
Posted: Tue Oct 26, 2004 8:20 pm Post subject: |
|
|
@deviljelly
Hi thank you for the good message that also 2.6.9 is now supported. I generated a patch against the 2.6.9-r1 gentoo kernel and it works. Maybe you can delete the code from your post - so people don't get confused and you don't have to scroll that much to see the following messages.
Ruben _________________ Got a question? - http://justfuckinggoogleit.com/ |
|
Back to top |
|
|
linuxdude88 n00b
Joined: 27 Oct 2004 Posts: 1
|
Posted: Wed Oct 27, 2004 2:30 pm Post subject: |
|
|
@masterbrain
have you got your headset working? i have exactly the same problem, i installed everything correctly, the output from above is the same. This is what i get when i start btsco:
Code: | Device is 0:0
Voice setting: 0x0060
RFCOMM channel connected
recieved AT+CKPD=200
opened hwdep
connected SCO channel
Setting sco fd
Done setting sco fd
recieved AT+VGS=12
Sending up speaker change 12 |
when i try to play a sound file, nothing happens, the program just hangs. |
|
Back to top |
|
|
deviljelly Apprentice
Joined: 19 Feb 2003 Posts: 193 Location: Netherlands
|
Posted: Thu Oct 28, 2004 8:33 am Post subject: |
|
|
@Ruben, done....
hothead wrote: | @deviljelly
Hi thank you for the good message that also 2.6.9 is now supported. I generated a patch against the 2.6.9-r1 gentoo kernel and it works. Maybe you can delete the code from your post - so people don't get confused and you don't have to scroll that much to see the following messages.
Ruben |
|
|
Back to top |
|
|
oggy n00b
Joined: 28 Oct 2004 Posts: 40
|
Posted: Thu Oct 28, 2004 7:32 pm Post subject: |
|
|
dreadhead wrote: | When I try to connect my headset I always get an Authentication Error.
I tried the following things:
Code: | # hcitool cc 00:0D:44:01:93:6D
Can't create connection: Input/output error
# hidd --connect 00:0D:44:01:93:6D
Can't create HID control channel: Permission denied
# sdptool search --bdaddr 00:0D:44:01:93:6D 0x1108
Class 0x1108
Failed to connect to SDP server on 00:0D:44:01:93:6D: Permission denied |
I also get a popup with the message:
"Problem connecting with Logitech HS01. Authentication error"
I enabled authentication in hcid.conf and changed pin_helper tu kbluebin. (I also tried it with the standard helper)
My Bluetooth-keyboard and Mouse work fine. Any ideas what I made wrong?
Thanks!
dreadhead |
I've been having exactly the same problem (same headset too) util I deleted the file /etc/bluetooth/link_key.
After that the pairing and everything else worked according to the guide. |
|
Back to top |
|
|
dreadhead Guru
Joined: 09 Jul 2004 Posts: 470 Location: Ulm - Germany
|
Posted: Thu Oct 28, 2004 9:21 pm Post subject: |
|
|
Thank you!!!!!!!!!!! It works!
Now my headset is connected to the PC but the alsa-driver works only if the snd-bt-sco module is loadet at startup. But if I load the module at startup the headset gets set as my primary sound device and every sound gets send to the headset.
Does anyone know how I can change the order of the devices?
Currently the headset is hw0:0, and my sound card is hw0:1
btw: Has anyone noticed that when the headset is active the mouse input with bluetooth-mouses is slower!? _________________ Kopete OTR Plugin |
|
Back to top |
|
|
dreadhead Guru
Joined: 09 Jul 2004 Posts: 470 Location: Ulm - Germany
|
Posted: Fri Oct 29, 2004 5:38 am Post subject: |
|
|
I managed it to set my sound card to the first device by loading the snd-bt-sco module a bit later...
But i also have the problem that the mic of the headset is recognized as an output channel instead of an input channel. For example in KMix I see the mic on the output-tab ant the input-tab is empty. I think this is the reason why the headset doesnt work in skype. _________________ Kopete OTR Plugin |
|
Back to top |
|
|
|