Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
HOW-TO connect Microsoft Bluetooth desktop setup
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
iwasbiggs
Apprentice
Apprentice


Joined: 17 Jan 2003
Posts: 203

PostPosted: Mon Jan 05, 2004 11:47 am    Post subject: HOW-TO connect Microsoft Bluetooth desktop setup Reply with quote

Here it is. Straight what I did. I couldn't get kernel 2.6.0 and hotplug to agree with the microsoft wireless transceiver (many usbdevfs_control failed errors and hanging systems), maybe somebody else can shed some light.
Alright, here goes:

1. Make sure you have a kernel that works (2.4.20 or later) and find the bluetooth section. In make menuconfig, enable bluetooth,
(Usually Drivers->Network->Bluetooth), usb hid support, and you might also want hotplug.

2. Make all options as module first, if possible, otherwise, as built in.

3. Make and install kernel and modules (reboot if necessary and don't forget about nvidia drivers or alsa).

4.
Code:

#emerge bluez-*

(emerge -s bluez to find them)

5.
Code:

#emerge hotplug

(this seems to have bad results for me on 2.6.0 vanilla but not on 2.4.23)

6. Download the appropriate bthid file from here:
http://klausler.com/msbtkb-linux.html

7. Extract to a new directory, and modify make.fake to match your kernel version.

8.
Code:
$make

in that directory. Copy the fake.o and update:
Code:
#cp fake.o /lib/modules/yourversion/kernel/drivers/bluetooth
#modules-update


9.
Code:
#mknod -m 200 /dev/input/bluetooth-in c $FAKE_MAJOR_NUMBER 0
#chown [yourusername] /dev/input/bluetooth-in

(where fake major number is from make.fake (250 by default). See the README for more information).

10.
Code:
#modprobe l2cap bluez fake hci_usb

(and add these to your /etc/modules.autoload.d/kernel file for auto loading next reboot)

11. Plug in your transceiver and put in batteries to accessories.

12. Check dmesg for something about hid added (your bluetooth base).

13.
Code:
#/etc/init.d/bluetooth start


14. Verify:
Code:
#hciconfig

shows hci0 is UP (this is your bluetooth wireless network).

15. Here's the tricky part: Reset your devices by holding down the reset buttons underneith for several (5+) seconds (sometimes it takes a few tries). Verify devices are found with the command:
Code:
$hcitool scan
.

16. Then, in a console run
Code:
$./bthid -v -v -n -s

twice (once for the mouse once for the keyboard), starting the input daemon. Your input should now be running. If the bthid command returns errors or device busy or permission denied or device shutdown, then proceed to step 15 and try again. Once one succeeds you don't need to reset the device until next boot.

17. You should now have a device in /etc/input/mouseX, which is new. You can:
Code:
#cat /dev/input/mice

and move the mouse to see that it works.

18. Set that mouse up in to XF86Config as here
https://forums.gentoo.org/viewtopic.php?t=21251

19. Restart X. (bthid will continue to run until it has been killed or the computer shuts down).

20. Learn about imwheel and hotkeys to use other functions on your extended buttons. Now you're done.


Right now, I'm looking for a way to avoid running bthid -s every startup and also pressing the reset buttons every time I restart my computer (so then I can remove my old keyboard). I would appreciate it if anybody could shed some light on the matter.

The performance, I'd say, isn't as good as my Logitech mx500 (slight choppiness--though this may improve with new versions of software), however, the keyboard is more than adequate. I have not yet tested the full potential of the batteries.

Enjoy. Lemme know if I skipped a step and enjoy.
_________________
www.ruinedsoft.com
Freeware development.
Back to top
View user's profile Send private message
MaGuS
Guru
Guru


Joined: 13 Jun 2002
Posts: 303
Location: Luebeck, Germany

PostPosted: Mon Feb 23, 2004 3:40 pm    Post subject: Reply with quote

Hi,

to you tried to get bthid 0.10 runnung on a 2.6.x kernel? Here it won't compile. ;(
uinput is in kernel .... :(

Code:

gcc -O -Wall -Wno-parentheses    -c -o global.o global.c
gcc -O -Wall -Wno-parentheses    -c -o sock.o sock.c
gcc -O -Wall -Wno-parentheses    -c -o kb.o kb.c
gcc -O -Wall -Wno-parentheses    -c -o main.o main.c
gcc -O -Wall -Wno-parentheses    -c -o out.o out.c
out.c:8:26: linux/uinput.h: No such file or directory
out.c:24: error: elements of array `udev_spec' have incomplete type
out.c:25: error: unknown field `name' specified in initializer
out.c:25: Warnung: Elementüberschreitung in struct-Initialisierung
out.c:25: Warnung: (nahe der Initialisierung für »udev_spec[0]«)
out.c:26: error: unknown field `name' specified in initializer
out.c:26: Warnung: Elementüberschreitung in struct-Initialisierung
out.c:26: Warnung: (nahe der Initialisierung für »udev_spec[1]«)
out.c: In Funktion »out_open«:
out.c:55: error: `UI_SET_EVBIT' undeclared (first use in this function)
out.c:55: error: (Each undeclared identifier is reported only once
out.c:55: error: for each function it appears in.)
out.c:58: error: `UI_SET_KEYBIT' undeclared (first use in this function)
out.c:66: error: `UI_SET_RELBIT' undeclared (first use in this function)
out.c:73: error: invalid use of undefined type `struct uinput_user_dev'
out.c:73: error: invalid use of undefined type `struct uinput_user_dev'
out.c:74: error: invalid use of undefined type `struct uinput_user_dev'
out.c:76: error: `UI_DEV_CREATE' undeclared (first use in this function)
out.c: In Funktion »out_flush«:
out.c:102: error: `EV_SYN' undeclared (first use in this function)
out.c:102: error: Initialisierungselement ist nicht konstant
out.c:102: error: (near initialization for `event.type')
out.c:104: error: `SYN_REPORT' undeclared (first use in this function)
out.c:104: error: Initialisierungselement ist nicht konstant
out.c:104: error: (near initialization for `event.code')
out.c: Auf höchster Ebene:
out.c:24: error: storage size of `udev_spec' isn't known
make: *** [out.o] Fehler 1


Magnus
Back to top
View user's profile Send private message
MaGuS
Guru
Guru


Joined: 13 Jun 2002
Posts: 303
Location: Luebeck, Germany

PostPosted: Mon Feb 23, 2004 5:05 pm    Post subject: Reply with quote

Had to edit the Makefile, now you don't need to press the connect buttons!

Magnus
Back to top
View user's profile Send private message
LoRd-niKon
n00b
n00b


Joined: 11 Sep 2003
Posts: 51
Location: Dortmund (ger)

PostPosted: Tue Mar 09, 2004 5:37 pm    Post subject: Reply with quote

I got just the same error as MaGus and whatever I change in Makefile I allways get:
Code:

root@luci blue # make
gcc -g -Wall -Wno-parentheses /usr/src/linux-2.6.3-gentoo-r1/   -c -o out.o out.c
gcc: cannot specify -o with -c or -S and multiple compilations
make: *** [out.o] Error 1


Please help, I'm really lokking forward getting my Ms Wireless Desktop back to work as in XP.
Back to top
View user's profile Send private message
kryoboy
n00b
n00b


Joined: 07 Mar 2004
Posts: 11

PostPosted: Sat Mar 13, 2004 12:33 am    Post subject: Reply with quote

ot@luci blue # make
gcc -g -Wall -Wno-parentheses /usr/src/linux-2.6.3-gentoo-r1/ -c -o out.o out.c
gcc: cannot specify -o with -c or -S and multiple compilations
make: *** [out.o] Error 1



Also
Anybody know how to fix this, its obvious you can is there something i need to set somewhere. thx
Back to top
View user's profile Send private message
russo79
n00b
n00b


Joined: 22 May 2003
Posts: 27

PostPosted: Sat Mar 13, 2004 5:29 pm    Post subject: Missed the -I Reply with quote

You need to put

LOCAL_INCS =-I /usr/src/linux-2.6.3-gentoo-r1/include

in the MakeFile

It should work after that :-)
Back to top
View user's profile Send private message
kryoboy
n00b
n00b


Joined: 07 Mar 2004
Posts: 11

PostPosted: Sun Mar 14, 2004 7:44 am    Post subject: Reply with quote

cool, i got it done another way, just edited out.c from <linux/blah> to "blah" and cp the included files to the compile dir/ and removed some cflags, dont know why but it was not using cflags correctly..
Back to top
View user's profile Send private message
quadt
n00b
n00b


Joined: 13 Mar 2004
Posts: 14

PostPosted: Sun Mar 14, 2004 11:33 am    Post subject: why is it so hard?? Reply with quote

Hi
I have tried to add the
Quote:
LOCAL_INCS =-I /usr/src/linux-2.6.3-gentoo-r1/include

No luck, i do have linux-2.6.3-gentoo-r1.

Have also tried to edit the out.c but i do not know withs cflags to remove.

This is my out put when using the LOCAL_INCS =-I /usr/src/linux-2.6.3-gentoo-r1/include

Code:
bash-2.05b# make
gcc -O -Wall -Wno-parentheses -I /usr/src/linux-2.6.3-gentoo-r1/include    -c -o
 global.o global.c
gcc -O -Wall -Wno-parentheses -I /usr/src/linux-2.6.3-gentoo-r1/include    -c -o                                                              sock.o sock.c
gcc -O -Wall -Wno-parentheses -I /usr/src/linux-2.6.3-gentoo-r1/include    -c -o                                                              kb.o kb.c
gcc -O -Wall -Wno-parentheses -I /usr/src/linux-2.6.3-gentoo-r1/include    -c -o                                                              main.o main.c
In file included from main.c:41:
/usr/src/linux-2.6.3-gentoo-r1/include/asm/byteorder.h:14: error: syntax error b                                                             efore "__u32"
/usr/src/linux-2.6.3-gentoo-r1/include/asm/byteorder.h:28: error: syntax error b                                                             efore "__u64"
In file included from /usr/src/linux-2.6.3-gentoo-r1/include/linux/byteorder/lit                                                             tle_endian.h:11,
                 from /usr/src/linux-2.6.3-gentoo-r1/include/asm/byteorder.h:57,
                 from main.c:41:
/usr/src/linux-2.6.3-gentoo-r1/include/linux/byteorder/swab.h:133: error: syntax                                                              error before "__u16"
/usr/src/linux-2.6.3-gentoo-r1/include/linux/byteorder/swab.h:146: error: syntax                                                              error before "__u32"
/usr/src/linux-2.6.3-gentoo-r1/include/linux/byteorder/swab.h:160: error: syntax                                                              error before "__u64"
make: *** [main.o] Error 1


some help would be great :roll:
Back to top
View user's profile Send private message
russo79
n00b
n00b


Joined: 22 May 2003
Posts: 27

PostPosted: Tue Mar 16, 2004 12:21 am    Post subject: Reply with quote

I also had that problem...

I updated to kernel-2.6.4 and it was gone!!!
Back to top
View user's profile Send private message
suineg
Apprentice
Apprentice


Joined: 02 Mar 2004
Posts: 200
Location: Los Angeles

PostPosted: Sun Mar 21, 2004 1:01 pm    Post subject: Reply with quote

i'm having a different compilation problem.

Code:

gcc -O -Wall -Wno-parentheses -|/usr/src/linux/include   -c -o global.o global.c
gcc: -E required when input is from standard input
/bin/sh: line 1: /usr/src/linux/include: is a directory
make: *** [global.o] Error 126

i'm using a 2.6.4 love kernel, any ideas?
Back to top
View user's profile Send private message
russo79
n00b
n00b


Joined: 22 May 2003
Posts: 27

PostPosted: Thu Mar 25, 2004 11:53 am    Post subject: Reply with quote

You have an error in your MakeFile

When you specify your kernel path, you need to put -I /usr/src/linux/include
Back to top
View user's profile Send private message
quadt
n00b
n00b


Joined: 13 Mar 2004
Posts: 14

PostPosted: Sun Mar 28, 2004 6:01 pm    Post subject: Still having problem grr Reply with quote

russo79 wrote:
You have an error in your MakeFile

When you specify your kernel path, you need to put -I /usr/src/linux/include


Have now upgraded the kernel to 2.6.4, but i get the exact same error as befour.
Code:
gcc -O -Wall -Wno-parentheses -I /usr/src/linux/include   -c -o global.o global.                                                             c
gcc -O -Wall -Wno-parentheses -I /usr/src/linux/include   -c -o sock.o sock.c
gcc -O -Wall -Wno-parentheses -I /usr/src/linux/include   -c -o kb.o kb.c
gcc -O -Wall -Wno-parentheses -I /usr/src/linux/include   -c -o main.o main.c
In file included from main.c:41:
/usr/src/linux/include/asm/byteorder.h:14: error: syntax error before "__u32"
/usr/src/linux/include/asm/byteorder.h:28: error: syntax error before "__u64"
In file included from /usr/src/linux/include/linux/byteorder/little_endian.h:11,
                 from /usr/src/linux/include/asm/byteorder.h:57,
                 from main.c:41:
/usr/src/linux/include/linux/byteorder/swab.h:133: error: syntax error before "_                                                             _u16"
/usr/src/linux/include/linux/byteorder/swab.h:146: error: syntax error before "_                                                             _u32"
/usr/src/linux/include/linux/byteorder/swab.h:160: error: syntax error before "_                                                             _u64"
make: *** [main.o] Error 1

Is there any one that can help me.
The bluez is compiled as modules
Is there any other solution to get the ms keyboard and mouse to work with linux.
I have tested, and my bluetooth is working.
If i use the gnome bluetooth admin i can search and find the ms mouse and my P800 phone.
:cry:
_________________
-----------------------
Working on a powerfull Gentoo and LTSP
solution.
Gentoo makes it possible
Back to top
View user's profile Send private message
tlaloctlaloc
Apprentice
Apprentice


Joined: 11 Feb 2004
Posts: 198
Location: Europe-In the heart of the Alps

PostPosted: Fri Apr 30, 2004 8:48 pm    Post subject: Reply with quote

quadt, my dongle wont see my P800, but sees apocket PC. Did you do anything special to achieve that?

Thanks, Valentin.
Back to top
View user's profile Send private message
tlaloctlaloc
Apprentice
Apprentice


Joined: 11 Feb 2004
Posts: 198
Location: Europe-In the heart of the Alps

PostPosted: Sat May 01, 2004 7:04 pm    Post subject: Reply with quote

Please forget my post, it is of sort "RTFM" and ambiguous translations of menu items to other languages, german in my case. If i set Bluetooth "Erkennbar" instaead of "Ein" the P800 is recognized. I thought "Ein" would include "Erkennbar", but it did not.

Sorry, Valentin.
Back to top
View user's profile Send private message
Schizoid
Apprentice
Apprentice


Joined: 11 Apr 2003
Posts: 267

PostPosted: Sat May 15, 2004 8:04 pm    Post subject: Reply with quote

Has any one been able to get the Apple bluetooth keyboard working? I have the 2.6.6 kernel and I can't seem to get things going...

Code:

root@GentooBox /home/patrick # /etc/init.d/bluetooth-hid restart
 * Stopping Bluetooth HID and HCI daemons...                              [ ok ]
 * Starting up Bluetooth HCI daemon...                                    [ ok ]
 * Starting up Bluetooth HID daemon...                                    [ ok ]

patrick@GentooBox ~ $ hcitool scan
Scanning ...
        00:0A:95:3A:63:E4       Apple Wireless Keyboard

patrick@GentooBox ~ $ bthid -a -e -v 00:0A:95:3A:63:E4
bthid[15391]: child 15392 terminated abnormally  (status 0x100)


Doing bthid -s doesn't seem to do anything either. I am typing in the PIN on the apple keyboard after doing bthid -s and hitting enter but things still don't work.

I feel like I am missing something simple here.....

Thank you for any help!
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
Page 1 of 1

 
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