Bug 63521

Summary: 5.2.1 doesn't detect drives on SATA controllers, 5.2 does
Product: Base System Reporter: Joe Votour <joevph>
Component: i386Assignee: Søren Schmidt <sos>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 5.2.1-RELEASE   
Hardware: Any   
OS: Any   

Description Joe Votour 2004-02-29 09:30:14 UTC
First of all, my apologies for not providing complete debugging output, however I don't actually have FreeBSD installed at the time of reporting this.  I tried to copy the messages down as best as I could.

When booting the FreeBSD 5.2.1-RELEASE installer (burned to CD-R from the ISO), no hard drives attached to my SATA controllers are detected.  When using the 5.2-RELEASE CD, the drives are detected.

Hardware involved:
Intel 875P motherboard, with ICH5 PATA/SATA controller
Onboard Silicon Image 3112A controller
- 4 x Western Digital PATA Hard Drives, with PATA to SATA converters (Silicon Image)
- 2 x Pioneer DVD drives (one DVD-ROM, one DVD-R)
- Two of the WD hard drives are connected to SATA1 and SATA2 on the ICH5
- The DVD-ROM and DVR-R are connected to the secondary PATA port on the ICH5 (jumpered as Master and Slave)
- The other two WD drives are connected to SATA3 and SATA4 on the SiI3112A
- BIOS is setup to use Combined Mode on the ICH5, (SATA1 and SATA2 are mapped to Primary Master/Slave, PATA is mapped to Secondary Master/Slave).  Same issues occur in Enhanced Mode as well (with the exception that there are two SATA and two PATA interfaces enumerated).

When booting 5.2, the ICH5 and the SiI3112A are detected, and I see these (out of place) messages:
ad0: WARNING - SETFEATURES recovered from missing interrupt
ad0: WARNING - SET-MULTI recovered from missing interrupt
ad0: WARNING - READ_DMA recovered from missing interrupt
ad1: WARNING - SETFEATURES recovered from missing interrupt
ad1: WARNING - SET-MULTI recovered from missing interrupt
ad1: WARNING - READ_DMA recovered from missing interrupt

However, despite this, all of my drives are detected, and I can seemingly do an install.

When booting 5.2.1, the ICH5 and the SiI3112A are detected, but none of my SATA drives are found, but the DVD-ROM and DVD-R are.  I see these messages:
ata0-slave: FAILURE - ATA_IDENTIFY no interrupt
ata0-master: FAILURE - ATA_IDENTIFY no interrupt

When I try to do the installation (by selecting "Standard" in the menu), I am informed that no drives have been found.

The hardware is not at issue, since it works with vanilla Linux 2.4-kernel based distributions (Knoppix and Slackware), and Windows XP.

Additionally, whether I use 5.2 or 5.2.1, something gets seriously hosed - although there's no crash (with as far as I made it in the installation), if I hit the reset button, or abort the installation, I have to power down the machine, otherwise the drives aren't detected by the BIOS on the subsequent reboot.

Fix: 

Disable SATA on the ICH5 and disable the SiI3112A.  Not an option.
How-To-Repeat: Configure the hardware as described above.
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2004-11-04 07:02:51 UTC
Responsible Changed
From-To: freebsd-i386->freebsd-usb

Reassign to appropriate mailing list.
Comment 2 Julian Elischer freebsd_committer freebsd_triage 2005-01-10 05:12:23 UTC
Responsible Changed
From-To: freebsd-usb->sos

This has NOTHING to do with USB.
Comment 3 Søren Schmidt freebsd_committer freebsd_triage 2005-04-11 12:23:10 UTC
State Changed
From-To: open->closed

These issues have been solved in 5.3 forward.