Linux Debian sur Toshiba M30-841


M J

v0.0.6 Lundi 25 Fevrier 2008

1. Materiel

2. Noyau

3. Serveur X

4. Carte son

5. Grub

6. Wireless

7. Modem

8. Infra-Rouge (IRDA)

9. Gravure

10. I-Pod

11. Liens




1. Materiel

  • Processeur Intel Centrino 1,5GHz
  • Carte Graphique NVidia GeForce FX Go 5200
  • Carte Son integree Intel8x0
  • Carte Reseau Intel Pro/100
  • Carte Wifi mini-PCI Intel PRO/Wireless 2100
  • Port Infra-Rouge (IRDA)


  • 2. Noyau

  • Configuration du noyau


  • Carte reseau

  • Hardware : Intel Pro/100
    Driver : e100

    Noyau :

    Activer dans le kernel
    Device Drivers > Networking support > Ethernet (10 or 100Mbit) > EISA, VLB, PCI and on board controllers > Intel(R) PRO/100+ support(CONFIG_E100)



    3. Serveur X

    Hardware : Carte Graphique NVidia GeForce FX Go 5200
    Driver : nvidia

    Noyau :

    Il existe un pilote sous licence GPL nomme nv que l'on peut activer dans le noyau.
    Pour ma part j'utilise le pilote proprietaire externe au noyau, il faut donc activer le support pour charger des modules dans le noyau
  • Enable loadable module support : CONFIG_MODULES


  • Installation :

    Telecharger le driver nvidia sur http://www.nvidia.com/object/linux.html

    Attribuer la permission d'execution
    # chmod 700 NVIDIA-Linux-x86-1.0-7167-pkg1.run
    Lancer l'installateur
    # ./NVIDIA-Linux-x86-1.0-7167-pkg1.run

    Nb : Dans le cas ou l'on vient de booter sur un deuxieme noyau il faut utiliser l'option -K
    # ./NVIDIA-Linux-x86-1.0-7167-pkg1.run -K

    Telecharger mon fichier de configuration XF86Config-4 et le placer dans /etc/X11

    Problemes :

    Consulter le fichier /var/log/XFree86.0.log pour voir les eventuels problemes.



    4. Carte son

    Hardware : Carte son integree Intel8x0

    Driver : intel8x0

    Noyau :

    Present en natif dans le kernel 2.6, j'ai choisi d'utiliser les drivers ALSA.

    Activer dans Device Drivers > Sound > Sound card support > Advanced Linux Sound Architecure
    Les options
  • Sequencer support : CONFIG_SND_SEQUENCER
  • Sequencer dummy client : CONFIG_SND_SEQ_DUMMY
  • OSS Mixer API : CONFIG_SND_MIXER_OSS
  • OSS PCM (digital audio) API : CONFIG_SND_PCM_OSS

  • Dans > PCI devices
  • Intel8x0 : CONFIG_SND_INTEL8X0


  • Installation :

    Installer les packages suivants
    # apt-get install alsa-base alsa-headers alsa-oss alsa-utils alsamixergui alsaplayer alsaplayer-com alsaplayer-gtk alsaplayer-oss gstreamer-alsa

    Problemes :

    Le son du modem ne marche pas, pour y remedier il faut compiler le pilote Intel8x0m (CONFIG_SND_INTEL8X0M).
    En compilant le pilote en statique l'effet inverse se produit, les sons ne sont plus audibles.



    5. Grub

    Installation :

    Installation de grub, si elle n'a pas deja ete effectuee au demarrage
    # apt-get install grub

    J'ai installe trois systemes d'exploitation sur mon portable, voici ci-dessous les entree correspondantes extraites du fichier /boot/grub/menu.lst :

    Pour Linux :
    title Debian
    root (hd0,0)
    kernel /ker-2.6.9 root=/dev/hda5 ro hdc=ide-cd acpi=on psmouse.rate=40 acpi_irq_balance acpi_irq_isa=3
    initrd /initrd.img-2.6.9
    savedefault
    boot

    Pour OpenBSD :
    title OpenBsd
    root (hd0,1)
    chainloader +1

    Pour Windows :
    title Windoz
    root (hd0,3)
    chainloader +1



    6. Wireless

    Hardware : Carte Wifi mini-PCI Intel PRO/Wireless 2100

    Driver : ipw2100

    Je ne suis pas parvenu a compiler le noyau avec le driver ipw2100 en tant que module, vous trouverez donc, ci-dessous, comment installer ce driver en externe.
    Il existe deux manieres de le faire fonctionner, avec le hotplug et legacy firmware load. J'ai retenu cette derniere methode pour mon installation.

    Noyau :

    Activer les options suivantes dans la configuration votre noyau

  • Device Drivers > Networking Support > Wireless LAN drivers (non-hamradio)
  • Wireless LAN drivers (non-hamradio) & Wireless Extensions(CONFIG_NET_RADIO)

  • Pour pouvoir utiliser votre connexion wireless avec les algorithmes de chiffrement vous devez ajouter les options suivantes au noyau

    Pour WEP
  • Cryptographic options > ARC4 cipher algorithm (CONFIG_CRYPTO_ARC4)
  • Library routines > CRC32 functions (CONFIG_CRC32)

  • Pour WPA
  • Cryptographic options > AES cipher algorithms(CONFIG_CRYPTO_AES_586)
  • Cryptographic options > Michael MIC keyed digest algorithm(CONFIG_CRYPTO_MICHAEL_MIC)

  • Le driver ipw2100 est inclu dans le noyau a partir de la version 2.6.14
  • Wireless LAN (non-hamradio) > [*]Wireless LAN drivers (non-hamradio) & Wireless Extensions
  • Wireless LAN (non-hamradio) > [M]Intel PRO/Wireless 2100 Network Connection
  • Wireless LAN (non-hamradio) > [M]IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)
  • Wireless LAN (non-hamradio) > [*]Support downloading firmware images with Host AP driver

  • Avant la version 2.6.14 il faudra proceder de la facon suivante
    Telecharger les derniers drivers ipw2100
    Les decompresser dans /usr/src
    # tar -xvzf ipw2100-1.0.3.tgz -C /usr/src
    Se positioner dans le repertoire de travail
    # cd /usr/src/ipw2100-1.0.3
    Editer le Makefile et decommenter la ligne CONFIG_IPW2100_LEGACY_FW_LOAD=y
    Puis proceder a l'installation des drivers
    # make && make install


    Installation :

    Installer les wireless tools
    # apt-get install wireless-tools


    Creer le repertoire /etc/firmware
    # mkdir /etc/firmware
    Et y placer le firmware correspondant

    Charger le driver nouvellement installe
    # modprobe ipw2100


    Configuration :

    La commande iwconfig permet de configurer et voir les parametres wireless.
    iwconfig eth1 mode managed channel 6 nick mylaptop
    Verification de la configuration
    iwconfig

    Sous debian on peut aussi utiliser le fichier habituel pour la configuration des interfaces
    # cat /etc/network/interfaces

    auto eth1
    #iface eth1 inet dhcp
    iface eth1 inet static
    address 192.168.1.1
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.254
    wireless_essid linksys
    wireless_mode Managed
    wireless_rate auto
    wireless_channel 6
    wireless_key s:lacle
    wireless_nick mylaptop


    Problemes rencontres :

  • Erreur au cours de l'installation des modules lorsque apres avoir applique le patch ipw2100-2.6.9-patch sur mon noyau, ajoute le driver dans la configuration du kernel et compile celui ci.
  • La compilation des drivers avec la methode externe au noyau ne marche pas si l'on a pas le .config dans /usr/src/linux
  • La version ipw2100-1.0.3 est la derniere avec laquelle on peut utiliser la methode ci-dessus, il faudra pour les versions superieures faire l'installation avec hotplug


  • 7. Modem

    Hardware : SmartLink Modem
    Driver : slamr.o

    Noyau :

  • Device Drivers > Networking support > PPP support (CONFIG_PPP)
  • Device Drivers > Networking support > PPP support for async serial ports (CONFIG_PPP_ASYNC)
  • Device Drivers > Sound > Advanced Linux Sound Architecture > PCI devices > Intel i8x0/MX440, SiS 7012; Ali 5455; NForce Audio; AMD768/8111 (CONFIG_SND_INTEL8X0)
  • Device Drivers > Input device support(CONFIG_SERIO_SERPORT)
  • Device Drivers > Character devices > Serial drivers > 8250/16550 and compatible serial support(CONFIG_SERIAL_8250)
  • Device Drivers > Character devices > Serial drivers > Console on 8250/16550 and compatible serial port(CONFIG_SERIAL_8250_CONSOLE)



  • Installation :

    Installer PPP
    # apt-get install ppp

    Telecharger les derniers drivers slmodem
    Les decompresser dans /usr/src
    # tar -xvzf slmodem-2.9.10.tar.gz -C /usr/src
    Se positioner dans le repertoire de travail
    # cd /usr/src/slmodem-2.9.10
    Puis proceder a l'installation des drivers
    # make && make install

    Charger le driver nouvellement installe
    # modprobe slamr


    Configuration :

    Ouvrir un terminal et lancer la commande :
    # slmodemd --country=FRANCE
    SmartLink Soft Modem: version 2.9.10 Dec 18 2004 21:34:10
    symbolic link `/dev/ttySL0' -> `/dev/pts/2' created.
    modem `slamr0' created. TTY is `/dev/pts/2'
    Use `/dev/ttySL0' as modem device, Ctrl+C for termination.

    Installer minicom
    # apt-get install minicom

    Ouvrir un autre terminal et lancer minicom
    # minicom
    Bienvenue avec minicom 2.1
    OPTIONS: History Buffer, F-key Macros, Search History Buffer, I18n
    Compil0 le Nov 12 2003, 19:21:57.
    Tapez CTRL-A Z pour voir l'aide concernant les touches sp0ciales
    AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0 OK

    Vous pouvez tapper les commandes suivantes permettant de verifier que le modem est bien reconnu
    ATI2
    SmartLink Soft Modem, 2.9.10
    Smart Link Ltd.
    OK

    ATI7
    Country: FRANCE
    OK

    A present on peut lancer le modem
    # ln -s /dev/slamr0 /dev/modem
    # slmodemd --country=FRANCE
    SmartLink Soft Modem: version 2.9.10 Dec 19 2004 16:13:42
    symbolic link `/dev/ttySL0' -> `/dev/pts/3' created.
    modem `slamr0' created. TTY is `/dev/pts/3'
    Use `/dev/ttySL0' as modem device, Ctrl+C for termination.

    Pour lancer la connexion, ouvrir un autre terminal et lancer
    pppd -d -detach /dev/modem 57600


    Configuration :

    Pour que la connexion puisse fonctionner il faut que l'on configure les fichiers suivants.
  • /etc/ppp/options
  • /etc/ppp/peers/provider specifie dans le fichier /etc/ppp/options par la ligne connect "/usr/sbin/chat -v -f /etc/ppp/peers/provider"
  • /etc/ppp/chap-secrets ou /etc/ppp/pap-secrets


  • Problemes rencontres :

    Ma connexion PPP fonctionne bien mais je n'ai pas la tonalite lorsque le modem compose le numero vers mon FAI
    En fait il aurait fallu
  • Compiler le driver avec make SUPPORT_ALSA=1 && make SUPPORT_ALSA=1 install
  • Compiler le noyau avec le driver Intel i8x0/MX440; SiS 7013; NForce; AMD768/8111 modems(CONFIG_SND_INTEL8X0M)
  • Et ce dernier genere une erreur a la compilation du noyau


    8. Infra-Rouge (IRDA)


    Cette section n'est plus maintenue car je ne dispose pas d'equipement infra rouge pour faire des tests

    Hardware :
    Driver : smsc-ircc2

    Noyau :

    Pour pouvoir lister le pilote smsc-ircc2 dans le menu de configuration il faut activer le support ISA
  • Bus options (PCI, PCMCIA, EISA, MCA, ISA) > ISA support (CONFIG_ISA)

  • Puis, dans la configuration du noyau
  • Device Drivers > Networking Support > IrDA (infrared) subsystem support

  • Activer les options
  • <*> IrLAN protocol (CONFIG_IRLAN)
  • <*> IrNET protocol (CONFIG_IRNET)
  • <*> IrCOMM protocol (CONFIG_IRCOMM) # Est utilise par les programmes Gsm
  • [*] Ultra (connectionless) protocol (CONFIG_IRDA_ULTRA)
  • [*] Fast RRs (low latency) (CONFIG_IRDA_FAST_RR)
  • <*> Infrared-port device drivers (CONFIG_IRTTY_SIR)
  • <*> IrPORT (IrDA serial driver) (CONFIG_IRPORT_SIR) # Est utilise par les programmes Gsm
  • Toshiba Type-O IR Port (CONFIG_TOSHIBA_FIR)
  • [M] SMSC IrCC (EXPERIMENTAL) (CONFIG_SMC_IRCC_FIR) # Pilote Infra Rouge


  • Installation :

    Creer les devices si ils n'existent pas
    # mknod /dev/ircomm0 c 161 0
    # mknod /dev/ircomm1 c 161 1
    # mknod /dev/irlpt0 c 161 16
    # mknod /dev/irlpt1 c 161 17
    # mknod /dev/irnet c 10 187
    # chmod 666 /dev/ir*

    Entrer les lignes suivantes dans /etc/modprobe.d/smsc-ircc2 pour le chargement du module lors du boot
    alias irda0 smsc-ircc2
    alias tty-ldisc-11 irtty-sir
    alias char-major-161 ircomm-tty
    alias char-major-10-187 irnet

    Telecharger smcinit

    Decompresser, compiler et installer et executer smcinit
    # tar xvzf smcinit-0.4-1.tar.gz
    # cd smcinit-0.4-1 && make && make install
    # smcinit

    Inserer le pilote smsc-ircc2 en module
    Ici on utilise l'IRQ 3 que l'on a precedement reservee dans grub en passant au noyau acpi_irq_isa=3
    # modprobe smsc-ircc2 ircc_cfg=0x7a ircc_dma=3 ircc_fir=0x130 ircc_irq=3 ircc_sir=0x3f8

    Passer en parametre acpi_irq_balance acpi_irq_isa=3 dans grub pour reserver l'IRQ 3 a l'IRDA

    Lancer smcinit pour l'initialisation
    # smcinit -v
    smcinit 0.5cvs
    SIR ioport: 0x3f8 # emule un port serie (03F8)
    FIR ioport: 0x130
    FIR interupt: 3
    FIR DMA: 3
    Detected IO hub vendor id: 0x8086
    Detected IO hub device id: 0x24cc
    Detected smc_base: 0x2e
    Detected Chip id: 0x7a
    SIR ioport register write: 0xfe read: 0xfe
    FIR interrupt register write: 0x3 read: 0x3
    FIR ioport register write: 0x26 read: 0x26
    FIR dma register write: 0x3 read: 0x3
    Initialization of the SMC 47Nxxx succeeded

    # setserial /dev/ttyS0
    /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4

    # setserial /dev/ttyS0 uart none

    # modprobe smsc-ircc2 -v --ignore-install ircc_dma=3 ircc_irq=3 ircc_fir=0x130 ircc_sir=0x3f8

    # irattach irda0 -s
    Pour le stopper
    # kill ircattach

    # irdadump
    xid:cmd 3ef1fe09 > ffffffff S=6 s=* laptop hint=4400 [ Computer LAN Access ] (22)
    xid:cmd 3ef1fe09 > ffffffff S=6 s=0 (14)
    xid:rsp 3ef1fe09 < 03787370 S=6 s=0 SIEMENS C72 hint=b124 [ PnP Modem Fax IrCOMM IrOBEX ] (28)

    Script de demarrage
    #!/bin/sh
    setserial /dev/ttyS0 uart none && modprobe smsc-ircc2 -v --ignore-install ircc_dma=3 ircc_irq=3 ircc_fir=0x130 ircc_sir=0x3f8 && irattach irda0 -s

    Activer le mode discovery (gourmand en energie)
    echo 1 > /proc/sys/net/irda/discovery

    # cat /proc/net/irda/discovery
    IrLMP: Discovery log:
    nickname: SAGEM, hint: 0x9005, saddr: 0xed7506f0, daddr: 0x5744720e

    9. Gravure


    10. I-Pod

    Hardware : Ipod mini
    Driver :

    Noyau :

  • Device Drivers > SCSI device support > SCSI disk support(CONFIG_BLK_DEV_SD)
  • Device Drivers > ATA/ATAPI/MFM/RLL support > SCSI emulation support(CONFIG_BLK_DEV_IDESCSI)
  • Device Drivers > USB support > USB device filesystem(CONFIG_USB_DEVICEFS)
  • Device Drivers > USB support > EHCI HCD (USB 2.0) support(CONFIG_USB_EHCI_HCD)
  • Device Drivers > USB support > OHCI HCD support(CONFIG_USB_OHCI_HCD)
  • Device Drivers > USB support > UHCI HCD (most Intel and VIA) support(CONFIG_USB_UHCI_HCD)
  • Device Drivers > USB support > USB Mass Storage support(CONFIG_USB_STORAGE)
  • Device Drivers > USB support > ISD-200 USB/ATA Bridge support(CONFIG_USB_STORAGE_ISD200)


  • Installation :

    Installer le logiciel GtkPod et eject
    # apt-get install gtkpod eject


    Configuration :

    Creation du point de montage destination :
    # mkdir /mnt/ipod
    Montage de l'Ipod :
    # mount -t vfat /dev/sda2 /mnt/ipod

    L'Ipod est maintenant accessible par /dev/sda2, on cree une l'entree correspondante dans /etc/fstab :
    /dev/sda2 /mnt/ipod vfat noauto,rw,user,exec,gid=users,umask=005
    A ce moment seul root peut ejecter l'ipod par la commande :
    # eject /dev/sda2

    On modifie le fichier /etc/sudoers pour que l'utilisateur puisse effectuer cette operation
    Cmnd_Alias EJECT = /usr/bin/eject /dev/sda2
    m laptop = NOPASSWD:SHUTCMD,EJECT
    L'utilisateur peut ainsi ejecter l'Ipod en lancant :
    /usr/bin/sudo /usr/bin/eject /dev/sda2

    Dans ~/.bashrc je cree un alias
    alias ipod_out='sudo /usr/bin/eject /dev/sda2'
    Puis un source .bashrc forcera le systeme a relire ce fichier


    11. Liens

  • Site officiel des drivers open source ipw2100
  • Linux sur Toshiba M30-404 (en anglais)
  • Linux on Laptops : Grand nombre de Howto consacres a Linux sur Toshiba
  • Tuxmobil - Dedie a Linux sur portables, PDAs et telephones (en anglais)



  • eXTReMe Tracker