View previous topic :: View next topic |
Author |
Message |
Neskweek n00b
Joined: 20 Jun 2004 Posts: 35 Location: Nantes - France
|
Posted: Sat Oct 02, 2004 1:21 pm Post subject: [HOWTO] Logitech DiNovo under Linux Gentoo |
|
|
HOW TO Configure My Logitech DiNovo
Last Modification: 13 february 2007 11:07
Hi everybody! It's been 5 month I've this wonderfull keyboard set and yet I've never been able to use it at it's full possibility.
I was searching for solutions to make it work with & without Bluetooth ... and guess what I found it yesterday ! Tried it today and all works great !!!.
First of all I've to thank the http://linux.yes.nu/diNovo/ guy who made a great How to about that, howto that I'll lay down below those lines. Just one little thing I don't use the LCD display on the MediaPad maybe later but for now I won't develop it now.
Restriction: you MUST have a 2.6.18-gentoo-r6 kernel.
Side Effect: using the configuration described in chapter 4, you'll have to /etc/init.d/xdm/restart each time you boot your machine (because your mouse won't be active yet :/ unless you shake it until X start ).
So ! Here we go
1. USB connection
2. Bluetooth Connection
3. Xorg Configuration
4. How to make all mouse buttons works
5. Enjoy
1. USB connection
... Or also called "The Ugly solution".... Why have you bought a bluetooth enabled keyboard set if you only use it with a usb connection.....
In fact I put this explication to the lazy ones which just want to use this keyboard set as a ..... keyboard set and nothing more (yes! yes! there are some weird people):
If you don't need Bluetooth the configuration process is easier and faster.
So what you need is very simple :
You need to recompile your kernel !
Just make sure to select those modules
If you compile them as modules (and not as I do below) you'll need to use hotplug. But I don't recommend it: I've noticed some problem with the mouse.
Quote: |
Device Drivers--->
USB SUpport--->
<*> Support for Host-side USB
<M> EHCI HCD (USB 2.0) support
<M> OHCI HCD support
<M> UHCI HCD (most Intel and VIA) support
[*] HID input layer supp
[*] /dev/hiddev raw HID device support
|
Once your kernel recompiled reboot.
Now you must tell to your desktop manager to use your keyboard type :
Gnome :
Gnome Menu -> Applications -> Desktop Preferences -> Keyboard
KDE:
KDE Menu -> Kontrol Center -> Accessibility -> Keyboard Layout
And search in the list for "Logitech Cordless Desktop Pro" (or the alternate)
By the way the home,mail and search keys don't work.
Now you can go to 5.
2. Bluetooth Connection
Frankly this is the most interesting one because it permit a much greater use of you're DiNovo Pack.
First you'll need to download the latest patch from the bluez project.
You'll find it here : http://www.bluez.org/patches.html . It allow you to use a bluetooth device as a HID device (just like the USB connection)
Once downloaded :
(assuming the 2.6.18-gentoo-r6 kernel is your default one) and
Quote: |
gzip -dc /path/to/patch-2.6.18-mh8.gz | patch -p1
|
You'll see an error when applying the patch... :
Quote: |
patching file drivers/bluetooth/hci_usb.c
patching file include/net/bluetooth/bluetooth.h
patching file include/net/bluetooth/hci_core.h
patching file include/net/bluetooth/hci.h
patching file Makefile
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file Makefile.rej
patching file net/bluetooth/af_bluetooth.c
patching file net/bluetooth/bnep/core.c
patching file net/bluetooth/hci_conn.c
patching file net/bluetooth/hci_core.c
patching file net/bluetooth/hci_event.c
patching file net/bluetooth/hci_sock.c
patching file net/bluetooth/hidp/core.c
patching file net/bluetooth/hidp/hid.c
patching file net/bluetooth/hidp/hid.h
patching file net/bluetooth/hidp/hidp.h
patching file net/bluetooth/hidp/Makefile
patching file net/bluetooth/Kconfig
patching file net/bluetooth/l2cap.c
patching file net/bluetooth/rfcomm/sock.c
|
That's totaly normal
Then regarding the kernel configuration, you'll have to select those modules :
Quote: |
Device Drivers--->
USB SUpport--->
<*> Support for Host-side USB
<M> EHCI HCD (USB 2.0) support
<M> OHCI HCD support
<M> UHCI HCD (most Intel and VIA) support
[*] HID input layer supp
[*] /dev/hiddev raw HID device support
Device Drivers--->
Networking support --->
<*> Bluetooth subsystem support --->
<*> L2CAP protocol support
<*> SCO links support
<*> RFCOMM protocol support
[*] RFCOMM TTY support
<*> BNEP protocol support
[*] Multicast filter support
[*] Protocol filter support
<*> HIDP protocol support
Bluetooth device drivers --->
<M> HCI USB driver
[*] SCO (voice) support
<*> HCI UART driver
[*] UART (H4) protocol support
[*] BCSP protocol support
[*] Transmit CRC with every BCSP packet
<M> HCI BCM203x USB driver
<M> HCI BlueFRITZ! USB driver
<*> HCI VHCI (Virtual HCI device) driver
|
(ok here I must confess You don't need all ... just the one in bold style.. but the rest can be usefull in the future)
Then recompile your kernel .BUT DON'T REBOOT YET (or you'll need a second keyboard to do the rest)
You need first the dbus ebuild
Then activate dbus
Quote: |
rc.update add dbus boot
|
You need then to install the bluez ebuilds
Quote: |
emerge bluez-utils
|
This would emerge :
net-wireless/bluez-libs
dev-libs/libusb
net-wireless/bluez-utils
Just what we need (For an enhanced use of your dongle you will need other ebuilds... But that's another story)
Once done, you could launch the hid2hci command which uses the USB hiddev device to be handled as a normal Bluetooth device but the problem is that you can say goodbye to your mouse and keyboards :
In fact The BT dongle is on but it's not aware that there's devices waiting to be used. And this lazy one don't want to discover them !!!!
So we need to put those lines in this file (the blue & bold ones):
/etc/init.d/bluetooth :
Quote: |
#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-wireless/bluez-utils/files/2.10-r1/bluetooth.rc,v 1.2 2004/09/24 20:23:45 liquidx Exp $
UART_CONF="/etc/bluetooth/uart"
HIDD_ENABLE="true"
PAND_ENABLE="true" #enable the ablitie to create a Network Access Point
HID2HCI_ENABLE="true" #enables the switching to BT mode
DUND_ENABLE="true" #used to establish a ppp connection to a BT device
HCID_ENABLE="true"
SDPD_ENABLE="true" #Service Discovery Protocol
depend() {
after hotplug
}
start_uarts() {
[ -f /usr/sbin/hciattach -a -f ${UART_CONF} ] || return
grep -v '^#' ${UART_CONF} | while read i; do
/usr/sbin/hciattach $i
done
}
stop_uarts() {
killall hciattach > /dev/null 2>&1
}
start() {
ebegin "Starting Bluetooth"
if [ "${HCID_ENABLE}" = "true" -a -x /usr/sbin/hcid ]; then
if [ -f "${HCID_CONFIG}" ]; then
ebegin " Starting hcid"
start-stop-daemon --start --quiet \
--exec /usr/sbin/hcid -- -f $HCID_CONFIG
eend $?
else
ewarn "Not enabling hcid because HCID_CONFIG is missing."
fi
fi
if [ "${SDPD_ENABLE}" = "true" -a -x /usr/sbin/sdpd ]; then
ebegin " Starting sdpd"
start-stop-daemon --start --quiet --exec /usr/sbin/sdpd
eend $?
fi
if [ "${HIDD_ENABLE}" = "true" -a -x /usr/bin/hidd ]; then
ebegin " Starting hidd"
start-stop-daemon --start --quiet \
--exec /usr/bin/hidd -- ${HIDD_OPTIONS} --server
eend $?
fi
if [ "${HID2HCI_ENABLE}" = "true" -a -x /usr/sbin/hid2hci ]; then
ebegin " Running hid2hci"
/usr/sbin/hid2hci -0 -q #be quiet
eend $?
fi
if [ "${RFCOMM_ENABLE}" = "true" -a -x /usr/bin/rfcomm ]; then
if [ -f "${RFCOMM_CONFIG}" ]; then
ebegin " Starting rfcomm"
/usr/bin/rfcomm -f ${RFCOMM_CONFIG} bind all
eend $?
else
ewarn "Not enabling rfcomm because RFCOMM_CONFIG does not exists"
fi
fi
if [ "${PAND_ENABLE}" = "true" -a -x /usr/bin/pand ]; then
if [ -n "${PAND_OPTIONS}" ]; then
ebegin " Starting pand"
start-stop-daemon --start --quiet \
--exec /usr/bin/pand -- ${PAND_OPTIONS} --listen --role NAP # --listen --role NAP create a Network Access Point
eend $?
else
ewarn "Not starting pand because PAND_OPTIONS not defined."
fi
fi
if [ "${DUND_ENABLE}" = "true" -a -x /usr/bin/dund ]; then
if [ -n "${DUND_OPTIONS}" ]; then
ebegin " Starting dund"
start-stop-daemon --start --quiet \
--exec /usr/bin/dund -- ${DUND_OPTIONS} --listen --msdun call btdun # --listen --msdun call btdun create a ppp connection with a Microsoft device
eend $?
else
ewarn "Not starting dund because DUND_OPTIONS not defined."
fi
fi
start_uarts
eend 0
}
stop() {
ebegin "Shutting down Bluetooth"
if [ "${DUND_ENABLE}" = "true" -a -x /usr/bin/dund ]; then
ebegin " Stopping dund"
start-stop-daemon --stop --quiet --exec /usr/bin/dund
eend $?
fi
if [ "${PAND_ENABLE}" = "true" -a -x /usr/bin/pand ]; then
ebegin " Stopping pand"
start-stop-daemon --stop --quiet --exec /usr/bin/pand
eend $?
fi
if [ "${RFCOMM_ENABLE}" = "true" -a -x /usr/bin/rfcomm ]; then
ebegin " Stopping rfcomm"
/usr/bin/rfcomm release all
eend $?
fi
if [ "${HIDD_ENABLE}" = "true" -a -x /usr/bin/hidd ]; then
ebegin " Stopping hidd"
start-stop-daemon --stop --quiet --exec /usr/bin/hidd
eend $?
fi
if [ "${SDPD_ENABLE}" = "true" -a -x /usr/sbin/sdpd ]; then
ebegin " Stopping sdpd"
start-stop-daemon --stop --quiet --exec /usr/sbin/sdpd
eend $?
fi
if [ "${HCID_ENABLE}" = "true" -a -x /usr/sbin/hcid ]; then
ebegin " Stopping hcid"
start-stop-daemon --stop --quiet --exec /usr/sbin/hcid
eend $?
fi
stop_uarts
eend 0
}
restart() {
svc_start
svc_stop
}
|
WARNING : Here, regarding your kernel configuration, you'll have a "FATAL error : bluetooth module not found." or whatever, if you have chosen to do as I wrote, meaning integrate all the drivers in the kernel. It's caused by the first line highlighted in red : All you drivers are integrated in the kernel so when that script try to load them it fails because it don't find the driver file.
To avoid this problem you've got two choices : modularise your bluetooth drivers OR comment the second line in red.
Then you need to add the bluetooth service to the boot sequence :
Quote: |
rc-update add bluetooth default
|
and next take a look at that file :
/etc/bluetooth/hcid.conf
Quote: |
# HCI daemon configuration file.
# HCId options
options {
# Automatically initialize new devices
autoinit yes;
# Security Manager mode
security user;
# Pairing mode
pairing multi;
# PIN helper
pin_helper /usr/bin/bluepin;
}
# Default settings for HCI devices
device {
# Local device name
name "BlueZ (%d)";
# Local device class
class class 0x120301;
# Inquiry and Page scan
iscan enable; pscan enable;
# Default link mode
lm accept;
# Default link policy
lp rswitch,hold,sniff,park;
# Authentication and Encryption
auth disable;
#encrypt enable;
}
|
Now you can reboot ....
And when your in front of your connection manager that's a drama :
You move your mouse press your keyboard and nothing happen....
You say :"This B#@!¹& He froze my system" but after a few seconds your mouse start to move again and you see character being write "Haaaaaaa"
That worked.....
But .....
3. Xorg Configuration (sorry for the others... )
... once started you realise that none of your media/extra keys are working .
That's not a problem (anymore )
Here are the modifications to make :
/etc/X11/xkb/rules/xorg (117th line)
Quote: |
Replace this line : logiinkse logiinkseusb logiik itouch
by : logiinkse logiinkseusb logiik itouch logidmd
|
/etc/X11/xkb/rules/xorg.lst (78th line)
Quote: |
logiinkse Logitech iTouch Internet Navigator Keyboard SE
logiinkseusb Logitech iTouch Internet Navigator Keyboard SE (USB)
logiik Logitech Internet Keyboard
logidmd Logitech diNovo Media Desktop #add this line
itouch Logitech iTouch
mx1998 Memorex MX1998
mx2500 Memorex MX2500 EZ-Access Keyboard
|
/etc/X11/xkb/rules/xorg.xml (633th line)
Quote: |
</model>
<model>
<configItem>
<name>logidmd</name>
<description>Logitech diNovo Media Desktop</description>
</configItem>
</model>
<model>
<configItem>
<name>logiaccess</name>
<description>Logitech Access Keyboard</description>
</configItem>
|
/etc/X11/xkb/symbols.dir (853rd line)
Quote: |
--p----- a------- inet(logiik)
--p----- a------- inet(logidmd)
--p----- a------- inet(itouch)
|
/etc/X11/xkb/symbols/inet (1373th line)
Quote: |
partial alphanumeric_keys
xkb_symbols "logidmd" {
name[Group1]= "Logitech diNovo Media Desktop";
key <I12> { [ XF86Sleep ] };
key <I02> { [ XF86HomePage ] };
key <I6C> { [ XF86Mail ] };
key <K68> { [ Undo ] };
key <K67> { [ XF86MyComputer ] };
key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
key <I24> { [ XF86AudioStop ] };
key <I10> { [ XF86AudioPrev ] };
key <I17> { [ XF86Search ] };
key <I19> { [ XF86AudioNext ] };
key <I21> { [ XF86AudioRaiseVolume ] };
key <K66> { [ XF86AudioLowerVolume ] };
key <KPDC> { [ XF86AudioMute ] };
key <XFER> { [ XF86AudioMedia ] };
key <I6A> { [ XF86Back ] };
key <I69> { [ XF86Forward ] };
};
partial alphanumeric_keys
xkb_symbols "logiik" {
name[Group1]= "Logitech Internet Keyboard";
|
Ouf....!!! Done!
Now you must tell to your desktop manager to use your keyboard type :
Gnome :
Gnome Menu -> Applications -> Desktop Preferences -> Keyboard
KDE:
KDE Menu -> Kontrol Center -> Accessibility -> Keyboard Layout
And search in the list for "Logitech diNovo Media Desktop"
Then you can customise your /etx/X11/xorg.conf:
Quote: |
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "logidmd"
Option "XkbLayout" "lg" #language keyboard layout : replace "lg" by "us" for americans, "fr" for french , ...
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "Resolution" "1200"
Option "Buttons" "8"
Option "ZAxisMapping" "7 8"
EndSection
|
and put this line in /etc/X11/Xmodmap
Quote: |
pointer = 1 2 3 6 8 7 4 5
|
This makes:
Button 1 and 3 - left and right click - (left and right click).
Button 2 - pressing the wheel - (paste)
Button 4 and 5 - scrollwheel up and down - (scroll up and down).
Button 4+6 and 5 - buttons above and below scrollwheel - (scroll up + back and scroll down)
Button 8 - (?)
Button 6 - big thumbbutton on the side - (back in mozilla, for example)
Button 7 - "window"-button on top of the mouse
Now you can reboot X....
4. How to make all mouse buttons works
Okay. So at this point, we have made our keyboards works perfectly (mediapad+keyboard).
But you'll notice that not all of the 10 mouse buttons are working.
Changing Xorg configuration will only move the problem : if you manage to make one button work, another goes down :/
Then here is one solution. It has take me sometimes to find out.
I've tested several Linux distribution, and I must say that the evdev driver is kind of an evil clowny thing : depending your Linux it might not react the same (it's essentialy due to versions differences). It's pretty stable for USB devices, but for bluettoth ones that's a pin in the ass :X
The here is a solution working for Gentoo. it might work for other distribution but it may require ajustments (For instance on Ubuntu, you don't need to use an evdev driver: Just using the standard mouse driver and using xvkbd and xbindkeys should do the trick).
So First we need to know the MAC adresses of our devices : that's reaaaaaaaaaally simple => it's written on the back of your devices (mediapad, keyboard and mouse: each have an unique MAC ADRESS. it's a number looking like this : 00:27:61:16:F8:32
Here we will consider that the adresses of my devices (found on the back of the devices) are :
Keyboard: KK:KK:KK:KK:KK:KK
Mediapad: PP:PP:PP:PP:PP:PP
Mouse : MM:MM:MM:MM:MM:MM
Then we create this file :
/etc/udev/rules.d/40-dinovo.rules
Quote: |
KERNEL=="event*", ATTRS{uniq}=="KK:KK:KK:KK:KK:KK" , NAME="input/event7", MODE="0644", SYMLINK+="input/keyboard"
KERNEL=="event*", ATTRS{uniq}=="PP:PP:PP:PP:PP:PP" , NAME="input/event8", MODE="0644", SYMLINK+="input/mediapad"
KERNEL=="event*", ATTRS{uniq}=="MM:MM:MM:MM:MM:MM" , NAME="input/event9", MODE="0644", SYMLINK+="input/mx900"
|
Why this ?
As Xorg evdev driver WANT nodes called /dev/input/eventX we gave him what it wants : we create 3 node : one per device. You still can try to call them otherwise but that will be a time loss. HE WANTS /dev/input/eventX named nodes
The name of the file (/etc/udev/rules.d/40-dinovo.rules) IS VERY IMPORTANT especially the number : it defines the treatment order of the file.
In the /etc/udev/rules.d/ directory you'll see several files prefixed by numbers : the lower number start first, the largest last.
Here we chose 40-dinovo.rules because IT MUST start before udev general rules (located in /etc/udev/rules.d/50-udev.rules). We could have chosen 45 or 30 ... but it must be smaller than 50 !
Talking about the rest of the name ... I could have called it 40-lobster.rules it wouldn't have change a thing )
Then why 3 nodes ? We only need a node for the mouse !
True !
Because if we only do that for the mouse, if keyboard, mediapad & mx900 disconnect (power saving mode/recharging/battery died/out of range/.../whatever) when they'll be reconnected we can't garantee that the keyboard, which had connect first (this time) hasn't use the event9 we had chosen to be the mx900 event :/
To counter that effect we decide to assign event to our keyboard and mediapad, to be sure they won't stole the mx900 node.
Then that's cooking computing (don't know how you call that in english) : depending the number of USB or other type of input you have (ex.: drawing tablets, two mouse, etc.) you may have to be carefull with the event you chose : be sure not to chose an event already used.
NB: this shouldn't be a problem : since our rule start before the udev ones, our mouse/keyboard/mediapad &are launched before the creation of other input events : it shouldn't use the one we defined. But I prefer create them by caution.
Oh and why the symlink ?
It is just a visual help : a simple "ll /dev/input/*" will show which event are linked to which device, just in case I forgot what is what .They can be ommited if you like
Then we have to make udev apply those new rules. Type :
Done !
Just to be sure : ll /dev/input
You should see your nodes devices and the simlinks showing you which ones are what.
Fine !
Let's make Xorg using them !
Quote: |
Section "InputDevice"
Identifier "MX900"
Driver "evdev" # No more "mouse" protocol !
option "CorePointer" # we tell Xorg that we want this mouse to be the master one (in case you have several ones)
option "Device" "/dev/input/event9" # the device that handles the mouse.
option "Resolution" "800" # Resolution of the mouse. Don't know if that really works tho: it produces no trace in /var/log/Xorg.0.log
Option "AbsoluteScreen" "0" # The special one. If you don't put that there will be an error on Xorg init.
EndSection
|
And you may want to add this too :
Quote: |
Section "ServerFlags"
Option "AllowMouseOpenFail" "true" #allow X to start without Mouse
EndSection
|
Why ?
Because when your computer will start ... your mouse won't be active (unless you shake it until X start )
This should normally makes X start even if it doesn't find a mouse device ...
Oddly on my latest test... This option doesn't work ... That's annoying
But ...
EUREKA !!! We did it !
Then now we can reboot Xorg :
Quote: |
/etc/init.d/xdm restart
|
We are going to try all those buttons !
Ho well, wait !
I forgot one thing
Yeah all the buttons were found (use xev : you'll see that all buttons produce interruptions) but the two buttons on each side off wheel works as if they were the wheel (Doh !) and the top one seems to produce the same effect as the left mouse button.
Damn !
But don't be pieced off : the fact all the buttons produces interruptions meens that we can use those interruption to assign (or reassign) them a function.
To do so we'll have to install :
- xbindkeys which map keycodes
- xvkbd which create some sort of virtual keyboard or whatever
Quote: |
emerge xbindkeys xvkbd
|
then all we still have to do is to create and fill this file :
$HOME/.xbindkeysrc
Quote: |
#Button 8
"xvkbd -xsendevent -text "Q""
m:0x10 + b:8
#Button 9
"xvkbd -xsendevent -text "S""
m:0x10 + b:9
#Button 10
"xvkbd -xsendevent -text "D""
m:0x10 + b:10
|
now launch xbindkeys and enjoy :
Your mouse produce a "Q" when you hit the 8th Buttons etc ...
Here I only made my mouse print some letters (just as if I typed Q on my keyboard) because I didn't need more but you can assign some pretty functions like assign some sort of "Alt+Tab" function on the top button (or elsewhere, as you want), or launch a program/script, etc...
All you'll have to do then is to make this xbindkeys daemon start when your window manager is fired.
For this I'll detail only the KDE part (I don't like Gnome and so I don't know how to do it. But you'll find out I'm sure that's not the hardest part ) :
create and fill :
$HOME/.kde/Autostart/xbindkeysrc
Quote: |
#!/bin/bash
/usr/bin/killall -9 xbindkeys
/usr/bin/xbindkeys -v > /tmp/xbindkeys.log
|
Then in a terminal
Quote: |
chmod 700 $HOME/.kde/Autostart/xbindkeysrc
|
And that's it
5.Enjoy
...What to say...
Hmmmmm I Love this keyboard set
Last edited by Neskweek on Tue Feb 13, 2007 10:55 am; edited 49 times in total |
|
Back to top |
|
|
gaute n00b
Joined: 30 Oct 2002 Posts: 52 Location: Bærum, Norway
|
Posted: Mon Oct 04, 2004 12:09 pm Post subject: |
|
|
Great HowTo. I have wanted a DiNovo for a long time, and now I can finally afford it and I don't need to use days configuring it. _________________ -gaute magnussen
Bibamus, moriendum est |
|
Back to top |
|
|
stig Apprentice
Joined: 03 Sep 2002 Posts: 289 Location: Bærum, Norway
|
Posted: Mon Oct 04, 2004 10:15 pm Post subject: |
|
|
gaute wrote: | Great HowTo. I have wanted a DiNovo for a long time, and now I can finally afford it and I don't need to use days configuring it. |
...word! _________________ Allting har en ende, pølsen den har to. |
|
Back to top |
|
|
ppito n00b
Joined: 04 Oct 2004 Posts: 17
|
Posted: Tue Oct 05, 2004 11:15 am Post subject: |
|
|
hi Neskweek,
thx for your how-to.
I have a problem here .
u said there was an error at patching the kernel and that was right. Ok i got one error patching Makefile... is it ok?
well, after following all your steps I got the msg "No devices in HCI mode found" after typing 'hid2hci' command. I paste here the messages from kernel related to usb and bluetooth:
Code: |
bluetooth: Unknown parameter `l2cap'
Bluetooth: Core ver 2.6
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP ver 2.4
Bluetooth: L2CAP socket layer initialized
Bluetooth: HIDP (Human Interface Emulation) ver 1.0-mh1 |
Code: | usbcore: registered new driver usbfs
usbcore: registered new driver hub
usbcore: registered new driver usblp
drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver
usbcore: registered new driver hiddev
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.0:USB HID core driver |
Bluetooth module loads with no problem, and keyboard works fine (in usb mode).
I'm working with 2.6.8-gen-dev (r3) with no graphic system yet (only console).
Thx in advance for any help |
|
Back to top |
|
|
Neskweek n00b
Joined: 20 Jun 2004 Posts: 35 Location: Nantes - France
|
Posted: Tue Oct 05, 2004 12:24 pm Post subject: |
|
|
Hi ppito
So first concerning the error concerning the path, yes it occurs on the Makefile it's normal. I'll add that to the Howto.
Then
I have reproduced your "No devices in HCI mode found" error...
The bad news is that I do it by unpluging my device ....
Then I didn't noticed first but i forgot to highlight one thing in the howto in the /etc/init.d/bluetooth script:
Quote: |
[ $RETVAL -a -x /usr/bin/hidd ] && \
start-stop-daemon --start --quiet --exec /usr/bin/hidd
RETVAL=$? #I'm not sure of that one.... I kept it by doubt
|
(look the howto to see where it is)
It seems that it need it .....
Next try to type hidd on the console (before doing a hid2hci). If you have an error, you have a problem with your kernel configuration: look again at your bluetooth section or send it.
Then I've noticed that sometimes after aplying that patch and others (I'm refering to the pwc-fork one to make work my webcam) the patches make crash the compilation of the kernel......
You have to :
Quote: |
rm -Rf /usr/src/linux-2.6.8-gentoo-r3/
emerge unmerge gentoo-dev-sources
emerge gentoo-dev-sources
|
and reaply the patch
So here is one other question how do you compile your kernel : by hand or with genkernel (personnaly I use the last one,... yes I know shame on me but when you're lazy....) .... And are you sure it make it.
Good luck |
|
Back to top |
|
|
ppito n00b
Joined: 04 Oct 2004 Posts: 17
|
Posted: Tue Oct 05, 2004 4:15 pm Post subject: re |
|
|
Hi Neskweek,
Quote: | So here is one other question how do you compile your kernel : by hand or with genkernel (personnaly I use the last one,... |
you took me behind the solution with genkernel.. reading again gentoo handbook at kernel configuration i saw i had not installed hotplug becouse it was inside genkernel section and i did it by menuconfig way. After tried with genkernel and got a few errors about modules not being found, i did an 'emerge' with hotplug and tried again the manual kernel compile. I think another solution might be setting up the right modules in /etc/modules.autoload.d/kernel-2.6, but anyway, i dont care now
Now it sees the devices at boot time with no problem.
Thx very much for your help. |
|
Back to top |
|
|
scoobydu Veteran
Joined: 16 Feb 2003 Posts: 1076 Location: 'Mind the Gap'
|
Posted: Tue Oct 05, 2004 9:43 pm Post subject: |
|
|
Neskweek:
Thanks for the howto
I've been using the BT hub for a while, but wasn't that bothered about the xorg stuff ... that is until now, so I'll add it.
btw, using the newest kernels, the mh patch is already included, so no more need to patch. _________________ Tyan Tiger K8W, 2xOpteron 240,Powerbook5,6 15" 1.5g, Macbook Black 2g, Mac Mini 1g, Ipod P60g.
| Linux - From a windows user perspective| |
|
Back to top |
|
|
raardvark n00b
Joined: 29 Mar 2004 Posts: 7
|
Posted: Tue Oct 05, 2004 11:02 pm Post subject: |
|
|
This looks good, but I'm having a few problems.
I've emerged bluez-utils and done everything else up to the X configuration part, but when I rebooted, I got messages that it couldn't find the command sdpd, hid2hci or hidd.
Does anyone know what my problem might be. I'm using a 2.4.25 kernel (I did read about having to use a 2.6 kernel, but I'm a naive noob and thought I'd be able to make it work in 2.4 and also not sure if upgrading to 2.6 will break my system). _________________ ...and then she said... |
|
Back to top |
|
|
pjp Administrator
Joined: 16 Apr 2002 Posts: 20484
|
Posted: Tue Oct 05, 2004 11:09 pm Post subject: |
|
|
Moved from Kernel & Hardware. _________________ Quis separabit? Quo animo? |
|
Back to top |
|
|
scoobydu Veteran
Joined: 16 Feb 2003 Posts: 1076 Location: 'Mind the Gap'
|
Posted: Tue Oct 05, 2004 11:43 pm Post subject: |
|
|
raardvark wrote: | This looks good, but I'm having a few problems.
I've emerged bluez-utils and done everything else up to the X configuration part, but when I rebooted, I got messages that it couldn't find the command sdpd, hid2hci or hidd.
Does anyone know what my problem might be. I'm using a 2.4.25 kernel (I did read about having to use a 2.6 kernel, but I'm a naive noob and thought I'd be able to make it work in 2.4 and also not sure if upgrading to 2.6 will break my system). |
In what way would a 2.6 kernel break your system?
Some reconfiguring, but thats about it.
Never tried this with a 2.4 kernel, but you'd need to apply the correct patch for your kernel from here -> http://www.holtmann.org/linux/kernel/
scooby _________________ Tyan Tiger K8W, 2xOpteron 240,Powerbook5,6 15" 1.5g, Macbook Black 2g, Mac Mini 1g, Ipod P60g.
| Linux - From a windows user perspective| |
|
Back to top |
|
|
raardvark n00b
Joined: 29 Mar 2004 Posts: 7
|
Posted: Tue Oct 05, 2004 11:58 pm Post subject: |
|
|
Like I said, I'm a bit of a noob, I wasn't entirely sure what would happen. From what you've said though it doesn't sound like a huge deal, so I'll emerge some 2.6 source and give it a go.
Thanks _________________ ...and then she said... |
|
Back to top |
|
|
scoobydu Veteran
Joined: 16 Feb 2003 Posts: 1076 Location: 'Mind the Gap'
|
Posted: Wed Oct 06, 2004 12:07 am Post subject: |
|
|
raardvark wrote: | Like I said, I'm a bit of a noob, I wasn't entirely sure what would happen. From what you've said though it doesn't sound like a huge deal, so I'll emerge some 2.6 source and give it a go.
Thanks |
Didn't mean it to sound noob unfriendly
Definately give it a go ... the 2.6 kernels are faster, have more hardware support, so unless you really must have a 2.4 kernel, then go for it. _________________ Tyan Tiger K8W, 2xOpteron 240,Powerbook5,6 15" 1.5g, Macbook Black 2g, Mac Mini 1g, Ipod P60g.
| Linux - From a windows user perspective| |
|
Back to top |
|
|
raardvark n00b
Joined: 29 Mar 2004 Posts: 7
|
Posted: Wed Oct 06, 2004 6:22 am Post subject: |
|
|
That's OK scooby, don't worry about it
I've recompiled with the 2.6.8-r3 kernel now and that went fine, but when starting up it gave an error:
"Starting Bluetooth:
FATAL: module bluetooth not found"
I ran "modprobe bluetooth" and it didn't come up with anything.
I checked over my kernel config and it's the same as posted.
Anyone got any ideas what I did (or didn't) do? _________________ ...and then she said... |
|
Back to top |
|
|
Neskweek n00b
Joined: 20 Jun 2004 Posts: 35 Location: Nantes - France
|
Posted: Wed Oct 06, 2004 9:16 am Post subject: |
|
|
Hi guys
First, Answering raardvark :
Quote: |
I've recompiled with the 2.6.8-r3 kernel now and that went fine, but when starting up it gave an error:
"Starting Bluetooth:
FATAL: module bluetooth not found"
I ran "modprobe bluetooth" and it didn't come up with anything.
I checked over my kernel config and it's the same as posted. |
That's because as you said your config kernel is as posted so the bluetooth module is integrated into the kernel. So You don't need to load it.
In fact you have that line at the start of your /etc/init.d/bluetooth :
Quote: |
#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-wireless/bluez-utils/files/bluetooth.rc,v 1.5 2004/09/2123:09:54 liquidx Exp $
UART_CONF="/etc/bluetooth/uart"
depend() {
after hotplug
}
start_probe() {
/sbin/modprobe bluetooth l2cap rfcomm sdp
}
start_uarts() {
[ -f /usr/sbin/hciattach -a -f ${UART_CONF} ] || return
grep -v '^#' $UART_CONF | while read i; do
/usr/sbin/hciattach $i
done
}
stop_uarts() {
killall hciattach > /dev/null 2>&1
}
start() {
local RETVAL
ebegin "Starting Bluetooth"
start_probe
[ -x /usr/sbin/hcid ] && \
start-stop-daemon --start --quiet --exec /usr/sbin/hcid
RETVAL=$?
[ $RETVAL -a -x /usr/bin/hidd ] && \
start-stop-daemon --start --quiet --exec /usr/bin/hidd
RETVAL=$? #I'm not sure of that one.... I kept it by doubt
[ $RETVAL -a -x /usr/sbin/sdpd ] && \
start-stop-daemon --start --quiet --exec /usr/sbin/sdpd
RETVAL=$?
start_uarts
hid2hci
hcid
sdpd
hidd --server
eend ${RETVAL}
}
stop() {
local RETVAL
ebegin "Shutting down Bluetooth"
[ -x /usr/sbin/hcid ] && \
start-stop-daemon --stop --quiet --exec /usr/sbin/hcid
RETVAL=$?
[ -x /usr/sbin/sdpd ] && \
start-stop-daemon --stop --quiet --exec /usr/sbin/sdpd
RETVAL=$?
stop_uarts
eend ${RETVAL}
}
|
In that line you can see that this script is trying to load the module. But since it's integrated in your kernel, when it try to load the module, it don't find the /lib/modules/2.6.8-gentoo-r3/kernel/drivers/net/bluetooth.ko (or something like that) file so it gives you that error.
In fact if you configure your kernel exactly as I wrote ( with all the Bluetooth things lcap, rfcomm,....) you can comment that line.
Anyway my mistake for that part I haven't been clear enough... :p
I'll correct that at once. Thx
Then for Scoobydu :
Quote: |
Thanks for the howto
I've been using the BT hub for a while, but wasn't that bothered about the xorg stuff ... that is until now, so I'll add it.
btw, using the newest kernels, the mh patch is already included, so no more need to patch.
|
For the patch thing : Yes and No.
The mh1 patch is integrated into the 2.6.8-gentoo-r3. But since they realeased the mh2 patch with some bugs corrections I made the link to their site and greatly recommend to apply it.
And who knows.... maybe we will have a mh3......
|
|
Back to top |
|
|
raardvark n00b
Joined: 29 Mar 2004 Posts: 7
|
Posted: Wed Oct 06, 2004 11:15 am Post subject: |
|
|
Thanks Neskweek, I'll give that a go
Good work on the How-To by the way _________________ ...and then she said... |
|
Back to top |
|
|
scoobydu Veteran
Joined: 16 Feb 2003 Posts: 1076 Location: 'Mind the Gap'
|
Posted: Wed Oct 06, 2004 2:48 pm Post subject: |
|
|
I'm talking about 2.6.9rc kernels though (although I didn't make it too clear! )
Maybe the case ... _________________ Tyan Tiger K8W, 2xOpteron 240,Powerbook5,6 15" 1.5g, Macbook Black 2g, Mac Mini 1g, Ipod P60g.
| Linux - From a windows user perspective| |
|
Back to top |
|
|
Neskweek n00b
Joined: 20 Jun 2004 Posts: 35 Location: Nantes - France
|
Posted: Wed Oct 06, 2004 3:30 pm Post subject: |
|
|
scoobydu wrote: | I'm talking about 2.6.9rc kernels though (although I didn't make it too clear! )
Maybe the case ... |
:p Sorry then.... I didn't understood that
|
|
Back to top |
|
|
ppito n00b
Joined: 04 Oct 2004 Posts: 17
|
Posted: Fri Oct 08, 2004 3:01 am Post subject: Xmodmap |
|
|
Hi,
only for helping if someone needs it, setting up the mouse buttons can be done in a second way with the command:
Code: | xmodmap -e "pointer = 1 2 3 6 8 7 4 5" |
(/etc/X11/Xmodmap doesn't work with my Xorg 6.8.0)
Greets |
|
Back to top |
|
|
nomego n00b
Joined: 08 Jul 2003 Posts: 5 Location: Sweden
|
Posted: Tue Oct 12, 2004 1:08 pm Post subject: |
|
|
Thanks for giving me credit and linking to my site.
However I would like to point out that I make updates all the time and I see some typos I made in the past that you copied before they got corrected.
Nonetheless, I'm glad that so many people have had use of my guide - in one form or another! |
|
Back to top |
|
|
z3ro Apprentice
Joined: 16 Jun 2004 Posts: 261
|
Posted: Tue Oct 26, 2004 11:59 am Post subject: |
|
|
Sorry for dragging up an old thread but I am considering buying this keyboard. Mainly because the number pad is extremely annoying for me because it pushes the main part of the keyboard to my left.
Anyway, it seems that everything works on this keyboard set but I have not heard much about the MediaPad. While I don't like it being part of my keyboard I can see how it would be useful to show what music is currently playing, new messages in Gaim, etc.
Has anyone got the LCD working, so you could do things like:
Code: | echo hello > /dev/dinovolcd |
That would be really useful. |
|
Back to top |
|
|
Neskweek n00b
Joined: 20 Jun 2004 Posts: 35 Location: Nantes - France
|
Posted: Sun Oct 31, 2004 1:58 pm Post subject: |
|
|
Hi Zero 0
Concerning the MediaPad, I didn't go further into search for it.
That's not a big problem for me (just a plus if that wotks, yhay's true)
So for now I won't be a great help for that
Sorry |
|
Back to top |
|
|
Cabalistic n00b
Joined: 01 Nov 2004 Posts: 2
|
Posted: Mon Nov 01, 2004 1:53 pm Post subject: |
|
|
Hi,
I've owned a diNovo for quite some time now and have used it in USB mode so far. I did try several times to get it working in Bluetooth mode, but so far I've not come to a satisfactory solution. Since I wanted to upgrade to kernel 2.6.9 anyway, I thought, I could just as well retry with your howto. Unfortunately, the outcome is still the same.
As soon as I switch the hub to bluetooth mode via hid2hci, the diNovo devices stop working, or rather they lose their connection to the hub, and they do NOT automatically reconnect as you've written in your howto. I have to reestablish the connection, which would involve pressing the connect buttons on the diNovo devices and then pressing the connect button on the diNovo hub - unfortunately, though, the connect button on the hub stops working as soon as I switch it to bluetooth mode. So my only possibility is to manually call 'hidd --connect device_addr' which works alright except that I need a second keyboard to do that which I usually do not have attached to my PC.
Anyway, after the call to hidd --connect the devices work in bluetooth mode, and they even continue to work after reboot. The only problem is that occasionally after booting Windows or after changing batteries I need to reconnect at least the keyboard, so I would need to always have a second keyboard around. That's somehow wrong. Besides, the leds on the hub indicating whether CAPS_LOCK and the function key are pressed or not do not work in bluetooth mode.
I've followed your howto step by step, so I'm not sure what I'm missing. Or have I just got a weird diNovo set that's just not fully understood by bluez? I don't know, but so far USB mode is the only feasible way for me to use the set |
|
Back to top |
|
|
NismoC32 Apprentice
Joined: 07 Apr 2003 Posts: 221
|
Posted: Tue Nov 02, 2004 7:33 pm Post subject: |
|
|
I'm not impressed by the bluetooth way eather.
When I roboot I have to press the reset button two times to get the keyboard to work in BIOS and the Boot manager.
Some times it boots in standard mode sometime in Bluetooth mode.
I can't use my WinXP partition eather (Not that critical since I bearly use it, but I need it for updating some HW (Dreambox, Flashing M2 kards...) from time to time, the problem in WinXP is that I need a second keyboard to be able to install the driver for the diNovo keyboard.
I think I have to go back to USB/RF mode and wait and for a couple of mount and see if it is done som more progress with the bluez projekt.
It just feels like it is not quite stable yet.....
EDIT: The reboot problem is also present when rebooting from WinXP so this is not a Linux problem.
Are there anyoen else with that problem ?
I hope it is not supposed to be like this
I also have innstalled vmware and therfore I don't need a sepparat WinXP partition... well I'm planning to play HL2 so..... darn, I wish they could make a Linux binary like "Id" did for Doom3. |
|
Back to top |
|
|
Neskweek n00b
Joined: 20 Jun 2004 Posts: 35 Location: Nantes - France
|
Posted: Wed Nov 03, 2004 4:49 pm Post subject: |
|
|
Cabalistic wrote: | Hi,
As soon as I switch the hub to bluetooth mode via hid2hci, the diNovo devices stop working, or rather they lose their connection to the hub, and they do NOT automatically reconnect as you've written in your howto. I have to reestablish the connection, which would involve pressing the connect buttons on the diNovo devices and then pressing the connect button on the diNovo hub - unfortunately, though, the connect button on the hub stops working as soon as I switch it to bluetooth mode. So my only possibility is to manually call 'hidd --connect device_addr' which works alright except that I need a second keyboard to do that which I usually do not have attached to my PC.
|
Be careful concernig the bluetooth initscript. It seems to me that you miss some points. I had the same problems when Istart to use the Dinovo with linux. But for now I'm using it in bluetooth mode, and it work. I'm thinking essentially at the hidd start. Be sure you have the --server option. Without it, the dongle won't be able to connect the devices automaticaly
NismoC32 wrote: |
When I roboot I have to press the reset button two times to get the keyboard to work in BIOS and the Boot manager.
|
For this one, I'm sorry guys but it seems that's the way it is. I've the same problem. It seems that once you reboot the dongle stays in BT mode and as a consequence you can't use it in the BIOS nor a bootloader as long as you don't halt your machine ( 30seconds at least )
Hope it helped
See ya |
|
Back to top |
|
|
Cabalistic n00b
Joined: 01 Nov 2004 Posts: 2
|
Posted: Wed Nov 03, 2004 6:35 pm Post subject: |
|
|
Well, no, unfortunately the --server option is definitely set, that's not the problem. Thanks anyway |
|
Back to top |
|
|
|
|
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
|
|