# sata_sil si3112 not detecting hdd

## John2583

I have yet another SATA problem. I have read several threads that are somewhat related to my problem but nothing I found by searching directly relates to this problem. I have an Asus A7N8X Deluxe board rev 1.0.4 with the Silicon Image 3112 chip for SATA.  I'm using x86 minimal 2004.3-r1 w/ the 2.6.9-gentoo-r1 kernel. I just got a Maxtor SATA drive for it to install gentoo on. sata_sil and the associated libata load but there is some sort of error apparent by looking at dmesg:

```

libata version 1.02 loaded.

sata_sil version 0.54

ata1: SATA max UDMA/100 cmd 0xE0D1C080 ctl 0xE0D1C08A bmdma 0xE0D1C000 irq 11

ata2: SATA max UDMA/100 cmd 0xE0D1C0C0 ctl 0xE0D1C0CA bmdma 0xE0D1C008 irq 11

irq 11: nobody cared!

 [<c0107900>]

 [<c0107995>]

 [<c0107b65>]

 [<c0106008>]

 [<c011b1e3>]

 [<c011b279>]

 [<c0107bb7>]

 [<c0106008>]

 [<c010359c>]

 [<c01035c8>]

 [<c0103623>]

 [<c03c872d>]

handlers:

[<c02dda72>]

[<e0d47538>]

Disabling IRQ #11

ata1: dev 0 cfg 49:2f00 82:7c6b 83:7f09 84:4003 85:7c69 86:3e01 87:4003 88:207f

ata1: dev 0 ATA, max UDMA/133, 320173056 sectors: lba48

```

Notice where it says irq 11: nobody cared! What is that about? I know it's missing something because I looked at other's dmesg and it it shows the scsi subsystem sets up /dev/sda and I don't have that. I have no /dev/sda or /dev/sdb I have one SATA hard drive that I want to install on. I can't unload the module because it says sata_sil and libata are in use. My full dmesg is here: http://152.10.254.216/stuff/dmesg_SATA_SIL.txt

Any suggestions are welcome. Thanks a lot.

----------

## nemo_

strange, I have the same motherboard (not sure about the revision) and same versions of libata and all, and I could install just fine on a maxtor sata drive.

Unfortunately this was with the previous release of the livecd and I can't exactly remember what I did at the time.. I think I passed the doataraid and similar args to the kernel at boot time but these options seem to no longer exist in the last livecd (probably all automatically detected now).

I'm even running the same kernel as the one on the livecd, so there must be a way to get it working. Unfortunately I can't reboot the server to test if it would be autodetected by the new livecd right now :/

I guess it won't help but here's an excerpt of my boot logs (one drive is currently not installed as it went to RMA - damn maxtors) :

 *Quote:*   

> Nov 19 16:47:59 gate libata version 1.02 loaded.
> 
> Nov 19 16:47:59 gate sata_sil version 0.54
> 
> Nov 19 16:47:59 gate ata1: SATA max UDMA/100 cmd 0xE0822080 ctl 0xE082208A bmdma 0xE0822000 irq 11
> ...

 

----------

## John2583

Thanks for the reply. I think I will update my board BIOS if it is out of date. I'm not sure at the moment. Also I think there might be a flash update for the silicon image chip if that's possible I thought I saw it somewhere. Thanks again for the response.

----------

## John2583

I updated my BIOS from it's original that was from way back in 2002 when I first got the board. Now it's at 1008 bios Revision. It still doesn't work. I'm not sure what to try now. I did try disabling everything in BIOS that wasn't necessary just to see if that would help. I'm still confused as to what's wrong. It seems like a hardware issue, almost like something is broken. I wonder if some kernel hackers could help me.

----------

## nemo_

BTW, you aren't trying to use the fake-raid setup with the controller, are you ?

because I tried that at first and also had trouble with it, it's a lot better to go with software RAID  if you plan to setup an array - so make sure you disable any kind of RAID setup in that boot time menu (after the BIOS loaded) first..

also you could try to download the 2004.2 livecd and boot from that, as that must be the one I've used for my install (not 100% sure but the dates match  :Smile:  )

let me know if that doesn't work, I'll download the latest livecd and will schedule a reboot to try it too, as we have identical mobos/drives i'd be curious if it still works here.

----------

## John2583

Well, I have just now booted Slackware 10.0 CD which runs off the 2.4.x kernel of some kind and it detected the SATA drive using the ATA driver that sets it up as /dev/hde in my particular setup. Very interesting. I wonder if the 2004.2 live CD uses that driver/module instead of sata_sil. I haven't read much about this ATA setup but it seems to be some sort of hack since it isn't settting it up as a SCSI device. I'm not sure if it has lower performance or what. I will try 2004.2 possibly. Right now I went ahead and installed Suse 9.2 on my regular drives, or rather I did that before today after having soo much trouble with sata_sil not working. I'm not sure what I'll do now. I'm having more trouble with Suse getting sound working than I have when compiling my own kernel using gentoo or slack. Sigh. Thanks for the reply and suggestions once again. Also I'm not trying to use the raide setup in the SATA config after BIOS or software raid. I have no need for it with only one SATA drive.

----------

## janosh

When i try to setup my kernel with sata_sil (the SCSI drivers), the kernel will find both my Harddrives witch are connected to my mobo's onchip sata chipset, Intel ICH--- something, but my CD-Rom that is connected to the onboard Silicon Image 3112 Chip, is missing.

I don't remember the what dmesg tells me, but it seems like sata_sil finds something, but doesn't know what to do.

So if i want to get acces to my Cd-Rom i have to build my kernel with Lib-ata support.

This realy isn't a problem for me, exept that the lib-ata is deprecated, and that my drives show up as:

hda (NO hdb)

hdc (NO hdd)

hde (NO hdf)

(And i give kerneloption hdg=none or else it takes forever to boot when the kernel looks for drives connected to HDG)

----------

## nemo_

I guess you found this post : https://forums.gentoo.org/viewtopic.php?t=277464&start=25&postdays=0&postorder=asc&highlight=irq11+nobody+cared

it seems to be the same issue you're having, and they also noticed that it works using the ata (no scsi) driver. I'm not sure how to get that driver to load using the livecd tho ..

a few hints from that thread indicate that it may depend on the revision of the motherboard or controller, as well as the drive model..

for reference, in lspci I get :

 *Quote:*   

> 
> 
> 0000:00:09.0 IDE interface: nVidia Corporation nForce2 IDE (rev a2)
> 
> and
> ...

 

as for my IRQ 11, here it seems to be used not only by the SIL controller but also by 2 hauppauge pvr-250 cards and the nvidia USB controller (all 4 are working fine).

and the disks I use are 6Y160M0. can you check what your lspci says ?

----------

## John2583

```

00:00.0 Host bridge: nVidia Corporation nForce2 AGP (different version?) (rev a2)

00:00.1 RAM memory: nVidia Corporation nForce2 Memory Controller 1 (rev a2)

00:00.2 RAM memory: nVidia Corporation nForce2 Memory Controller 4 (rev a2)

00:00.3 RAM memory: nVidia Corporation nForce2 Memory Controller 3 (rev a2)

00:00.4 RAM memory: nVidia Corporation nForce2 Memory Controller 2 (rev a2)

00:00.5 RAM memory: nVidia Corporation nForce2 Memory Controller 5 (rev a2)

00:01.0 ISA bridge: nVidia Corporation nForce2 ISA Bridge (rev a3)

00:01.1 SMBus: nVidia Corporation nForce2 SMBus (MCP) (rev a2)

00:02.0 USB Controller: nVidia Corporation nForce2 USB Controller (rev a3)

00:02.1 USB Controller: nVidia Corporation nForce2 USB Controller (rev a3)

00:02.2 USB Controller: nVidia Corporation nForce2 USB Controller (rev a3)

00:04.0 Ethernet controller: nVidia Corporation nForce2 Ethernet Controller (rev a1)

00:05.0 Multimedia audio controller: nVidia Corporation nForce MultiMedia audio [Via VT82C686B] (rev a2)

00:06.0 Multimedia audio controller: nVidia Corporation nForce2 AC97 Audio Controler (MCP) (rev a1)

00:08.0 PCI bridge: nVidia Corporation nForce2 External PCI Bridge (rev a3)

00:09.0 IDE interface: nVidia Corporation nForce2 IDE (rev a2)

00:0c.0 PCI bridge: nVidia Corporation nForce2 PCI Bridge (rev a3)

00:0d.0 FireWire (IEEE 1394): nVidia Corporation nForce2 FireWire (IEEE 1394) Controller (rev a3)

00:1e.0 PCI bridge: nVidia Corporation nForce2 AGP (rev a2)

01:09.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)

01:09.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)

01:0b.0 RAID bus controller: CMD Technology Inc Silicon Image SiI 3112 SATARaid Controller (rev 01)

02:01.0 Ethernet controller: 3Com Corporation 3C920B-EMB Integrated Fast Ethernet Controller (rev 40)

03:00.0 VGA compatible controller: nVidia Corporation NV25 [GeForce4 Ti 4200] (rev a3)

```

That's from slackware 10.0 installed running hte 2.4.26 kernel currently. I'll try it with the livecd later maybe. I haven't been able to boot the 2004.2 livecd it won't work for some reason, 2004.3 works... I didn't find that thread yet. Thanks for searching. I should add my situation and specifics there too. I don't have time to read all of it now or mess with my computer but I will later, at some point. Thanks for your help yet again.

----------

## John2583

 *janosh wrote:*   

> When i try to setup my kernel with sata_sil (the SCSI drivers), the kernel will find both my Harddrives witch are connected to my mobo's onchip sata chipset, Intel ICH--- something, but my CD-Rom that is connected to the onboard Silicon Image 3112 Chip, is missing.
> 
> I don't remember the what dmesg tells me, but it seems like sata_sil finds something, but doesn't know what to do.
> 
> So if i want to get acces to my Cd-Rom i have to build my kernel with Lib-ata support.
> ...

 

oh just now saw your post. My system looks for a SATA drive on the second SATA bus/connector and it takes a while and I might need to add something like that since I don't have any drive there for sure. Good information. Thanks. I just want to say Gentoo Forums rock and this is why I tell people to come here for help, even if it isn't always gentoo related completly.  :Wink: 

----------

## nemo_

ah well, hopefully it's not because your SIL3112 controller is a revision 1 and mine a revision 2, as that would probably hard to fix without swapping the motherboard :/

might be worth investigating further if there are any differences between these 2 revisions ..

in the mean time slack 10 is a great distro too anyway  :Smile: 

----------

## John2583

well, I just found out that it is revision 1 and not 2 like yours. I gotta say this is really annoying that it won't work with the proper drivers, basically to me it seems like one of the features of this board is not working, even though it worked fine in windows AFAI could tell. Maybe i'll just use the ATA driver for the time being, i'm still having trouble with it in the 2.6.10 kernel, it's not working there either. So I've tried the sata_sil in 2.6.10 and I get the same behavior with that driver as I've gotten in every distro, the irq 11 problem and all that. With the old(depreciated?) ATA hack kinda thing I haven't got it to detect the hard drive yet so I just get kernel panics when I try to boot off of the hard drive that isn't detected. Man if I end up buying a Promise PCI SATA controller I'm going to be pissed.

----------

## John2583

I have just finished installing gentoo from stage 3 to see if I would get lucky w/ the gentoo-dev sources. Well I didn't with the 2.6.10-gentoo-r6 kernel. Same behavior w/ 2.6.10 as in slackware, no big suprise. I have more information on the bad IRQ now being reported when using sata_sil, stuff like report_bad_irq, handle_irq_event, note_interrupt, do_IRQ, do_IRQ etc.. I think I will end up using a 2.4.28 kernel because that is the kernel that seems to be working w/ the old ATA driver, the old ATA driver doesn't work in the 2.6.x tree for some reason, or doesn't seem to be.

----------

## Phk

Sorry, but maybe you can answer me a simple question...

What device name does the SATA in SI3112 has, after booting the kernel?

"/dev/hde" ?

I mean, what is the "root=" devicename in grub?

"/dev/hde1"?

thanks

----------

