# 9.0-RC1 no sata devices on N10/ICH7



## ulzeraj (Oct 29, 2011)

I've installed FreeBSD on a Dell Dimension 510 with 1 IDE drive and 2x2tb SATA drives. FreeBSD only recognizes the IDE controller and doesn't show any information about my SATA disks.

The arch is amd64, running the GENERIC kernel.


```
atapci0@pci0:0:31:1:    class=0x01018a card=0x01d21028 chip=0x27df8086 rev=0x01 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801G (ICH7 Family) IDE Controller'
    class      = mass storage
    subclass   = ATA
atapci1@pci0:0:31:2:    class=0x01018f card=0x01d21028 chip=0x27c08086 rev=0x01 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'N10/ICH7 Family SATA IDE Controller'
    class      = mass storage
```


```
atapci1: <Intel ICH7 SATA300 controller> port 0xfe00-0xfe07,0xfe10-0xfe13,0xfe20-0xfe27,0xfe30-0xfe33,0xfea0-0xfeaf irq 20 at device 31.2 on pci0
```

Is there something I can do to use my SATA controller on 9.0-RC1? It worked fine on 8.2-RELEASE. Thank you very much.


----------



## ulzeraj (Oct 29, 2011)

Correction: it seems to detect the SATA controller but can't detect the disks. 

From what I've found about the base ICH7 controller it doesn't support AHCI mode.


----------



## ulzeraj (Oct 29, 2011)

I am going to transfer the disks to another computer so I won't be able to test the device soon until I get another SATA disk. Meanwhile I would also add that the BIOS doesn't offer the option to switch SATA operation modes (the only option it gives me is to attribute the controller to the integrated RAID or the system bios).


----------



## mav@ (Oct 29, 2011)

Please show full verbose dmesg.


----------



## ulzeraj (Oct 29, 2011)

http://pastebin.com/Z7DEjm4W


----------



## mav@ (Nov 1, 2011)

That's strange, as my NM10 board works fine in both legacy ATA and AHCI modes. May be there is some difference in controller initialization done by BIOS. Could you try to build custom kernel with following patch and send new verbose dmesg. I hope it should shed some light on the problem.

```
--- ata-sata.c  (revision 226962)
+++ ata-sata.c  (working copy)
@@ -158,6 +158,7 @@
     if (quick) {
        if (ata_sata_scr_read(ch, port, ATA_SCONTROL, &val))
            return (0);
+device_printf(dev, "CONTROL1: %08x\n", val);
        if ((val & ATA_SC_DET_MASK) == ATA_SC_DET_IDLE) {
            ata_sata_scr_write(ch, port, ATA_SCONTROL,
                ATA_SC_DET_IDLE | ((ch->pm_level > 0) ? 0 :
@@ -180,6 +181,7 @@
            ata_udelay(100);
            if (ata_sata_scr_read(ch, port, ATA_SCONTROL, &val))
                goto fail;
+device_printf(dev, "CONTROL2: %08x\n", val);
            if ((val & ATA_SC_DET_MASK) == ATA_SC_DET_RESET)
                break;
        }
@@ -192,6 +194,7 @@
            ata_udelay(100);
            if (ata_sata_scr_read(ch, port, ATA_SCONTROL, &val))
                goto fail;
+device_printf(dev, "CONTROL3: %08x\n", val);
            if ((val & ATA_SC_DET_MASK) == 0)
                return ata_sata_connect(ch, port, 0);
        }
```


----------



## dfairles (Dec 10, 2011)

I have the exact same issue on my Dell e510


----------



## dfairles (Dec 10, 2011)

FYI FreeBSD 8.2 detects them but 9.0RC3 does not.


----------

