Am Tuesday 12 August 2008 23:26:12 schrieben Sie: > On Tuesday 12 August 2008 12:10:51 pm Bjorn Helgaas wrote: > > On Tuesday 12 August 2008 05:17:26 am Uwe Bugla wrote: > > > Case C: > > > same preconditions as case B, but additionally: > > > 1. no IRQs reserved for ISA use only (in BIOS) > > > This option I would call "PNP pure" > > > > > > ... > > > My only criticism within the desired case C (no additional screwing > > > around done by user) > > > consists of two points: > > > 1. I'd prefer the second parport running with IRQ 5 instead of in > > > polling mode. > > > > Yes, that would be good. But I think the only way to achieve this > > reliably is to use the "pnp_reserve_irq=5" kernel parameter and the > > "options parport_pc io=0x278 irq=5" module parameter.
Yes and No. 1. "pnp_reserve_irq=5" does not work because the module who accepts that parameter is unknown. At least parport_pc does not understand that. 2. "options parport_pc io=0x278 irq=5" does not work. 3. This one, call it minimum adequate intervention in userspace, works: "options parport_pc io=0x378,0x278 irq=7,5" > > Otherwise the > > kernel doesn't know how the jumpers on the ISA parport card are set. > > One more thing: since you have a non-PNP ISA card, I don't think > you can reliably use a "pure PNP" approach. In addition to the > kernel and module parameters, I think you need to configure the > BIOS to reserve IRQ 5 for ISA use. The observation with your two patches applied against 2.6.27-rc3 says that without any BIOS reservation using the above options line is enough for the kernel to know that parport 0 gets IRQ 7 and parport 1 gets IRQ 5. This is what I would call progress. :) The second advantage is that those annoying MPU 401 messages should be gone now. :) But: the sound card module is not loaded anymore, and I have seen some checksum error, some hex address or similar. Looks like that: pnp 01:00: get resources 01:01: invalid checksum 0x59 01:01: card 'Analog Devices AD1816A' isapnp: 1 Plug & Play card detected total That also does not change if I free up IRQ 5 and / or 10 in my BIOS. IRQ 10 would then appear in the system info as unused, but the sound card module won't load. > Otherwise, the BIOS might put > some other device on IRQ 5. No, not within the latest state of development. > > Of course, if you are content to run the second parport in polling > mode, you wouldn't need the BIOS configuration. If I were so easily to satisfy I would not spend that enormous amount of time for finding solutions.... :) > > Bjorn Please see two attachments: 1. 2627rc3.txt 2. messages.txt: the complete log inheriting all dmesgs (because you mentioned you would miss some info) PS.: The only thing missing now is the plug and play driver passing IRQ 10 or 11 to the ISA PnP sound card WITHOUT BIOS changes..... That's it what I would call the optimal compromise.... On the other hand: If I do need to force everything by BIOS changes or additional kernel parameters then the PNP driver concept is worthless. I understand that a Non-PnP ISA card needs some help at least by kernel parameters, and if the same module touches a PNP device this PnP device must be mentioned too in the kernel parameter statement, but the rest of the ressources should be assigned automatically, shouldn't they? Uwe P. S. 2: Kernel 2.6.26 behaves totally different: it simply ignores the kernel parameters and assigns IRQ 5 to the sound card, whatever happens. You do not have any chance to assign an interrupt to rthe second parport, if you do not change your BIOS values. To achieve that I do not need any PnP architecture, do I?
options parport_pc io=0x378,0x278 irq=7,5 no BIOS reservations! Kernel 2.6.27-rc3 with two patches applied Bridge [PCI0] (0000:00) pci 0000:00:09.0: supports D1 pci 0000:00:09.0: supports D2 pci 0000:00:09.0: PME# supported from D1 D2 D3hot pci 0000:00:09.0: PME# disabled pci 0000:00:0a.0: supports D1 pci 0000:00:0a.0: supports D2 pci 0000:00:0a.0: PME# supported from D1 D2 D3hot pci 0000:00:0a.0: PME# disabled pci 0000:01:05.0: supports D1 bus 00 -> node 0 ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 *10 11 12 14 15) ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 9 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 *9 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKD] (IRQs *3 4 5 6 7 9 10 11 12 14 15) ACPI: Power Resource [URP1] (off) ACPI: Power Resource [URP2] (off) ACPI: Power Resource [FDDP] (off) ACPI: Power Resource [LPTP] (off) Linux Plug and Play Support v0.97 (c) Adam Belay pnp: PnP ACPI init ACPI: bus type pnp registered pnp 00:00: parse allocated resources pnp 00:00: add io 0xcf8-0xcff flags 0x1 pnp 00:00: Plug and Play ACPI device, IDs PNP0a03 (active) pnp 00:01: parse allocated resources pnp 00:01: add io 0xde00-0xde03 flags 0x1 pnp 00:01: PNP0c02: calling quirk_system_pci_resources+0x0/0x171 pnp 00:01: Plug and Play ACPI device, IDs PNP0c02 (active) pnp 00:02: parse allocated resources pnp 00:02: add dma 4 flags 0x4 pnp 00:02: add io 0x0-0xf flags 0x0 pnp 00:02: add io 0x81-0x83 flags 0x0 pnp 00:02: add io 0x87-0x87 flags 0x0 pnp 00:02: add io 0x89-0x8b flags 0x0 pnp 00:02: add io 0x8f-0x8f flags 0x0 pnp 00:02: add io 0xc0-0xdf flags 0x0 pnp 00:02: Plug and Play ACPI device, IDs PNP0200 (active) pnp 00:03: parse allocated resources pnp 00:03: add io 0x70-0x71 flags 0x0 pnp 00:03: add irq 8 flags 0x1 pnp 00:03: Plug and Play ACPI device, IDs PNP0b00 (active) pnp 00:04: parse allocated resources pnp 00:04: add io 0x61-0x61 flags 0x0 pnp 00:04: Plug and Play ACPI device, IDs PNP0800 (active) pnp 00:05: parse allocated resources pnp 00:05: add io 0xf0-0xff flags 0x0 pnp 00:05: add irq 13 flags 0x1 pnp 00:05: Plug and Play ACPI device, IDs PNP0c04 (active) pnp 00:06: parse allocated resources pnp 00:06: add irq 12 flags 0x1 pnp 00:06: Plug and Play ACPI device, IDs PNP0f13 (active) pnp 00:07: parse allocated resources pnp 00:07: add io 0x60-0x60 flags 0x0 pnp 00:07: add io 0x64-0x64 flags 0x0 pnp 00:07: add irq 1 flags 0x1 pnp 00:07: Plug and Play ACPI device, IDs PNP0303 PNP030b (active) pnp 00:08: parse allocated resources pnp 00:08: add io 0x3f2-0x3f3 flags 0x1 pnp 00:08: add io 0x3f4-0x3f5 flags 0x1 pnp 00:08: add io 0x3f7-0x3f7 flags 0x1 pnp 00:08: add irq 6 flags 0x1 pnp 00:08: add dma 2 flags 0x0 pnp 00:08: parse resource options pnp 00:08: dependent set 0 (preferred) io min 0x3f2 max 0x3f2 align 1 size 2 flags 0x1 pnp 00:08: dependent set 0 (preferred) io min 0x3f4 max 0x3f4 align 1 size 2 flags 0x1 pnp 00:08: dependent set 0 (preferred) io min 0x3f7 max 0x3f7 align 1 size 1 flags 0x1 pnp 00:08: dependent set 0 (preferred) irq 6 flags 0x1 pnp 00:08: dependent set 0 (preferred) dma 2 (bitmask 0x4) flags 0x0 pnp 00:08: Plug and Play ACPI device, IDs PNP0700 (active) pnp 00:09: parse allocated resources pnp 00:09: add io 0x3f8-0x3ff flags 0x1 pnp 00:09: add irq 4 flags 0x1 pnp 00:09: parse resource options pnp 00:09: dependent set 0 (preferred) io min 0x3f8 max 0x3f8 align 4 size 8 flags 0x1 pnp 00:09: dependent set 0 (preferred) irq 4 flags 0x1 pnp 00:09: dependent set 1 (acceptable) io min 0x3f8 max 0x3f8 align 4 size 8 flags 0x1 pnp 00:09: dependent set 1 (acceptable) irq 3 4 10 11 flags 0x1 pnp 00:09: dependent set 2 (acceptable) io min 0x2f8 max 0x2f8 align 4 size 8 flags 0x1 pnp 00:09: dependent set 2 (acceptable) irq 3 4 10 11 flags 0x1 pnp 00:09: dependent set 3 (acceptable) io min 0x3e8 max 0x3e8 align 4 size 8 flags 0x1 pnp 00:09: dependent set 3 (acceptable) irq 3 4 10 11 flags 0x1 pnp 00:09: dependent set 4 (acceptable) io min 0x2e8 max 0x2e8 align 4 size 8 flags 0x1 pnp 00:09: dependent set 4 (acceptable) irq 3 4 10 11 flags 0x1 pnp 00:09: Plug and Play ACPI device, IDs PNP0501 (active) pnp 00:0a: parse allocated resources pnp 00:0a: add io 0x378-0x37f flags 0x1 pnp 00:0a: add irq 7 flags 0x1 pnp 00:0a: parse resource options pnp 00:0a: dependent set 0 (preferred) io min 0x378 max 0x378 align 1 size 8 flags 0x1 pnp 00:0a: dependent set 0 (preferred) irq 7 flags 0x1 pnp 00:0a: dependent set 1 (acceptable) io min 0x378 max 0x378 align 1 size 8 flags 0x1 pnp 00:0a: dependent set 1 (acceptable) irq 5 7 flags 0x1 pnp 00:0a: dependent set 2 (acceptable) io min 0x278 max 0x278 align 1 size 8 flags 0x1 pnp 00:0a: dependent set 2 (acceptable) irq 5 7 flags 0x1 pnp 00:0a: dependent set 3 (acceptable) io min 0x3bc max 0x3bc align 1 size 4 flags 0x1 pnp 00:0a: dependent set 3 (acceptable) irq 5 7 flags 0x1 pnp 00:0a: Plug and Play ACPI device, IDs PNP0400 (active) pnp: PnP ACPI: found 11 devices ACPI: ACPI bus type pnp unregistered PnPBIOS: Disabled by ACPI PNP PCI: Using ACPI for IRQ routing pnp: the driver 'system' has been registered system 00:01: ioport range 0xde00-0xde03 has been reserved system 00:01: driver attached pci 0000:00:01.0: PCI bridge, secondary bus 0000:01 pci 0000:00:01.0: IO window: 0x9000-0xafff pci 0000:00:01.0: MEM window: 0xefe00000-0xefefffff pci 0000:00:01.0: PREFETCH window: 0x000000dfc00000-0x000000e7cfffff NET: Registered protocol family 2 IP route cache hash table entries: 4096 (order: 2, 16384 bytes) TCP established hash table entries: 16384 (order: 5, 131072 bytes) TCP bind hash table entries: 16384 (order: 4, 65536 bytes) TCP: Hash tables configured (established 16384 bind 16384) TCP reno registered msgmni has been set to 1009 io scheduler noop registered (default) pci 0000:01:05.0: Boot video device vesafb: framebuffer at 0xe0000000, mapped to 0xe0880000, using 3072k, total 16384k vesafb: mode is 1024x768x16, linelength=2048, pages=9 vesafb: protected mode interface info at c000:4a6c vesafb: pmi: set display start = c00c4ada, set palette = c00c4b14 vesafb: pmi: ports = a810 a816 a854 a838 a83c a85c a800 a804 a8b0 a8b2 a8b4 vesafb: scrolling: redraw vesafb: Truecolor: size=0:5:6:5, shift=0:11:5:0 Console: switching to colour frame buffer device 128x48 fb0: VESA VGA frame buffer device input: Power Button (FF) as /class/input/input0 ACPI: Power Button (FF) [PWRF] input: Sleep Button (FF) as /class/input/input1 ACPI: Sleep Button (FF) [SLPF] input: Power Button (CM) as /class/input/input2 ACPI: Power Button (CM) [PWRB] processor ACPI0007:00: registered as cooling_device0 thermal LNXTHERM:01: registered as thermal_zone0 ACPI: Thermal Zone [THRM] (30 C) isapnp: Scanning for PnP cards... pnp 01:00: get resources 01:01: invalid checksum 0x59 01:01: card 'Analog Devices AD1816A' isapnp: 1 Plug & Play card detected total Uniform Multi-Platform E-IDE driver amd74xx 0000:00:07.1: UDMA66 controller amd74xx 0000:00:07.1: IDE controller (0x1022:0x7409 rev 0x07) amd74xx 0000:00:07.1: not 100% native mode: will probe irqs later ide0: BM-DMA at 0xf000-0xf007 ide1: BM-DMA at 0xf008-0xf00f Probing IDE interface ide0... hda: ST310211A, ATA DISK drive hdb: ST310211A, ATA DISK drive hda: host max PIO5 wanted PIO255(auto-tune) selected PIO4 hda: UDMA/66 mode selected hdb: host max PIO5 wanted PIO255(auto-tune) selected PIO4 hdb: UDMA/66 mode selected Probing IDE interface ide1... hdc: HL-DT-STDVD-ROM GDR8163B, ATAPI CD/DVD-ROM drive hdd: YAMAKAWADVR-Y08, ATAPI CD/DVD-ROM drive hdc: host max PIO5 wanted PIO255(auto-tune) selected PIO4 hdc: UDMA/33 mode selected hdd: host max PIO5 wanted PIO255(auto-tune) selected PIO4 hdd: UDMA/33 mode selected ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 hda: max request size: 128KiB hda: 19541088 sectors (10005 MB) w/1024KiB Cache, CHS=19386/16/63 hda: cache flushes not supported hda: hda1 hda2 hda3 hdb: max request size: 128KiB hdb: 19541088 sectors (10005 MB) w/1024KiB Cache, CHS=19386/16/63 hdb: cache flushes not supported hdb: hdb1 hdb2 hdb3 cpuidle: using governor ladder TCP cubic registered Using IPI Shortcut mode kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. Freeing unused kernel memory: 172k freed NET: Registered protocol family 1 Linux agpgart interface v0.103 parport 0x378 (WARNING): CTR: wrote 0x0c, read 0xcb parport0: PC-style at 0x378, irq 7 [PCSPP(,...)] parport1: PC-style at 0x278, irq 5 [PCSPP(,...)] hdc: ATAPI 52X DVD-ROM drive, 256kB Cache Uniform CD-ROM driver Revision: 3.20 ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11 PCI: setting IRQ 11 as level-triggered 3c59x 0000:00:09.0: PCI INT A -> Link[LNKB] -> GSI 11 (level, low) -> IRQ 11 3c59x: Donald Becker and others. 0000:00:09.0: 3Com PCI 3c905B Cyclone 100baseTx at e082af00. ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 9 PCI: setting IRQ 9 as level-triggered 3c59x 0000:00:0a.0: PCI INT A -> Link[LNKC] -> GSI 9 (level, low) -> IRQ 9 0000:00:0a.0: 3Com PCI 3c905B Cyclone 100baseTx at e084af80. agpgart-amdk7 0000:00:00.0: AMD Irongate chipset agpgart-amdk7 0000:00:00.0: AGP aperture is 64M @ 0xe8000000 hdd: ATAPI 40X DVD-ROM DVD-R CD-R/RW drive, 2000kB Cache Floppy drive(s): fd0 is 1.44M FDC 0 is a post-1991 82077 ACPI: I/O resource amd756_smbus [0x50e0-0x50ef] conflicts with ACPI region SBS_ [0x50e0-0x50e8] ACPI: Device needs an ACPI driver SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 3 PCI: setting IRQ 3 as level-triggered ohci_hcd 0000:00:07.4: PCI INT D -> Link[LNKD] -> GSI 3 (level, low) -> IRQ 3 ohci_hcd 0000:00:07.4: OHCI Host Controller ohci_hcd 0000:00:07.4: new USB bus registered, assigned bus number 1 ohci_hcd 0000:00:07.4: irq 3, io mem 0xefff9000 usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 4 ports detected ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 10 PCI: setting IRQ 10 as level-triggered aic7xxx 0000:00:08.0: PCI INT A -> Link[LNKA] -> GSI 10 (level, low) -> IRQ 10 pnp: the driver 'ad1816a' has been registered pnp: the driver 'ad1816a' has been unregistered no AD1816A based soundcards found. scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 7.0 <Adaptec 2940 Ultra2 SCSI adapter (OEM)> aic7890/91: Ultra2 Wide Channel A, SCSI Id=7, 32/253 SCBs scsi 0:0:0:0: Direct-Access IBM DNES-318350W SA30 PQ: 0 ANSI: 3 scsi0:A:0:0: Tagged Queuing enabled. Depth 32 target0:0:0: Beginning Domain Validation target0:0:0: wide asynchronous target0:0:0: FAST-20 WIDE SCSI 40.0 MB/s ST (50 ns, offset 31) target0:0:0: Domain Validation skipping write tests target0:0:0: Ending Domain Validation scsi 0:0:1:0: Direct-Access IBM DNES-318350W SAH0 PQ: 0 ANSI: 3 scsi0:A:1:0: Tagged Queuing enabled. Depth 32 target0:0:1: Beginning Domain Validation target0:0:1: wide asynchronous target0:0:1: FAST-20 WIDE SCSI 40.0 MB/s ST (50 ns, offset 31) target0:0:1: Domain Validation skipping write tests target0:0:1: Ending Domain Validation Driver 'sd' needs updating - please use bus_type methods sd 0:0:0:0: [sda] 35843670 512-byte hardware sectors (18352 MB) sd 0:0:0:0: [sda] Write Protect is off sd 0:0:0:0: [sda] Mode Sense: c3 00 00 08 sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 0:0:0:0: [sda] 35843670 512-byte hardware sectors (18352 MB) sd 0:0:0:0: [sda] Write Protect is off sd 0:0:0:0: [sda] Mode Sense: c3 00 00 08 sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sda: sda1 sd 0:0:0:0: [sda] Attached SCSI disk sd 0:0:1:0: [sdb] 35843670 512-byte hardware sectors (18352 MB) sd 0:0:1:0: [sdb] Write Protect is off sd 0:0:1:0: [sdb] Mode Sense: c3 00 00 08 sd 0:0:1:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 0:0:1:0: [sdb] 35843670 512-byte hardware sectors (18352 MB) sd 0:0:1:0: [sdb] Write Protect is off sd 0:0:1:0: [sdb] Mode Sense: c3 00 00 08 sd 0:0:1:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sdb: sdb1 sd 0:0:1:0: [sdb] Attached SCSI disk Adding 979924k swap on /dev/hdb1. Priority:-1 extents:1 across:979924k EXT3 FS on hda1, internal journal pnp: the driver 'ad1816a' has been registered pnp: the driver 'ad1816a' has been unregistered no AD1816A based soundcards found. NET: Registered protocol family 17 mice: PS/2 mouse device common for all mice pnp: the driver 'i8042 kbd' has been registered i8042 kbd 00:07: driver attached pnp: the driver 'i8042 aux' has been registered i8042 aux 00:06: driver attached PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12 serio: i8042 KBD port at 0x60,0x64 irq 1 serio: i8042 AUX port at 0x60,0x64 irq 12 input: AT Translated Set 2 keyboard as /class/input/input3 loop: module loaded pnp: the driver 'ns558' has been registered input: PS/2 Generic Mouse as /class/input/input4 kjournald starting. Commit interval 5 seconds EXT3 FS on sda1, internal journal EXT3-fs: mounted filesystem with ordered data mode. kjournald starting. Commit interval 5 seconds EXT3 FS on sdb1, internal journal EXT3-fs: mounted filesystem with ordered data mode. kjournald starting. Commit interval 5 seconds EXT3 FS on hdb3, internal journal EXT3-fs: mounted filesystem with ordered data mode. kjournald starting. Commit interval 5 seconds EXT3 FS on hda2, internal journal EXT3-fs: mounted filesystem with ordered data mode. kjournald starting. Commit interval 5 seconds EXT3 FS on hda3, internal journal EXT3-fs: mounted filesystem with ordered data mode. kjournald starting. Commit interval 5 seconds EXT3 FS on hdb2, internal journal EXT3-fs: mounted filesystem with ordered data mode. eth1: setting half-duplex. eth0: setting half-duplex. ISO 9660 Extensions: Microsoft Joliet Level 3 ISO 9660 Extensions: RRIP_1991A ISO 9660 Extensions: Microsoft Joliet Level 3 ISO 9660 Extensions: RRIP_1991A ISO 9660 Extensions: Microsoft Joliet Level 3 ISO 9660 Extensions: RRIP_1991A ISO 9660 Extensions: Microsoft Joliet Level 3 ISO 9660 Extensions: RRIP_1991A ISO 9660 Extensions: Microsoft Joliet Level 3 ISO 9660 Extensions: RRIP_1991A ISO 9660 Extensions: Microsoft Joliet Level 3 ISOFS: changing to secondary root ISO 9660 Extensions: Microsoft Joliet Level 3 ISOFS: changing to secondary root ISO 9660 Extensions: Microsoft Joliet Level 3 ISOFS: changing to secondary root lp0: using parport0 (interrupt-driven). lp1: using parport1 (interrupt-driven). ip_tables: (C) 2000-2006 Netfilter Core Team nf_conntrack version 0.5.0 (8192 buckets, 32768 max) CONFIG_NF_CT_ACCT is deprecated and will be removed soon. Plase use nf_conntrack.acct=1 kernel paramater, acct=1 nf_conntrack module option or sysctl net.netfilter.nf_conntrack_acct=1 to enable it. [drm] Initialized drm 1.1.0 20060810 pci 0000:01:05.0: PCI INT A -> Link[LNKB] -> GSI 11 (level, low) -> IRQ 11 [drm] Initialized r128 2.5.0 20030725 on minor 0 agpgart-amdk7 0000:00:00.0: AGP 1.0 bridge agpgart-amdk7 0000:00:00.0: putting AGP V2 device into 1x mode pci 0000:01:05.0: putting AGP V2 device into 1x mode