LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   Promise RAID FastTrak on SuSE Linux 9.0 (Custom Kernel) (https://www.linuxquestions.org/questions/linux-hardware-18/promise-raid-fasttrak-on-suse-linux-9-0-custom-kernel-151652/)

erlend 02-28-2004 04:42 PM

Promise RAID FastTrak on SuSE Linux 9.0 (Custom Kernel)
 
Hi folks,

I've done some searching, and found no real solution to this problem, wondered if anyone had any ideas?

This morning I decided to re-compile myself a kernel, using the kernel-source-2.4.21-166.i586.rpm package from SuSE. The actual built went ok (to the best of my knowledge)

[I did:
make make mrproper, make distclean, copied my old .config file across, ran make xconfig to change some options, ran make oldconfig and then make dep... etc]

Anyway, the problem is my RAID Controller card (Promise FastTrak TX2Plus S150). I compiled everything as modules, as seems to be popular with SuSE. And after using the source (partial source for fasttrak driver from promise's download page) to get ft3xx.o, I put the module in /lib/modules/2.4.21-166-smp4G/kernel/drivers/scsi/ and ran depmod -v 2.4.21-166-smp4G to compute dependancies before running mkinitrd -k /boot/vmlinuz-2.4.21-166-smp4G -i /boot/initrd-2.4.21-166-smp4G

And then restarted...

When I got to the loading screen, the fastTrak driver said:

FastTrak initialize ...
FastTrak initialize ...
FastTrak initialize ...
FastTrak initialize ...
ft3xx: camATAReturn Error SubmitChannel (DEV3)

It was also probing the drives, and reported "offline".

Once it decided to stop i got:
Kernel Panic: Unable to mount root on VFS

I don't know if this is something i have done (I am after all fairly new to linux), or if there is some fault with the driver?

Could anyone help please?

Thanks,

Erlend

screwbottle 03-03-2004 01:58 PM

Promise RAID FastTrak on SuSE Linux 9.0
 
Hello Erland

Well it seems I have a similiar problem to yours. The only difference is that I have a Chaintech 7NJS Ultra Mobo with the onboard Promise Fastrack 376 controller. This, I am told from the folks at Promise, is compatible with the TX2 150 Linux drivers that they offer.
I have two Western Digital 160GB SATA 7200RPM drives attached in a dual boot configuration with WinXP. WinXP is mapped as SDA1 and the other drive I have partitioned for Linux, occupying SDB1 (swap 1GB), SDB2 (root 60GB) and SDB3 (NTFS 99GB).
My kernel version is out the box 2.4.22-99. I first get an error message that the Promise driver ft3xx module is tainting my kernel and gives a web link to read up about this. It then proceeds with "VFS: Cannot open root device "SDE1" or 8:44. Please append a correct "root =" boot option"
It then gives various options of booting such as "Try booting with PCI=no ACPI, ACPI=HT, or ACPI=off on the command line" Finally I get the "Kernel Panic: VFS: Unable to mount root FS on 08:44"
I have, after experimenting with the given boot options, of getting further with the "root=dev/sdb1" option. This at leasts gets me to a "none:>" login screen. This has started me thinking that there is a drive mapping problem either in the Promise Linux driver or in SuSE 9.0 itself. I did after one of my re-installations using the "root=/dev/sdb1" option, get a nice clean boot all the way to the GUI login screen and login as root and my user account. But I broke the golden rule "If it ain't broke, don't fix it", and experimented to find out why this installation worked. Subsequently I cannot get back to this status, even after a fresh install. So still looking into this.
I am not getting much joy from either SuSE themselves, after three support emails sent to them and no response in three weeks, or Chaintech, or Promise. Promise say that all onboard chipsets are the responsibility of the board maker. Chaintech say that they have limited support in Linux.
So as a conclusion at the moment, is that I am up the proverbial creek without a paddle as to the support of these three players. I don't think it has to do with the version of the kernel you are using eiither, but I do believe it is the Promise module and the way it interacts with the kernel.
So I like Erland am also asking for any other help out there. !!!!!!!!!!!!!!!!
Regards

erlend 03-04-2004 04:36 PM

The error message about it tainting your kernel isn't really an error, I've had the older version of my driver working on an older kernel, and it always said that at startup. All it means is that the driver has not been released under the GPL Licence.

As for the rest - beats me!

Erlend

screwbottle 03-05-2004 01:39 PM

Thanks for that Erlend. I have sent another support email to Promise as I found a few other posts on this site with similiar issues to ours with Promise controllers. Just other disty's of Linux. They say that their problems definitely lay in the Promise driver which is being fixed in kernel 2.6. They all reckon we need to keep emailing their technical support en masse until we get answers and possibly a driver that works.
I have said to Promise that this is not good enough as I have laid hard cash for this version of SuSE. Why must I now wait for 9.1 and pay more cash for the upgrade to fix this problem. I believe 9.1 will be available somwhere around May / June this year.
Any way good to chat. Thanks for the reply. I will watch your thread and if I get any joy from Promise I will let you know

Screwbottle (Andrew)

erlend 03-06-2004 08:36 AM

Hi again,

Yeah, e-mailed them almost a week ago, got no response yet.

How to you mean it will be fixed in 2.6.x? Will the driver come with the kernel (i.e. non-proprietory)?

I've traced the error to scsi modules:

When I run depmod -ae -F /boot/System.map-2.4.21-166-smp1G 2.4.21-166-smp1G I get:

Unresolved symbols in ft3xx.o
scsi_unregister_module
scsi_register
scsi_register_module
scsi_unregister

These errors shouldn't appear, since I have scsi enabled in my kernel (the following is an extract of the .config file I used to build my kernel):

-----extract from .config file-----
#
# SCSI support
#
CONFIG_SCSI=m

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
CONFIG_SD_MAX_MAJORS=144
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not set
CONFIG_CHR_DEV_SCH=m
CONFIG_CHR_DEV_SG=m
-----

I can't see why that doesn't work, unless the driver source is just faulty?

Anyway, I'm sure it'll work on day!

Erlend

PS: I just re-read your post above. You said that SDB1 is your linux swap partition? You can't mount that as root, it is just your swapfile partition. I think you should be mounting SDB2, try root=sdb2 in your bootloader (you should be able to specify this at startup, so that you don't need to reconfigure your bootloader until you are sure it works).

screwbottle 03-06-2004 12:30 PM

Extract:-
-------------------------------------------------------------
Promise driver which is being fixed in kernel 2.6.
-------------------------------------------------------------
I have seen on other posts in this forum that Promise are supplying partly opensource code to be included in the 2.6 kernel. They also say the Linus Torvalds himself has been intervening on behalf of those of us with this problem. So yes it looks like the drive will be compiled into the kernel. I do know from the local distribution and support agents here in South Africa for SuSE say that 9.1 will have the new 2.6.xx kernel in it.

By the way I have established a good relationship with one of these distributors who have direct access to SuSE in Nuremberg, over the last day or two. I am doing a Linux+ certification with them. While I was signing up for the course during April, I started speaking to their chief technical trainer, and he volunteered to help me until I have a working system.

I have given him my problem so now I should get better help from SuSE. Let's see what pans out over the next few days. Will have to wait from Monday onwards. As I said whatever I get I will pass on to you and see if you can apply it.

Extract:-
----------------------------------------------
-----extract from .config file-----
----------------------------------------------

Have you made sure that your SCSI option is on in your BIOS as one of your boot options i.e. Also that your PROMISE option is to "on" or "auto".

boot device 1 = FLOPPY
boot device 2 = HDA1
boot device 3 = SCSI
boot device 3 = CDROM

I found this to be one of my problems. I originally had the order as HDA1, CDROM then FLOPPY. I don't have any PATA (legacy interface) drives attached to the IDE interfaces, only 2 * SATA 160GB attached to the serial intefaces. Once I changed my order to SCSI first, then CDROM then FLOPPY I could see my drives correctly in Linux.

Your .config file seems fine, can't see any fault there.

By the way what is your configuration, single processor or dual processor, AMD or Intel. I'm intrigued as I notice you are using the SMP (Symmetrical Multi Processor) kernel, for two processors systems. I know this is correct if you have the new Intel P4 with HT technology, as they are basically one package with two processor cores. A lot of people don't know this and both in MS and Linux, there is code to enable this second core and have virtually a two processor system in one socket. I am experimenting with a system at work which has two processor sockets, and theoretically if I use two of these HT models and enable the code, I should have four actual processors. I have seen a lot of talk about this on the net as well. Awesome !!!!! can you imagine the power. Well I'll see when I get the time next week or so. Out of six system I have at home (one for each of my four kids plus my system and my laptop) I only have one Intel system, my laptop. The rest are all AMD. Sorry got a bit off track there.

I use AMD (XP 3200+), so I use the AMD optimized kernel.

Extract:-
------------------------------------------------------------------------------------------
I did after one of my re-installations using the "root=/dev/sdb1" option,
------------------------------------------------------------------------------------------

OOPS, typo, well spotted. Actually I did type "root=/dev/sdb2".

I have picked up a few other tips from the other forums on this site that I will apply this weekend. Just type in the search bar "Promise" or "Promise Fastrak", and you will see how many other forums are running, some of them with long threads, on the problems that others like you and myself are having with Promise controllers.

So we are not alone.

Cheers, Going to watch a movie on telly.

Screbottle

erlend 03-09-2004 05:46 AM

Just tried the 2.6.3 kernel. There is indeed SATA support there. I answerred y to CONFIG_SCSI_SATA_PROMISE which (although it has no help associated with it) I think might be for FastTrak cards.

I rebooted. It saw my hard drives (whoohoo!), but still kernel-paniced for some reason? Here is an extract of the startup:

-----Startup Details-----
Console switching to colour frame buffer device 148x5
pty 256 Unix ptys configured
scsi1: sata_promise
Vendor: ATA model: ST...
Type Direct-Access
Vendor: ATA model: ST...
Type Direct-Access
SCSI Device sda: 23475000 (120000MB)
SCSI Device sda: drive cache: write through
sda: sda1 sda2 sda3 sda4 <>
Attached scsi disk sda at scsi0, channel0, ide0, lun0
SCSI device sdb...
...
md: raid0 personality registered as nr 2
...
Software suspend has malfunctioning SMP support. Disabled
...
md: Autodetecting RAID arrays
md: autorun...
md: ...autorun DONE
Kernel panic: VFS: Unable to mount root fs on sda3
-----

I don't know why this would be. I think everything I need for startup is compiled into the kernel (I don't have ext3 in the kernel, as far as I know I don't use it). I've also heard that I should be accessing the drive like /dev/ataraid/d0p3, or /dev/md2. But I don't really know, and these haven't worked for me.

This one still sounds kinda siimilar to your problem.

Erlend

PS: Have you made an initrd? You will need one to use the ft3xx driver.

screwbottle 03-09-2004 03:21 PM

Where did you get the kernel package from, SusE or kernel.org.

Yep I think you are now where I am with this error. What partition is your linux on as I can see you have five partitions or two drives with four plus one. Have you tried the "root = /dev/sd??".

There can be no harm in having ext3 in the kernel. SuSE uses the reiserfs journaling FS but I believe it is an improved FS from ext2 and ext3 for workstations. And I see initially in my startup that it sees my linux partition as ext2. Then later it indicates it is mounting reiserfs.

Below is my complete error from start of Virtual File System to kernel panic. This is also what I sent out to support at SuSE and Promise. See my comment in the first line where my boot acknowledges ext2

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

VFS: Mounting Root (ext2 filesystem) ??? ((strange as SuSE 9.0 uses reiserfs (my comments))

Loading kernel/drivers/scsi/scsi_mod.0

SCSI subsystem driver revision: 1.00

Loading kernel/drivers/scsi/sd_mod.0

Kmod: failed to exec /sbin/modprobe –s –k scsi_hostadapter, errno=2

Loading kernel/drivers/ide/raid/ataraid.0

Loading kernel/drivers/ide/raid/pdcraid.0

/lib/modules/2.4.21-99-athlon/kernel/drivers/ide/raid/pdcraid.0: init_module:

Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters. You may find more information is syslog or the output from DM ESG.

Loading kernel/fs/reiserfs/reiserfs.0

Loading kernel/drivers/scsi/ft3xx.0

Warning: loading /lib/modules/2.4.21-99-athlon/kernel/drivers/scsi/ft3xx.0 will taint the kernel. Non-GPL license – Proprietary. See http://www.tux.org/lkml/#export-tainted for information about tainted modules.

Promise Fastrak TX4000/376/378/S150 TX series Linux driver version 1.00.0.19

SCSI0: ft3xx

Vendor: Promise Model: 1+0 Stripe/RAID0 Rev:1.10

Type: Direct Access ANSI SCSI rev:02

Vendor: Direct Access ANSI SCSI rev:02

Type: Direct Access ANSI SCSI rev:02

Attached SCSI disk SDA at SCSI 0, channel 0, id 0, LUN 0

Attached SCSI disk SDB at SCSI 0, channel 0, id 1, LUN 0

SCSI Device SDA: 312581632 512-byte HDWR sectors (160042 MB)

Partition check SDA, SDA1

SCSI Device SDB: 312581632 512-byte HDWR sectors (160042 MB)

Partition check SDB, SDB1 SDB2 SDB3

Module ft3xx.0 loaded, with warnings

VFS: cannot open root device “SDE2” or 08:44. Please append a correct “root=” boot option. Try booting with PCI=No ACPI, ACPI=HT, or ACPI=off on the command line.

If one helps, please report the following lines:

DMI: BIOS: Phoenix Technologies, LTD, 6.00PG, 09/15/2003

DMI: System: , ,

DMI: Board: , nVidia-nForce,

Kernel panic: VFS: Unable to mount root FS on 08:44

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

I think you are close, a little more tweaking and you're home.I will wait for your response on where you sourced your kernel and then try it on my installation. Maybe even enabling ext3 in your kernel will do it.

Extract:-
-----------------------------------------------------------------------------------------
I've also heard that I should be accessing the drive like /dev/ataraid/d0p3, or /dev/md2.
------------------------------------------------------------------------------------------

Don't agree. Unless you are running your drives as RAID0 (2+0) or 1. And it looks like you are running them like me 1+0 RAID i.e. not actual RAID, simply using controller to access drives singularly.

Thanks for the heads up on initrd. I haven't done this yet. Completely slipped my mind to do it.

Catch you on your next reply.

Screwbottle

erlend 03-10-2004 05:29 AM

Exciting news...!
 
It works!!!

The 2.6.3 source I got from SuSE. But I gave up on that, since I think SATA RAID may not be supported (keep getting conflicting stories).

Anyway, I read a thread somewhere talking about the TX2000, which uses similar drivers. They were having trouble getting ft3xx.o to mount. But one of them said it only worked with 2.4.22 and 2.4.23. I downloaded the vanilla source code built it (twice, since the first time I had left out initrd support!) and built the ft3xx.o module. I noticed that the filesize of ft3xx.o was slightly bigger 240.4k instead of 240.2k.

Anyway moved the module to /lib/modules/2.4.23/kernel/drivers/scsi

ran depmod -ae -f /boot/System.map-2.4.23 2.4.23

then mkinitrd -k /boot/vmlinuz-2.4.23 -i /boot/initrd-2.4.23

Restarted, and it worked!

Are you sure you are mounting the correct disk? I mount /dev/sda3; sdb3 wouldn't work.

Don't really know whether I have 2+0 or 1+0?? What's the difference?

Cheers, and good luck,

Erlend

screwbottle 03-11-2004 01:23 PM

Brilliant, told you you were a short way away.

I trust that you got the vanilla source code from kernel.org. Actually you are a little ahead of me as a newbie. I can do many other things in Linux but I have not yet attempted a kernel compile. This is going to be my fiirst attempt at building the kernel. I have grabbed as much reading info as I could off the net to send me down this merry path. Did you also get the ft3xx.0 source from Promise.

I will follow your instructions as I should get the same results, seeing that we are both running SuSE

Extract:-
-----------------------------------------------------------------------------------
Are you sure you are mounting the correct disk? I mount /dev/sda3; sdb3 wouldn't work.
------------------------------------------------------------------------------------
Yes, if you see my posts above I am running two SATA hdd's so SDA is my WinXP drive and SDB is where I have installed my Linux. SDB3 won't work for you if you do not have two drives installed on the SATA controller. I am running dual boot.

Extract:-
-------------------------------------------------------------------------------------
Don't really know whether I have 2+0 or 1+0?? What's the difference?
-------------------------------------------------------------------------------------

As mentioned above if you only have one drive on the controller then you automatically mount RAID as 1+0 (not true RAID). It actually means 1 (one device installed) + 0 (type of RAID configuration). You need two drives minimum to have a RAID running. There are actually four types of RAID. RAID 0 which stripes the data evenly across the two drives, great for performance as it virtually giives you double the existing drives performance and capacity i.e. two 80GB will give you a single 160GB. RAID 0 is seen as a single drive in any O/S. But this RAID is risky if you crash as the data is lost. Very difficult to recover RAID 0 data. RAID 1 is called mirroring. The data is copied identically across the two drives. But as above example, two 80GB's installed would be seen by the O/S as a single 80GB, due to the second drive acting as a backup of the first device. This is great for backup redudancy as a crash can be restored from the working drive. Also performance is halved due to the drive working in tandem to make sure that the data is "mirrored". Then there is RAID 5 an advanced form of RAID 1 and finally RAID 10 which is a combination of RAID 0 and 1 hence the number 10.

So if you acquire another equal HDD to your existing one, then you will see your controller say 2+0 or 2+1 indicating two devices and RAID 0 or two devices and RAID 1, if you choose to set up a RAID. If you attach the two drives to the controller but want them functioning as two seperate drives then you set up 1+0 on both of them. Remember, to set up a RAID, they have to be as evenly matched as possible otherwise you lose space and performance in creating the RAID. A RAID can only be created from the smallest drive attached i.e. a 60GB and a 80GB in any RAID will use 60GB on both drives, the 20GB is waisted.

Anyway I am chuffed that you got it working, that means with a little more effort I will get it working too. Wish me luck.

Will keep you posted when I have success.

Cheers
Screwbottle

erlend 03-12-2004 05:01 AM

Hi again,

I have 2+0 raid.

Here is the exact kernel I used. I haven't applied any patches.

http://www.kernel.org/pub/linux/kern...2.4.23.tar.bz2

When recompiling the kernel I had to make sure (this will probably be the same for you):

Generic SCSI support
SCSI Disks
Reiserfs (root filesystem)
ext2 (even though you don't use it as a filesystem, you will need this to read the initrd)
Ramdisk (and initial ramdisk) support

are all in the kernel (not modules).

That way when you make the initrd you don't need to worry about the order you load modules (sd_mod and scsi_mod must be loaded before ft3xx).

To create the ramdisk...
After building (and installing) your new kernel, but before restarting.
Build the ft3xx.o module according to the instructions in the readme file (make clean all)
Copy this to /lbi/modules/2.4.23/kernel/drivers/scsi
Make sure INITRD_MODULES="ft3xx" in /etc/sysconfig/kernel.
Run depmod -ae -F /boot/System.map-2.4.23 2.4.23 (if you get any unresolved symbols don't continue until you fix them)
Run mkinitrd -k /boot/vmlinuz-2.4.23 -i /initrd-2.4.23

The initial ramdisk should be just slighly larger than the ft3xx.o module you put in it (assuming this is all you put in the ramdisk).

Good luck,

Erlend

cmnaumann 03-19-2004 07:14 AM

Hello!

This was interesting news that I read here. I am really interested in getting this kernel! Is there a way?

To explain a little bit (maybe for other people having similar problems): I am trying to get a system running stable having four SATA drives (2 * 120 GB WD and 2 * 200 GB WD) on an onboard Fastrack 150 - 4 channel. The MB is an ARIMIA (Rioworks) HADAMA. On one of the 120 GB drives a SUSE 90 64 bit is installed with latest patches I could get via Internet yesterday. My problem is, that every time I was running an exhaustive disk IO-Test on more than one disk at the same time the system chraches. Every disk allone will run stable with this test; and the test itself is reliable on SCSI and IDE systems as well. I also crosschecked with another MB of the same type.
After hours of testing I found, that on a RED HAT system that was booted on that node via PXE and TFTPBOOT and with it´s appropriate drivers loaded, the test still showed errors but did not crash the system. So I think that this is a driver issue - and I hope that the new kernel might help.

For this system is a testsystem for a new client I can not wait until the official release date.

Best regards and thanks in advance - matthias

erlend 03-19-2004 10:47 AM

Hi there,

Which kernel is it you want? If you are using SuSE Linux 9.0 (with kernel 2.4.21) the procompiled ft3xx.o driver provided on Promise's download page should work ok. If you are using a later kernel version then you will have to built the ft3xx.o modules yourself (not hard, just build a custom kernel then [before restarting, esp if /boot is on your raid drive], uncomment the appropriate line at the bottom of the driver source makefile, then type make clean all. Then copy the resulting ft3xx.o module to your new kernel's module directory [/lib/modules/.../kernel/drivers/scsi]). You can also apply the libata patch (from kernel.org) to certain kernels to include the sata_promise.o module.

The 2.6 kernel has the libata patch in it. This allows linux to see all the drives conencted to your Promise controller as individual drives (so if you want raid, you set up software raid). To enable it include the SCSI_SATA_PROMISE in your kernel, as well as scsi support and software raid support if you are using raid.

I downloaded the 2.6.4 kernel from ftp://ftp.suse.com/pub/people/mantel/next/i386/

I don't know how reliable the above kernel is.

Good luck!

Erlend

cmnaumann 03-31-2004 03:14 AM

Hello!

Thanks for your reply, and sorry for the delay. We tried all newest kernels availlable. But nothing resolved our problem. To bad - but thanks again for your effort.

best regards - matthias

eworker 05-04-2004 10:39 AM

the same problems with 2.4.21 kernels
 
I have the same problem with Suse Enterprise 8.
My hardware config is FastTrak 2000 + 2 x Maxtor 200GB (6Y200P0) + 2 x Maxtor 120GB (6Y120P0). I downloaded and compiled last version of 2.4.21 kernel available for SLES8, last version of drivers from promise.com (1.03.0.2). If I run:
depmod -ae -F /boot/System.map-2.4.21

I also get:

depmod: *** Unresolved symbols in /lib/modules/2.4.21/kernel/drivers/scsi/FastTrak.o
depmod: scsi_unregister_module
depmod: scsi_register
depmod: scsi_register_module

After mkinitrd, and reboot, both of my RAIDs (stripe/RAID0) are visible, everything looks OK except one small message in dmesg:

kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2

I was able to create partitions and file systems and to use my raids. The only problem is that data is corrupted after copying some bigger file. Then I get following errors:

FastTrak : Register Status - BM(0x64) CMD(0x51) Error(0x84)
FastTrak| 3|4119|Error|ECC Error:Disk Maxtor 6Y200P0 (Channel 2/Master) at LBA 0xde44780
DebEngFun : bReadErrorRegister(dev3) = 0x84
wReadLBA_Register - bCh(0x1) bID(0x0) LBA(0xe44780)
wReadLBA_Register - bCh(0x1) bID(0x0) LBA(0xe44780)
scsi0: ERROR on channel 0, id 1, lun 0, CDB: Read (10) 00 1b c8 8e df 00 00 f8 00
Info fld=0x1c88f00, Current sd08:11: sense key Medium Error
Additional sense indicates Id CRC or ECC error
I/O error: dev 08:11, sector 466128544
....

I am convinced that this is the problem with driver since I spent quite some time testing any other part of the box (full-surface tests off all drives, memory/cpu tests). I also exchanged the main board and also try to use another pair of 120GB Seagate drives.

Since I am quite angry about this issue and I need running box, I am now thinking about buying any other Ultra-ATA controller which is having better drivers for Linux - Any proposals.

Thanks,
Vladan


All times are GMT -5. The time now is 04:03 PM.