Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
bluetooth headset [05.05 updated !!!]
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3 ... 9, 10, 11  Next  
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
hothead
Apprentice
Apprentice


Joined: 02 Jul 2004
Posts: 277
Location: /dev/core

PostPosted: Sun Oct 17, 2004 12:25 pm    Post subject: bluetooth headset [05.05 updated !!!] Reply with quote

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
Code:
# emerge btsco-cvs



Modify modules

Set the the sound-cards limit in /etc/modules.d/alsa to 2
Code:
snd card_limit=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:
Code:
hcitool scan

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
View user's profile Send private message
Wishmaster
Tux's lil' helper
Tux's lil' helper


Joined: 11 May 2003
Posts: 117
Location: Essen/Germany

PostPosted: Mon Oct 18, 2004 8:41 pm    Post subject: Reply with quote

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". :wink:
Back to top
View user's profile Send private message
masterbrian
Guru
Guru


Joined: 13 Feb 2004
Posts: 461

PostPosted: Wed Oct 20, 2004 6:08 pm    Post subject: Reply with quote

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
View user's profile Send private message
Deathwing00
Bodhisattva
Bodhisattva


Joined: 13 Jun 2003
Posts: 4087
Location: Dresden, Germany

PostPosted: Wed Oct 20, 2004 8:04 pm    Post subject: Reply with quote

Moved from Multimedia.
Back to top
View user's profile Send private message
hothead
Apprentice
Apprentice


Joined: 02 Jul 2004
Posts: 277
Location: /dev/core

PostPosted: Thu Oct 21, 2004 6:00 am    Post subject: Reply with quote

@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
View user's profile Send private message
masterbrian
Guru
Guru


Joined: 13 Feb 2004
Posts: 461

PostPosted: Thu Oct 21, 2004 7:22 am    Post subject: Reply with quote

@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
View user's profile Send private message
dreadhead
Guru
Guru


Joined: 09 Jul 2004
Posts: 470
Location: Ulm - Germany

PostPosted: Thu Oct 21, 2004 4:24 pm    Post subject: Reply with quote

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
View user's profile Send private message
hothead
Apprentice
Apprentice


Joined: 02 Jul 2004
Posts: 277
Location: /dev/core

PostPosted: Thu Oct 21, 2004 8:06 pm    Post subject: Reply with quote

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
View user's profile Send private message
riksta
n00b
n00b


Joined: 16 Apr 2004
Posts: 73
Location: Manchester, UK

PostPosted: Fri Oct 22, 2004 6:55 am    Post subject: Reply with quote

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
View user's profile Send private message
riksta
n00b
n00b


Joined: 16 Apr 2004
Posts: 73
Location: Manchester, UK

PostPosted: Fri Oct 22, 2004 7:47 am    Post subject: Reply with quote

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
View user's profile Send private message
masterbrian
Guru
Guru


Joined: 13 Feb 2004
Posts: 461

PostPosted: Fri Oct 22, 2004 1:50 pm    Post subject: Reply with quote

@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
View user's profile Send private message
masterbrian
Guru
Guru


Joined: 13 Feb 2004
Posts: 461

PostPosted: Fri Oct 22, 2004 1:52 pm    Post subject: Reply with quote

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
View user's profile Send private message
hothead
Apprentice
Apprentice


Joined: 02 Jul 2004
Posts: 277
Location: /dev/core

PostPosted: Fri Oct 22, 2004 10:01 pm    Post subject: Reply with quote

@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
View user's profile Send private message
riksta
n00b
n00b


Joined: 16 Apr 2004
Posts: 73
Location: Manchester, UK

PostPosted: Sat Oct 23, 2004 4:49 am    Post subject: Reply with quote

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
View user's profile Send private message
dreadhead
Guru
Guru


Joined: 09 Jul 2004
Posts: 470
Location: Ulm - Germany

PostPosted: Sun Oct 24, 2004 1:30 am    Post subject: Reply with quote

@ 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
View user's profile Send private message
riksta
n00b
n00b


Joined: 16 Apr 2004
Posts: 73
Location: Manchester, UK

PostPosted: Sun Oct 24, 2004 8:16 pm    Post subject: Reply with quote

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
View user's profile Send private message
riksta
n00b
n00b


Joined: 16 Apr 2004
Posts: 73
Location: Manchester, UK

PostPosted: Sun Oct 24, 2004 8:49 pm    Post subject: Reply with quote

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
View user's profile Send private message
dreadhead
Guru
Guru


Joined: 09 Jul 2004
Posts: 470
Location: Ulm - Germany

PostPosted: Mon Oct 25, 2004 6:56 am    Post subject: Reply with quote

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
View user's profile Send private message
deviljelly
Apprentice
Apprentice


Joined: 19 Feb 2003
Posts: 193
Location: Netherlands

PostPosted: Mon Oct 25, 2004 7:35 am    Post subject: 2.6.9 Patch Reply with quote

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.

Code:

removed by request



Last edited by deviljelly on Thu Oct 28, 2004 8:32 am; edited 1 time in total
Back to top
View user's profile Send private message
hothead
Apprentice
Apprentice


Joined: 02 Jul 2004
Posts: 277
Location: /dev/core

PostPosted: Tue Oct 26, 2004 8:20 pm    Post subject: Reply with quote

@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
View user's profile Send private message
linuxdude88
n00b
n00b


Joined: 27 Oct 2004
Posts: 1

PostPosted: Wed Oct 27, 2004 2:30 pm    Post subject: Reply with quote

@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
View user's profile Send private message
deviljelly
Apprentice
Apprentice


Joined: 19 Feb 2003
Posts: 193
Location: Netherlands

PostPosted: Thu Oct 28, 2004 8:33 am    Post subject: Reply with quote

@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
View user's profile Send private message
oggy
n00b
n00b


Joined: 28 Oct 2004
Posts: 40

PostPosted: Thu Oct 28, 2004 7:32 pm    Post subject: Reply with quote

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
View user's profile Send private message
dreadhead
Guru
Guru


Joined: 09 Jul 2004
Posts: 470
Location: Ulm - Germany

PostPosted: Thu Oct 28, 2004 9:21 pm    Post subject: Reply with quote

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
View user's profile Send private message
dreadhead
Guru
Guru


Joined: 09 Jul 2004
Posts: 470
Location: Ulm - Germany

PostPosted: Fri Oct 29, 2004 5:38 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks All times are GMT
Goto page 1, 2, 3 ... 9, 10, 11  Next
Page 1 of 11

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum