Fix a bluetooth connexion on Windows (for a Logitech V470 mouse)

Here’s an article I wrote two times. once in french and once in english. Therefore, I hope to give an answer to that recurrent problem on the internet. I spent a lot of time searching without finding any clear answer.

I had a few weeks ago some problems with my Bluetooth card in my computer. I was encountering constant disconnections no matter which OS i used. To be sure the problem wasn’t due to my mouse controller, i tested with other devices and nothing changed. After a chaotic return at the customer service (the first time my computer had to be in an intern’s hands) my laptop came back functional.

But this morning, a simple boot on my Windows was enough to fail all my communication devices (Wifi, Ethernet, Bluetooth). After a short reboot on Ubuntu to be sure the problem was due to the drivers and not to the devices, I uninstalled every devices with the device manager (Right clic on Computer -> Manage -> (on the left) Device manager -> Right clic on every problematic device -> Uninstall)

Once every driver uninstalled, i rebooted to let Windows use generic drivers. I downloaded then the offical drivers on the Asus website and installed them one by one.

After an other reboot, the Internet connection was back but the Bluetooth still wasn’t functional. I uninstalled an other time the Bluetooth drivers and I rebooted again. The Bluetooth was back but with generic drivers. The connection with my Bluetooth mouse was enabled but wonky and had deconnections.

A last installation of the Bluetooth Driver and a last reboot let me finally have a functional Bluetooth card.

A last problem persisted. The mouse had deconnections like before but the problem wasn’t present on Ubuntu. I had to go in the bluetooth card properties and Right clic -> Properties -> Power managment tab -> Uncheck « Allow the computer to turn off this device to save power ».

After all those annoying steps, here i’m back with my Logitech V470 Bluetooth Mouse connected to my Asus G73JH on Windows 7 with no Bluetooth dongle or other trickery.

Rétablir une connexion bluetooth sous Windows (pour une souris Logitech V470)

Voici un article que je vais écrire deux fois car je le rédigerais une fois en français et une fois en anglais. Je vais faire ceci afin que la réponse à ce problème récurent figure enfin sur internet. J’ai passé de très nombreuses heures à rechercher et n’ai jamais trouvé de réponse claire.

J’ai rencontré il y a quelques temps des problèmes avec la carte bluetooth de mon ordinateur. Il y avait des déconnexions constantes quel que soit l’OS que j’utilisais. Afin d’être sûr que le problème ne venait pas de ma souris, j’ai testé avec d’autres périphériques et le problème restait le même. Après un retour au SAV chaotique (le premier retour avait dû voir l’oeuvre d’un stagiaire) ma machine est revenue fonctionnelle.

Seulement voilà, ce matin, un simple démarrage sous Windows a suffit à ce que tous mes périphériques de communication tombent en panne (Wifi, Ethernet, Bluetooth). Après un reboot sous Ubuntu pour être sûr que le problème venait bien des pilotes et pas du matériel, j’ai désinstallé tous les périphériques à l’aide du gestionnaire de périphériques (clic droit sur Ordinateur -> Gérer -> (Sur la gauche) Gestionnaire de périphériques -> Clic droit sur chaque périphérique problématique -> Désinstaller)

Une fois tous les pilotes désinstallés, j’ai redémarré afin de laisser Windows utiliser des pilotes génériques. Une fois ceci fait, j’ai téléchargé sur le site d’Asus tous les pilotes nécessaires et les ai installés un par un.

Après redémarrage, le bluetooth n’étais toujours pas fonctionnel mais la connexion internet était rétablie. J’ai de nouveau désinstallé le pilote de la carte bluetooth puis j’ai encore redémarré. Là, le bluetooth était rétablit mais avec des pilotes génériques. La connexion de ma souris s’établissait donc mais s’interrompait au bout d’un instant.

Une dernière réinstallation du pilote de bluetooth et un dernier redémarrage m’ont enfin permis d’avoir une carte fonctionnelle.

Un dernier problème persistait encore. La souris se déconnectait comme avant sauf que le problème n’avait pas lieu sous Ubuntu. Il m’a fallut aller dans les propriétés de la carte bluetooth et faire clic droit -> Propriétés -> Onglet Gestion de l’alimentation -> Décocher la case « Autoriser l’ordinateur à éteindre ce périphérique pour économiser l’énergie »

Après ces nombreuses étapes me voilà de nouveau avec ma souris bluetooth Logitech V470 connectée à mon Asus G73JH sous Windows 7 sans dongle supplémentaire ou autre supercherie.

ACPI, récupération des codes touche

Dans mon article précédent, traitant de la création d’un .deb, je parle du script que j’avais créé nommé Asus KBBL Control. Le but était de l’utiliser à travers les raccourcis clavier gérés par l’acpi. Pour savoir quel code correspond à une touche pressée (ou à une combinaison de touches) on utilise la commande suivante :

acpi_listen

Il ne faut pas utiliser la dernière partie du code retourné qui ne correspond pas au code de la touche. Cependant, on peut utiliser le reste pour identifier la touche lors de la création de son event.

Asus Keyboard Backlight Control et paquet .deb

Mon ordinateur portable est un Asus G73J. Il est muni d’un rétro-éclairage clavier des plus pratiques. Cependant, les raccourcis de contrôle au clavier ne sont pas fonctionnels sur la plupart des distributions Linux. J’ai donc créé un script qui me permet, à l’aide d’acpi, d’activer ces raccourcis et de contrôler l’intensité du rétro-éclairage et que j’ai nommé Asus KBBL Control (Asus KeyBoard BackLight Control). [EDIT] Il n’est actuellement pas disponible mais reviendra sous peu [/EDIT]

Pour l’installer et le désinstaller plus facilement, j’ai décidé de créer un paquet .deb. Après un peu de recherche, ceci n’est pas difficile et facilite grandement la tâche de maintient d’applications.

Pour ce faire, il suffit de créer un dossier (le nom importe peu). A l’intérieur de ce dossier, il faut créer un paquet nommé DEBIAN. A l’intérieur de ce dossier, on peut mettre plusieurs fichiers dont :

  • preinst : script exécuté avant l’installation
  • postinst : script exécuté après l’installation
  • prerm : script exécuté avant la suppression
  • postrm : script exécuté après la suppression
  • control : Détails du paquet

Un de ces fichiers est obligatoire cependant, c’est le fichier control. C’est à partir de lui que le paquet final est construit (notamment le nom). Pour plus de détail sur sa construction, il suffit de regarder la manpage :

man deb-control

Cette page étant largement détaillée, je n’entrerais pas dans les détails.

Le logiciel que l’on souhaite empaqueter se met à côté du dossier DEBIAN. On va le placer dans le dossier dans lequel il sera installé en considérant ce dossier comme la racine du disque dur. Ainsi, si mon programme doit être installé dans /etc/acpi, je vais créer à côté de DEBIAN un dossier etc dans lequel je créerais un dossier acpi et dans lequel enfin je mettrais mon programme à installer.

Une fois cette petite cuisine effectuée, il ne reste plus qu’à compiler le paquet. Pour cela, on se place un dossier au dessus du dossier qui contient DEBIAN et le logiciel et on tapera la commande :

dpkg-deb --build <NOM DU DOSSIER>

On a un magnifique fichier .deb qui se créé juste à côté de notre dossier source et qu’il ne restera plus qu’à installer avec un :

dpkg -i <NOM DU PAQUET>