J'ai acquis récemment un Sagem Spiga. J'en rêvais à sa sortie, mais les 500€ demandés me paraissaient excessifs par rapport au matériel embarqué. J'aurai donc attendu deux ans, et l'offre vente privée, pour le trouver à un prix raisonnable. Et je suis content de mon achat : la finition est correcte, l'autonomie comparable à celle annoncée, et il rentre bien dans ma poche de jean. Même mon 12" parait énorme à côté :-)
Étant donné le matériel exotique de cet ordinateur (Intel GMA500 pour le GPU, Marvell 8686 pour le wifi), j'avais un peu peur de côté "pochette surprise". Voici donc un récapitulatif de ce qui fonctionne aujourd'hui sous Debian Squeeze, et quelques astuces sur la manière d'y parvenir.
C'est tout bête, mais j'ai mis un moment avant de trouver comment faire, la manipulation n'étant pas expliqué dans la notice. La combinaison magique est "Fn + o", soit F11. On peut ensuite booter sur un périphérique USB (clef USB/disque dur/lecteur de CD-rom externe).
Première étape, obtenir une connexion internet. Étant donné l'absence de port RJ45, il n'y a pas d'alternative : le WIFI doit fonctionner. Heureusement, un pilote (assez buggé) existe. L'utilisation d'un gestionnaire de connexion (comme wicd ou network-manager) entraîne un crash du système. Il faudra donc utiliser Wireless Tools, et éventuellement wpa_supplicant.
L'installation est assez facile. Commençons par télécharger l'archive dont on a besoin sur le site de marvell. Pour cela, sélectionnons la plate-forme "Linux 2.6 - fedora", puis le driver nommé "SD-8686-LINUX26-SYSKT-9.70.3.p24-26409.P45-GPL".
Une fois cette archive extraite, on remarque qu'elle en contient deux autres, dont une nommée "SD-8686-FEDORA26FC6-SYSKT-GPL-9.70.3.p24-26409.P45.tar". C'est cette dernière qui nous sera utile, et qu'il faut de nouveau extraire. On obtient alors un dossier "FwImage" contenant deux fichier : helper_sd.bin et sd8686.bin. Renommer helper_sd.bin en sd8686_helper.bin. Copier ensuite sd8686.bin et sd8686_helper.bin dans le dossier /lib/firmware du spiga.
Le module doit maintenant être chargé, à l'aide de la commande suivante :
On devrait voir apparaître une nouvelle interface nommé wlan0 :
# iwconfig
lo no wireless extensions.
pan0 no wireless extensions.
wlan0 IEEE 802.11b/g ESSID:""
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Bit Rate:0 kb/s Tx-Power=15 dBm
Retry short limit:8 RTS thr=2347 B Fragment thr=2346 B
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
On peut démarrer l'interface et vérifier son fonctionnement :
# ifconfig wlan0 up
# iwlist wlan0 scan
wlan0 Scan completed :
Cell 01 - Address: 00:03:52:xx:xx:xx
ESSID:"Auversup sans fil"
Mode:Managed
Frequency:2.437 GHz (Channel 6)
Quality=41/100 Signal level=-89 dBm Noise level=-96 dBm
Encryption key:off
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Cell 02 - Address: 00:03:52:xx:xx:xx
ESSID:"eduroam"
Mode:Managed
Frequency:2.437 GHz (Channel 6)
Quality=41/100 Signal level=-89 dBm Noise level=-96 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (1) : TKIP
Authentication Suites (1) : 802.1x
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : 802.1x
On voit ici que notre carte détecte deux hotspot. Pour se connecter à "Auversup sans fil", nous allons utiliser les outils iwconfig et dhcpcd :
# iwconfig wlan0 essid "Auversup sans fil" # dhcpcd wlan0
Dans le cas où on souhaite se connecter à un réseau crypté par WPA, il faudra utiliser l'outils wpa_supplicant. Les gestionnaires de connexion, bien plus ergonomiques, font malheureusement crasher le système.
Le wifi est maintenant fonctionnel, mais il reste deux problèmes à régler rapidement :
- l'écran tactile est mal supporté, chaque contact est interprété comme un clic. Chaque mouvement du curseur entraîne donc des "drag and drop".
- la touche "m" est mal reconnue, et le mapping est plus que perfectible
On utilise xinput, afin de remapper le clic gauche de l'écran tactile (reconnu comme une souris) sur une action qui n'existe pas :
Après avoir exécuté cette commande, nous n'avons plus de moyen de cliquer. Nous allons donc remapper une touche du clavier comme étant le clic gauche :
Le touche "windows" fera maintenant office de clic gauche, et la combinaison "shift + windows" de clic droit. Mais pour cela, il faut activer l'émulation du clic grâce au clavier avec les commandes suivantes :
xkbset m xkbset exp =m
On peut ensuite remapper quelques touches :
xmodmap -e "keycode 58 = m M m M exclam" xmodmap -e "keycode 47 = comma question comma question parenright" xmodmap -e "keycode 59 = semicolon period semicolon period bracketright" xmodmap -e "keycode 46 = l L l L dollar" xmodmap -e "keycode 44 = j J j J less" xmodmap -e "keycode 45 = k K k K greater"
Ces lignes permettent :
- de remapper "m" sur la bonne touche, et d'attribuer "!" à la combinaison "alt-gr + m"
- de ramapper "," "?" et ")" sur la touche "$"
- d'obtenir "$" avec la combinaison de touches "alt-gr + l"
- d'obtenir "<" avec la combinaison de touches "alt-gr + j"
- d'obtenir ">" avec la combinaison de touches "alt-gr + k"
La touche reconnue comme alt-gr est celle comportant une petite maison. Ces réglages peuvent bien entendu être modifiés comme bon vous semble.
MAJ : le pilote eGalax semble maintenant fonctionner correctement. On peut le trouver ici.
Il suffit de le décompresser et d'exécuter setup.sh. La calibration de fait ensuite à l'aide de l'utilitaire eGalaxTouch.