LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   Serial ATA (SATA) Linux Support (https://www.linuxquestions.org/questions/linux-hardware-18/serial-ata-sata-linux-support-51535/)

dmcentire 03-24-2003 06:16 PM

Serial ATA (SATA) Linux Support
 
Hello everyone:

I am working on a new server that uses an Intel P4 motherboard. This board also includes built-in serial-ata (SATA) connectors for this new type of hard drive. I have been looking for Linux support for this new standard and not finding much. Here's what I have and have found:

The Intel board is model D845PEBT2 - and the built-in SATA controller is Silicon Image SiI 3112.

The only page I found with any kind of driver is here:

http://www.linuxdiskcert.org/

Unfortunately, the file is a patch file and I'm not sure how to apply this patch to a new Linux distro for an initial installation.

The file is:
ide-2.4.19-ac4.11.patch and can be found on the same site shown above. It seems like the file it wants to patch is called "ide.h".

Can anyone give me a suggestion on how to implement this patch to either the Linux installation CDs (I happen to use Mandrake 9.0) or patch a boot floppy that will enable the installer to recognize the SATA bus?

BTW, just to ensure the h/w is working I formatted the drive with Win2K (using the Intel supplied SATA driver disk). The OS formatted and installed the drive, so I know the hardware is OK.

Thanks for any help!

Dennis McEntire

Aussie 03-24-2003 08:33 PM

That is a kernel patch, it has to be applied to the vanilla kernel source before you compile a new kernel, also it's for an old branch of the AC kernel tree (2.4.19-ac4), the current stable kernel is 2.4.20.
Silicon Image claim to support linux here, http://www.siimage.com/products/overview_sii3112.asp but don't provide a link to the drivers.

mcleodnine 03-24-2003 11:45 PM

I want to know where you got your hands on the sATA drives. Who did you have to kill?

Daemonfly 03-25-2003 12:26 AM

Theres a few out. Newegg has the 80g Seagate one - http://www.newegg.com/app/ViewProduc...ion=22-148-014

spy5600 03-25-2003 07:31 AM

Well I searched a bit the Silicon Image web site and found that their linux driver is provided by the Linux ATA development site. So, I went there and in the supported chipsets page it's written that Silicon Image WILL have support for SATA

Links: Silicon Image linux driver (you have to go to the left frame and choose: Serial ATA -> controllers -> SiI3112/3112A -> SiI3112A: Linux SATA Drivers)
Linux ATA Development
SATA supported chipset

Cheers,
Spy5600

mcleodnine 03-25-2003 08:29 AM

Quote:

Originally posted by Daemonfly
Theres a few out. Newegg has the 80g Seagate one - http://www.newegg.com/app/ViewProduc...ion=22-148-014
Kooky marketing... Seagate's online store shows them as having no stock.

dmcentire 03-25-2003 11:53 AM

As far as the drives are concerned, we picked them up locally at a computer store called Central Computer (San Jose, CA). They had the Seagate 80GB SATA drives in stock for around $156 each. They do have a website:

http://www.centralcomputer.com/Price...are/Drives.htm

Also, in reply to the post by spy5600 the websites mentioned I did find at the start of the research, but it seems like the driver provided is a kernel patch (based on Aussie's post) and may not be able to be applied to a particular distro of Linux.

Sooo, it seems like I am stuck at the moment since I am using the Mandrake distro and am not familiar enough with kernel building/compiling to integrate the SATA drivers. It seems like I may have to wait until Mandrake decides to integrate SATA support.

Electro 03-25-2003 03:05 PM

Western Digital has a new drive named Raptor though its designed for servers and should go nicely with your setup.

Review on WD Raptor
http://www.anandtech.com/storage/sho...tml?i=1799&p=1

dmcentire 03-25-2003 04:16 PM

Well, not to make things complicated, but here's some additional research I found on the Silicon Image website. Unfortunately, the site uses URL based sessions, so I cannot provide a direct link to the page in question. Follow these instructions:

1. Go to http://www.siliconimage.com/home.asp
2. Click on the red "Product Support" button on the lower left.
3. Select the "Specified Article ID Number" radio button and enter 10041 as the article number.

This article describes how to apply a patch (maybe like the one I am trying to do) but my question is: Can I apply this patch to the kernel source code from my Mandrake distro CDs? Or as "Aussie" stated above, I might need to apply this to a plain-vanilla kernel.

Ideas on this approach?

Thanks,
Dennis

Aussie 03-25-2003 04:45 PM

You have to apply kernel patches against the specified kernel, in this case the kernel is 2.4.19-ac4. See kernel.org and the Kernel-HOWTO for more info on patches and 'ac' kernels.

dmcentire 03-28-2003 11:49 AM

The answer has arrived! Mandrake Linux 9.1 (now in production release) supports the hardware! Woohoo! We were able to easily set up the new server - and boy are these drives FAST!

Thanks to everyone for their help and advice,

Dennis

mcleodnine 03-28-2003 12:28 PM

Keep us posted on how well it performs for you. I'm curious to see how this generation of hardware will evolve in the wild.

Aussie 03-28-2003 01:19 PM

Yeah, a "hdparm -tT" would be interesting.

Yete 05-10-2003 05:03 AM

I'm using the Intel D845PEBT2 motherboard/ sil 3112A/ bios version 4.1.45 and from hdparm -t /dev/hdx i got only 1.7MB/sec.
Is there anyone that can tell me a diffrent result with this bilt in controller?
Thanks

Village Idiot 05-21-2003 03:23 PM

Western Digital
 
Well I have the RAPTOR 37 GB drive set up with the Silicon Images card sent with the drive on an ASUS P4PE using Redhat 9.0. The result is YUCK! :mad: hdparm -t yielded 1.63 MB per sec. Will try setting the idebus manually but suspect that is not going to help. The Promise chipset on the P4PE does not play nicely with Redhat Linux. If anyone has an idea on getting the Raptor flying at something other than treetop level I would appreciate the feedback. :newbie:

Village Idiot 05-22-2003 10:20 AM

Re: Western Digital
 
Well the good news is the Raptor is now running at 54.7 MB/sec in hdparm -t test. Had to manually set the dma function with hdparm. Oddly enough hdparm -I indicated the drive was in UDMA Mode 5. hdparm -i however indicated the drive was not in UDMA mode. Had to use both -X & -m switches to get the beast to run.

coolersites 05-26-2003 09:47 PM

Well, I sure would like to know what the kernel configuration is, and what any other hoops people have jumped throught to get SATA working [properly] . Doesn't matter the distro or kernel, or hdparms- I have tried them all.

Trying to enable DMA (via hdparm) only starts off a chaing of errors mostly filled with errors like "dma_timer_expiry" and "dma_status=0x21". Try to set it in /etc/sys/config/harddisks and you are in for a little journey to get back to where you where, but , alas, no DMA. Disabling 'framebuffers' in the kernel, was suggested by one disk-doctor (related to witch doctors), but that did nothing either.
I started with RH9 plain vanilla distro, then ran the rpm kernel update to 2.4.20-13.9, then got really brave and just dl'd the vanilla source from kernel.org for 2.4.20 then installed the patch to 2.4.21-rc3 (rc4 just appeared but doesn't look like the answer either). Oh, yes - enabled the various SII3112 kernel options, and lot's of enable DMA options as well.

Finally, I have read long interchanges between Linux Torvalds and others concerning the future drivers for ide-scsi... I thought maybe the companies selling the SATA products would care.. well both SEAGATE and ASUS support have been dead ends-- invariably pointing fingers at each other, and sending me windows drivers. Oh, and the link on SII (who I haven't managed to contact yet).. just goes to http://www.linux-ide.org/ where are kernel patches that look to be many months out of date (so let me know if you really installed them and the really worked, but I am not so brave)
.
So at the end of the day (or the week monkeying with this).. I was able to improve my transfer rate up from 1.7 to 3.2 MB/s!! Yee hah! (added idebus=66 to my grub.conf so that the ide drivers don't default to 33).

So, it is now firmly my belief that it may be a long time before SATA works on Linux (those earlier in this post who said it was working .. really you should do "hdparm -tT /dev/hdx" and see your speed".

I would be really really interested in learning if anyone actauly has got there sata drives to perform like they should! Until then, I guess my recommendation is to save the money and not by SATA drives or controllers if you are looking for an immediate working solutions....

aghhh.. all that said.. HELP! :Pengy:

*********hdparm -tT for my Seagate 120 *********
/dev/hde:
Timing buffer-cache reads: 128 MB in 0.25 seconds =512.00 MB/sec
Timing buffered disk reads: 64 MB in 19.43 seconds = 3.29 MB/sec

***Compared to my old standard IDE drive:
/dev/hda:
Timing buffer-cache reads: 128 MB in 0.25 seconds =512.00 MB/sec
Timing buffered disk reads: 64 MB in 1.73 seconds = 36.99 MB/sec

********************My computer: ******************************

Asus P4G8X Deluxe (onboard SII 3112) / P4 2.4 / 1 GB DDR400 / Bios 1005G

********************SATA info: ************
/dev/hde:
multcount = 16 (on)
IO_support = 3 (32-bit w/sync)
unmaskirq = 0 (off)
using_dma = 0 (off)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 8 (on)
geometry = 232581/16/63, sectors = 234441648, start = 0

***********info galore: *****************
hdparm -I /dev/hde

/dev/hde:

ATA device, with non-removable media
Model Number: ST3120023AS
Serial Number: 3KA1FB98
Firmware Revision: 3.01
Standards:
Used: ATA/ATAPI-6 T13 1410D revision 2
Supported: 6 5 4 3
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 234441648
device size with M = 1024*1024: 114473 MBytes
device size with M = 1000*1000: 120034 MBytes (120 GB)
Capabilities:
LBA, IORDY(can be disabled)
bytes avail on r/w long: 4 Queue depth: 1
Standby timer values: spec'd by Standard
R/W multiple sector transfer: Max = 16 Current = 16
Recommended acoustic management value: 128, current value: 0
DMA: *mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 udma6
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=240ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
* Look-ahead
* Write cache
* Power Management feature set
Security Mode feature set
* SMART feature set
* Mandatory FLUSH CACHE command
* Device Configuration Overlay feature set
Automatic Acoustic Management feature set
SET MAX security extension
* DOWNLOAD MICROCODE cmd
* SMART self-test
* SMART error logging
Security:
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
HW reset results:
CBLID- above Vih
Device num = 0

arxik 05-27-2003 12:43 PM

no -c3 option!
 
Right now Im' testing P4G8X with Seagate SATA drive under Suse 8.2 linux. I found that if you try to enable UDMA, you should forget about -c and -m options. Probably the problem is related to Sil 3112 controller/driver. (Don't forget that we'r dealing with SATA controller not a SouthBridge). Anyway with hdparm -X69 -u1 -d1 I managed to get 41 Mb/sec speed and no problems.

Speaking of -X70 key. Well.. There is some confusion here. Udma6 is related to ATA133 standart not ATA150.

Also I couldn't understand your system specification. DDR400 on P4G8X? You'r kidding right? DRR266 is max E7205 can support :-)

PerpetualBurn 05-27-2003 10:01 PM

d845pebt2 lan driver
 
Sorry to jump into your thread here, but I just wanted to know what lan driver you are using for the onboard lan on your d845pebt2, if you are using the onboard lan?

I had to do a CD install of Debian bf24 because none of the drivers listed would work. As you can imagine I would really like to get the lan up, so let me know if you can.

Thanks!

P.S. SATA is great; I own a small computer business and have played with a couple (only in windows though). Several drives are out right now, but stock is really crazy because of all of the quick enhancements happening to them.

coolersites 05-28-2003 03:37 AM

Ok so I tried the hdparm -X69 -u1 -d1 settings and the drives froze up just as quickly as normal (actually didn't get any erros. it just went to lunch).

Are you perhaps setting in /etc/sysconfig/harddisks? Wondering if the timing of the setting makes a difference?

Anybody do anything to their kernel?


Arxik....
Nope wasnt' kidding on the DDR400---

http://www6.tomshardware.com/motherb...9/7204-01.html :study:

nuzzy 05-28-2003 06:25 AM

http://www.pricewatch.com has a lot of places that sell the SATA drives as well.

Village Idiot 05-28-2003 01:43 PM

Sorry I failed to post the vital info.

Using Redhat 9.0 stock from the box.
Asus P4PE with original bios 512 M RAM
Silicon Images SATA Controller card using Sil3112ACT chip
Western Digital WDC360 drive

The P4PE onboard Promise SATA will not work. Disabled the Promise SATA in the BIOS setup. There is currently no driver that I am aware of that will work with the Promise product under Linux.

Once I had the SiL3112 chip in I had to use the following to get it to run.

In the grub.conf I added idebus=66 although I am not sure that was necessary.

hdparm -X70 -d1 /dev/hde

The Sil3112 chip came up with initial install and was recognized by the OS thus the drives would run at the paltry rate of 1.6 MB/sec. The hdparm commands allowed me to get the drives to run faster i.e. 54 MB/sec. The speed tests were conducted with hdparm -t /dev/hde.

After setting d1 and X70 running hdparm -I /dev/hde I viewed the setting with hdparm -v /dev/hde. The drive was now in UDMA mode 6 and dma was active.

/dev/hde:
multcount = 16 (on)
IO_support = 3 (32-bit w/sync)
unmaskirq = 0 (off)
using_dma = 1 (on) <----------- NOTE THIS LINE in hdparm -v
keepsettings = 0 (off) you do not want it to be 0 (off)
readonly = 0 (off)
readahead = 8 (on)



In my situation the SiL3112 ports came up as hde & hdf. Also I have been working in the command line environment. I have not tried this when running Xwindows.

Has anyone been able to get SATA and Linux to play nicely on a board using the Intel 865 or 875 chipsets?

Can't remember which one, but read that either Andre Hedrick or Linus Torvald have a standoff with Promise over intellectual property rights. Seems the Linux group is worried that Promise will incorporate the Linux code into thier product and claim it. I can understand that position.

Hope this helps. I banged my head against the wall for several days before stumbing into the driver thread on Promise SATA.

----------------------------------------------------------------------------------


So, it is now firmly my belief that it may be a long time before SATA works on Linux (those earlier in this post who said it was working .. really you should do "hdparm -tT /dev/hdx" and see your speed".

I would be really really interested in learning if anyone actauly has got there sata drives to perform like they should! Until then, I guess my recommendation is to save the money and not by SATA drives or controllers if you are looking for an immediate working solutions....

aghhh.. all that said.. HELP!

*********hdparm -tT for my Seagate 120 *********
/dev/hde:
Timing buffer-cache reads: 128 MB in 0.25 seconds =512.00 MB/sec
Timing buffered disk reads: 64 MB in 19.43 seconds = 3.29 MB/sec

***Compared to my old standard IDE drive:
/dev/hda:
Timing buffer-cache reads: 128 MB in 0.25 seconds =512.00 MB/sec
Timing buffered disk reads: 64 MB in 1.73 seconds = 36.99 MB/sec

********************My computer: ******************************

Asus P4G8X Deluxe (onboard SII 3112) / P4 2.4 / 1 GB DDR400 / Bios 1005G

********************SATA info: ************
/dev/hde:
multcount = 16 (on)
IO_support = 3 (32-bit w/sync)
unmaskirq = 0 (off)
using_dma = 0 (off)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 8 (on)
geometry = 232581/16/63, sectors = 234441648, start = 0

***********info galore: *****************
hdparm -I /dev/hde

/dev/hde:

ATA device, with non-removable media
Model Number: ST3120023AS
Serial Number: 3KA1FB98
Firmware Revision: 3.01
Standards:
Used: ATA/ATAPI-6 T13 1410D revision 2
Supported: 6 5 4 3
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 234441648
device size with M = 1024*1024: 114473 MBytes
device size with M = 1000*1000: 120034 MBytes (120 GB)
Capabilities:
LBA, IORDY(can be disabled)
bytes avail on r/w long: 4 Queue depth: 1
Standby timer values: spec'd by Standard
R/W multiple sector transfer: Max = 16 Current = 16
Recommended acoustic management value: 128, current value: 0
DMA: *mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 udma6
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=240ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
* Look-ahead
* Write cache
* Power Management feature set
Security Mode feature set
* SMART feature set
* Mandatory FLUSH CACHE command
* Device Configuration Overlay feature set
Automatic Acoustic Management feature set
SET MAX security extension
* DOWNLOAD MICROCODE cmd
* SMART self-test
* SMART error logging
Security:
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
HW reset results:
CBLID- above Vih
Device num = 0 [/B][/QUOTE]

arxik 05-28-2003 02:06 PM

Just a quick note on SATA / LINUX
You do need to install a new kernel from kernel.org
Sil3112 is not supportend in current stable 2.4.20 kernel (in RedHat 9, Suse 8.2, etc)
SATA controllers are typically mapped as MMIO:
<6>SiI3112 Serial ATA: IDE controller at PCI slot 02:04.0
<6>SiI3112 Serial ATA: chipset revision 2
<6>SiI3112 Serial ATA: not 100%% native mode: will probe irqs later
<6> ide2: MMIO-DMA at 0xf8806000-0xf8806007, BIOS settings: hde : pio, hdf : pio

and there is a problem in mapping code.



coolersites, if you have P4G8X then your DDR400 memory runs in DDR266 mode. Intel E7205 supports DDR 1600 / 2100 only. I know that you can overclock it up to 200 Mhz speed but you won't see any difference in linux. Try it for yourself :-)

Village Idiot 05-28-2003 03:09 PM

I found a RC for the Intel ICH5 chipset. Is there one for Silicon Image?

Mirar 05-29-2003 02:54 AM

"RC"? I saw there was some work on getting it ich5/i875p SATA to work, but I'm at all sure if it works that well yet. Any status reports on that?

I need drivers for the PDC20378 chip on the P4C800, so I can use my two other IDE drives... :(


On a side note, the P-ATA100 in the ICH5 isn't too bad.

/dev/hda:
Timing buffer-cache reads: 128 MB in 0.15 seconds =853.33 MB/sec
Timing buffered disk reads: 64 MB in 1.16 seconds = 55.17 MB/sec

/dev/hdb:
Timing buffer-cache reads: 128 MB in 0.16 seconds =800.00 MB/sec
Timing buffered disk reads: 64 MB in 1.17 seconds = 54.70 MB/sec

Dual "DDR320".

arxik 05-29-2003 03:45 AM

no drivers for Promise
 
Hi
PDC20378 is a Promise chipset. As far as I know there are NO official (from linux developers) linux drivers for any Promise chipsets. IT happened because Promise wants to develop its own drivers. And there is an issue with patent rights. Still you may find some third party linux kernel patches on the Internet.

Mirar 05-29-2003 03:57 AM

Quote:

As far as I know there are NO official (from linux developers) linux drivers for any Promise chipsets.
Where do the kernel drivers come from, then? :-d
There is support for Promise PDC202{46-77} in 2.5.70:
http://www.mirar.org/incoming/promise.gif (Don't seem I'm trusted with IMG tags, though.)

So Promise have gone bad and started to be proprietary too... That's sad news. Anyone that *isn't* proprietary-only anymore, except Intel?
Or can recommend an IDE controller for PCI I can plugin, that do work under Linux?

coolersites 05-29-2003 10:48 AM

Just a note - I have the latest somewhat stable kernel 2.4.21-rc3 and still am unable to enable dma on the sata. I have tried every variation of kernel compile and of hdparm that exists in nature. No results beside lockups so far. Can someone who has it work post their /usr/src/linux/.config as well as do a hdparm -i , and gee while you are at it, maybe a /etc/sysconfig/harddisks or your grub.conf if you have modified them.. I just can't figure out what would be different with my setup.

(All suggestions posted here have been tried too.. )

BTW - Arxik the DDR400 was sold to me at the same price as DDR266 because my techno-dealer was out of the 266. I had planned on the 266 but after researching I couldn't find any downsides of the 400 and actaully gives me some room to play. My eventual plan was to wait for the P4/3+ to come down in price before replacing the cheapo 2.4.
However, I don't understand what you mean that it won't make a difference in linux-- are you telling me that linux is optimized to ignore overclocking and faster hardware? :-)

arxik 05-29-2003 11:24 PM

coolersites,
I'll try to compile the last 2.4.21-rc6 kernel in 2 days.
I'll keep u posted. From what I know right now, Sil3112 was included in 2.4.20-rc1 kernel. To get it to work u do need to set up the driver without -c -m16 and -u options. (the last one is important coz Sil3112 usually works on shared IRQ)

Speaking of DDR400 I meant that memory is not a bottleneck in linux. Also you cannot have 4 Gb DDR400 configuration. There is no high density 1GB DDR400 (only DDR266) . Another reason is CAS latency. System would be unstable with say 4 DDR400 chips unless u run it with CAS3 (and DDR400 with cas 3 runs as DDR266 with cas 2). But if u have only 2 DDR400 than it's ok

Mirar 05-30-2003 01:35 AM

Quote:

There is no high density 1GB DDR . Another reason is CAS latency. System would be unstable with say 4 DDR400
The Intel i875 northbridge happily handles 4xDDR400 up to 4Gb. Of course, it's not an AMD northbridge like KT400, so the comparison might be invalid? :) I think it handles them in banks of two, too, to get around issues like CAS and refresh (and doubling the bandwidth).

arxik 05-30-2003 02:09 AM

Quote:

Originally posted by Mirar
The Intel i875 northbridge happily handles 4xDDR400 up to 4Gb. Of course, it's not an AMD northbridge like KT400, so the comparison might be invalid? :) I think it handles them in banks of two, too, to get around issues like CAS and refresh (and doubling the bandwidth).
Mirar how u'r going to get 4 GB with max 512 GB DDR400 in a single chipset?
I suggest you to read what I said before posting anything. The issue is not how both E7205 and 875 handle DDR400. THe problem is in high density memory. There are no 1 GB DDR400 chipsets on a market (or DDR333 for that matter). You could happily run 2x512 with fast timing like 2-2-2-5 (thanx to dual channel memory architecture) But with 4x512=2GB you have to go to CAS2.5 or 3-3-2 timing

When it comes to 1GB DDR266 you can run 2x1GB or 4x1GB with 2-2-2.5-6 timing and as you see for 2GB you already get the same memory timing for both DDR400 and DDR266.

Tell me how you want to go above 2GB with DDR400 :-)


Mirar 05-30-2003 10:26 AM

Ah, I thought you said that there were up to and including 1Gb PC3200 memory around. My mistake.

pelleke 06-03-2003 05:48 AM

Okay, but how to install a prev distro?
 
Hello!

Well, let's do a little step backwards, in a previous message in this thread one asks how to use the controller in Mandrake 8? Well, I would like to know how I can do that. I think it should be done by using a SCSI-driver (in the beginning the setup-wizard asks if I need such a driver) but where to find the driver? My MoBo-CD only contains three RPMz for an so-called all-in-one driver for Linux, but the installation doesn't eat that :-)

Does sb know how I can install prev versions of mandrake on my PC?

Pelle.

skewld00d 06-04-2003 12:40 PM

Asus A7N8X Deluxe Rev 2
 
Crap... so the driver for the Silicon Image 3112A (PCI# 1095:3112) linux driver is basically dead? The Linux ATA & Linux Disk Certification projects are both dead. Supposedly, 1M of these Silicon Image chips have been shipped, according to the mfgr. Is this thing another vestigial VGA connector that's never going to be used until sATA II? So where's the #$%#% linux driver? Pardon my ignorance, but I dont think installing an -ac kernel is the way to go, it's not even going to stay around for long (2.6 is around the corner). Does this mean that this driver is still being "tested' or isn't ready for prime-time, or no one is working on it? What gives?

coolersites 06-04-2003 04:03 PM

Well, it's a litte frightening how little support there is for this. I still haven't got past PIO.. and wish there was some folks that could show me there configs.. (HDPARM has been completely useless..)

Besides why on earth would anyone settle with having to run hdparm to get their drives to work right?

Besides, I am reading more and more comments that SATA might be a dead solution anyways, if IEEE1394 /Firewire hard drives become available soon.

But back to the point.. HOW can manufacturers continue to release stuff and ignore the linux universe.. so SII must have 1 million users all on windows..?

BTW- Does anyone here who know their CHIP revision they have? Mine is 1.21. (Just trying to figure out if that is my problem).

Also anyone using a P4G8X DELUXE? I am wondering if there are interupt/irq problems with the DELUXE board in linux....

skewld00d 06-04-2003 07:08 PM

nearly certain it's 1.2, asus bios c1004.

config:

asus a7n8x dlx rev 2.00 bios 1004
nforce2 400 ultra chipset (i think it's stepping A2)
SPP, MCP-T
w/ nforce ide & Sil 3112A sATA Raid controller


Btw, u know that somehow, this Sil chipset is capable of sATA pre-2.0 too? Segate, Siimage, and someone else demoed it w/ the 3112a chipset. It's prob a small wiring change & a closed-source bios. =(


Maybe there's some flaws/shortcomings in this chipset they dont want us to know about? Just a wild guess.

<rant>
This is so fax0ring stupid, closed source drivers? Confused... why do they NOT want linux support? If their drivers and specs are open-sourced, they might be able to sell more product. It's not like giving out the drivers code is going to cause these chips to be duplicated. And he11, there'd be more supported OSes too. But no, we have to resort to WINBLOZE pci spying that effectively does the same thing as them handing out the source, but w/ more work. PCI replaying is fun! jk.

There is just no legitimate reasons for closed-source drivers. I'd take it as-so-far to say that customers have a right to the specs of stuff they buy. I wouldn't buy a car if I couldnt get a service manual. Make it a point NOT to buy products from mfgrs that keeping their specs a secret.There is just no legitimate reasons for closed-source drivers. I'd take it as-so-far to say that customers have a right to the specs of stuff they buy. I wouldn't buy a car if I couldnt get a service manual.

Stupid, stupid, stupid ... it's almost as stupid as not being able to find datasheets on old IC/semis/components because the mfgr doesnt want u to buy used/old stuff, they want to sell new products and then cut support off ASAP.
</rant>

Aussie 06-04-2003 11:02 PM

skewld00d,
Don't be too dispondent :-)
----
From linux-2.4.21-rc7,

CONFIG_BLK_DEV_SIIMAGE:
This driver provides (U)DMA support for the SII3112 SATA controllers and
for the CMD/SI680 UDMA/DMA ATA controller.
----
You will need to patch a vanilla 2.4.20 kernel to 2.4.21-rc7 or wait for 2.4.21 final and build it yourself - the other option is to wait for your distro to issue an updated kernel.

I'll be getting a couple of SATA drives for the new workstation I'm building in about three weeks, once I have it built I'll be posting a guide at p-two.net.

coolersites 06-04-2003 11:25 PM

Aussie,
You'll notice from my previous post I have already done these steps.. I am now running 2.4.21-rc6 with no more luck than any other version of the kernel.

The drives are loaded fines, just not with DMA support. They default to PIO and no matter what I do I cannot get them to run in DMA (hdparm no go, /sysconfig/harddisks no go).

BTW--- from hwconf:

-
class: RAID
bus: PCI
detached: 0
driver: unknown
desc: "CMD Technology Inc|Silicon Image SiI 3112 SATARaid Controller"
vendorId: 1095
deviceId: 3112
subVendorId: 1095
subDeviceId: 6112
pciType: 1
-

I've been wondering if there is someway to make the driver know.. ie the siimage driver.

I have the kernel compiled with the SIIMAGE driver you mentioned as compiled in vs. module. When compile as module, it just plain refuses to load the sata drives. Grub is starting up on a regular ol' ide drive, then loading the kernel from there.

Also to show you what's going on here's the relevant section of the kernel log:

Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 66MHz system bus speed for PIO modes
ICH4: IDE controller at PCI slot 00:1f.1
PCI: Found IRQ 9 for device 00:1f.1
PCI: Sharing IRQ 9 with 00:1d.2
PCI: Sharing IRQ 9 with 02:05.0
ICH4: chipset revision 2
ICH4: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:DMA
SiI3112 Serial ATA: IDE controller at PCI slot 02:04.0
PCI: Found IRQ 9 for device 02:04.0
SiI3112 Serial ATA: chipset revision 2
SiI3112 Serial ATA: not 100% native mode: will probe irqs later
ide2: MMIO-DMA , BIOS settings: hde:pio, hdf:pio
ide3: MMIO-DMA , BIOS settings: hdg:pio, hdh:pio
hda: WDC WD400EB-00CPF0, ATA DISK drive
blk: queue c0385540, I/O limit 4095Mb (mask 0xffffffff)
hdc: ATAPI DVD-ROM 16XMax, ATAPI CD/DVD-ROM drive
hdd: LITE-ON LTR-48125W, ATAPI CD/DVD-ROM drive
hde: ST3120023AS, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
ide2 at 0xf8827080-0xf8827087,0xf882708a on irq 9
hda: attached ide-disk driver.
hda: host protected area => 1
hda: 78165360 sectors (40021 MB) w/2048KiB Cache, CHS=4865/255/63, UDMA(100)
hde: attached ide-disk driver.
hde: host protected area => 1
hde: 234441648 sectors (120034 MB) w/8192KiB Cache, CHS=232581/16/63

Aussie 06-04-2003 11:38 PM

Try 'hdparm -X66 -d1'.

coolersites 06-04-2003 11:54 PM

thanks, but yes that was as fun as all the other times

unfortunately I can't capture the screen quickly enough has the hard drive starts failing:

but executing hdparm -x66 -d1 /dev/hde (or any previously posted suggestion so far)

leads to an immediate fatal breakdown starting with:

"setting using_dma to 1(on)
blk: queue c0385de8, I/O ERROR ....... "


too much to write down, since it start scrolling by, and everything is shot by that time...

Aussie 06-05-2003 12:04 AM

Doing "hdparm -X66 -d1 /dev/hde > hdparm.txt" should write the errors to a file called hdparm.txt, you may see a hint to the problem there.

coolersites 06-05-2003 12:06 AM

Quote:

Originally posted by arxik
coolersites,
I'll try to compile the last 2.4.21-rc6 kernel in 2 days.
I'll keep u posted. From what I know right now, Sil3112 was included in 2.4.20-rc1 kernel. To get it to work u do need to set up the driver without -c -m16 and -u options. (the last one is important coz Sil3112 usually works on shared IRQ)

Speaking of DDR400 I meant that memory is not a bottleneck in linux. Also you cannot have 4 Gb DDR400 configuration. There is no high density 1GB DDR400 (only DDR266) . Another reason is CAS latency. System would be unstable with say 4 DDR400 chips unless u run it with CAS3 (and DDR400 with cas 3 runs as DDR266 with cas 2). But if u have only 2 DDR400 than it's ok

Arxik, wondering if you have made any progress here? Elswhere I have seen hints about problems with sata and shared IRQ, so I think you are onto something with your hints with the -u options, but I am wondering if:
a. there is a way to tell the ide controllers to not share IRQ, before that event actually occures
b. do both standard ide + the sata need the -u in order for this solution to mean anything?
c. is there any options configuring the sata setup in grub.conf? perhaps if these things were done earlier it would work...


BTW --- why would I want more than 2 GB DDR400
:scratch:

(lol)

quintonm 06-06-2003 10:05 AM

I am using RedHat 9.0 with the 2.4.20-8 kernel. I have been able to access the SATA drives without a problem, they have just been stuck in PIO mode. I have enabled 32 bit IO and udma mode 2 (X66). That is as fast as I can get the drive to run.

The switches: hdparm -X66 -c3 -u1

My speed is an incredible 3.35 mb/sec!!!!

If I try any of the other UDMA modes, I get the following log message: hdg: Speed warnings UDMA 3/4/5 is not functional. This is in additional to the following message written to the screen: HDIO_DRIVE_CMD(setxfermode) failed: Input/output error.

arxik 06-06-2003 12:56 PM

Quote:

Originally posted by coolersites
Arxik, wondering if you have made any progress here? Elswhere I have seen hints about problems with sata and shared IRQ, so I think you are onto something with your hints with the -u options, but I am wondering if:
a. there is a way to tell the ide controllers to not share IRQ, before that event actually occures
b. do both standard ide + the sata need the -u in order for this solution to mean anything?
c. is there any options configuring the sata setup in grub.conf? perhaps if these things were done earlier it would work...


BTW --- why would I want more than 2 GB DDR400
:scratch:

(lol)

coolsites,
I did see Sil3112 support in 2.4.21-rc7 kernel. I even compiled one on my home computer without problems. I didn't have time to do it on a workstation computer with a Seagate 120Gb SATA drive. Right now i'm very busy at work :-(

Speaking of -u option, as I mentioned before SATA controllers share IRQ with another devices. There is no way to reassign IRQ from Award BIOS (as in P4G8X motherboard). In any case, from what I know you need to do the following :
0) download 2.4.20 kernel and apply 2.4-21-rc7 patch
0a) don't forget to download Broadcom 1000 Mbit driver (for Deluxe model). You could include in into kernel.
1) in kernel configuration say "N" to "USE multy-mode by default" in "IDE, ATA " section
2) make sure you say "Y" to "Silicon Image Support"

After kernel compilation if SATA disk is still in PIO mode try: hdparm -X66 -d1
Don't go for higher UDMA.

I wish I could be more specific on this topic.

As for 4GB memory. Well If you have "all in one" set (mysql, apache, php, etc) you need a lot of memory. Also don't forget that apache 2 keeps child processes in memory. So if u set a web server u need at least 1 GB memory and optimal 3Gb

nefilim 06-08-2003 01:11 PM

I stumbled on this thread today, I need to buy another hdd asap, to install into a dual boot system. A7N8X deluxe mb, maybe I should rather use the SATA drive as the windows drive for now, I need more speed there anyways. Does anyone have any experience with the WD Raptor 10k rpm drive under linux ? (or with this motherboard...)

Thanks,
Peter

coolersites 06-08-2003 03:43 PM

arxik,

Was running rc6 and just upgraded to rc7. As suggested, I turned off "USE multy-mode by default" and already had the tg3 driver loaded. Recompiled, and same results as before.

I was able to force the IRQ to change by blocking and doing some manul assignment in the bios, but it didn't make an differance either.

Any chance you have a .config file from your compile you could supply?

If your install works, then the only thing left that I could imagine is a hardware failure (board or drive?). I have removed all pci cards (just a bttv tuner card in slot 1) - so I don't much else could be left to conflict. However I do have ide1 with a WD ATA IDE drive and a DVD, ide 2 with a CDRW (with scsi emulation turned on)... seems pretty standard stuff.

To diagnose the hardware, I guess I am going to test the drive with windoze.. if it works there....

:scratch:

gabriele_101 06-09-2003 11:58 PM

ABIT IS-7 SATA RAID 0 Support Under Mandrake 9.1
 
Delete

coolersites 06-20-2003 07:26 PM

Victory! (sorta)
 
Ok, well first - after years of using and caring for Redhat I decided that I was ready for an easier life (not due to the HD problems but due to problems keeping XMMS running smoothly).

So - I made a wild switch one morning to Mandrake... so far so good.

Anyhow... I came upon this thread today:

Thread at NForcersHQ.com

Basically to sum it up, I added the following line to my rc.sysinit :
rc.sysinit snippet
------------------------------------------------------------------------------------------
# Remount the root filesystem read-write.
state=`awk '/ \/ / && ($3 !~ /rootfs/) { print $4 }' /proc/mounts`
[ "$state" != "rw" ] && \
action $"Remounting root filesystem in read-write mode: " mount -n -o remount,rw /

echo max_kb_per_request:15 > /proc/ide/hde/settings
/sbin/hdparm -X69 /dev/hde
/sbin/hdparm -d1 /dev/hde
/sbin/hdparm -c1u1 /dev/hde

# LVM initialization
if [ -f /etc/lvmtab -a ! -e /proc/lvm ] ; then


And now I have success with DMA on my SATA drives. I also believe this solution would have worked equally well for Redhat.

As I suspected earlier - the timing of turning the DMA on is very important to the success....


Cheers! :cool:

Oh, BTW - here's the -tT readings:
/dev/hde:
Timing buffer-cache reads: 128 MB in 0.25 seconds =512.00 MB/sec
Timing buffered disk reads: 64 MB in 1.81 seconds = 35.36 MB/sec


I suspect these could be even higher with a newer kernel (I am on the default Mandrake 9.1 2.4.21-0.13mdkenterprise kernel) - but I notice increases when recompiling my RH kernel.


mobilagent 06-22-2003 02:55 AM

i875p MB + RH9.0 + 2WD Raptor =104MB/s
 
Worked quite nicely!

GiGabyte 8knxp i875p MB with on board SI3112 SATA, two WD Raptor SATA.

Both drives got recognized during installation, setup a software RAID0 then without any problems. I used Ctrl+Alt+F2 to switch to shell during installation and tested the HD speed, hdparm -t gives 1.8MB/s, manually enabled DMA by typing:
hdparm -X69 -d1 /dev/hde
hdparm -X69 -d1 /dev/hdg
now both drives runs at 54MB/s.

After installation, following the instructions provided by Silicon Image website and made all the settings permanent, now
hdparm -t /dev/md0 will give a stunning speed at 104MB/s!

here is the website:
http://12.24.47.40/display/2/index.a...=2&r=0.8054468

just browse into downloads->drivers->SiI3x12-> SiI3x12: Serial ATA (SATA) Linux IDE Driver

download the zip file on the right side of the page:
3x1x_x86_lin_rh90-dma-tweak.zip

You have all you need to fuel up the Raptors!

coolersites 06-22-2003 01:56 PM

Final Thoughs - Seagate SATA SIIMAGE implementation
 
Just a final note on this:


It looks as though for SEAGATE drives the following is necessary to add to rc.sysinit. It would appear this is a SEAGATE SATA issue, and may not be necessary with the WD Raptor drives.

echo "max_kb_per_request:15" > /proc/.ide/hdX/settings

Seems the kernel folks are just catching up on this:
(Alan Cox and Andre Hedrick). See:
http://www.cs.helsinki.fi/linux/linu...3-22/0760.html

For now, having a Seagate is just a little bit of a bummer!

-Aaron


All times are GMT -5. The time now is 05:20 AM.