# Silicon Image 3112 + Sata help

## teknik0s

I've read threw all the posts here about Sil 3112 and sata, they are mostly all dated at least 4 months ago and dont see to help me any.  Which kernel should i use for support?  I tried doing 2.6 rc1 and i get a error like this

 *Quote:*   

> VFS: cannont open root device "2103" or unknown-block (33,3)
> 
> please append the correct "root=" boot option
> 
> kernel panic: VFS: Unable to mount root fs on unknow-block (33,3)

 

perhaps i forgot something when i compiled my kernel? or what could it be? any ideas?

Abit nf7-s

western digital raptor 36gb

----------

## _Adik_

post your kernel config and grun.conf

----------

## piewie

@ teknik0s

Seems that you've tried to use the libata driver from scsi lowlevel driver. This always results in this error for me, too.. The scsi driver does no work for my abit nf7-s 2.0 . At the moment I use the siimage module from IDE drivers. This works for me. The only exceptions is, that i get this a couple of this error messages:

hde: sata_error = 0x00000000, watchdog = 0, siimage_mmio_ide_dma_test_irq

hdg: sata_error = 0x00000000, watchdog = 0, siimage_mmio_ide_dma_test_irq

Performance of hd's is ok. I never have succeeded in using the libata for sda and sdb. Last attempt with 2.6.6-rc2.

----------

## JudgeNik

I am having similar probs.

I have two Western Digital 200GB Sata drives split into the following (what is displayed in livecd):

hde - 200gb NTFS

hdg1- 32mb Boot Partition (EXT2)

hdg2 - 180gb Win 95 Ext`d Partition

hdg3 - 1gb Linux Swap

hdg4 - 19gb Linux (ReiserFS)

hdg5 - 180gb Logical Partition (NTFS)

I had a thought that since I had enabled SCSI SATA in my kernel config that the drives would be showing up as sda and sdb. I tried disabling the SCSI SATA and leaving it as IDE SATA like the livecd kernel aswell.

As yet all I get is that same error popping up:

VFS: cannont open root device "sdb4" or unknown-block (0,0) 

please append the correct "root=" boot option 

Kernel panic: VFS: Unable to mount root fs on unknown-block (0,0)

Note: sdb4 changes depending on what i have in grub.conf

I am running:

Gigabyte 7n400Pro2 - Silicon Image 3112 SATA controller

AMD Athlon XP 2500+ (Barton Core)

Gentoo 2.6.6-rc1

[grub.conf]

default 0

timeout 30

splashimage=(hd1,0)/grub/splash.xpm.gz

title=Gentoo Linux 2004.0 Kernel 2.6.6-rc1 SCSI SATA SDG

root (hd1,3)

kernel (hd1,0)/bzImage root=/dev/sdg4

title=Gentoo Linux 2004.0 Kernel 2.6.6-rc1 SCSI SATA SBG

root (hd1,3)

kernel (hd1,0)/bzImage root=/dev/sbg4

title=Gentoo Linux 2004.0 Kernel 2.6.6-rc1 IDE SATA

root (hd1,3)

kernel (hd1,0)/bzImage-2.6.6-rc1 root=/dev/hdg4

[/grub.conf]

----------

## piewie

In the newsgroup de.comp.os.unix.linux.hardware I got an answer:

The ATA-Maintainers from FreeBSD, Søren Schmidt,  says that sil3112 is full of hardwarebugs. He supposed to use a promise chip.

----------

## JudgeNik

That is not an answer that will help me.

The Promise controller is for RAID. Since I am using my SATA drives on the BASE setting this does not help me.

I have been hunting for answers since I came upon the problem and found that there are people who have got this working. Apparently the livecd uses the IDE SATA and does not reflect accurately what the drives will appear as in /dev on the local installation.

What I want to be able to do is know the detailed rules for assigning /dev names then I could possibly work out what drives I am having to boot from.

----------

## piewie

You can use the promise TX2 or TX4 as a raid controler, but you don't have to.  It's the same with Sil 3112 you can use it as a raid, but you dont't have to.

I tried the new gentoo livecd with 2.6.5-gentoo kernel. After booting "lsmod" told me, that libata was loaded and used in comibination with sata_sil. For a short time I believed to what i saw. But "fdisk /dev/sda" and "fdisk /dev/sdb" reulted "in unable to open sda/sdb" .  

After that I tried "fdisk /dev/hde" and there it was. - You see, still no scsi ! And a mount commando of a partition gave greetings with:

hdg: sata_error = 0x00000000, watchdog = 0, siimage_mmio_ide_dma_test_irq

So if you really know people, who succeeded with libata and Sil 3112, you should get there .config, grub.conf and fstab.

----------

## JudgeNik

Is there a way of getting a list of contents in /dev printed to the screen while a kernel is loading before it starts loading the root partition?

----------

## den_RDC

 *piewie wrote:*   

> You can use the promise TX2 or TX4 as a raid controler, but you don't have to.  It's the same with Sil 3112 you can use it as a raid, but you dont't have to.
> 
> I tried the new gentoo livecd with 2.6.5-gentoo kernel. After booting "lsmod" told me, that libata was loaded and used in comibination with sata_sil. For a short time I believed to what i saw. But "fdisk /dev/sda" and "fdisk /dev/sdb" reulted "in unable to open sda/sdb" .  
> 
> After that I tried "fdisk /dev/hde" and there it was. - You see, still no scsi ! And a mount commando of a partition gave greetings with:
> ...

 

I am running with a Sil 3112 and libata (the normal sil3112 driver made my kernel oops or hardlock). I use 2.6.2-gentoo-r1 , and i am impressed by the performance of libata ... with the normal driver (when it worked), i got arounf 33mb/s read times ... now i get 60mb/s  :Smile:  . As for booting, i boot from a PATA drive (only /boot) because i also have a scsi controller wich seems to make it impossible to boot from SATA.

hdparm -t with X & KDE & loads off stuff running : 

```
/dev/sdc:

 Timing buffered disk reads:  182 MB in  3.02 seconds =  60.23 MB/sec
```

----------

## piewie

At the moment I use libata from 2.6.5-mm6 but with much lower speed. Buffered disk reads are about 30 MB/sec.

Please send me your .config, fstab and grub.conf.

----------

## piewie

While all my first attempts of using libata with my nforce2 board from Abit (NF7-S) resulted in a

Kernel panic: VFS: Unable to mount root fs on unknown-block(0,0)

I have succeeded in using libata now, but with poor disk-performance and timing buffered disk reads about 30 MB/sec.

So these are my essential settings from the .config, my fstab and my grub.conf, which made it for me.

Code maturity level options

[*] Prompt for development and/or incomplete code/drivers

[ ] Select only drivers expected to compile cleanly

ATA/ATAPI/MFM/RLL support

<*> AMD and nVidia IDE support

< > Silicon Image chipset support

SCSI device support

<*> SCSI disk support

<M> SCSI generic support

SCSI low-level drivers

[*] Serial ATA (SATA) support

<*> Silicon Image SATA support

File systems

<*> Second extended fs support

<*> Ext3 journalling file system support

[*] Ext3 extended attributes

<*> Reiserfs support

Pseudo filesystems

[*] /dev file system support (OBSOLETE)

[*] /dev/pts Extended Attributes

This is my fstab. You can see the old values as well, but there is nothing special I think.

#/dev/hde1 /boot ext2 noauto,noatime 1 1

/dev/sda1 /boot ext2 noauto,noatime 1 1

#/dev/hde4 / reiserfs noatime,notail 0 0

/dev/sda4 / reiserfs defaults,noatime,notail 0 1

and this is my grub.conf

title=linux 2.6.6-rc2-sata

root (hd0,0)

kernel (hd0,0)/vmlinuz-2.6.6-rc2-sata root=/dev/sda4

I hope this will help you. If you still have promblems, I can send you my complete .config.

----------

