Update. Thanks Aur�lien Gouny for your assistance. You're a saint.
I have gotten both i2o_block and pti_st drivers to work, but with poor performance. I have it installed under a vanilla 2.4.20 with all scsi and i2o options as modules. Someone reported on a forum http://www.bsdquestions.org/questions/history/21514 that i2o didn't work well when compiled into the kernel. MB: Asus A7M266D CPU: 2x AMD MP2200+ RAM: 512MB DDR ECC SX6000 + 128MB ECC 4+1 raid5 on IBM 120GXP 120MB disks To get i2o working you have to have the sx6000 bios in "Other OS" mode. If I use "Linux" mode I get problem loading the i2o_pci module, and if I use "Windows NT" I can't load i2o_block module. The i2o modules have to be loaded in a certain order: i2o_core, i2o_pci, i2o_block. In that order. I usually load i2o_proc and i2o_config as well. Then I can see info under /proc/i2o/ Now the card registers as block device major 80 and minor number 0, partitions minor 1, 2, etc. It shows up under /dev/i2o/ Using the pti_st driver I can set sx6000 bios to either "Other OS", "Linux" or "Windows NT". All three work, but "Other OS" setting has worse performance than "Linux". Loading modules scsi_mod, sd_mod and pti_st I get the card to register block major 8 minor 0, partitions minor 1, 2 etc. They show up under /dev/sda, /dev/sda1, ... To get this far I had to somehow shut down IDE support for the drives. During boot the kernel tries to load up the drives as hde, hdg, hdi, hdk, hdm, hdo. As separate drives, and run partition checks on them. Not good since they are part of a raid array. So I took the one measure I could think of: boot parameters: hde=ide-scsi hdg=ide-scsi ... There has to be a better way to do this. Any suggestions? I also had the problem of the kernel reporting something about "lost interrupt" to the disks connected to the sx6000. This actually hung the boot process when the kernel was trying to do partition checks. The kernel stopped reporting this when setting to ide-scsi. But I think it is an indication of a more serious error. Perhaps that's why I get so poor performance. Now onto performance: Doing 1GB writes and reads: dd if=/dev/zero of=/mountpoint/onegig bs=1024 count=1048576 dd if=/mountpoint/onegig of=/dev/null bs=1024 count=1048576 For comparison: I have my system on a separate IBM 180GXP 120GB disk. write finishes in 26s, which means a write throughput of 39MB/s read throughput 30MB/s These numbers seem a bit large, and strange. Write throughput is higher than read. Could someone shed some light here? Raid performance: sx6000 bios "Other OS", i2o_block driver or pti_st driver write throughput 4.9MB/s read throughput 0.48MB/s Really crappy! And the read is about 10 times slower than write. Both i2o_block and pti_st performs equally abysmal. sx6000 bios "Linux", pti_st driver write throughput 7.2MB/s read throughput 34MB/s Better but not good enough sx6000 bios "Windows NT", pti_st driver performance is comparable but slightly worse than with the "Linux" setting. With "Other OS" bios setting the raid card emits three short beeps every 12-16 seconds, with "Linux" setting it beeps once every 2 seconds. The manual doesn't say anything about this, but it must be bad. I guess it's related to the "lost interrupt" stuff? Promise has a firmware update (build 77) on their page. It supposedly fixes some problems with MPX mobos. Flashing the card with the incorrect bios setting ruins it. It's a bug in the patch according to promise support personell. I'm going to check with promise support to see if this update will fix the problems I have with throughput, beeps and "lost interrupt", and to get the correct upgrade procedure. I'll post again when I've got the info I need from promise support. Jimmy -- [EMAIL PROTECTED] mailing list
