Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I'm going nuts trying to get my 22.214.171.124 kernel to avoid conflicts between two SATA/IDE drives and a 40-pin regular PATA/IDE drive in my system. I have an Intel ICH8 SATA controller that also happens to control the PATA/IDE drives as well.
I keep getting errors like "ide0: ports already in use, skipping probe..."
I presume from what I've read that the ata_piix and ide-generic modules are conflicting with one another.
I have tried every combination of inserting the modules governing these devices that I can think of. Here is my current ordering:
Summary: No TCQ/NCQ. Looks like a PATA controller, but with a few added, non-standard SATA port controls. Hardware does not support hotplug. "Warmplug" support is possible.
Update: ICH6/7/8 include support for addressing the SATA PHY registers. This is not yet supported in Linux, mainly because some BIOS do not fill in the necessary (PCI BAR) resources.
Update: Boot-time, probe-time issues continue to persist in some cases, related to the "PCS" register. The ata_piix driver in 2.6.18 and later provides a "force_pcs" module option to help users deal with this (values: 0=default, 1=ignore PCS, 2=honor PCS). Play around with 'force_pcs' if you have device detection problems.
I tried playing with the 'force_pcs' option. It didn't seem to make any difference I'm afraid. I also continued to play with the ordering of loading the modules. If I have it as follows, then at least the SATA drives are detected and assigned to a device.
Still no luck with the PATA drives though. This is the error that I am getting:
ide: Assuming 33 MHz system bus speed for PIO modes; override with idebus=xx
ide0: I/O resource 0x1F0-0x1F7 not free
ide0: ports already in use, skipping probe
ide1: I/O resource 0x170-0x177 not free
ide1: ports already in use, skipping probe
Is there anything else you can think of that I might be missing? Perhaps another module or module option?
Sometimes your BIOS has options on how to set the ports. On my BIOS, the PATA ports have an "Off", "Legacy", and "Default" options. Switching that mode may help. Same for SATA ports. I know it's confusing, but some BIOSes do some weird things, in my experience.
One other interesting piece of information is that the Debian 4.0 (126.96.36.199) distribution seems to work just fine on this same system without me having to fiddle with any BIOS settings. When I do an 'lsmod' on the Debian system, I see the same set of modules loaded as what I have listed previously.
I'm trying to boot from a 188.8.131.52 kernel that I installed on to an IDE DOM in this same machine. The DOM is the PATA/IDE device that is not being recognized from the kernel I built. It is recognized just fine from Debian.
I was able to solve the problem thankfully. I was missing one badly needed module -- jmicron.ko. This module is needed to drive the actual jmicron PATA IDE controller on my motherboard. I discovered this component when doing a 'lspci' as follows:
00:00.0 Host bridge: Intel Corporation P965/G965 Memory Controller Hub (rev 02)
00:01.0 PCI bridge: Intel Corporation P965/G965 PCI Express Root Port (rev 02)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #4 (rev 02)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #5 (rev 02)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI #2 (rev 02)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 4 (rev 02)
00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI #1 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev f2)
00:1f.0 ISA bridge: Intel Corporation 82801HB/HR (ICH8/R) LPC Interface Controller (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801H (ICH8 Family) 4 port SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 02)
00:1f.5 IDE interface: Intel Corporation 82801H (ICH8 Family) 2 port SATA IDE Controller (rev 02)
01:00.0 VGA compatible controller: nVidia Corporation Unknown device 0193 (rev a2)
03:00.0 IDE interface: JMicron Technologies, Inc. JMicron 20360/20363 AHCI Controller (rev 02)
03:00.1 IDE interface: JMicron Technologies, Inc. JMicron 20360/20363 AHCI Controller (rev 02)
04:00.0 Ethernet controller: Marvell Technology Group Ltd. Unknown device 4364 (rev 12)
05:02.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
Upon noticing it here, I looked further in the actual kernel configuration. There was a JMicron PATA support option listed under Serial ATA (prod) and Parallel ATA (experimental) drivers section. I enabled this option and order the module loading as follows and both the SATA and PATA drives were detected and assigned as devices perfectly. The order must be exactly as shown: