Click to See Complete Forum and Search --> : ATA/100 Card (secondary controller) not working (Slack 9.1)


saceist
02-10-2004, 07:18 AM
Hi there,

I looked elsewhere, and can't seem to find an answer for this problem.

I have a set of 3 hard drives, 1 DVD Drive, and 1 CD-RW.

The third of my drives is a Western Digital 160GB drive, and to use this drive to its capacity, I have to have it on the controller card. The controller card, however, shows up with lspci as:
Unknown mass storage controller: Promise Technology, Inc. 20268 (rev 02)

Support for it is shown in the kernel, and there is no additional software available on the Western Digital site or the Promise Technology site.

I would like to get this drive going, and please be reminded that I am quite novice, and so please be descriptive with any help that you can offer.

Thank you,
Sacey Louerde

mdwatts
02-10-2004, 10:02 AM
Is that the Promise Ultra 100 TX2?

It should use the ataraid and pdc??? modules. Check to see if they are loaded with

lsmod (list loaded modules)

I cannot remember the correct module name for pdc??? as I'm currently booted to XP on my laptop as my main desktop (linux) will not boot this morning.

saceist
02-10-2004, 01:44 PM
Yep, same card...

Checked modules enabled thru kernel, but not loaded? Modules do not show up with lsmod...

No fun for me today...

~Sacey

mdwatts
02-10-2004, 02:15 PM
Ok now that I'm back on Linux (pc wouldn't boot earlier - had to clean memory modules).

Here are my modules for the TX2.


pdcraid 12640 5
ataraid 7236 5 [pdcraid]

saceist
02-10-2004, 03:27 PM
How would I get those to load?

j79zlr
02-10-2004, 03:47 PM
modprobe ataraid
modprobe pdcraid

Then run

depmod -Ae

saceist
02-10-2004, 11:38 PM
bash-2.05b# modprobe pdcraid
/lib/modules/2.4.22/kernel/drivers/ide/raid/pdcraid.o.gz: init_module: No such device
/lib/modules/2.4.22/kernel/drivers/ide/raid/pdcraid.o.gz: Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters.
You may find more information in syslog or the output from dmesg
/lib/modules/2.4.22/kernel/drivers/ide/raid/pdcraid.o.gz: insmod /lib/modules/2.4.22/kernel/drivers/ide/raid/pdcraid.o.gz failed
/lib/modules/2.4.22/kernel/drivers/ide/raid/pdcraid.o.gz: insmod pdcraid failed


At least the
modprobe ataraid
went alright with no errors...

~Sacey

mdwatts
02-11-2004, 12:19 PM
Ensure you have PnP OS disabled in the bios and then try loading the modules again if they don't automatically load after rebooting.

I've never had to manually load those modules as my distros (SCO Linux, SuSE 8.2 & SuSE 9.0) have always detected my TX2 and automatically loaded those modules during the boot process.

DMR
02-11-2004, 07:51 PM
In your first post you never indicated what your actual problem is. The fact that the Promise card is listed as "Unknown mass storage controller" is pretty normal; the system is recognizing the card.

Soooo,

What's the specific problem?

If you just can't mount the drive, what errors do you get when you try? If the problem is something else, be more specific.

mdwatts
02-12-2004, 10:46 AM
Originally posted by DMR
The fact that the Promise card is listed as "Unknown mass storage controller" is pretty normal; the system is recognizing the card.

Soooo,

What's the specific problem?


Mine says

00:08.0 RAID bus controller: Promise Technology, Inc. 20268R (rev 02)

as the modules are autoloaded on boot.

DMR
02-12-2004, 02:48 PM
Originally posted by mdwatts
Mine says

00:08.0 RAID bus controller: Promise Technology, Inc. 20268R (rev 02)

as the modules are autoloaded on boot. Mike- note the "R" at the end of your card's identifier #; that indicates that your revision of 100TX2 20268 chipset does RAID. Original/early versions of the 100TX2 with the straight 20268 chipset were simple IDE accelerators; they didn't support raid, and they were identified as "Unknown mass storage controller". The version of my 100TX2s use the straight 20268, and they both report themselves this way under 3 different Kernel versions. Of course, it's also possible that the version identifier string in the kernel has changed/will change over time as well.

:)

mdwatts
02-12-2004, 04:13 PM
Originally posted by DMR
Mike- note the "R" at the end of your card's identifier #; that indicates that your revision of 100TX2 20268 chipset does RAID. Original/early versions of the 100TX2 with the straight 20268 chipset were simple IDE accelerators; they didn't support raid, and they were identified as "Unknown mass storage controller". The version of my 100TX2s use the straight 20268, and they both report themselves this way under 3 different Kernel versions. Of course, it's also possible that the version identifier string in the kernel has changed/will change over time as well.

:)

Ok then David.

Prior to a certain 2.4/2.2 kernel version, you were required to use the following to get it working.


I am using an Ultra100 TX2 add-on PCI card which uses the Promise
20268 chipset. I downloaded 2.4.5, enabled the chipset support during
compile-time, compiled, and installed the shiny new kernel. So I
rebooted and it didn't recognize it, right? Same thing you're seeing.
So I put two and two together... (you were close when you said you
read the UDMA HOWTO) I think that's where I saw that you have to pass
bootup options to the kernel.

What options? Well a quick "cat /proc/pci" shows the card in the list
as well as the i/o ports it is using. There are 5 i/o ports shown
which go something like this:
a: 0x9c00
b: 0xa000
c: 0xa400
d: 0xa800
e: 0xac00

The options you pass to the kernel are:
ide2=a,b+2 ide3=c,d+2

So in my case:
ide2=0x9c00,0xa002 ide3=0xa400,0xa802

I put the line in my lilo.conf (under the correct image section) with
an append:
...
...
label=linux
append="ide2=0x9c00,0xa000 ide3=0xa400,0xa802"

Saved it, ran lilo, rebooted, and *poof*, the hard drive was
recognized.

I am using 2 hard drives, one on the motherboard's port and one on the
Promise controller. I dunno what you should do to get it to boot off
of it, though, but I suspect it would be a similar fix, except you
would specify ide0 and 1 (assuming the chipset was built-into the
motherboard).

I also should mention that this fix should work for any of the Promise
UDMA 202XX cards such as the FastTrack66 or 100 or the Ultra66 or
others... look at the largest black chip on the controller to see
what chipset you are using.


saceist ... Anything in your logfiles on hde/hdg etc. (besides the other 2 HD's)?

/var/log/messages
or
dmesg

DMR
02-12-2004, 05:13 PM
Hey Mike. I don't know where that quote came from, but yes- now that I think about it, that was true of the version of kernel (early 2.4.x I think) I was using when I got my first 100TX2. It had nothing to do with raid; earlier kernels didn't recognize the card at all without doing that friggin' I/O dance described in the quote. I remember finally getting it to work by doing some version of that port-juggling described in your quote, but I also remember that it took a few tries to get it right.

In saciest's thread title s/he indicates Slack 9.1 though, so I'd expect the kernel version to be current enough not to have that problem. My guess (and you can whack me with The Wet Trout if I'm wrong) is that the drive is there and we just have a mounting problem or something similar.


saciest:

In Linux, drives on a controller card will be named /dev/hde -> /dev/hdh. Your drive isn't partitioned and formatted yet so you won't be able to mount it, but you can see if the system knows the drive exists by opening a terminal window and running the following command:

fdisk -l
(the " l " is a lower-case "L")

That will list all recognized drives in your system and all partititions on those drives. If you at least see a reference to hde, hdf, hdg, or hdh then you probably just need to partition and format the disk.