Samsung X05

De FrozenWiki
Aller à la navigation Aller à la recherche

Avertissement

Attention, l'auteur de ces lignes décline toutes responsabilités en cas de problèmes liés à l'utilisation des informations et des fichiers disponibles en téléchargement sur cette page !

Spécification

   * CPU: Intel Pentium M 1.4Ghz
   * LCD: 14.1" XGA TFT Colour LCD
   * MEMORY: 256MB DDR 333 Memory
   * HDD: 40GB UDMA
   * DVD-ROM Drive
   * Ethernet: Intel PRO/100 VE (MOB)
   * Soundcard: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller
   * Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller

Périphériques ajoutés :

   * Wireless Ethernet: Belkin Broadcom BCM4306 802.11b/g

Distribution linux :

   * Gentoo linux

lshw lspci /proc/version .config

Carte graphique

DRI

J'utilise Xorg 6.8.x.
La carte 855GM fonctionne correctement, cependant pour avoir les extensions DRI, il faut posséder un noyau moins ancien que le 2.6.9, et compiler la module i915.
Sinon, avec un noyau moins récent, je n'ai jamais réussi à utiliser les possibilités opengl de la carte graphique.

Sortie télé

Dernière nouvelle :

Avec Xorg 6.8.2 la sortie TV fonctionne ! Les lignes de configuration à ajouter dans xorg.conf dans la section "Device" sont les suivantes :

   Option "MonitorLayout" "TV,LFP"
   Option  "Clone" "true"

Le mode "clone" ne semble pas fonctionner si on inverse TV et LFP. N'hésitez pas à consulter la page du man

   $ man i810

L'astuce ci-dessous fonctionne avec les versions antérieures de Xorg :

Le portable présente sur son postérieur une jolie petite prise S-VHS.
Pour faire fonctionner cette sortie TV, il faut installer les drivers de chez Intel. On peut les trouver ici.
Malheureusement, je n'ai pas réussie à les compiler (shame on me...), donc du coup j'ai installé les binary que l'on trouve dans le répertoire gdg une fois les drivers décompressés.
Puis j'ai copié i810_drv.o dans /usr/X11/lib/modules/drivers et gdg_dri.o dans /usr/X11/lib/modules/dri. Il ne reste plus qu'à modifier la configuration de Xorg en ajoutant à la section "Device" la ligne suivante :

   * Options "MonitorLayout" "LFP,TV"

Je n'ai pas encore réussi à avoir les images simultanément sur la télé et l'écran du portable, mais bon, j'ai pas trop insisté non plus.

xorg.conf

Molette du Touchpad

Pour faire fonctionner le touchpad et surtout la molette super pratique il faut utiliser le module psmouse avec l'option imps :

   $ modprobe psmouse proto=imps

Ou alors dans /etc/modules.d/local on ajoute :

   options psmouse imps

Carte sonore

Elle fonctionne sans problème avec les drivers ALSA. Par contre les hauts parleurs sont pourris...
Du coup j'ai acheté une carte sonore USB (qui fait aussi, accessoirement interface MIDI) dont je décris la configuration sous linux juste là.
Par contre, je n'ai pas encore pu essayer la sortie S/PDIF.
Voici les options à activer dans le noyau :

   Device Drivers  --->    
     Sound  --->
       <M> Advanced Linux Sound Architecture
       PCI devices  --->
         <M> Intel i8x0/MX440, SiS 7012; Ali 5455; NForce Audio; AMD768/8111

Carte réseau

Aucun problème de configuration en utiliser le drivers Intel PRO 10/100 du noyau.

   Device Drivers  --->
     Networking support  --->
       Ethernet (10 or 100Mbit)  --->
         [*] EISA, VLB, PCI and on board controllers
         <M>   Intel(R) PRO/100+ support 

La commande pour monter le module est :

   $ modprobe e100

ACPI

C'est la partie la plus pénible de la configuration.

Bien heureusement, grâce à pas mal de liens sur le net (ci-dessous) on peut s'en sortir.

Il faut patcher les sources du noyau pour pouvoir utiliser une table DSTD personalisée par l'intermédiaire de initrd.

On trouve la patch du noyau ainsi que son utilisation ici.

On peut télécharger une DSTD mise à jour directement chez Samsung : bugfix DSDT

Et voici un petit programmme C pour rapidement convertir ce fichier .hex en un fichier .aml qui peut être inclus avec initrd : programme de conversion.

Le fichier .aml résultant est suivant : x05_dsdt.aml.

Après avoir patcher le noyau, il faut le configurer :

   Power management options (ACPI, APM)  --->
     ACPI (Advanced Configuration and Power Interface) Support  --->
       [*] ACPI Support
       [*] Sleep States (EXPERIMENTAL)
       <M>   AC Adapter
       <M>   Battery 
       <M> Button
       <M> Fan
       <M> Processor
       <M> Thermal Zone
       [*] Read Custom DSDT from initrd
       [*] Power Management Timer Support 

Il faut copier le fichier .aml dans /boot/.
Puis on doit ajouter dans grub.conf :

   title=Gentoo Linux
   root=(hd0,1)
   kernel /bzImage root=/dev/hda4 options mtrr hdc=ide-cd
   initrd=/boot/DSDT.aml

Et redémarrer le machine.

Information système

Maintenant on peut accéder aux informations concernant la température et la batterie !

Plus d'infos à venir...

Fréquence du processeur

En utilisant l'utilitaire speedfreq, il est possible de changer la fréquence du processeur lorsque l'ordinateur fonctionne sur batterie.

Il faut dans un premier temps configurer le noyau :

   Power management options (ACPI, APM)  --->
     [*] Power Management support  
     CPU Frequency scaling  --->
     [*] CPU Frequency scaling
     <M>   'powersave' governor
     <M>   'userspace' governor for userspace frequency scaling
     <*>   CPU frequency table helpers
     <M> Intel Enhanced SpeedStep
   $ speedfreq -p powersave

fait passer la fréquence de 1400Mhz à 600Mhz, tandis que

   $ speedfreq -p performance

va refaire fonctionner le processeur à sa fréquence maximal.

Il y a cependant un petit sifflement quand le portable est en mode powersave alors qu'il est sur batterie.
C'est un soucis que j'ai pas encore réussi à résoudre...

Suspend to Disk

En installant la version du noyau patchée avec suspend2, on peut enfin faire fonctionner la veille. On trouve tous les détails de cette configuration .
Il faut toutefois encore appliquer le patch pour la lecture dynamique de la DSTD comme expliqué précédemment.

J'ai configuré le bouton "Veille" de la machine comme ceci :

  • /etc/acpi/events/sleepbtn
 event=button[ /]sleep
 action=/etc/acpi/sleepbtn.sh
  • /etc/acpi/sleepbtn.sh
 #! /bin/sh
 /usr/sbin/hibernate

Et pour passer en veille quand on ferme l'écran, il faut aussi écrire les fichiers suivants :

  • /etc/acpi/events/lidbtn
 event=button[ /]lid
 action=/etc/acpi/lidbtn.sh
  • /etc/acpi/lidbtn.sh
 #! /bin/sh
 /usr/sbin/hibernate

Configuration bien inspirée de ce site ci.

PCMCIA

Aucun soucis non plus pour faire fonctionner le slot PCMCIA. Il faut utiliser le driver yenta_socket :

   Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->
     [*] PCI support
       PCI access mode (Any)  --->
     PCMCIA/CardBus support  --->
       <M> PCMCIA/CardBus support
       <M>   CardBus yenta-compatible bridge support

Et pour installer le module :

   $ modprobe yenta_socket

USB

C'est pas non plus très compliqué de faire fonctionner l'USB :

   Device Drivers  --->
     USB support  --->
       <M> Support for Host-side USB
       [*]   USB device filesystem
       <M>   EHCI HCD (USB 2.0) support
       <M>   UHCI HCD (most Intel and VIA) support

Et pour monter les modules :

   $ modprobe uhci_hcd
   $ modprobe ehci_hcd

Attention, le module ehci_hcd ne fonctionne que pour les périphériques USB 2.0, donc si on a encore du vieil USB qui traine, il faut aussi monter le module uhci_hcd !

wireless

Le portable que j'ai acheté ne possède pas de carte WIFI intégrée.
Je me suis donc procuré, bien mal m'en a pris, une carte PCMCIA BELKIN F5D7010.
Ces cartes fonctionnent très bien sous windows... mais il n'y a pas de pilotes OpenSource !

Bien heureusement, en installant ndiswrapper, et en utilisant les pilotes windows, on peut la faire fonctionnner...

$ emerge ndiswrapper
$ ndiswrapper -i PCMCIAbcmwl5.inf

En attendant, vous pouvez jeter un oeil ici.

Autres sources d'information

Moultes modèles de portables fonctionnant avec notre système préféré :

Le Samsung X05 configuré pour :

This report is listed at TuxMobil - Linux on laptops, notebooks, PDAs, mobile phones.

reverse lookup

reverse phone lookup cell