Nokia 9300i sous Linux

Comment faire fonctionner ce téléphone sous Linux .. très bonne question ! voici mon expérience

Tout d’abord le connecter via usb (ou autre). Pour cela il faut installer les lib obex qui est le protocole de communication particulier utilisé par Nokia. Si une version antérieur à la 1.3 est deja installé sur votre systeme, je conseille de l’enlever.
Pour ce, j’ai récupéré les source de la version 1.3 sur Sourceforge (voir lien ci-contre). L’installation est classique :
./configure –prefix=/opt/usbobex –enable-apps
make && make install …

Le test se fait ensuite en lancant le programme /opt/usbobex/bin/obex_test -u en temps que root. Toutefois le résultat n’a pas été concluant et je n’ai eu aucune interface.

A ce moment, j’ai pu constaté que l’usb n’etait pas supporté lorque j’ai lancé la commande configure : “checking for USB… no” ; il semble que les librairies soient bien installées sur mon system mais pas de package de type devel nécessaire à la compilation; J’ai donc installé/compilé une nouvelle version de la libusb. Puis j’ai pu relancé la configuration et enfin compiler obex comme précédemment

Cette fois ca fonctionne :
./obex_test -u
Using USB transport, querying available interfaces Interface 0: Nokia Nokia 9300i SYNCML-SYNC-CLIENT-INIT
Interface 1: Nokia Nokia 9300i SYNCML-SYNC
Interface 2: Nokia Nokia 9300i PC Suite Services
Interface 3: Nokia Nokia 9300i SYNCML-DM
Use ‘./obex_test -u interface_number’ to run interactive OBEX test client

Au cas où il est aussi possible de vérifier la détection du téléphone au niveau noyau en utilisant la commande lsusb qui me retourne une ligne du type ; Bus 004 Device 015: ID 0421:0453 Nokia Mobile Phones.

Il faut ensuite installer obexftp pour pouvoir acceder au téléphone. La compilation se fait par : ./configure –prefix=/opt/usbobex OPENOBEX_CONFIG=/opt/usbobex/bin/openobex-config
Ne pas oublier d’installer python-devel en cas de probleme avec python.
Il est alors possible de se connecter au téléphone avec obexftp. Pour un test la ligne de commande est ./obexftp -u 2 -c D: -l pour lister le contenu de la carte flash par exemple. Attention, l’interface indiquée par l’option -u doit correspondre à celle de PC Suite.

L’outil ObexTool va permettre de naviguer plus simplement sur le téléphone. Son installation se fait simplement en décompressant l’archiche dans le répertoire /opt/usbobex. Le fichier etc/obexwrap.sh sera modifié pour que la ligne obexftp -t modem “$@” devienne : /opt/usbobex/bin/obexftp -u 2 “$@”
Dans etc/obextool.cfg il faudra commenter les lignes set ObexConfig(config,memstatus) 1 et activer set ObexConfig(config,memstatus) 0. Il faut faire de même pour le parametre filemove. Il m’a aussi fallu installé le package python Tablelist que j’ai trouvé ici ; en décompressant l’archive dans /usr/share/tcl

La commande screen (gestionnaire de fenêtre en mode texte)

Imaginons que vous ayez un process texte qui tourne sur une machine accesisble uniquement par le reseau et que vous souhaitiez que ce process continue à s’exécuter bien que votre session ssh soit terminée. Imaginons, qui plus est, que ce qui se passe en console vous interresse et que vous souhaitiez donc par la suite (les jour suivant) pouvoir vous reconnecter à ce programme et consulter sa console… Et bien ceci est possible et même très simple en utilisant la commance screen

screen est un gestionnaire de fenêtre en mode texte (lol). Son utilisation est simple au travers d’un exemple :

  • Ouvrez une session ssh
  • Tapez screen
  • Lancer top dans ce terminal
  • Fermez la connexion ssh
  • Ouvrez de nouveau ssh
  • Reconnectez vous au terminal en lançant screen -R
  • Top est de retour !
  • Pour fermer definitivement la session CTRL+a k

Merveilleux non ?!?

Linux RAID1 soft, changement d’un disque

Lorsque l’on utilise une solution de sauvegarde, on est toujours inquite le jour où il faut mettre en oeuvre la restauration … c’est bien se qui m’est arrivé le jour où l’un de mes disques RAID1 à grillé et qu’il a fallu le changer puis restaurer le RAID1. Et bien en 1 mot (mais personne n’en doutait) le RAID1 soft sous linux ca marche nickel !

Détails de l’opération :

  • Retrait du disque defectueux et retour au fournisseur
  • Le système fonctionne parfaitement sur son second disque le temps que le disque en SAV revienne
  • Backup des données (on sait jamais)
  • Reinstallation du second disque dans la machine
  • Synchro du RAID1
  • Retour au mode normal

Bref super ! Pour ce qui est des quelques commandes magiques à utiliser :
sfdisk –dump /dev/sdx | sfdisk /dev/sdy Permet de cloner la table des partitions du disque x sur le disque y.
mdadm /dev/mdx -a /dev/sdy Permet d’ordonner la resynchronisation du disque que l’on vient d’ajouter en le remontant dans l’ensemble RAID1.

La progression de la reconsruction du raid peut être suivie en consultant /proc/mdstat

Tomcat, problème de JVM_LIBDIR

Par defaut la config ne semble pas cohérente du coup j’ai eu des messages de ce style … “cp=/%20JVM_LIBDIR%20/usr/lib64/jvm-exports/java-1.5.0-sun-1.5.0%20does%20not%20exist%20or%20is%20not%20a%20directory” ou encore “error: JVM_LIBDIR /usr/lib64/jvm-exports/java-1.5.0-sun-1.5.0 does not exist or is not a directory”
Pour s’en sortir j’ai créé un lien symbolique dans /usr/lib64/jvm-exports/ de “java-1.5.0-sun-1.5.0 pointant” vers “java”.
Il faut ensuite redemmarer tomcat et ca fonctionne.

Raid1 soft avec Asus P5B-VM sous opensuse 10.1

Après avoir realisé une installation de ma suse 10.1 sur un disque configuré en RAID1 soft, j’ai eu la désagreable surprise de trouver un kernel panic au boot du style : VFS: Cannot open root device “…” or unknown-block(…,…)

Il semble qu’a ce moment là du demarrage le disque md0 ne soit pas encore bien monté (problème de module sans doute)… la solution simple pour s’en sortir est de préciser dans les paramètre du boot que root n’est pas sur /dev/md0 mais sur /dev/sda1 par exemple … ce qui ne change pas fondammentalement grand chose si ce n’est qu’en cas de defaillance de sda1, il faudra penser à preciser sdb1 pour que ca boote.

La procédure n’empeche absoluement pas / d’etre monté sur md0 une fois la machine bootée. Il faudra modifier les parametres de grub dans /boot/grub/menu.lst pour ne pas être obligé de réitérer la manip à chaque lancement.

RTL8111b sur P5B-VM sous Opensuse 10.1

Je viens d’acheter un carte mère Asus P5B-VM basée sur un chip réseau gigabit Realtek RTL8111b de la famille des r1000. Ce dernier n’est pas reconnu et mon installation réseau en est un peu compliquée … Je vous livre ici comment je m’en suis sorti …

Il est tout a fait possible de charger un module lors de l’installation, le tout etant de l’avoir. Pour cela, il faut recopiler le driver Realteck sur une suse de même version pour obtenir le module … je vous livre ici mon module pour la suse 10.1 (version 32b) et ici la version SMP pour suse 10.1… ca vous fera toujours gagner une etape ..

Pour ceux qui souhaitent le recompiler par eux-même, il y a deux choses à savoir :

  • Il faut modifier src/Makefile et remplacer $(PWD)/Makefile_linux26x par le chemin complet de ce même fichier
  • Il faut remplacer dans src/r1000_n.c les 3 lignes MODULE_PARM par MODULE_PARM_DESC

Ensuite il faut copier ce module sur une clef USB par exemple. Lancer l’installation et lorsque l’on arrive sur les premières fenetre de YAST
De là il faut :

  • Appuyer sur CTRL+ALT+F9 pour passer sur une console
  • Monter la clef usb : mount -t vfat /dev/sda1 /mnt
  • Ajouter le module : insmod /mnt/r1000.ko

En appuyant sur CTRL+ALT+F1, vous retournez alors sur l’installeur yast et l’installation réseau pourra commencer.

Attention, il faut aussi noter que le chipset G965 n’est pas reconnu avant le 2.6.18 et donc pas avant la suse 10.2. Toutefois ce n’est pas ce chip qui pose des problème mais le Southbridge JMicron qui n’etant pas du tout reconnu empèche la détection des disques dur IDE et même du CDROM une fois l’installation lancée. Cependant pour installer linux sur une SATA via le réseau, ca fonctionne …

Revenons à nos moutons … une fois Linux installé, il faudra se recompiler une nouvelle fois un driver, il ne faut donc surtout pas oublier d’installer le package kernel-source sans quoi, après c’est trop tard ! Au premier redemarage, dès que yast se lance, il est possible de trouver un console pour compiler un nouveau module. Attention, le Makefile ne fait pas de depmod -a lors de l’installation … pensez à l’ajouter !
Enfin, la recompilation sera à faire après les mise à jour de noyau … Au passage, pour forcer l’usage d’un module pour un périphérique reseau, il faut jeter un oeil dans /etc/sysconfig/hardware, c’est à cet endroi que l’association se fait.

Utilisation du Pata JMicron sur P5B-VM sous Opensuse 10.1

Bon … pour accéder au controleur PATA JMicron de la carte mère Asus … c’est pas gagné !!! En tout cas on finit par y arriver avec un peu de patience. Dans la doc c’est possible, et ca l’est en effet, mais ce n’est pas trivial. Je vous donne la liste des manip que j’ai dû faire :(sans pour autant garantir que tout soit utile

  • Dans le bios, configurer le JMicron en mode AHCI
  • Booter l’install de la 10.2 puis dès que possible passer sur un terminal (CTRL+ALT+F9)
  • Charger le module par modprobe pata_jmicron
  • Jeter un oeil avec dmesg pour voir ce qui s’est passé …

Pour ma part le cdrom est sur /dev/sr0 et le disque dur semble etre sur /dev/sdb

Cette manip faite il ets presque possible d’installer suse 10.2 à partir du CD, j’ai toutefois du passer par la case “vérification du support” avant que l’installeur veuille bien me monter le cdrom

Revenir au double click sous KDE

Franchement …. le simple clic c’est chiant !! passer son temps à ouvrir des documents alors qu’on souhaite faire une selection multiple est gavant ! bref, retour aux concepts initiaux : le double clic… problème où est cette foutue option dans KDE !

Après quelques longues recherches : la solution est

  • Panneau de config de KDE
  • Périphérique / Souris
  • Option Simple/Doucle clic

Sauvé !