Vous n'êtes pas identifié.
Bonjour,
j'ai des conflits d'adresses sur ma machine et je souhaiterai pouvoir attribuer "en dur" l'I/O et les IRQ pour chaque périphériques.
Il me semble que ce genre de paramètre ne peut s'attribuer qu'au moment de l'installation et à condition de mettre "en dur" dans le noyau le driver des périphériques.
Par ailleurs, je ne souhaite pas recompiler le noyau...
Existe-t-il une combine au boot, du style:
boot: NE2000 I/O=0x300 IRQ=9 adresse=00 00 B4 67 1D E1
Après tout, Win98$ pouvait reprendre de façon dynamique les IRQ et I/O, sous réserve d'un démarrage...
Merci!
Est-ce que t'as déjà essayé de modifier ceci dans le bios ?
Faudra que tu essayes plusieurs combines de démarrage:
linux noapic linux acpi=off
Ou en dernier lieu si tu fais confiance à la table IRQ de ton bios tu peux booter avec l'option
linux pci=biosirq
Hors ligne
Je ne peux que te conseiller d'aller voir dans le bios comme déjà suggeré.
Ceci dit, certains chipset comme SiS et surtout VIA sont connus pour avoir des problèmes avec linux. Ce n'est pas la faute de linux, mais des fabriquants de ces chipsets qui fabriquent des produits qui ne sont pas dans la norme, en d'autres termes ce sont des produits qui ont des interfaces PCI boggués, et ils ne fournissent pas les docs techniques qui premettraient aux développeurs du kernel de s'y retrouver facilement. Ces développeurs ont autre chose à faire que de se battre avec des chipsets boggués, donc il faut éviter ces produits sous linux.
Une chose que tu peux faire est taper "cat /proc/interrupts" dans une console. Si le résultat est quelque chose du genre comme:
dom@pingouin:/media/usbdisk/dom> cat /proc/interrupts CPU0 0: 1296855338 IO-APIC-edge [........N/ 0] pit 1: 803877 IO-APIC-edge [........./ 0] i8042 7: 0 IO-APIC-edge [........./ 0] parport0 8: 8612049 IO-APIC-edge [........./ 0] rtc 12: 110 IO-APIC-edge [........./ 0] i8042 14: 5308318 IO-APIC-edge [........./ 0] ide0 15: 18336092 IO-APIC-edge [........./ 0] ide1 169: 9685485 IO-APIC-level [........./ 0] acpi, ohci_hcd:usb1 177: 62173086 IO-APIC-level [........./ 3] Ensoniq AudioPCI, nvidia 185: 1308607 IO-APIC-level [........./ 0] EMU10K1 193: 0 IO-APIC-level [........./ 0] ohci_hcd:usb2 201: 0 IO-APIC-level [........./ 0] ohci_hcd:usb3 209: 210613110 IO-APIC-level [........./ 0] ohci1394, eth0 217: 66205534 IO-APIC-level [........./ 0] ehci_hcd:usb4 225: 105 IO-APIC-level [........./ 0] bttv0 NMI: 0 LOC: 172893 ERR: 5 MIS: 0
cela signifie que tu utilises l'interface APIC pour les interruptions. C'est le mode normal des kernels récent. Tu peux voir ci-dessus que j'ai deux périphériques sur l'IRQ 177, cela n'est pas normal mais j'ai tout essayé et comme ma carte mère utilise un chipset SiS et que cela fonctionne, je ne me pose pas plus de question. Le seul problème est que comme j'ai un kernel temps réel, je ne peux utilisé que l'Audigy avec jack, le système plante quand jêssaie d'utiliser l'ensonic avec une priorité temps réel.
Une dernière chose avec le bios, si il est configuré pour utiliser APIC et que tu changes cette option (ou l'inverse), tu dois réinstaller windows. Par contre, cela ne pose aucun problème ni à linux ni à windows de jongler avec les IRQ. Lit la doc de ta carte mère, car il peut être nécessaire de changer certaines cartes de place, car certaines cartes mères partagent les IRQ entre plusieurs connecteurs. Dans ce cas, il est bien de placer les extensions de manière à ce qu'elles ne partagent pas d'IRQ les unes avec les autres.
Hors ligne