# [How-To] Microsoft Bluetooth Wireless Optical Desktop

## Kathryl

Je vais tacher d'indiquer dans ce How-To comment installer/configurer/utiliser (rayez la mention inutile) le clavier et la souris microsoft en BlueTooth.

J'indique dans ce How-To ce que j'utilise pour faire fonctionner mon clavier et ma souris.

C'est donc ce que je conseille mais l'erreur étant humaine merci de me corriger le cas échéant  :Wink: 

Etape 1 : Le Kernel (Dans mon cas c'est un 2.6.8.1 telechargé sur Kernel.org et non un kernel issu de Portage)

```
Device Drivers  --->

__ Plug and Play support  --->

____ [*] Plug and Play support

__ Networking support  --->

____ <M> Bluetooth subsystem support  --->

______ <M>   L2CAP protocol support

______ <M>   HIDP protocol support

______ Bluetooth device drivers  ---> 

________ <M> HCI USB driver

________ <M> HCI UART driver

________ <M> HCI VHCI (Virtual HCI device) driver

__ USB support  ---> 

____ <*> Support for Host-side USB

____ <*>   EHCI HCD (USB 2.0) support -> Attention verifiez votre type de gestion USB (Documentation carte mere en regle generale)

____ < >   OHCI HCD support   -> Attention verifiez votre type de gestion USB (Documentation carte mere en regle generale)

____ <*>   UHCI HCD (most Intel and VIA) support -> Attention verifiez votre type de gestion USB (Documentation carte mere en regle generale)

____ <*>   USB Human Interface Device (full HID) support

____ [*] HID input layer support
```

Je ne vais pas vous faire un guide sur la compilation et installation de votre kernel mais vous retrouverez un How-To pour ce faire dans les forums gentoo et dans la documentation FR de Gentoo  :Wink: 

Il n'est pas necessaire de rebooter de suite apres avoir installé le kernel et les modules.

Etape 2 : Charger les modules au demarrage

Il vous suffit de prendre votre editeur preferé (dans mon cas : nano) et de modifier le fichier modules.autoload correspondant a votre kernel (ici un 2.6)

```
# nano -w /etc/modules.autoload.d/kernel-2.6
```

Assurez vous d'avoir les lignes suivantes pour le bluetooth :

```
hci_uart

hci_usb

hci_vhci

bluetooth

l2cap

hidp

```

Sauvegardez votre fichier modules.autoload

Etape 3 : Installer Bluez

J'ai installé la derniere version "masqué" de Bluez (ce qui correspond a la version CVS a peu de chose pres), je vous conseille donc l'installation de ceux-ci

Tout d'abord l'on demasque les packages : 

```
echo "net-wireless/bluez-libs ~x86" >>/etc/portage/package.keywords

echo "net-wireless/bluez-utils ~x86" >>/etc/portage/package.keywords
```

Et on Installe

```
emerge bluez-libs bluez-utils
```

A l'issu de l'installation de ceux-ci il vous faut vous assurer qu'ils demarrent au boot de votre Gentoo  :Smile: 

On va donc les rajouter au demarrage :

```
# rc-update add bluetooth default

# rc-update add bluetooth-hid default
```

Avant de demarrer ces services nous allons nous assurer qu'ils soient configuré

Etape 4 : Configurer HCID

Ouvrez votre editeur de texte habituel pour editer le fichier hcid.conf se trouvant dans /etc/bluetooth/ : 

```
# nano -w /etc/bluetooth/hcid.conf
```

Nota : J'ai desactivé le cryptage et l'authenfication des peripheriques car l'authentification est actuellement buggé et le cryptage ne va pas sans l'authentification  :Sad: 

Toutefois l'equipement BlueTooh microsoft est tel qu'il est difficile d'y connecter autre chose mais soyez tout de meme prudent.

```
#

# 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 none;

        # 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;

        # D-Bus PIN helper

        #dbus_pin_helper;

}

# Default settings for HCI devices

device {

        # Local device name

        #   %d - device id

        #   %h - host name

        name "Microsoft Bluetooth (%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;

}
```

Vous noterez que dans la section "Local Device Name" j'ai nommé mes peripherique en "Microsoft Bluetooth" ce qui correspond au nom de la borne BlueTooth (afin de s'y retrouver).

Vous avez bien suivi toutes les étapes ?

Vous pouvez rebooter et faire attention a l'etape de chargement des modules au boot afin de verifier que les modules necessaire au Bluetooth se chargent.

En cas d'echec de chargement des modules, il va vous falloir recommencer l'etape 1 et 2.

(Cela m'est deja arrivé en modifiant un kernel pour ma carte graphique d'avoir a refaire 5 fois un kernel pour le bluetooth)

Ca y est il a demarré ?

Ne debranchez pas votre bon vieux clavier PS/2 ce n'est pas finis, nous allons nous assurer que tout fonctionne

(Néanmoins si vous etes du genre chanceux, votre clavier et votre souris peuvent fonctionner du premier coup sans avoir a suivre les etapes qui vont suivres)

Etape 5 : Scanner les équipements bluetooth

Nous allons tout d'abord nous assurer que la borne fonctionne de la facon suivante : 

```
# hciconfig
```

Qui vous donnera quelque chose ressemblant a ceci : 

 *Quote:*   

> hci0:   Type: USB
> 
>         BD Address: 00:50:F2:7E:31:22 ACL MTU: 192:8  SCO MTU: 64:8
> 
>         UP RUNNING PSCAN ISCAN
> ...

 

Votre borne bluetooth fonctionne, a present nous allons scanner et connecter les peripheriques

Etape 6 : Connecter les equipements

Appuyez sur les boutons Reset de votre clavier et votre souris et lancez la commande suivante

```
# hcitool scan
```

Malheuresement dans l'immediat je ne peux vous donner le resultat du scan précis (les douces joies d'etre connecté en SSH sur son PC lorsqu'on est au travail :p)

Toutefois vous aurez quelque chose ressemblant a ceci (je cite de tete  :Smile: )

 *Quote:*   

> Microsoft Keyboard 00:50:F2:80:A1:19
> 
> Microsoft Mouse 00:50:F2:7F:C4:C8

 

Si rien ne s'affiche, resetez a nouveau les peripheriques et relancez le scan

Si rien ne s'affiche a nouveau, je vous invite a verifier vos piles

si rien ne s'affiche malgré ca, verifiez la portée et le placement de vos equipement

Si toujours rien ne s'affiche, recommencez depuis le depart (cela ne m'est jamais arrivé ^^)

Etape 7 : Le demon BTHID

Vos équipements ont été detecté c'est parfait mais il faut les connecter a present  :Smile: 

Lancez donc le demon BTHID avec les commandes suivantes : 

```
# /usr/local/bin/bthid -r -l -p 60 -v
```

 -r : Connexion automatique

 -l : Mode Ecoute active

 -p 60 : Envoie periodiquement un ping sur les peripheriques bluetooth pour les garder connecter (attention a vos piles :p)

 -v : verbose  :Wink: 

Appuyez sur une touche du clavier et/ou bougez la souris de facon a faire reagir BTHID

aller donc jeter un oeil a vos log : 

```
# tail -n50 /var/log/everything/current
```

Et vous devriez avoir quelque chose ressemblant a ceci : 

 *Quote:*   

> Sep 10 12:13:04 [hcid] Bluetooth HCI daemon
> 
> Sep 10 12:13:04 [hcid] HCI dev 0 up
> 
> Sep 10 12:13:04 [sdpd] Bluetooth SDP daemon_
> ...

 

Vous remarquerez que je dois bientot changer mes piles ^^

Si rien dans vos logs ne fait mention de vos peripheriques BlueTooth, c'est qu'ils n'ont pas été detecté.

Appuyez sur le bouton Reset et reverifiez vos logs, toutefois la configuration indiqué dans ce HowTo est telle que toute peripherique bluetooth se connectent automatiquement sans aucune authentification.

Et voila !

Vous etes maintenant l'heureux utilisateur d'un clavier et d'une souris Microsoft Bluetooth sur votre Gentoo reputé pour ne fonctionner que et uniquement sur Windows XP Service Pack 1 :p

Je m'excuse des fautes de francais et de frappe ainsi que les erreurs qui se seraient glissé dans le How-To, je vous invite donc a me signaler toute erreur ou probleme =)

[Edit du 10 Sept. 2004 a 19h30]Modification de l'installation de Bluez après l'excellente et pertinente remarque de kernel_sensei[/edit]Last edited by Kathryl on Fri Sep 10, 2004 5:53 pm; edited 2 times in total

----------

## kernelsensei

```
# ACCEPT_KEYWORDS="~x86" emerge bluez-libs bluez-utils
```

est déconseillé, il vaut mieux utiliser /etc/portage/package.keywords !

```
echo "net-wireless/bluez-libs ~x86" >>/etc/portage/package.keywords 

echo "net-wireless/bluez-utils ~x86" >>/etc/portage/package.keywords

emerge bluez-libs bluez-utils
```

----------

## louislambeau

Eh bien moi j'ai une excellente nouvelle : (enfin... un grand mot j'admets...)

Pour ceux qui ne le savent pas, comme moi il y a dix minutes ben... 

On peux utiliser bthid pour controler son Linux avec son gsm 

Pour autant que dans les services offerts par votre gsm vous ayez qq chose du genre : 

```

Service Name: Mouse & Keyboard

Service Description: K700

Service Provider: Sony Ericsson

Service RecHandle: 0x1001c

Service Class ID List:

  "Human Interface Device" (0x1124)

Protocol Descriptor List:

  "L2CAP" (0x0100)

    PSM: 17

  "HIDP" (0x0011)

Language Base Attr List:

  code_ISO639: 0x656e

  encoding:    0x6a

  base_offset: 0x100

Profile Descriptor List:

  "Human Interface Device" (0x1124)

    Version: 0x0100

```

(les lignes importantes sont surtout celles parlant de HID...  :Wink: 

Dans mon cas (SonyEricsson k700i) un simple : 

```
bthid -o 00:0F:DE:A0:24:EA
```

a fait l'affaire : l'application destinée a controler ma machine avec le soft windows s'est ouvert et HUE... Tout marche nickel...

Bien à vous...

---- Louis Lambeau ----

----------

## blasserre

merci et bravo ! en ouvrant le thread je ne m'attendais pas à quelque chose d'aussi énorme !

mais :

 *Kathryl wrote:*   

> Il vous suffit de prendre votre editeur preferé (dans mon cas : nano) 

 

il y a une erreur à cette ligne merci de la corriger  :Laughing: 

désolé de revenir à des choses si terre à terre, j'ai pas les neurones à troller politique

----------

## louislambeau

 *louislambeau wrote:*   

> Eh bien moi j'ai une excellente nouvelle : (enfin... un grand mot j'admets...)
> 
> Pour ceux qui ne le savent pas, comme moi il y a dix minutes ben... 
> 
> On peux utiliser bthid pour controler son Linux avec son gsm 
> ...

 

----------

