Linux : résoudre le problème de carte SD non reconnue après hibernation

14 août 2017

Je continue sur mes résolutions de problèmes liés à la migration de mon système Salix OS. Je vais encore parler d’hibernation mais en lien avec mon lecteur de cartes SD.

Comme expliqué dans un précédent article, mon ordinateur possède un lecteur de cartes mémoire, qui fonctionnait bien pour mon utilisation (lecture de cartes SD, pas d’écriture) sous Salix OS 13.37.

Acte 1 : Salix OS 14.1 et la solution du rechargement de module

Suite au passage à la version 14.1 de Salix OS, j’ai constaté que le lecteur de cartes SD ne fonctionnait plus lors d’un retour d’hibernation. Lorsque j’insérais la carte SD, elle n’était pas reconnue.

J’avais trouvé la solution sur le forum Slackware de LinuxQuestions.org. Il suffisait de recharger le module sdhci_pci :

$ rmmod sdhci_pci
$ modprobe sdhci_pci

L’insertion de la carte SD était alors reconnue.

Acte 2 : Salix OS 14.2 et la solution du déchargement de module avant hibernation

Malheureusement, la situation s’est empirée avec la migration vers la version 14.2 de Salix OS. Le même problème persistait lors du retour d’hibernation mais la solution de rechargement du module sdhci_pci ne résolvait plus le problème.

Dans /var/log/syslog, je constatais des messages de ce genre lorsque j’insérais la carte SD :

Aug  5 00:19:14 darkstar kernel: [432740.383264] mmc0: Timeout waiting for hardware interrupt.
Aug  5 00:19:14 darkstar kernel: [432740.385457] mmc0: error -110 whilst initialising SD card

Après quelques recherches, j’ai finalement trouvé une solution dans cette page de documentation consacrée à la compatibilité de Linux avec les ordinateurs portables de type IBM/Lenovo ThinkPad.

La solution consiste à créer un fichier /etc/pm/config.d/00sleep_module dans lequel la ligne suivante est présente :

SUSPEND_MODULES="$SUSPEND_MODULES sdhci"

Cette ligne a pour effet de décharger le module sdhci avant l’hibernation. Le module est alors proprement rechargé lors du retour d’hibernation, et le lecteur de carte SD devient utilisable.

Cette solution ne fonctionne qu’avec les outils pm-utils (pm-suspend et pm-hibernate), le fichier créé étant un fichier de configuration pour ces outils.

Fin

Il reste à voir quelle nouvelle surprise me réservera la prochaine version de Slackware/Salix OS.

En tout cas, sous Linux, je constate qu’il y a (presque) toujours une solution aux problèmes.

Linux : résoudre le problème de double mise en veille

30 juillet 2017

J’ai récemment mis à jour mon système Salix OS de la version 14.1 vers la version 14.2. Il s’agit de la troisième mise à jour que je fais et cela se passe toujours sans gros problème, si ce n’est que je dois, à chaque fois, renouveler la procédure d’installation du pilote pour le Wifi.

Cependant, il arrive de temps en temps des petites surprises, en particulier avec la gestion des boutons liés à l’énergie.

Il y d’abord la fermeture de l’écran de mon ordinateur portable pour laquelle je souhaite qu’une hibernation (appelée aussi « mise en veille prolongée » dans Microsoft Windows, ou suspend-to-disk) soit effectuée.

Et il y a ensuite la mise en veille (appelée aussi suspend-to-ram) que je souhaite déclencher lors de l’appui de la touche Lune de mon ordinateur (Fn + F1).

Pour faire tout cela, sous Slackware (pour rappel, Salix OS utilise Slackware comme base), cela se passe dans le fichier de script shell /etc/acpi/acpi_handler.sh :
#!/bin/sh
# Default acpi script that takes an entry for all actions

IFS=${IFS}/
set $@

case « $1″ in
  button)
    case « $2″ in
      power) /sbin/init 0
         ;;
      *) logger « ACPI action $2 is not defined »
         ;;
    esac
    ;;
  *)
    logger « ACPI group $1 / action $2 is not defined »
    ;;
esac

Pour déclencher l’hibernation, j’avais simplement ajouté la branche suivante dans le case :
     lid) pm-hibernate
         ;;

« lid » (qui veut dire en anglais « couvercle ») correspond au bouton (plutôt virtuel dans le cas mon ordinateur) lié à la manipulation de l’écran d’un ordinateur portable. Je l’ai donc associé à la commande pm-hibernate, qui s’occupe de mettre l’ordinateur dans l’état d’hibernation de manière correcte.

Et pour déclencher une mise en veille, j’avais simplement ajouté la branche suivante :
     sleep) pm-suspend
         ;;

« sleep » correspond à la touche Lune de mon ordinateur. Je l’ai donc associé à la commande pm-suspend, qui s’occupe de mettre l’ordinateur dans l’état de veille.

Tout cela fonctionnait plutôt bien jusqu’à une première mise à jour, suite à laquelle il est apparu que le retour d’hibernation déclenchait automatiquement une nouvelle hibernation.

L’astuce que j’avais trouvée à l’époque était d’appliquer un contrôle sur l’état effectif du bouton lid :
     lid) grep -q closed /proc/acpi/button/lid/*/state && pm-hibernate

Suite à ma récente mise à jour vers Salix OS 14.2, un problème similaire est apparu avec la mise en veille déclenchée par la touche Lune. Suite au retour de veille, une deuxième mise en veille était effectuée immédiatement.

Lors de ma recherche d’une solution sur le Web, j’ai découvert, via cet article, l’existence de l’outil acpi_listen. Cet outil permet de voir les événements ACPI exacts déclenchés. Il suffit de le lancer puis de déclencher les boutons/touches :
# acpi_listen
button/lid LID close
button/lid LID open
button/sleep SBTN 00000080 00000000
button/sleep PNP0C0E:00 00000080 00000008

Ici, le résultat montre que la fermeture et l’ouverture de l’écran déclenchent deux événements. Il montre aussi que l’appui de la touche Lune déclenche deux événements.

Il m’est donc apparu clairement qu’utiliser les deux premiers composants de l’événement ACPI ($1 et $2 dans le fichier acpi_handler.sh) n’était pas suffisant. J’ai donc adapté le script de la façon suivante :
      lid) test $4 = « close » && pm-hibernate
         ;;
      sleep) test $3 = « SBTN » && pm-suspend
         ;;

Cela a réglé le problème… jusqu’à la prochaine mise à jour en tout cas. Car les composants supplémentaires ($3 et $4 dans le script) sont-ils suffisamment stables pour être utilisés ? Qui me dit que leurs valeurs ne changera pas lors d’une prochaine mise à jour ? L’avenir nous le dira…

Ci-dessous, le script complet du fichier /etc/acpi/acpi_handler.sh, après modification :
#!/bin/sh
# Default acpi script that takes an entry for all actions

IFS=${IFS}/
set $@

case « $1″ in
  button)
    case « $2″ in
      power) /sbin/init 0
         ;;
      lid) test $4 = « close » && pm-hibernate
         ;;
      sleep) test $3 = « SBTN » && pm-suspend
         ;;
      *) logger « ACPI action $2 is not defined »
         ;;
    esac
    ;;
  *)
    logger « ACPI group $1 / action $2 is not defined »
    ;;
esac

Chargeur USB Chacon : une grande déception

5 février 2017

En décembre dernier, j’ai acheté un chargeur USB de marque Chacon (réf : 40035). Il dispose de quatre prises USB et d’une prise secteur. Il présente également d’un petit rebord pour déposer l’appareil mobile pendant la recharge et d’un cordon d’1,5 mètre.

Étonnamment, il n’y a pas de page dédié au produit sur le site Web du fabricant. J’ai simplement trouvé un document (très très succin) ainsi que deux photos (ici et ).

Partie de l’emballage du chargeur USB Chacon

Partie de l’emballage du chargeur USB Chacon

Je cherchais ce type de produit depuis un certain temps afin de le placer sur une table de chevet et de pouvoir charger mes appareils mobiles pendant mon sommeil. Le chargeur Chacon me semblait tout à fait adapté à ce besoin et apparaissait de bonne qualité. C’est donc avec une certaine satisfaction que j’ai acheté ce produit.

Malheureusement, ma déception a été toute aussi grande au moment même où j’ai branché le produit au secteur. J’ai immédiatement constaté un bruit qui, de prime abord, m’a paru suspect, et cela sur deux aspects. D’une part, le bruit n’est pas un bruit « sourd » que l’on pourrait retrouver habituellement dans des transformateurs, mais il s’agit d’un bruit de grésillement. D’autre part, le bruit est certes faible mais suffisant pour qu’il soit entendu dans le silence de la nuit. Dans ces conditions, j’ai conclu que le produit ne peut pas être utilisé sur une table de chevet, ce qui constitue pourtant l’usage principal de ce type de produit, selon moi.

J’ai fait part du bruit suspect au revendeur chez lequel j’ai acheté le produit. Le gérant du magasin m’a tout de suite indiqué que le bruit était normal selon lui mais il a quand même contacté le fabricant, qui lui a confirmé que le bruit était normal.

J’ai alors fait part de ma déception au fabricant par courrier électronique. J’en ai profité pour lui demander la consommation du produit lorsqu’aucun appareil n’est branché, ce qui n’est pas précisé sur l’emballage. À ce jour (soit deux semaines plus tard), je n’ai toujours pas reçu de réponse de leur part.

J’ai désormais une défiance par rapport à la marque Chacon, bien présente dans la grande distribution de Belgique. Manque d’informations sur l’emballage et sur le site Web, produit pas adapté au besoin principal et support client absent me feront fortement douter la prochaine fois que je serai confronté à un produit de cette marque.

Thunderbook : export d’un dossier, page de titre et autres améliorations

13 novembre 2016

Dans un précédent article, je présentais Thunderbook, une extension Mozilla Thunderbird qui permet de créer un livre électronique au format EPUB à partir de messages (licence MPL 2.0). Elle a déjà été téléchargée plus de 1000 fois et le site Mozilla Add-ons (AMO) comptabilise plus de 120 utilisateurs quotidiens.

J’ai profité du long week-end du 11 novembre pour publier une deuxième version (version 0.2). Voici les amélioration apportées :

  • Il est maintenant possible d’exporter les messages d’un dossier spécifique (et de ses sous-dossiers). Cette idée d’amélioration avait été approuvée par groov dans un commentaire du précédent article.
  • À la fin de la génération, l’extension propose de marquer tous les messages exportés comme lus. Ceci permet d’éviter que des messages soient exportés une nouvelle fois lors d’une seconde génération de livre électronique.
  • Le livre électronique généré a été amélioré avec notamment l’ajout d’une page de titre (en l’absence d’une vraie page de couverture, la première page fait généralement office de page de couverture pour les liseuses) ainsi que l’ajout, pour chaque message, de son auteur, de sa date et d’un lien vers le contenu original (surtout pratique pour un article de flux RSS).

La nouvelle version est disponible sur le référentiel de mon compte Bitbucket mais elle est également disponible sur le site Mozilla Add-ons (AMO), où elle a déjà été vérifiée par l’équipe Mozilla. Elle peut donc être installée ou mise à jour directement à partir de Mozilla Thunderbird.

Comme pour la précédente version, n’hésitez pas à me faire part de vos remarques, problèmes ou idées d’amélioration par rapport à cette extension.

Thunderbook : exporter ses messages (y compris nouvelles et articles de blogs) en EPUB à partir de Mozilla Thunderbird

24 septembre 2016

Aujourd’hui, j’aimerais vous présenter Thunderbook, une extension Mozilla Thunderbird qui permet d’exporter des messages en un livre électronique au format EPUB. Les messages peuvent être des messages de boîtes de messagerie électronique (POP, IMAP…) mais aussi, et surtout, des messages issus de fils de syndication (RSS, Atom…). Une fois le livre électronique généré, il suffit de le copier dans une liseuse électronique (e-book reader) ou tout autre appareil supportant le format EPUB afin de consulter plus confortablement les messages.

Il s’agit d’une extension que j’ai développée pour mes propres besoins. C’est ma deuxième extension Mozilla Thunderbird, après Kapaza Feed, que j’avais présentée dans un article précédent.

La version actuelle (version 0.1) est disponible sur le site Mozilla Add-ons (AMO), où elle a déjà été vérifiée par l’équipe Mozilla. Ceci permet de l’installer directement à partir de Mozilla Thunderbird.

Cette version est pour l’instant assez basique. Elle ajoute un bouton dans la barre d’outils. Lorsque l’on clique sur ce bouton, tous les messages non lus de tous les comptes sont exportés dans un fichier EPUB. Il faut donc préalablement s’assurer que les messages à exporter sont marqués comme non lus. Seul le contenu HTML des messages est pris en compte. Si le contenu fait référence à des images, celles-ci n’apparaîtront pas dans le résultat. Si le message est un extrait d’un article de presse (comme c’est très souvent le cas avec les médias en ligne), seul cet extrait sera dans le résultat.

Cependant, cette version est une base qui ne demande qu’à être enrichie. Je suis d’ailleurs en train de préparer une version 0.2 avec de quelques améliorations (en particulier, la possibilité d’exporter un répertoire ou un compte particulier).

Le code source, le paquet d’installation et la documentation sont disponibles sur le référentiel de mon compte Bitbucket. J’ai choisi de distribuer le code source sous la licence publique Mozilla (MPL, Mozilla Public License) 2.0.

J’ai testé les fichiers EPUB générés avec l’extension Mozilla Firefox EPUBReader ainsi qu’avec ma liseuse électronique Pocketbook InkPad.

N’hésitez pas à me faire part de vos remarques, problèmes ou idées d’amélioration par rapport à cette extension.

 

Recherche par mot-clé intelligent dans Mozilla Firefox

29 mars 2015

Cet article fait suite aux commentaires laissés sur un article du blog d’Olivier Delort au sujet de la recherche de paquets Debian.

Dans ces commentaires, certains suggéraient d’utiliser DuckDuckGo et le bang !dpkg.

Je retrouve souvent cette solution de bang de DuckDuckGo dans les commentaires des blogs que je lis. Je trouve que c’est un peu ridicule de passer par un site pour faire la recherche dans un autre site. Cela me fait un peu penser à ceux qui passent systématiquement par une recherche Google pour aller vers la page d’acceuil de sites Web bien connus (du genre Facebook).

Sous Mozilla Firefox, il existe pourtant une solution équivalente, appelée « mots clés intelligents », qui permet de faire des recherches ciblées sur la base d’un mot-clé. La fonctionnalité est expliquée dans un article du site d’assistance de Mozilla.

La fonctionnalité est aussi simple qu’efficace. Après avoir associé une recherche à un mot-clé de son choix (« dpkg » pour une recherche de paquets Debian par exemple), on peut taper ce mot-clé dans la barre d’adresse suivi des mots-clés à rechercher effectivement et de la touche Entrée. Mozilla Firefox va alors directement soumettre la recherche au site Web concerné (le site de recherche des paquets Debian dans notre exemple), qui va afficher les résultats.

recherche_par_motcle

L’association d’une recherche à un mot-clé se fait de façon très simple. Il suffit de se rendre dans le formulaire de recherche du site, de cliquer avec le bouton droit dans la zone d’entrée, et de choisir l’option « Ajouter un mot-clé pour cette recherche… ». Une fenêtre pop-up s’ouvre alors, dans laquelle on peut entrer le mot-clé souhaité puis cliquer sur le bouton « Enregistrer ». Mozilla Firefox va en fait conserver la recherche en tant que marque-page. Il est à noter que, si les options connexes à la recherche sont modifiées (distribution « testing » au lieu de « stable », section « contrib » seulement… dans l’exemple de la recherche de paquets Debian), les choix seront conservés par Mozilla Firefox.

ajout_motcle_recherche

Nous avons donc une solution complètement personnalisée (choix du mot-clé, choix des options de la recherche), efficace (recherche directe sur le site) et légère (aucun module supplémentaire à installer). C’est, selon moi, la méthode à privilégier pour une recherche sur un site Web précis.

Kapaza Feed : ne rater aucune petite annonce Kapaza avec Mozilla Thunderbird

22 mars 2015

Ceux qui vivent en Belgique savent qu’il existe deux grands sites Web de petites annonces dans le royaume. D’un côté, il y a 2ememain.be, racheté récemment par Ebay. De l’autre côté, il y a Kapaza, l’équivalent belge du site Web français Leboncoin.

Étant un grand adepte des petites annonces, j’aime rester au courant des bonnes affaires de ma région. Pour cela, les concepteurs de 2ememain.be a eu la bonne idée(1) de fournir un flux RSS pour chaque recherche faite sur le site. Ainsi, avec un simple agrégateur de flux RSS, il est très facile de suivre les nouvelles petites annonces qui pourraient m’intéresser.

Malheureusement, Kapaza ne fournit pas cette fonctionnalité. Je me suis alors mis à la recherche d’une solution.

Existant : rien pour pour Kapaza mais des solutions Web pour Leboncoin

Pour être franc, je n’ai rien trouvé.

Par contre, des solutions existent pour Leboncoin :
- Leboncoin2RSS, un site web permettant de convertir une recherche en flux RSS ;
- LBCAlerte, une application à installer sur un serveur Web avec support du PHP.

Je vois deux inconvénients à ces solutions :
- Dans le premier cas, Leboncoin2RSS, instance unique pour l’ensemble des utilisateurs, peut, à tout moment, être rendu inopérant par les administrateurs du site Leboncoin. Faisant la recherche sur Leboncoin au nom des utilisateurs, l’adresse IP du serveur se retrouve être la source de nombreuses requêtes sur Leboncoin. Si les administrateurs du site Leboncoin le détectent, ils peuvent alors décider de bloquer l’adresse IP, rendant le site inopérant. J’ai cru comprendre que ce cas était réellement arrivé dans le passé.
- Dans le deuxième cas, la solution nécessite de faire héberger l’application (avec un hébergeur Web ou en autohébergement). Cette approche me semble un peu lourde pour la finalité désirée.

Ces deux solutions ont, en tout cas, le mérite d’exister, et permettent à n’importe quel agrégateur RSS de récupérer des flux RSS correspondant à des recherches Leboncoin. Elles prouvent également qu’il est possible d’interpréter les pages de résultat de recherche Leboincoin pour en faire des flux RSS.

Solution : Kapaza Feed, une extension pour Mozilla Thunderbird

Fort de ce constat, je me suis alors décidé à implémenter une solution pour suivre les petites annonces déposées sur Kapaza. Pour cela, j’ai pris une approche différente, celle de développer une extension pour Mozilla Thunderbird, que j’utilise comme aggrégateur RSS depuis que j’ai abandonné Liferea.

Certes, cette solution a l’inconvénient majeur de n’être fonctionnelle qu’avec un seul agrégateur de flux mais elle a aussi les avantages de ne pas être sujette à un blocage de la part de Kapaza et de ne pas nécessiter de serveur Web.

J’ai nommé cette extension Kapaza Feed. Le code source, le paquet d’installation et la documentation sont disponibles sur le référentiel de mon compte Bitbucket. J’ai choisi de distribuer le code source sous la licence publique Mozilla (MPL, Mozilla Public License) 2.0.

La première version (0.1) est fonctionnelle: on rentre l’adresse de recherche et on peut, à tout moment, récupérer les nouvelles petites annonces.

folder-menu-entry

search-url-popup-filled

kapaza-ads

get-kapaza-ads-button-in-toolbar

Il me reste encore à soumettre l’extension sur le site Mozilla Add-ons (AMO) afin d’apporter plus de visibilité à l’extension et de rendre son installation plus facile.

En attendant, je serais très heureux de recevoir des retours des lecteurs de cet article et, en particulier, de la communauté du Planet Libre. N’hésitez donc pas à faire part de vos commentaires.

(1) En fait, avec son nouveau look en flat design, les concepteurs de 2ememain.be ont aussi eu la mauvaise idée de supprimer les flux RSS… en apparence seulement car, si le lien n’est plus disponible dans la recherche, la fonctionnalité existe encore. Pour cela, il suffit d’ajouter le suffixe « rss.xml » à l’URL de base obtenue suite à une recherche. Par exemple, une recherche dans la catégorie « Vélos pour homme » dans le Brabant wallon donne l’URL suivante :

http://www.2ememain.be/v%C3%A9los/v%C3%A9los/v%C3%A9los-pour-homme/?language=fr&p=be&p=be-19

Pour obtenir le flux RSS correspondant, il faut utiliser l’URL suivante :

http://www.2ememain.be/v%C3%A9los/v%C3%A9los/v%C3%A9los-pour-homme/rss.xml?language=fr&p=be&p=be-19

Comment migrer de Sylpheed / Liferea vers Mozilla Thunderbird ?

15 mars 2015

Suite à l’acquisition de mon nouvel ordinateur portable, j’ai profité de ses capacités plus élevées pour passer d’une solution Sylpheed (pour les courriels) / Liferea (pour les flux RSS) vers Mozilla Thunderbird.

J’étais globalement content de Sylpheed et Liferea, et j’aime normalement avoir des logiciels qui se limitent à une seule fonction. Cependant, je trouve une certaine ressemblance entre les courriels et les articles de flux RSS. Ainsi, les deux systèmes fonctionnent de manière désynchronisée : une personne poste un message vers un serveur; vous le récupérez du serveur à votre convenance. De plus, un article de flux RSS peut être géré de la même manière qu’un courriel : marquage comme lu / non lu, marquage pour suivi, transfert vers une personne tierce. C’est justement ce que permet de faire Mozilla Thunderbird avec un compte de type blogs et nouvelles.

Migration des courriels de Sylpheed vers Mozilla Thunderbird

Sylpheed conserve les courriels au format MH alors que Mozilla Thunderbird fonctionne avec le format mbox. Il faut donc faire une conversion entre les deux formats.

Après quelques recherches, j’ai trouvé la solution dans un article du blog d’Eric Lathrop, faisant référence à un article du blog Thinking Too Much, lui-même faisant référence à un article (section « MH, mh-e, nmh, xmh, exmh ») de MozillaZine Knowledge Base.

Basiquement, les instructions sont les suivantes :
1) Installer nmh (SLKBUILD pour Salix OS / Slackware Linux 13.37 disponible sur mon compte Bitbucket).
2) Configurer une boîte de courriels locale (~/Mail par défaut).
$ install-mh
3) Récupérer le script mh2mbox.sh donné dans l’article d’Eric Lathrop puis l’adapter éventuellement au système.
4) Lancer le script.
$ ./mh2mbox.sh
5) Déplacer les fichiers créés vers le profil Thunderbird.
$ mv mbox/[A-Z]* ~/.thunderbird/xxxxxxxx.default/Mail/Local\ Folders/

Migration des flux RSS de Liferea vers Mozilla Thunderbird

Pour cela, les opérations sont plus simples :
1) À partir de Liferea, enregistrer les abonnements de flux au format OPML.
2) Dans Mozilla Thunderbird, importer le fichier au format OPML comme des abonnements de flux (menu principal -> Outils -> Importer…, puis suivre les indications).

Je me rappelle que le résultat n’était pas parfait et que j’avais dû corriger quelques abonnements de flux mais, globalement, comme je n’ai qu’une vingtaine de flux, cela n’a pas été un gros problème.

Salix OS 13.37 sur Dell Precision M4400

9 mars 2014

Comme je l’indiquais dans un précédent article, j’ai récemment acquis un ordinateur portable Dell Precision M4400, sur lequel j’ai installé la distribution Linux Salix OS 13.37.

Le modèle Precision M4400 fait partie des modèles d’ordinateurs portables de la gamme professionnelle du constructeur Dell. Il est vraisemblablement sorti en 2008, et ne semble plus disponible neuf. Il était disponible dans différentes configurations, avec de nombreuses options.

Voici les caractéristiques de mon ordinateur (en gras, les caractéristiques qui m’ont poussé à l’achat) :

  • Processeur : Intel Core 2 Duo T9600 (2,8 GHz/1 066 MHz/6 Mo)
  • Mémoire vive : 4 Go DDR2 800 MHz
  • Écran : WUXGA 39 cm (15,4″) 2CCFL (résolution de 1920 x 1200 pixels)
  • Contrôleur graphique : nVidia Quadro FX 770M (512 Mo dédiés)
  • Disque dur : SATA de 200 Go à 7200 tr/min
  • Interface pour disques optiques : graveur CD/DVD double couche 8x
  • Interface pour cartes mémoire : lecteur de cartes 5 en 1 (SD, SDIO, MMC, MS, MSPro)
  • Clavier : AZERTY belge, rétro-éclairé, 84 touches, 3 touches de contrôle du volume
  • Pavé tactile : simple point, zones de défilement vertical et horizontal, 3 boutons
  • Bouton de pointage (trackpoint) : 3 boutons
  • Interfaces d’entrée : micro intégré, caméra (2 mégapixels), prise jack micro, lecteur d’empreintes digitales, lecteur de cartes à puce (smartcards), lecteur de cartes sans contact
  • Interfaces de sortie : haut-parleurs, prise jack casque, VGA, DisplayPort
  • Interfaces réseau : Ethernet (Gigabit), Wifi (802.11a/b/g/n), Bluetooth (2.1) et 3G (UMTS)
  • Interfaces multimédia : USB 2.0 (3), USB 2.0/eSATA, Firewire (IEEE 1394)
  • Interface de station d’accueil : E-Port
  • Extension : lecteur de cartes ExpressCard 54 et lecteur de cartes PCMCIA
  • Batterie : 6 cellules, lithium-ion
  • Châssis : base et couvercle en alliage de magnésium
  • Poids :  2,69 kg
  • Dimensions : 358 mm (largeur) x 257 mm (profondeur) x 27 à 33 mm (hauteur)

Un article du site LaptopSpirit.fr (que je trouve être une excellente source d’informations sur les ordinateurs portables) donne les prix pour les différentes configurations. Grâce à ces prix, je peux estimer que mon ordinateur valait environ 1600 euros neuf.

J’ai donc installé la distribution Salix OS 13.37 (version 32 bits) sur cet ordinateur. L’installation s’est déroulée sans aucun problème. Au premier démarrage, le système est fonctionnel et utilisable, à l’exception de quelques pilotes à installer (Wifi en particulier).

 

Dell Precision M4400 faisant tourner Salix OS

Dell Precision M4400 faisant tourner Salix OS

Les points suivants résument la compatibilité de l’ordinateur avec Salix OS 13.37 :

Affichage : OK, avec le pilote nouveau. En particulier, la résolution 1920 x 1200 est automatiquement reconnue (à la fois dans la console et dans X.org).
Connexion Ethernet : OK.
Connexion Wifi : OK, après installation du pilote wl (voir mon article précédent [/...] à ce sujet).
Connexion Bluetooth : non testée.
Connexion 3G : non testée.
Clavier : OK ; en particulier, les trois touches de contrôle du volume sont reconnues comme des touches multimédia standard dans X.org (XF86AudioLowerVolume, XF86AudioRaiseVolume, XF86AudioMute).
Pavé tactile : OK, sauf défilement horizontal.
Bouton de pointage (trackpoint) : OK.
Son : OK (haut-parleurs, sortie casque, micro interne, entrée micro).
Caméra : OK
État de charge de la batterie : NOK ; à charge pleine, la capacité restante (remaining capacity) est supérieure de 26 % à la capacité totale (last full capacity), ce qui donne un état de charge maximale de 126 %…
Lecture CD/DVD : OK (testée avec DVD vidéo, CD audio et CD de données).
Gravure CD/DVD : non testée.
Accès à une carte mémoire : OK (avec une carte SD, seulement testée en lecture).
Ports USB : OK (testée avec une souris USB, une clé USB et un appareil photo).
Port eSATA : non testée.
Port Firewire : non testée.
Lecture d’empreintes digitales : non testée.
Lecture de cartes à puce (smartcards) : OK, après installation des paquets pcsc-lite et ccid.
Lecture de cartes sans contact : non testée.
Boutons ACPI : OK ; le symbole Lune (Fn + F1) est reconnu avec l’événement ACPI « button/sleep » ; l’ouverture et la fermeture du couvercle sont reconnues avec l’événement ACPI « button/lid ».
Mise en veille (suspend-to-RAM) : OK, avec pm-suspend.
Hibernation (suspend-to-disk) : OK, avec pm-hibernate, après avoir ajouté « append= »resume=/dev/sda1″ » à l’entrée « Salix » de LILO.
Connexion d’une carte d’extension (ExpressCard 54, PCMCIA) : non testée.
Connexion à une station d’accueil : non testée.
Connexion d’un moniteur (VGA, DisplayPort) : non testée.

Comme vous pouvez le constater, je n’ai pas eu l’occasion de tout tester, mais les fonctionnalités essentielles sont opérationnelles, et la plupart le sont dès l’installation de Salix OS 13.37. Si vous avez une question concernant cet ordinateur et sa compatibilité avec Linux, n’hésitez pas me contacter via les commentaires.

Informations complémentaires :
- Compatibilité générale du Dell Precision M4400 avec Linux ;
- Compatibilité du Dell Precision M4400 avec Linux Mint.

 

Configuration de l’adaptateur Wifi Broadcom BCM4322 sous Linux/Slackware/Salix OS

4 janvier 2014

J’ai récemment acquis l’ordinateur portable Dell Precision M4400, sur lequel j’ai installé une distribution Linux. J’évoquerai en détail cette installation dans un prochain article, mais je souhaitais d’abord m’attarder sur un des seuls (pour ne pas dire le seul) points qui n’a pas été pris en charge par défaut : l’adaptateur Wifi Broadcom BCM4322.

C’est malheureusement un problème récurrent lorsqu’on installe Linux sur un ordinateur pourvu d’un adaptateur Wifi. Ce n’est d’ailleurs pas un hasard si mes articles précédents sur le même thème (un premier consacré à la clé Hercules Wireless N USB mini, et un deuxième consacré à la clé Amarina 54Mbps Wireless USB Adapter) font partie des articles les plus lus de mon blog.

L’ordinateur portable Dell Precision M4400 présente donc l’adaptateur Wifi Broadcom BCM4322, comme j’ai pu le constater clairement avec l’outil en ligne de commandes lspci :

# lspci -nn
…
0c:00.0 Network controller [0280]: Broadcom Corporation BCM4322 802.11a/b/g/n Wireless LAN Controller [14e4:432b] (rev 01)

Avec ma distribution Linux courante, Salix OS 13.37 (fondée sur Slacware Linux 13.37), l’adaptateur Wifi était par défaut détecté par le module b43, inclus dans le noyau Linux. Malheureusement, l’interface réseau n’était pas créée, et un outil comme iwconfig n’affichait aucune interface Wifi.

Par ailleurs, j’ai observé les messages suivants dans dmesg:

[   11.473082] b43-phy0: Broadcom 4322 WLAN found (core revision 16)
[   11.488189] b43-phy0 ERROR: FOUND UNSUPPORTED PHY (Analog 8, Type 4, Revision 4)
[   11.488733] b43: probe of ssb0:0 failed with error -95
[   11.489014] Broadcom 43xx driver loaded [ Features: PMLS, Firmware-ID: FW13 ]

La documentation officielle du pilote b43 est assez claire. Elle donne l’état des lieux de la prise en charge des puces Broadcom.

Pour le contrôleur avec l’identifiant 14e4:432b, la documentation indique que le module b43 a une prise en charge partielle à partir du noyau Linux 2.6.39. Salix OS 13.37 présentant le noyau Linux en version 2.6.37, j’ai dû me retourner vers l’alternative (malheureusement propriétaire) indiquée par la documentation : le module wl, fourni indépendamment du noyau par Broadcom dans un paquet nommé « 802.11 Linux STA driver ».

Ce module est disponible dans le paquet broadcom-sta, mis à disposition par le dépôt SlackBuilds.org :

# slapt-src --search broadcom
broadcom-sta:5.100.82.112 - broadcom-sta (Broadcom wireless drivers)

Malheureusement, l’installation de ce paquet avec slapt-src échoue, le paquet source ne pouvant être téléchargé :

# slapt-src -i broadcom-sta
The following packages will be installés:
broadcom-sta
Voulez-vous continuer ? [y (oui) / N (non)] y
Récupération de README...Réalisé
Récupération de broadcom-sta.SlackBuild...Réalisé
Récupération de broadcom-sta.info...Réalisé
Récupération de doinst.sh...Réalisé
Récupération de slack-desc...Réalisé
Récupération de http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_32-v5_100_82_112.tar.gz...Raté

Un article du blog « rog notes » donne les instructions à suivre pour contourner ce problème. Je les reprends ici en les adaptant à Slackware 13.37 et en les complétant :
1) Télécharger le paquet source (hybrid-portsrc_x86_…tar.gz) correspondant au système requis (32 ou 64 bits), ainsi que le paquet slackbuild (broadcom-sta.tar.gz), sur la page SlackBuilds.org.
2) Se déplacer dans le répertoire où ont été sauvés les fichiers téléchargés, puis extraire le paquet slackbuild.

# tar xvfz broadcom-sta.tar.gz

3) Se déplacer dans le répertoire broadcom-sta créé puis y copier le paquet source.

# cd broadcom-sta
# cp -a ../hybrid-portsrc_x86_…tar.gz

4) Se connecter en tant qu’administrateur (root) puis générer le paquet Slacware. Attention : ceci nécessite que des outils de développement (compilateurs, bibliothèques, …) soient installés sur le système.

$ su
$ ./broadcom-sta.SlackBuild

5) Copier le paquet Slackware généré dans /tmp et nommé broadcom-sta…_Sb0.tgz (mieux vaut garder ce paquet quelque part en cas de besoin).

$ cp -a /tmp/broadcom-sta…_Sb0.tgz ./

6) Installer le paquet Slackware.

$ installpkg broadcom-sta..._Sb0.tgz

7) Décharger le module b43 (ainsi que le module ssb lié) puis charger le module wl (fraîchement installé).

$ modprobe -r b43 ssb
$ modprobe wl

8) Utiliser l’utilitaire de son choix (iwconfig, wicd, NetworkManager) afin de configurer l’interface réseau qui devrait normalement avoir été créée. Attention : dans mon cas, cette interface réseau porte l’identifiant eth1, et non le classique wlan0.

9) Ajouter les modules b43 et ssb dans la liste noire des modules afin de s’assurer que c’est bien le module wl qui sera pris en compte lors du redémarrage du système.

$ echo "blacklist ssb" >> /etc/modprobe.d/blacklist
$ echo "blacklist b43" >> /etc/modprobe.d/blacklist

Merci à Roger du blog « rog notes » pour l’astuce. J’espère que cet article sera utile à toute personne confrontée à l’installation d’un pilote pour un adaptateur Wifi Broadcom.

 

123456