Forum Linux.débutant Périphériques USB for dummies

Posté par  .
Étiquettes : aucune
0
10
avr.
2006
Bonjour,

Je suis actuellement confronté au problème du périphérique USB qui veut pas se monter tout seul (cad que l'option -t auto ne suffit pas, il n'est pas capable de déterminer le filesystem).

D'une manière plus générale j'aimerais un jour comprendre comment l'USB est géré: quels sont les modules utilisés (ohci, uhci, ehci, ... je m'y perds un peu) et surtout dans quelles circonstances, comment le noyau doit être configuré (pareil, pour quel usage utiliser quelle option)... Bref pour plus avoir à boulettiser un forum chaque fois que j'achète du matos USB ;)

Mes recherches ayant été infructueuses, quelqu'un peut-il m'indiquer où je peux trouver des infos précises et complètes là-dessus? Voire répondre directement... ?

Sinon, si quelqu'un peut me donner la marche à suivre pour monter un baladeur MP3 Creative Labs Zen Nano, ça me permettra déjà d'avoir de la musique en attendant d'être compétent ;)

D'avance merci,

Laurent
  • # Y'a des infos dans la doc fournie avec le kernel...

    Posté par  . Évalué à 2.

    Hello !
    Je ne sais pas quelle distro tu utilises, alors j'espère que les informations que je vais te donner ci-dessous te seront utiles.
    Pour les obtenir, je fais simplement un "make menuconfig" pour voir la configuration de mon noyeau.
    OHCI, c'est Open Host Controller interface. C'est pour les chipsets usb non intel. Visiblement, c'est lié à l'usb 1.1.
    UHCI, c'est Universal Host Controller interface. C'est pour les chipsets usb intel et via.
    Si tu as un doute, mets les deux !
    EhCI, c'est Enhanced Host Controller Interface. C'est pour l'usb 2.0.
    Après, pour pouvoir monter ton lecteur mp3, il faut déjà être sûr qu'il le supporte, et adjoindre au kernel non seulement les modules précédement cités, mais aussi le module pour l'usb mass storage, ainsi que le module pour l'émulation scsi. Je ne me souviens plus du nom des modules.
    Si tu as ces modules, une première approche pourrait être de brancher ton baladeur sur le port usb, de jeter un oeil à ce qui est dit dans /var/log/kern.log (au moins pour voir à quel périphérique il est rattaché /dev/sd?). Ca fait déjà un bon début pour le monter ensuite.
    Si ça fonctionne rien qu'avec ça, rien ne t'empêche par la suite de créer une règle pour udev de façon à ce que ce soit toujours le même périphérique qui soit créé, et automatiser le montage dans le /etc/fstab.
    Voilà, j'espère que ces informations te seront utiles.
    • [^] # Re: Y'a des infos dans la doc fournie avec le kernel...

      Posté par  . Évalué à 1.

      Merci pour la réponse, ca éclaire un peu la situation pour moi. Par contre, si j'ai bien compris, ben ca devrait marcher. or ca ne marche pas... :/

      Distro: Gentoo. Kernel 2.6.12-gentoo-r6.

      modules *hci chargés automatiquement:
      ahci 11588 0
      libata 46628 12 ata_piix,ahci,sata_qstor,sata_vsc,sata_uli,sata_sis,sata_sx4,sata_nv,sata_via,sata_svw,sata_sil,sata_promise
      ohci1394 34452 0
      ieee1394 100792 2 sbp2,ohci1394
      ohci_hcd 21284 0
      uhci_hcd 32144 0
      ehci_hcd 31816 0
      usbcore 115996 7 sl811_hcd,ohci_hcd,uhci_hcd,usb_storage,usbhid,ehci_hcd

      Sont aussi chargés:
      usb_storage 70752 0
      usbhid 43040 0

      Info sur le controleur USB:
      0000:00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
      0000:00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
      0000:00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
      0000:00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)

      Il semble donc que UHCI soit le module à utiliser. Or...

      Apr 10 20:30:57 ino usb 1-6: new high speed USB device using ehci_hcd and address 5

      Tel est le message obtenu lors de la connexion du baladeur. --> ehci.
      Si c'est là la source de l'erreur, y'a-t-il moyen de forcer UHCI ?

      Pour info, j'utilise depuis un bon moment une clef USB, et lorsque je la branche sur le meme port, ca donne:

      Apr 10 20:26:51 ino usb 1-6: new high speed USB device using ehci_hcd and address 4
      Apr 10 20:26:51 ino scsi2 : SCSI emulation for USB Mass Storage devices
      Apr 10 20:26:51 ino usb-storage: device found at 4
      Apr 10 20:26:51 ino usb-storage: waiting for device to settle before scanning
      Apr 10 20:26:56 ino sda: Mode Sense: 03 00 00 00
      Apr 10 20:26:56 ino sda: assuming drive cache: write through
      Apr 10 20:26:56 ino SCSI device sda: 511488 512-byte hdwr sectors (262 MB)
      Apr 10 20:26:56 ino sda: Write Protect is off
      Apr 10 20:26:56 ino sda: Mode Sense: 03 00 00 00
      Apr 10 20:26:56 ino sda: assuming drive cache: write through
      Apr 10 20:26:56 ino sda: unknown partition table
      Apr 10 20:26:56 ino Attached scsi removable disk sda at scsi2, channel 0, id 0, lun 0
      Apr 10 20:26:56 ino usb-storage: device scan complete
      Apr 10 20:26:56 ino scsi.agent[10387]: disk at /devices/pci0000:00/0000:00:10.3/usb1/1-6/1-6:1.0/host2/target2:0:0/2:0:0:0


      Donc ehci aussi, et pourtant elle fonctionne! (mount en -t auto etc)

      Pour moi les problèmes peuvent donc être les suivants:
      - emulation SCSI perdant les pedales avec le baladeur
      - module ehci à remplacer par uhci
      - baladeur non compatible: j'ai vérifié sur des forums avant d'acheter, certains y ont réussi, pourquoi pas moi :p

      Encore merci :)

      Laurent
      • [^] # Re: Y'a des infos dans la doc fournie avec le kernel...

        Posté par  . Évalué à 1.

        (PS: c'est un port 2.0 qui est utilisé la, tous les resultats sont identiques sur un port 1.1 ...)
        • [^] # Re: Y'a des infos dans la doc fournie avec le kernel...

          Posté par  . Évalué à 2.

          OK, problème résolu.

          Si jamais ca peut servir a quelqu'un, voici comment ca s'est resolu:

          Le probleme etait effectivement ehci_hcd. J'ai edite /etc/hotplug/blacklist pour y ajouter ehci_hcd - et par la meme j'en ai profité pour enlever uhci_hcd, dont je ne savais pas qu'il y figurait! o_O

          Viennent ensuite le
          rmmod ehci_hcd
          et le
          /etc/init.d/discover restart

          Et enfin
          mount /dev/sda1 /mnt/usb

          Et voila, y'a plus qu'a automatiser tout ca maintenant :)

          Laurent

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.