Voilà, je viens de mettre à jour ma Mandriva 2005LE vers la 2006 et ma souris optique USB ne fonctionne plus, alors qu'elle fonctionnait avant. Alors voilà ce que j'ai essayé, après avoir parcouru de nombreux forums, pour essayer de régler le problème:
# dmesg | grep hci
ohci1394: $Rev: 1223 $ Ben Collins <bcollins@debian.org>
ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[10] MMIO=[d4003800-d4003fff] Max
Packet=[2048]
#
Donc là, Mandriva 2006 ne voit que ohci1394 c'est-à-dire l'IEEE 1394 ou FireWire. Je fais alors :
# lspci -v | grep HCI
00:0b.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller
(rev 50) (prog-if 00 [UHCI])
00:0b.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller
(rev 50) (prog-if 00 [UHCI])
00:0b.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 51) (prog-if 20 [EHC
I])
00:0c.0 FireWire (IEEE 1394): Texas Instruments TSB43AB21 IEEE-1394a-2000 Contro
ller (PHY/Link) (prog-if 10 [OHCI])
#
J'ai bien mes ports USB 1.1 et 2.0. Maintenant, si je fais :
# modprobe uhci-hcd
# modprobe ehci-hcd
#
La diode de ma souris s'allume après avoir tapé la première commande, mais rien ne se passe si je la bouge. Alors je tente un :
# dmesg | grep hci
ohci1394: $Rev: 1223 $ Ben Collins <bcollins@debian.org>
ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[10] MMIO=[d4003800-d4003fff] Max
Packet=[2048]
uhci_hcd 0000:00:0b.0: UHCI Host Controller
uhci_hcd 0000:00:0b.0: irq 10, io base 0x2000
uhci_hcd 0000:00:0b.0: new USB bus registered, assigned bus number 1
uhci_hcd 0000:00:0b.1: UHCI Host Controller
uhci_hcd 0000:00:0b.1: irq 10, io base 0x2020
uhci_hcd 0000:00:0b.1: new USB bus registered, assigned bus number 2
usb 1-2: new low speed USB device using uhci_hcd and address 2
usb 2-2: new full speed USB device using uhci_hcd and address 2
ehci_hcd 0000:00:0b.2: EHCI Host Controller
ehci_hcd 0000:00:0b.2: irq 11, pci mem 0xd4003000
ehci_hcd 0000:00:0b.2: new USB bus registered, assigned bus number 3
ehci_hcd 0000:00:0b.2: USB 2.0 initialized, EHCI 0.95, driver 10 Dec 2004
usb 1-2: new low speed USB device using uhci_hcd and address 3
usb 3-4: new high speed USB device using ehci_hcd and address 3
usb 2-2: new low speed USB device using uhci_hcd and address 3
usb 1-2: new low speed USB device using uhci_hcd and address 4
usb 3-4: new high speed USB device using ehci_hcd and address 6
#
J'ai ensuite essayé de recompiler le noyau en y ajoutant les modules suivants en "built-in" :
- Device Drivers :
- USB Support :
- Support for Host-side USB
- USB device filesystem
- EHCI HCD (USB 2.0) support
- UHCI HCD (most Intel and VIA) support
- OHCI HCD support
- USB Human Interface Device (Full HID) support
- HID input layer support
# ls /usr/src
RPM/
# urpmi kernel-source
One of the following packages is needed:
1- kernel-source-2.6-2.6.12-22mdk.i586 : The source code for the Linux kernel.
(to install)
2- kernel-source-stripped-2.6-2.6.12-22mdk.i586 : The source code of the Linux
kernel stripped for post build. (to install)
3- kernel-multimedia-source-2.6.12-12.mm.1mdk.i586 : The source code for the Li
nux kernel (to install)
4- kernel-source-2.6.12.23mdk-1-1mdk.i586 : The source code for the Linux kerne
l. (to install)
5- kernel-source-stripped-2.6.12.23mdk-1-1mdk.i586 : The source code of the Lin
ux kernel stripped for post build. (to install)
6- kernel-source-2.6.12.24mdk-1-1mdk.i586 : The source code for the Linux kerne
l. (to install)
7- kernel-source-stripped-2.6.12.24mdk-1-1mdk.i586 : The source code of the Lin
ux kernel stripped for post build. (to install)
8- kernel-source-2.6.12.25mdk-1-1mdk.i586 : The source code for the Linux kerne
l. (to install)
9- kernel-source-stripped-2.6.12.25mdk-1-1mdk.i586 : The source code of the Lin
ux kernel stripped for post build. (to install)
What is your choice? (1-9) 1
ftp://ftp.sjtu.edu.cn/mandrivalinux/official/updates/current(...)
kernel-source-2.6-2.6.12-22mdk.i586.rpm
installing kernel-source-2.6-2.6.12-22mdk.i586.rpm from /var/cache/urpmi/rpms
Preparing... #############################################
1/1: kernel-source-2.6 #############################################
# ls /usr/src
linux@ linux-2.6.12-22mdk/ RPM/
# cd /usr/src/linux
# make menuconfig
Je recompile alors :
# make
CHK include/linux/version.h
...
...
...
LD [M] sound/usb/usx2y/snd-usb-usx2y.ko
# exit
$
Je redémarre mais il ne détecte pas les ports USB au démarrage contrairement à la 2005LE qui faisait un :
Initializing USB Controller (uhci-hcd)
Initializing USB Controller (ehci-hcd)
Mount USB filesystem
Donc j'aimerais une reconnaissance des ports USB dès le démarrage pour pouvoir utiliser ma souris USB.
Merci d'avance pour vos suggestions
# Essayons toujours...
Posté par clearstream . Évalué à 1.
> > Initializing USB Controller (uhci-hcd)
> > Initializing USB Controller (ehci-hcd)
> > Mount USB filesystem
Si c'est comme sous Fedora,normalement uhci-hcd et ehci-hcd sont chargés avec initrd.
Au cas où tu ne connais pas initrd, je redonne la séquence de boot de linux dans les très très grandes lignes:
-> grub/lilo
-> chargement de initrd
-> noyau
-> Exécution du /init dans initrd
-> montage partition root
-> le processus init lance la suite
Ce qui faut bien noter ici, c'est que lorsque le noyau et initrd sont chargés, on a un OS fonctionnel (certe il ne peut pas faire grand chose vu le peut de place disponible dans initrd) et on y fait des choses.
Sous Fedora [ue]hci-hcd sont chargés via initrd. Ça permet d'avoir une clée USB en root entre autre.
Via initrd, ces modules sont chargées avec le script init qui est dans initrd.
Voilà la séquence (j'ai viré quelques lignes):
Ce script est uniquement lu par nash (un petit programme développé par Red Hat mais que Mandriva utilise très probablement).
Les lignes "insmod ......ko" charge des modules qui sont dans initrd.
Peut-être qu'il te manque les lignes relatives à uhci-hcd et peut-être aussi le module dans initrd.
Si c'est le car, il te faut refaire ton initrd (crée en un nouveau et n'écrase pas l'actuel, initrd est critique dans le boot dans système).
Le mieux est de remplace l'initrd actuel. Pour l'exemple, je vais éditer le mien (/boot/initrd-2.6.18-1.2689.fc6.img) et en créer un nouveau.
Après j'ajoute une entrée dans grub (il n'y a pas lilo sous Fedora) pour utiliser ce nouveau initrd. Donc je vais avoir deux entrées pour le même noyau :
Normalement on peut aussi faire ça via la commande mkinitrd. Par exemple avec : mkinitrd --with=uhci-hcd /boot/initrd-2.6.18-1.2689.fc6_custom.img 2.6.18-1.2689.fc6
A toi de jouer :-)
[^] # Re: Essayons toujours...
Posté par XiaoKe . Évalué à 1.
- Je n'ai pas nash et je n'arrive pas à lire /boot/initrd.img avec vi. Je n'ai pas trouvé nash à télécharger sur Internet. Et j'aimerais bien pouvoir voir ce qu'il y a dans ce fichier!
- J'aimerais que tu m'expliques ce que tu fais pour les opérations suivantes :
histoire d'avancer avec GNU/Linux ;-)
Merci d'avance et encore merci de m'avoir répondu![^] # Re: Essayons toujours...
Posté par XiaoKe . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.