You will found the details in the specified Web Page, under the posts made by me, under the name of "e001754" (sorry for this stupid user-name, but it's my login at work, and I put it in everywhere I go to have only one to remember !) Extracts of the Web page : my mobo is an Abit IS7G (i865PE) and my HDC (which is my DVD drive) is not detected, exactly as described. The boot sequence gives me following : ide0 : I/O resource 0x1F0-0x1F7 not free ide0 : ports already in use, skipping probe BUT WHY ARE ALL MY DRIVES WORKING PERFECTLY WITH THE LIVECD (Gentoo Live CD, Mandrake Install CD, Suse Install CD, Fedora Install CD) ??? There should be a little something in a litlle somewhere that fucks everything up... I've got : 1 SATA Drive My CD/DVD are plugged on the legacy IDE port, as IDE3 and IDE4. Got an SCSI chain as well. What I noticed today make think I've found the way to reproduce the bug : if the 1st IDE drive on the second channel is spinning when the kernel tries to probe it, the kernel doesn't detect it (saying the resource is not free as written before). If I wait 30 seconds at the grub start, this let the time for the drive to stop spindling and then the drive is detected flawlessly. Reproducible: Always Steps to Reproduce: 1.Start the computer (1 SATA drive seen as the #1 IDE Drive on channel 0, 1 DVD as HDC (ide #1 on channel 1), 1 CDRW as HDD (ide #2 on channel 1), 1 UW SCSI Chain (3 hard-disks attached on it)) 2. Don't let the time for all drives to stop spindling (especially my DVD Drive) 3. Have the following message during hardware probe : ide0 : I/O resource 0x1F0-0x1F7 not free ide0 : ports already in use, skipping probe 4. The DVD drive will never again being displayed anywhere, except if you restart the computer and let the time for the drive to stop spindling. Actual Results: I have been able to use my DVD that I couldn't use for months under Linux ! :-) Expected Results: Having being able to detect the drive what could be ever it's spindling state. Or, waiting for the spindling to stop before probing (probably easier to program). bash-2.05b# dmesg Rev: S95E Type: Direct-Access ANSI SCSI revision: 02 scsi0:A:3:0: Tagged Queuing enabled. Depth 32 libata version 1.02 loaded. ata_piix version 1.02 ata_piix: combined mode detected ata: 0x170 IDE port busy PCI: Setting latency timer of device 0000:00:1f.2 to 64 ata1: SATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0xF000 irq 14 ata1: dev 0 cfg 49:2f00 82:346b 83:7f21 84:4003 85:3469 86:3c01 87:4003 88:207f ata1: dev 0 ATA, max UDMA/133, 72303840 sectors: lba48 ata1: dev 0 configured for UDMA/133 scsi1 : ata_piix Vendor: ATA Model: WDC WD360GD-00FN Rev: 35.0 Type: Direct-Access ANSI SCSI revision: 05 st: Version 20040403, fixed bufsize 32768, s/g segs 256 SCSI device sda: 17783240 512-byte hdwr sectors (9105 MB) SCSI device sda: drive cache: write back /dev/scsi/host0/bus0/target0/lun0: p1 p2 p3 Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 SCSI device sdb: 17773500 512-byte hdwr sectors (9100 MB) SCSI device sdb: drive cache: write back /dev/scsi/host0/bus0/target2/lun0: unknown partition table Attached scsi disk sdb at scsi0, channel 0, id 2, lun 0 SCSI device sdc: 17773500 512-byte hdwr sectors (9100 MB) SCSI device sdc: drive cache: write back /dev/scsi/host0/bus0/target3/lun0: unknown partition table Attached scsi disk sdc at scsi0, channel 0, id 3, lun 0 SCSI device sdd: 72303840 512-byte hdwr sectors (37020 MB) SCSI device sdd: drive cache: write back /dev/scsi/host1/bus0/target0/lun0: p1 Attached scsi disk sdd at scsi1, channel 0, id 0, lun 0 Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0, type 0 Attached scsi generic sg1 at scsi0, channel 0, id 2, lun 0, type 0 Attached scsi generic sg2 at scsi0, channel 0, id 3, lun 0, type 0 Attached scsi generic sg3 at scsi1, channel 0, id 0, lun 0, type 0 NET: Registered protocol family 2 IP: routing cache hash table of 4096 buckets, 32Kbytes TCP: Hash tables configured (established 32768 bind 32768) NET: Registered protocol family 1 NET: Registered protocol family 17 p4-clockmod: P4/Xeon(TM) CPU On-Demand Clock Modulation available ACPI: (supports S0 S1 S4 S5) RAMDISK: Compressed image found at block 0 VFS: Mounted root (ext2 filesystem) readonly. Freeing unused kernel memory: 200k freed usbcore: registered new driver usbfs usbcore: registered new driver hub ehci_hcd 0000:00:1d.7: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller PCI: Setting latency timer of device 0000:00:1d.7 to 64 ehci_hcd 0000:00:1d.7: irq 3, pci mem e0834000 ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1 PCI: cache line size of 128 is not supported by device 0000:00:1d.7 ehci_hcd 0000:00:1d.7: USB 2.0 enabled, EHCI 1.00, driver 2004-May-10 hub 1-0:1.0: USB hub found hub 1-0:1.0: 8 ports detected Initializing USB Mass Storage driver... usbcore: registered new driver usb-storage USB Mass Storage support registered. ohci1394: $Rev: 1223 $ Ben Collins <bcollins@debian.org> ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[11] MMIO=[f9009000-f90097ff] Max Packet=[2048] sbp2: $Rev: 1219 $ Ben Collins <bcollins@debian.org> PCI: Enabling device 0000:02:09.0 (0006 -> 0007) PCI: Unable to reserve mem region #2:1000@f9008000 for device 0000:02:09.0 aic7xxx: <Adaptec AHA-294X Ultra SCSI host adapter> at PCI 2/9/0 aic7xxx: I/O ports already in use, ignoring. kjournald starting. Commit interval 5 seconds EXT3 FS on sda3, internal journal EXT3-fs: mounted filesystem with ordered data mode. ieee1394: Host added: ID:BUS[0-00:1023] GUID[00508d0000fc4756] Adding 506036k swap on /dev/sda2. Priority:-1 extents:1 EXT3 FS on sda3, internal journal nvidia: module license 'NVIDIA' taints kernel. NVRM: loading NVIDIA Linux x86 NVIDIA Kernel Module 1.0-6106 Wed Jun 23 08:14:01 PDT 2004 sk98lin: Network Device Driver v6.23 (C)Copyright 1999-2004 Marvell(R). eth0: 3Com Gigabit LOM (3C940) PrefPort:A RlmtMode:Check Link State md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27 md: raid0 personality registered as nr 2 md: raidstart(pid 6339) used deprecated START_ARRAY ioctl. This will not be supported beyond 2.6 md: autorun ... md: considering sdc ... md: adding sdc ... md: adding sdb ... md: created md0 md: bind<sdb> md: bind<sdc> md: running: <sdc><sdb> md0: setting max_sectors to 64, segment boundary to 16383 raid0: looking at sdc raid0: comparing sdc(8886656) with sdc(8886656) raid0: END raid0: ==> UNIQUE raid0: 1 zones raid0: looking at sdb raid0: comparing sdb(8886656) with sdc(8886656) raid0: EQUAL raid0: FINAL 1 zones raid0: done. raid0 : md_size is 17773312 blocks. raid0 : conf->hash_spacing is 17773312 blocks. raid0 : nb_zone is 1. raid0 : Allocating 4 bytes for hash. md: ... autorun DONE. NTFS driver 2.1.14 [Flags: R/O MODULE]. NTFS volume version 3.1. eth0: network connection down Linux agpgart interface v0.100 (c) Dave Jones agpgart: Detected an Intel 865 Chipset. agpgart: Maximum main memory to use for agp memory: 439M agpgart: AGP aperture is 256M @ 0xd0000000 USB Universal Host Controller Interface driver v2.2 uhci_hcd 0000:00:1d.0: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #1 PCI: Setting latency timer of device 0000:00:1d.0 to 64 uhci_hcd 0000:00:1d.0: irq 12, io base 0000bc00 uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2 hub 2-0:1.0: USB hub found hub 2-0:1.0: 2 ports detected uhci_hcd 0000:00:1d.1: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #2 PCI: Setting latency timer of device 0000:00:1d.1 to 64 uhci_hcd 0000:00:1d.1: irq 4, io base 0000b000 uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3 hub 3-0:1.0: USB hub found hub 3-0:1.0: 2 ports detected uhci_hcd 0000:00:1d.2: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #3 PCI: Setting latency timer of device 0000:00:1d.2 to 64 uhci_hcd 0000:00:1d.2: irq 10, io base 0000b400 uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4 hub 4-0:1.0: USB hub found hub 4-0:1.0: 2 ports detected uhci_hcd 0000:00:1d.3: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #4 PCI: Setting latency timer of device 0000:00:1d.3 to 64 uhci_hcd 0000:00:1d.3: irq 12, io base 0000b800 uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 5 hub 5-0:1.0: USB hub found hub 5-0:1.0: 2 ports detected usb 2-1: new full speed USB device using address 2 usb 5-2: new low speed USB device using address 2 usbcore: registered new driver hiddev input: USB HID v1.10 Mouse [Logitech USB Mouse] on usb-0000:00:1d.3-2 usbcore: registered new driver usbhid drivers/usb/input/hid-core.c: v2.0:USB HID core driver ohci_hcd: 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI) ohci_hcd: block sizes: ed 64 td 64 eth0: network connection up using port A speed: 10 autonegotiation: yes duplex mode: full flowctrl: none irq moderation: disabled scatter-gather: enabled agpgart: Found an AGP 3.0 compliant device at 0000:00:00.0. agpgart: Device is in legacy mode, falling back to 2.x agpgart: Putting AGP V2 device at 0000:00:00.0 into 4x mode agpgart: Putting AGP V2 device at 0000:01:00.0 into 4x mode agpgart: Found an AGP 3.0 compliant device at 0000:00:00.0. agpgart: Device is in legacy mode, falling back to 2.x agpgart: Putting AGP V2 device at 0000:00:00.0 into 4x mode agpgart: Putting AGP V2 device at 0000:01:00.0 into 4x mode ISO 9660 Extensions: Microsoft Joliet Level 1 ISOFS: changing to secondary root kjournald starting. Commit interval 5 seconds EXT3 FS on md0, internal journal EXT3-fs: mounted filesystem with ordered data mode. kjournald starting. Commit interval 5 seconds EXT3 FS on md0, internal journal EXT3-fs: mounted filesystem with ordered data mode. ISO 9660 Extensions: Microsoft Joliet Level 3 ISOFS: changing to secondary root Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. hdd: drive_cmd: status=0x51 { DriveReady SeekComplete Error } hdd: drive_cmd: error=0x04Aborted Command Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. hdd: drive_cmd: status=0x51 { DriveReady SeekComplete Error } hdd: drive_cmd: error=0x04Aborted Command Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. spurious 8259A interrupt: IRQ7. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. Losing some ticks... checking if CPU frequency changed. hdd: drive_cmd: status=0x51 { DriveReady SeekComplete Error } hdd: drive_cmd: error=0x04Aborted Command hdc: drive_cmd: status=0x01 { Error } hdc: drive_cmd: error=0x04Aborted Command
1. you didn't say which kernel you are using, and which others you have tried 2. you didn't post emerge info as requested on the input form 3. you posted a big dmesg log when we have an attachment feature for that
Created attachment 45854 [details] emerge --info
Kernel = 2.6.7-gentoo-r11
I haven't try any other kernel. I have been booting a lot of time since I entered this bug. Now, I'm not so sure that the drive is not detected when it spindles, but, if I'm not waiting 30 seconds in Grub, the HDC isn't detected. I'm waiting 30 seconds and I don't strike any key to proceed faster. Perhaps is this that. I'll do some other tries and I'll let you know exactly.
2.6.7 is quite outdated now. I'd suggest that you upgrade to 2.6.9 as a production kernel. For the sake of this bug, could you please test development-sources-2.6.10-rc3 and see if its fixed there? Thanks
I tried with the kernel 2.6.10-rc3, and I have exactly the same problem as I had with the 2.6.7-gentoo-r11: The kernel doesn't detect my HDC drive unless I leave the timer in GRUB set to 30 seconds. If I don't wait for 30 seconds (perhaps less than 30 is possible), my HDC is not detected. If I wait, everything is ok : my HDC is detected and fully usable. Just let me know if you want more informations about anything on my computer.
Ok, thanks for the test. Could you please report this at http://bugzilla.kernel.org as this is not a direct problem with Gentoo's kernel. Thanks.