Logitech_diNovo
This is my first howto, so please bear with me, and please correct me if I do anything wrong.
Contents |
Before starting
First of, this is tested with the first DiNovo-set with the MX 900-mouse, but it should work with the other DiNovo-sets. This configuration is done with the modular xorg and the ck-pathed kernel 2.6.20. This should work with gentoo-sources ver 2.6.20 or newer too without need for bluetooth-patching of the kernel. The basic setup without using bluetooth and all the features of this set seems to work out of the box in nearly all cases, so the simple setup won't be covered here.
Getting the bluetooth up and working
Well now we are ready to get started. First off we need some kernelconfigurations (genkernel users should be able to skip this part):
| Linux Kernel Configuration: Bluetooth kernel setup |
Tested with Kernel 2.6.20, this should work with other 2.6-kernels but for older kernels may need a patch from [1] Networing --->
<M> Bluetooth subsystem support --->
<M> L2CAP protocol support
<M> SCO links support
<M> RFCOMM protocol support
[*] RFCOMM TTY support
<M> BNEP protocol support
[*] Multicast filter support
[*] Protocol filter support
<M> HIDP protocol support
Bluetooth device drivers --->
<M> HCI USB driver
[*] SCO (voice) support
<M> HCI UART driver
[*] UART (H4) protocol support
[*] BCSP protocol support
<M> HCI BCM203x USB driver
<M> HCI BPA10x USB driver
<M> HCI BlueFRITZ! USB driver
< > HCI VHCI (Virtual HCI device) driver
|
I'm not sure that all the drivers are needed, but better safe than sorry. And it can also be seen as a future-safe setup in case you'll use other devices and/or need more features later. You could also chose not to use modules (which is what I've done), in that case I still compile the BCM203x, BPA10x and BlueFRITZ! usb-drivers as modules and also the SCO links support and BNEP protocol is compiled as modules at my place. Next on the list is to ensure that the usb-support is correctly set. Lets go on:
| Linux Kernel Configuration: USB kernel setup |
Device Drivers --->
USB support --->
<*> Support for Host-side USB
<M> USB HCD (USB 2.0) support
<M> OHCI HCD support
<M> UHCI HCD (most Intel and VIA) support
<M> USB Human Interface Device (full HID) support
[*] /dev/hiddev raw HID device support
|
Ok now we got the kernel setup done, then you should compile and install it.
Get bluetooth started
Ok, now the kernel is ready for use we'll have to install some applications, so we can put our newly achieved features into use:
root# emerge -av dbus net-wireless/bluez-libs dev-libs/libusb net-wireless/bluez-utils
Calculating dependencies... done!
[ebuild N ] sys-apps/dbus-1.0.2 USE="X -debug -doc (-selinux)" 1,368 kB
[ebuild N ] net-wireless/bluez-libs-2.25 285 kB
[ebuild N ] dev-libs/libusb-0.1.12 USE="-debug -doc" 381 kB
[ebuild N ] net-wireless/bluez-utils-2.25-r1 USE="alsa cups dbus gtk -pcmcia (-udev%*)" 579 kB
Total: 3 packages (3 reinstalls), Size of downloads: 1,244 kB
Would you like to merge these packages? [Yes/No]
root# /etc/init.d/dbus start
root# rc-update add dbus default
Make sure to have dbus enabled and you might want alsa enabled too if you want to use a bluetooth headset. When installed it's time to get some devices connected. You may need an extra keyboard at your hand. If you haven't rebooted into your newly setup kernel do it now. Then lets get our hands into some configurations. Use your favorite editor and make sure your files look like this:
| File: /etc/conf.d/bluetooth |
# Bluetooth configuraton file # Start of hcid (allowed values are "true" and "false") HCID_ENABLE=true # Config file for hcid HCID_CONFIG="/etc/bluetooth/hcid.conf" # Start sdpd (allowed values are "true" and "false") SDPD_ENABLE=true # Start hidd (allowed values are "true" and "false") HIDD_ENABLE=true # Arguments to hidd // I'm not excatly sure what it does, but it seems like it makes the mouse and keyboard "auto"-connect HIDD_OPTIONS="--server" # Run hid2hci (allowed values are "true" and "false") // you definitly want this HID2HCI_ENABLE=true # Bind rfcomm devices (allowed values are "true" and "false") // it's not needed, but it is useful RFCOMM_ENABLE=true # Config file for rfcomm RFCOMM_CONFIG="/etc/bluetooth/rfcomm.conf" # Start dund (allowed values are "true" and "false") // you can set this to true, but I'm not sure why youd need it # If you want to use dund, you must install: net-dialup/ppp . DUND_ENABLE=false # Arguments to dund DUND_OPTIONS="--listen --persist" # Start pand (allowed values are "true" and "false") // Optional too PAND_ENABLE=false # Arguments to pand PAND_OPTIONS="--listen --role NAP" |
| File: /etc/bluetooth/hcid.conf |
#
# HCI daemon configuration file.
#
# HCId options
options {
....
# PIN helper
pin_helper /etc/bluetooth/pin-helper;
....
|
At last edit "/etc/bluetooth/pin-helper" to contain your own person person integer-password (DO NOT USE THE DEFAULT 1234!!!) Now we're good and running, lets get things dirty. First, if you didn't reboot after compiling the kernel, now is a goot time to do so. Now from now on you might need an extra keyboard at your computer. If you don't have an extra keyboard DO NOT add bluetooth to the startup=scripts, since it probably will make it impossible for you to use your keyboard. Now the warning is done then lets go:
# If you didn't compile as modules, this line is to be ignored root# modprobe -v bluetooth l2cap rfcomm hidp hci_usb # this should do... I hope root# /etc/init.d/bluetooth start
Wait for the devices to autoconnet, which they hopefully just will do. If it worked, then you can safely jump to the section on configuring xorg. Otherwise jump to connecting the devices section (might still be a good idea to read, so you know how to do it. Just in case). If things just work add bluetooth to your startup and jump to the next part of this guide:
rc-update add bluetooth default
Otherwise you'll have to wait until I or someone else writes the last part. You can have a look at the forum, since most of my info is from the forum.
Setting up xorg
This section covers some of the xorg-settings possible to extend the usability of the DiNovo.
Keyboard
If you intend to use the extended keyboard-settings, go directly to them now.
Basic settings
The basic settings is quite simple and is actually the same as any other keyboard. In Gnome or KDE you should be able to do the following (I haven't confirmed it, since I use neither of these). Gnome Menu -> Applications -> Desktop Preferences -> Keyboard KDE Menu -> Kontrol Center -> Accessibility -> Keyboard Layout In the graphical manager set the following settings: Driver "kbd" XkbRules "xorg" XkbLayout "us" The XkbLayout should match the locale you are using. For those (like me) who sets the settings manually in the xorg.conf, do the following:
| File: /etc/X11/xorg.conf |
Section "InputDevice"
...
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbLayout" "us"
|
If you do things manually, then you'll have to restart X.
Extended settings
Ok, lets get rocking, so we can use our new settings at once. First of the reference to xkb might be broken (it was on my system)
root# ls -l /etc/X11/xkb #note it's important not to have the last / in this case
should reveal if it is broken (on my system the reference point is shown with red) if it's broken try this
root# rm /etc/X11/xkb root# ln -s /usr/share/X11/xkb /etc/X11/xkb
Now we'll have to edit some files:
| File: /etc/X11/xorg.conf |
Section "InputDevice"
...
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "logidmd"
Option "XkbLayout" "us"
|
| File: /etc/X11/xkb/rules/xorg |
# Find this line logiinkse logiinkseusb logiitc logiik itouch logiultrax \ # Add logidmd to it, so it looks like the line below logiinkse logiinkseusb logiitc logiik itouch logiultrax logidmd \ |
| File: /etc/X11/xkb/rules/xorg.xml |
# Add the logidmd-xml-code, remember to nest correctly
<model>
<configItem>
<name>logidmd</name>
<description>Logitech diNovo Media Desktop</description>
</configItem>
</model>
<model>
<configItem>
<name>logiaccess</name>
<description>Logitech Access Keyboard</description>
|
| File: /etc/X11/xkb/symbols.dir |
# Add the middle line --p----- a------- inet(logiik) --p----- a------- inet(logidmd) --p----- a------- inet(itouch) |
Ugh many files, just one left, and that's the one that makes magic
| File: /etc/X11/xkb/symbols/inet |
# Update so we got something like this:
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";
|
Setting up udev-rule
Upcomming
References
- thread on the Gentoo-forums, where most of this info is extracted from
- Patrik's site from which a lot of info is derived from too
Browse categories > Hardware > Bluetooth
Browse categories > Hardware > Input device > Keyboard
Browse categories > Hardware > Manufacturer > Logitech
Created by NickStallman.net, Luxury Homes Australia
Real estate agents should be using interactive floor plans and real estate agent tools.
