Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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