# SiIG UltraATA133 PCI Card issues (resolution)

## phypor

Got one at best buy for 40$ to add another HDD and DVD drive

On initial hardware install, without any kernel changes, grub handled it fine, but once it got to the kernel it was detected before my onboard ide and ended up with hda, hdb, hdc and hdd, while my onboard got e,f,g and h...

Init was not found ... panic ensues.

The fix/cure for that is 'ide=reverse' in my kernel command line for grub.  Everything boots fine at this point.

The kernel detects both drives, they are at hde and hdf, but 

no udma on my harddrive ... hdparm gives me 2MB/sec

So I go into /usr/src/linux and find some CMD stuff (the card has a CMD680 chipset... not to be confused with the CMD640 chip).  Putting in 

```

CONFIG_BLK_DEV_CMD64X=y

CONFIG_BLK_DEV_CMD680=y

```

upon reboot with my new kernel I get UDMA100 right away...

but hdf (the dvd rom) is garbled 

```

Uniform Multi-Platform E-IDE driver Revision: 6.31

ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx

VP_IDE: IDE controller on PCI bus 00 dev 89

PCI: Hardcoded IRQ 14 for device 00:11.1

VP_IDE: chipset revision 6

VP_IDE: not 100% native mode: will probe irqs later

VP_IDE: VIA vt8233a (rev 00) IDE UDMA133 controller on pci00:11.1

    ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:DMA

    ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:DMA, hdd:DMA

CMD680: IDE controller on PCI bus 00 dev 28

CMD680: chipset revision 2

CMD680: not 100% native mode: will probe irqs later

    ide2: BM-DMA at 0xdc00-0xdc07, BIOS settings: hde:pio, hdf:pio

    ide3: BM-DMA at 0xdc08-0xdc0f, BIOS settings: hdg:pio, hdh:pio

hda: MAXTOR 6L040J2, ATA DISK drive

hdb: Compaq DVD-ROM DV-5700B, ATAPI CD/DVD-ROM drive

hdc: WDC WD800JB-00CRA1, ATA DISK drive

hdd: LITE-ON LTR-48125W, ATAPI CD/DVD-ROM drive

hde: WDC WD1200JB-75CRA0, ATA DISK drive

hdf: ïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ, ATAPI UNKNOWN (type 31) drive

ide0 at 0x1f0-0x1f7,0x3f6 on irq 14

ide1 at 0x170-0x177,0x376 on irq 15

ide2 at 0xec00-0xec07,0xe802 on irq 11

hda: 78177792 sectors (40027 MB) w/1818KiB Cache, CHS=4866/255/63, UDMA(133)

hdc: 156301488 sectors (80026 MB) w/8192KiB Cache, CHS=155061/16/63, UDMA(100)

hde: setmax LBA 234441648, native  234375000

hde: 234375000 sectors (120000 MB) w/8192KiB Cache, CHS=232514/16/63, UDMA(100)

hdb: ATAPI 40X DVD-ROM drive, 256kB Cache, DMA

Uniform CD-ROM driver Revision: 3.12

Partition check:

 /dev/ide/host0/bus0/target0/lun0: p1 p2 p3 p4

 /dev/ide/host0/bus1/target0/lun0: [PTBL] [9729/255/63] p1

 /dev/ide/host2/bus0/target0/lun0: [PTBL] [14589/255/63] p1 p2 p3 p4

Floppy drive(s): fd0 is 1.44M

spurious 8259A interrupt: IRQ7.

FDC 0 is a post-1991 82077

```

I've checked linuxata, and the vendor sites... along with some hits on lkml mentioning the chipset, but no real solution.

so... any help with getting udma and both drives working would be great.

(also... i really dont wanna split the drives on diff ide channels...

ive got plenty of cable already)

----------

## phypor

So now I'll find the patch for em and see about applying to my linux-2.4.19-gentoo-r10 with all the good stuff like preempt and lowlatency.

~phypor

----------

## phypor

I couldn't get the IDE patch as whole or just siimage.[ch] to apply to 2.4.19-gentoo-r10... altho i am not much of kernel hacker.

So I found these kernel's that have support currently:

2.4.21-pre4-ac2

2.5.63

2.4.20-2.48  (redhat's)

2.4.21_pre5-gss

with -gss being the best patched (has lowlatency, gcc31 compile opts, prempt among others)

the jiffies patch applies cleanly to -gss ... giving a nice performer with SiI compatiblity.

Hope someone else finds it helpful.

~phypor

----------

## Azzuron

I honestly dont know whats goin on here for me... but maybe someone can give me some ideas. I have an ATA 133 SIIG card its a v2.0. umm, as you can see, its working ok now...it doesnt support the proper udma modes for my drives tho, which are ata133. anyway...

I am using The CMD680 drivers in the latest kernel from gentoo sources. and everything starts booting up fine, untill it trys to mount the root partition. it fails saying to specify a valid root= option. which is set to /dev/hde4, which is what my root partition really is. i have the proper fs drivers installed... i dunno... its crazy... i dont know whats the deal. anyone have any thoughts? Thanks.

----------

## phypor

 *Azzuron wrote:*   

> 
> 
> I honestly dont know whats goin on here for me... but maybe someone can give me some ideas. I have an ATA 133 SIIG card its a v2.0. umm, as you can see, its working ok now...it doesnt support the proper udma modes for my drives tho, which are ata133. anyway... 
> 
> 

 

You need specfic SiImage drivers, not just generic CMD680.  Try gs-sources... they are the most up-to-date/patched and still support this card.  For the future, siimage is in 2.5 and will be in 2.6, so eventually we will have a gentoo-sources with support.

```

ATA/IDE/MFM/RLL support  --->

   IDE, ATA and ATAPI Block devices  --->

      [*]   PCI IDE chipset support

         <*>     Silicon Image chipset support

```

```

rommel linux # uname -a

Linux rommel.cox-internet.com 2.4.21-pre5-gss #3 Tue Mar 4 20:42:12 CST 2003 i686 AMD Athlon(tm) XP 1700+ AuthenticAMD GNU/Linux

rommel linux # hdparm -i /dev/hde

/dev/hde:

 Model=WDC WD1200JB-75CRA0, FwRev=16.06V16, SerialNo=WD-WMA8C3410196

 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }

 RawCHS=16383/16/63, TrkSize=57600, SectSize=600, ECCbytes=40

 BuffType=DualPortCache, BuffSize=8192kB, MaxMultSect=16, MultSect=off

 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=234375000

 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}

 PIO modes:  pio0 pio1 pio2 pio3 pio4

 DMA modes:  mdma0 mdma1 mdma2

 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5

 AdvancedPM=no WriteCache=enabled

 Drive conforms to: device does not report version:  1 2 3 4 5

rommel linux # hdparm -Tt /dev/hde

/dev/hde:

 Timing buffer-cache reads:   128 MB in  0.56 seconds =226.55 MB/sec

 Timing buffered disk reads:  64 MB in  1.42 seconds = 45.20 MB/sec

```

 *Azzuron wrote:*   

> 
> 
> I am using The CMD680 drivers in the latest kernel from gentoo sources. and everything starts booting up fine, untill it trys to mount the root partition. it fails saying to specify a valid root= option. which is set to /dev/hde4, which is what my root partition really is. i have the proper fs drivers installed... i dunno... its crazy... i dont know whats the deal. anyone have any thoughts? Thanks.

 

try putting "ide=reverse" as part of your grub kernel options,

for instance I have:

```

title=Gentoo Linux 1.4 (2.4.21_pre5-gss)

root (hd0,1)

kernel /boot/bzImage-030304-2.4.21_pre5-gss ide=reverse root=/dev/hda4 hdd=ide-scsi

```

----------

