Pages : 1
#1 Le 04/04/2006, à 13:49
- colonelhati
PCMCIA sur portable Compaq R3000
Bonjour a tous,
j'ai besoin d'un coup de main de votre part. Mon port PCMCIA ne fonctionne pas du tout sur mon portable Compaq série R3000. J'ai trouvé la solution a mon problème ici: http://www1.pacific.edu/~khughes/presario-r3120us/
mais la solution donnée n'a pas eu l'air de fonctionner chez moi:
En fait je n'ai pas de fichier /etc/rc.d/rc.pcmcia , par contre j'ai plusieurs répertoires /etc/rc0.d jusqu'a /etc/rc6.d dans lesquels se trouvent les fichiers K20pcmcia ou S20pcmcia . J'ai donc ajouté la ligne
CORE_OPTS="probe_io=0"
comme demandé dans chacun de ces fichiers, au début (il n'est pas précisél'endroit ou insérer la ligne), mais sans succès.
J'ai aussi essayé les deux lignes différentes pour le fichier /etc/pcmcia/config.opts , mais sans résultat.
A la fin de l'explication, il y a un lien vers un "patch": http://bugzilla.kernel.org/show_bug.cgi?id=2944
mais je n'ai pas compris ce qu'il fallait en faire... Si je clique sur le lien correspondant au patch, j'obtiens ceci:
--- a/drivers/pci/probe.c 2004-07-09 10:36:51.000000000 +0000
+++ b/drivers/pci/probe.c 2004-07-09 10:39:38.000000000 +0000
@@ -326,6 +326,16 @@
return child;
}
+static void __devinit pci_fixup_parent_subordinate_busnr(struct pci_bus *child, int max)
+{
+ struct pci_bus *parent = child->parent;
+ while (parent->parent && parent->subordinate < max) {
+ parent->subordinate = max;
+ pci_write_config_byte(parent->self, PCI_SUBORDINATE_BUS, max);
+ parent = parent->parent;
+ }
+}
+
unsigned int __devinit pci_scan_child_bus(struct pci_bus *bus);
/*
@@ -407,7 +417,13 @@
if (!is_cardbus) {
child->bridge_ctl = PCI_BRIDGE_CTL_NO_ISA;
-
+ /*
+ * Adjust subordinate busnr in parent buses.
+ * We do this before scanning for children because
+ * some devices may not be detected if the bios
+ * was lazy.
+ */
+ pci_fixup_parent_subordinate_busnr(child, max);
/* Now we can scan all subordinate buses... */
max = pci_scan_child_bus(child);
} else {
@@ -417,6 +433,7 @@
* inserted later.
*/
max += CARDBUS_RESERVE_BUSNR;
+ pci_fixup_parent_subordinate_busnr(child, max);
}
/*
* Set the subordinate bus number to its real value.
mais je ne sais pas quoi faire de ce code, ni où l'insérer.
Pourriez vous m'éclairer?
Merci d'avance!
Hors ligne
#2 Le 06/04/2006, à 08:45
- colonelhati
Re : PCMCIA sur portable Compaq R3000
Bon alors, on m'a dit de patcher puis recompiler le noyau (première fois que je fais ça), j'ai essayé mais sans résultats... Je me suis appuyé sur ces 2 tutos: tuto1 et tuto2
Je vous fait un petit résumé:
- en regardant dans le gestionnaire de paquets synaptic, j'ai installé les sources "linux-sources-2.6.12"
- puis j'ai suivi les instructions:
en root:
cd /usr/src
tar jxvf linux-source-2.6.12.tar.bz2
ln -s linux-source-2.6.12 linux
cd linux-source-2.6.12
make menuconfig
j'ai tout laissé par défaut, ne sachant pas trop quoi prendre. Voici ce que j'ai mis dans mon "make menuconfig" et qui concerne PCI-PCMCIA:
┌─────────────── Bus options (PCI, PCMCIA, EISA, MCA, ISA) ───────────────┐
│ Arrow keys navigate the menu. <Enter> selects submenus --->. │
│ Highlighted letters are hotkeys. Pressing <Y> includes, <N> excludes, │
│ <M> modularizes features. Press <Esc><Esc> to exit, <?> for Help, </> │
│ for Search. Legend: [*] built-in [ ] excluded <M> module < > │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │[*] PCI support │ │
│ │ PCI access mode (Any) ---> │ │
│ │[*] PCI Express support │ │
│ │<M> PCI Express Hotplug driver │ │
│ │[ ] Use polling mechanism for hot-plug events (for testing purp│ │
│ │[ ] Message Signaled Interrupts (MSI and MSI-X) │ │
│ │[ ] Legacy /proc/pci interface │ │
│ │[*] PCI device name database │ │
│ │[ ] PCI Debugging │ │
│ │[*] ISA support │ │
│ │[ ] EISA support │ │
│ │[ ] MCA support │ │
│ │<M> NatSemi SCx200 support │ │
│ │ PCCARD (PCMCIA/CardBus) support ---> │ │
│ │ PCI Hotplug Support ---> │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
┌──────────────────── PCCARD (PCMCIA/CardBus) support ────────────────────┐
│ Arrow keys navigate the menu. <Enter> selects submenus --->. │
│ Highlighted letters are hotkeys. Pressing <Y> includes, <N> excludes, │
│ <M> modularizes features. Press <Esc><Esc> to exit, <?> for Help, </> │
│ for Search. Legend: [*] built-in [ ] excluded <M> module < > │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ <M> PCCard (PCMCIA/CardBus) support │ │
│ │ [ ] Enable PCCARD debugging │ │
│ │ <M> 16-bit PCMCIA support │ │
│ │ [*] 32-bit CardBus support │ │
│ │ --- PC-card bridges │ │
│ │ <M> CardBus yenta-compatible bridge support │ │
│ │ <M> Cirrus PD6729 compatible bridge support │ │
│ │ <M> i82092 compatible bridge support │ │
│ │ <M> i82365 compatible bridge support │ │
│ │ <M> Databook TCIC host bridge support │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
├────────────────────────────────────────────────────────────────────────
┌────────────────────────── PCI Hotplug Support ──────────────────────────┐
│ Arrow keys navigate the menu. <Enter> selects submenus --->. │
│ Highlighted letters are hotkeys. Pressing <Y> includes, <N> excludes, │
│ <M> modularizes features. Press <Esc><Esc> to exit, <?> for Help, </> │
│ for Search. Legend: [*] built-in [ ] excluded <M> module < > │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │<M> Support for PCI Hotplug (EXPERIMENTAL) │ │
│ │<M> Fake PCI Hotplug driver │ │
│ │<M> Compaq PCI Hotplug driver │ │
│ │[*] Save configuration into NVRAM on Compaq servers │ │
│ │<M> IBM PCI Hotplug driver │ │
│ │<M> ACPI PCI Hotplug driver │ │
│ │<M> ACPI PCI Hotplug driver IBM extensions │ │
│ │[*] CompactPCI Hotplug driver │ │
│ │<M> Ziatech ZT5550 CompactPCI Hotplug driver │ │
│ │<M> Generic port I/O CompactPCI Hotplug driver │ │
│ │<M> SHPC PCI Hotplug driver │ │
│ │[ ] Use polling mechanism for hot-plug events (for testing purpos│ │
│ │ │ │
│ │ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
puis:
patch -p1 < monpatch
là j'ai des lignes comme quoi tout c'est bien passé
make
quelques avertissemnts défilent, mais tout a l'air ok
make modules_install
make install
puis j'ai créé l'image de boot:
mkinitrd -o /boot/initrd.img-2.6.12 2.6.12
et j'ai modifié le fichier /boot/grub/menu.lst comme il faut en ajoutant
title Ubuntu, kernel 2.6.12
root (hd0,4)
kernel /boot/vmlinuz-2.6.12 root=/dev/hda5 ro quiet splash
initrd /boot/initrd.img-2.6.12
savedefault
boot
Je redémarre, je sélectionne le nouveau noyau et toujours rien, ma carte wifi pcmcia n'est toujours pas reconnue, les voyants ne s'allument même pas... Ai je oublié une étape?
Dois je rajouter des trucs dans le menuconfig?
De nombreux champs sont sélectionnés avec "M" --> construits comme des modules. Comment m'assurer que ces modules sont bien chargés au démarrage et actif?
Ne devrais je pas mettre " PCCard (PCMCIA/CardBus) support " en "Y" plutot qu'en "M" ?
Merci d'avance
Dernière modification par colonelhati (Le 06/04/2006, à 08:47)
Hors ligne
#3 Le 07/04/2006, à 09:20
- colonelhati
Re : PCMCIA sur portable Compaq R3000
Bonjour a tous,
une nouvelle version du patch est sortie hier.
J'ai essayé de l'installer en utilisant la commande patch:
romain@ubuntu:/usr/src/linux-source-2.6.12$ patch -p1 < patch_ub2
mais j'obtiens un message d'erreur:
patching file pci/fixup-parent-busses.c
can't find file to patch at input line 162
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- drivers/pci/Makefile
|+++ drivers/pci/Makefile
--------------------------
C'est peut être du au fait qu'apparemment il ne fallait pas utiliser la commande patch:
What you need to compile it is the kernel source for the kernel which you
run and the packages patch and gcc. The you do the following as root:cd /usr/src/linux zcat /proc/config.gz >.config make oldconfig include/asm include/linux/version.h scripts make SUBDIRS=drivers/pci modules insmod drivers/pci/fixup-parent-busses.ko lspci -v | grep -e ^0 -e subordinate| grep -B1 subordinate >prior.lspci tail -f /var/log/messages sync echo > /sys/module/fixup_parent_busses/parameters/fixup_parent_subord lspci -v | grep -e ^0 -e subordinate| grep -B1 subordinate >after.lspci
...
je suis un peu perdu là. Dans quel fichier dois je copier les lignes du patch?
Merci d'avance.
Hors ligne
Pages : 1