Drivers for Promise PDC42819 RAID Controller on MSI K9A2 Platinum Motherboard
I have an MSI K9A2 Platinum motherboard which comes with an Promise T3 FastTrack PDC42819 RAID controller that for the life of me I can't get Linux to detect. I have two 500GB hdds that are detected during boot, just not seen by Linux. Does anyone know the correct driver to use, or if that particular controller is supported at this time?
|
Welcome
1st, welcome to LQ. I hope you both get & give good answers here. Before I start on what I found about your problem, I'd like to make 2 suggestions about what to post: 1. Post links to mfr.'s h/w info. -- it will save prospective helpers time & thus make it easier (read more likely) to try to help. 2. You are expected to try to solve your problem yourself before you post, Google, Google Linux, & searching LQ are good ways to this. If you then posted your searches, your helpers would get up to speed on your problem (& therefore be more likely to try to help) much quicker, not to mention know that you did already try to figure it out on your own. Links
Good News It sounds like there is a Linux driver. Bad News It sounds like there is a Linux driver; & that means you are probably dealing w/ "fake RAID", see the Wikipedia RAID article or search LQ for "fake RAID". Good News Most "fake RAID" chips can be used as plain multi-disk controllers for Linux software RAID, which is considered very good. |
...
Search Google? Yea gee...didn't think of that. I ended up where you pointed to shortly after posting the question. Unfortunately the source to the t3sas driver (which is needed for that particular controller) will not compile against the 2.6.24.2 kernel. As far as this place is concerned, I was more or less hoping for quick response somewhat to the degree of "use X module found [here]".
On that note I have to say that I feel rather sorry for those new to Linux coming here for answers. If the philosophy here is to research the problem yourself, then why come here at all? With enough searching/studying, the solution is bound to present itself... To be helpful to others with the same question I will add the following: For people with the new MSI K9A2 Platinum (V1) motherboard with the Promise T3 RAID controller / FastTrack PDC42819 you will need visit www.promise.com, go to the driver download section and select FastTrack SAS. To get the source you'll need to select "Other" as the operating system. The actual module you need is called t3sas. Please note that as I mention above, it will not compile (by itself anyway) using the 2.6.24.2 kernel at the time of this post (2/18/2008). If you use an earlier kernel version, then there's a good chance you'll have better luck compiling the module. |
Quote:
Colin |
Great news! I have the promise driver t3sas.ko compiled on the 2.6.24 kernel. There were a few errors that had to be corrected due to changes from the 2.6.18 to 2.6.24 versions.
I started by getting the driver compiled on a supported kernel 2.6.15 just so I could see what the output of a successful compile looks like and ensure that I could fdisk my RAID partition. I then got it working on 2.6.22 (ubuntu 7.10). So I took baby steps in getting to 2.6.24. I used a ubuntu LiveCD (6.06LTS). Using the live cd I downloaded the kernel source and build-essential packages (also ncurses for menuconfig). I used a flash drive to hold the sources and driver build. I made mrproper, copied the config for the live cd from the /boot dir, made menuconfig and saved the config (i.e. no changes but rewrites the .config file.) build the kernel for 30 secs or so then Ctrl-c'd. With a good kernel source dir setup I was ready to compile the kernel module and debug. (dont forget to link via ln the /usr/src/kernel-source.2.6.24.x to /usr/src/linux. The changes amounted to the following: 1. Change an include of /linux/ioctl32.h to /linux.ioctl.h 2. a struct dereference for ->sg_page is now via sg_page(sg) 3. In interrupt define flag SA_SHIRQ is now IRQF_SHARED I will post a diff file soon enough. The promise driver on a supported kernel produces a MEGA amount of warnings even for a supported kernel version. After realizing that in 2.6.15, I felt like I might have a change at this! I am now installing using the ubuntu alternate install. During the install, after the network is initialized, I go to another VT and copy my driver over to the modules dir where the install uses to detect the RAID controller. Then VT back and continue the install and partd. Then before rebooting I have to VT back and regenerate the initrd. I found a really good post on another site on how to do this. When I finally get my system installed I will post the details. |
Got it! Successful kubuntu installation with latest kernel 2.6.24-11 64bit with RAID5 on 3x 320GB SATA, directly booting using the RAID array.
Phew! |
I have posted the *preliminary* source for the driver. You can download it on my website at:
http://www.colinmackenzie.net/ |
That's great...I had pretty much given up on the idea of using those two ports. I'll be sure and test your modified source later this evening on a 2.6.24.4 kernel and see what I can come up with.
|
Everything compiles fine on 2.6.24.4. However...it's seems you've centered the module around 64 bit operations. This is not conducive to 32bit users. Upon trying to insmod I received an undefined reference to __udivdi3. Thanks a lot for your effort though. Perhaps you'll be able to resolve this in future updates to the source.
|
I am running a 64bit kernel, thus the error. Remember, I am not the original maintainer, I simply gave up on finding a solution to the problem and dug into the source code. I have a 32bit Ubuntu machine I can build it on to test. Might as well since I am familiar with the source now. I want to get rid of the compile time warnings anyway, clean them up.
Give me a little time and I'll have it. Are you running the Promise card now? Colin Quote:
|
No. As of now it's disabled. No drivers to use it. I'd be happy to help test things out though.
|
Quote:
I would bet this is not the problem but still a problem with the source code, but lets cover our bases anyway. Colin |
I tried all of the above. I'll play with it a little more this evening and post the results.
|
Well...the link to the driver appears to be down. I'll try again later this evening and see if it's back up again.
|
Quote:
Also, I just got around to getting the build environment setup on my old 32 bit station and compiling the TX drivers on it. First thing I noticed is that the ftlib tries to build with the ftlib.obj in the tx4650 root dir, which I have packages as 64bit version. So I had to copy that from the ftlib dir and overwrite, build then succeeded. You most have figured this out to as you got the module built. I will fix this somehow in the Makefile. I am not getting the same undefined symbol you are. I am getting sg_page symbol not found. I recognize this symbol as part of my update, it was a kernel changeover in 2.6.22 (I believe) which I am running 2.6.22-14. I converted the code sg_page(sg) back to sg->page and I got the module build and insmod'd without error. I will have to upgrade my kernel to 2.6.24-4-x86 to see how it builds on that. I have a feeling that your compile problem is related to your kernel config. I think I had to change some kernel settings to get it to compile on my machine. Here are a few config options that I remember were relevant: Symmetric Multiprocessing Support - on Preemption support - voluntary I think the most important one was the SMP support and should be on. If you send me your email in a private message, I will send you a copy of my current kernel config for my 64 bit station. Other than 64bit cpu selected, the other options would be the same. I will try to get my kernel upgraded this weekend on the 32bit workstation. Colin |
All times are GMT -5. The time now is 05:57 PM. |