View previous topic :: View next topic |
Author |
Message |
iwasbiggs Apprentice
Joined: 17 Jan 2003 Posts: 203
|
Posted: Mon Jan 05, 2004 11:47 am Post subject: HOW-TO connect Microsoft Bluetooth desktop setup |
|
|
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.
(emerge -s bluez to find them)
5.
(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.
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:
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:
.
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 |
|
|
MaGuS Guru
Joined: 13 Jun 2002 Posts: 303 Location: Luebeck, Germany
|
Posted: Mon Feb 23, 2004 3:40 pm Post subject: |
|
|
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 |
|
|
MaGuS Guru
Joined: 13 Jun 2002 Posts: 303 Location: Luebeck, Germany
|
Posted: Mon Feb 23, 2004 5:05 pm Post subject: |
|
|
Had to edit the Makefile, now you don't need to press the connect buttons!
Magnus |
|
Back to top |
|
|
LoRd-niKon n00b
Joined: 11 Sep 2003 Posts: 51 Location: Dortmund (ger)
|
Posted: Tue Mar 09, 2004 5:37 pm Post subject: |
|
|
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 |
|
|
kryoboy n00b
Joined: 07 Mar 2004 Posts: 11
|
Posted: Sat Mar 13, 2004 12:33 am Post subject: |
|
|
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 |
|
|
russo79 n00b
Joined: 22 May 2003 Posts: 27
|
Posted: Sat Mar 13, 2004 5:29 pm Post subject: Missed the -I |
|
|
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 |
|
|
kryoboy n00b
Joined: 07 Mar 2004 Posts: 11
|
Posted: Sun Mar 14, 2004 7:44 am Post subject: |
|
|
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 |
|
|
quadt n00b
Joined: 13 Mar 2004 Posts: 14
|
Posted: Sun Mar 14, 2004 11:33 am Post subject: why is it so hard?? |
|
|
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 |
|
Back to top |
|
|
russo79 n00b
Joined: 22 May 2003 Posts: 27
|
Posted: Tue Mar 16, 2004 12:21 am Post subject: |
|
|
I also had that problem...
I updated to kernel-2.6.4 and it was gone!!! |
|
Back to top |
|
|
suineg Apprentice
Joined: 02 Mar 2004 Posts: 200 Location: Los Angeles
|
Posted: Sun Mar 21, 2004 1:01 pm Post subject: |
|
|
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 |
|
|
russo79 n00b
Joined: 22 May 2003 Posts: 27
|
Posted: Thu Mar 25, 2004 11:53 am Post subject: |
|
|
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 |
|
|
quadt n00b
Joined: 13 Mar 2004 Posts: 14
|
Posted: Sun Mar 28, 2004 6:01 pm Post subject: Still having problem grr |
|
|
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.
_________________ -----------------------
Working on a powerfull Gentoo and LTSP
solution.
Gentoo makes it possible |
|
Back to top |
|
|
tlaloctlaloc Apprentice
Joined: 11 Feb 2004 Posts: 198 Location: Europe-In the heart of the Alps
|
Posted: Fri Apr 30, 2004 8:48 pm Post subject: |
|
|
quadt, my dongle wont see my P800, but sees apocket PC. Did you do anything special to achieve that?
Thanks, Valentin. |
|
Back to top |
|
|
tlaloctlaloc Apprentice
Joined: 11 Feb 2004 Posts: 198 Location: Europe-In the heart of the Alps
|
Posted: Sat May 01, 2004 7:04 pm Post subject: |
|
|
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 |
|
|
Schizoid Apprentice
Joined: 11 Apr 2003 Posts: 267
|
Posted: Sat May 15, 2004 8:04 pm Post subject: |
|
|
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 |
|
|
|