[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Using the Adaptect ASH-1233 IDE Controller Card With Debian Linux



I'm posting this to Debian Users because I've had this problem, found almost 
nothing on it, and figure I'm not the last person that will run into this 
problem, so I hope this helps anyone else using this hardware.  It works 
well, but just needs some initial tweaking.  While there are a number of other 
IDE controller cards that work almost perfectly with Linux, sometimes we're 
forced to go with what is available.

Problem: Can I use the Adaptec ASH-1233 IDE controller card with Linux (and, 
more specifically, Debian)?

Purpose: There are many IDE controller cards on the market, but many don't 
handle drives larger than 137GB.  I've heard there are some IDE controller 
cards that work fine with Linux, without any trouble, but I needed to get a 
system up and running quickly and could not wait on mail order, so I had to 
get what was available in this area.

Research: I had a hard time getting hits in Google on this and any other IDE 
controller card, or on IDE controller cards in general.  Most hits where 
either "For Sale" pages, hardware lists, or other useless pages.  I found 
only 2 references to this card and Linux that were at all helpful. The first 
was from someone who was trying to use this card in a rackmount system, and 
plugged it into a riser card and could not get his system to see it.  The 
second was with someone who discovered that the drives on the card itself 
were seen and registered before the drives on the motherboard, so the master 
on the primary channel on the ASH-1233 would be seen as /dev/hda, and 
normally the primary drive on the motherboard should be seen as /dev/hda.  
Now, with the ASH-1233 installed, the motherboard's primary master drive 
became /dev/hde.

Short Answer: This card can work on Linux with minimal tweaks.  I needed a 
Knoppix CD so I could boot and edit /boot/grub/menu.lst before booting the 
system from the hard drive.  Once set up, it's transparent.  So if you get 
this card, and everything goes well, it'll take an extra 5 minutes or so to 
install Linux.  After that, it's transparent.  Both problems I mentioned in 
"Research" showed up, and I'll address both of them.

Full Answer: When I first installed this board, it was not seen -- not just by 
Linux, but by the computer itself.  I remembered one person had trouble in a 
rackmount system with a riser, like I was using.  I looked at the connection  
The card was not seated all the way in the slot. The metal back to the card, 
the one that covers the slot in the outside case and screws directly into the 
case was too short!  This is something I've never seen, but the bend on the 
end (or top) of the metal strip was too close to the card, so when that strip 
is flat on the back of the case and screwed in, the card itself cannot go all 
the way into the PCI slot.  Maybe mine was defective, but since someone else 
had a card that wasn't recognized, and knowing this would explain that, makes 
me wonder if Adaptec hasn't messed up on this.  I examined the card and saw 
no direct leads connected to these cards, and since a PCI slot has ground 
connections anyway, I unscrewed the strip from the card, and glued the strip 
to the card in the right location, so the card could sit firmly in the 
socket.  It worked fine and the card was recognized.

I am using Debian Sarge (currently the stable branch of Debian), and the 
regular Sarge installer with the 2.6.8 kernel.  I'm also using Grub for 
booting.  I used the Net Install disk and when it booted, I typed in 
"linux26" at the prompt (where it says to press F1 for more options or to 
just hit return) because I wanted to use the 2.6 kernel instead of the 2.4 
version.  From there, install as normal, but remember that if you're using 
the master drive on the motherboard's primary IDE channel as the boot drive, 
it'll show up as /dev/hde instead of /dev/hda.  (From here on, I'll write 
with the presumption you're booting from what should be /dev/hda, the 
motherboard's primary master drive.)  Let everything install as normal.  

When it gets to the point where the installer says to remove the install disk 
so the computer can reboot into the new version of Linux you've installed (I 
know most distros do this), remove the install CD, and replace it with a 
Knoppix (or other live distro) CD.  Instead of booting into Linux for the 
first time, or to finish the install, let it boot Knoppix.  Once Knoppix is 
running, mount /dev/hde1, the boot drive (or whichever partition /boot is 
on).  (Remember, here it is /dev/hde instead of /dev/hda because Adaptect is 
funky and the ASH-1233's drives are listed first.)  Use Kate or vi or Emacs, 
or whatever editor you prefer.  The one hit I had on this from Google said to 
edit /boot/grub/grub.conf, but that is wrong, at least on my system.  The 
only config file is in /boot, and on my system, was not simply named config.  
The file you DO want to edit is /boot/grub/menu.lst (that's a lower case "L", 
in case your font makes it hard to tell).  On my system, there were two 
entries for this version of Linux, one regular and one for a repair mode.

Each entry for an OS (in this case, we're only dealing with Linux) looks 
something like this:

title           Debian GNU/Linux, kernel 2.6.8-2-386
root            (hd1,0)
kernel          /boot/vmlinuz-2.6.8-2-386 root=/dev/hde1 ro
initrd          /boot/initrd.img-2.6.8-2-386
savedefault
boot

The two lines here that had to be changed are the "root" and "kernel" 
commands:

root            (hd1,0)
kernel          /boot/vmlinuz-2.6.8-2-386 root=/dev/hde1 ro

This sets the root system to the motherboard's primary slave drive, but hde1 
is the primary master.  Try booting like this and you'll have hours of fun 
debugging Grub error codes.  Instead, change these two lines (in each entry 
that needs it) to this:

root            (hd0,0)
kernel          /boot/vmlinuz-2.6.8-2-386 ide=reverse root=/dev/hda1 ro

We'll do it backwards.  the "ide=reverse" will tell the system to read the IDE 
devices from the cards in reverse order -- reversing only the cards, not all 
the devices.  This alone makes sure the motherboard's primary master 
is /dev/hda and the ASH-1233's primary master (assuming there are no other 
IDE controllers on your system) becomes /dev/hde, as it should be.  That 
means /dev/hde1 needs to be changed to /dev/hda1 so the kernel works with the 
correct partition.  The "root" command needs to set the drive being used to 
the first drive and first partition.  I am not clear why this command, which 
comes first, reads the drives in the order it should BEFORE the "ide=reverse" 
is done, but that's the way it works and what makes my system boot correctly.

Now that this is done, you can shut Knoppix down and tell the computer to 
reboot.  It'll reboot and, if it's Debian you're installing, it'll pick up 
the install where it left off.  (Most distros should do that -- without 
noticing that you've been modifying a file in the meantime.  Others may have 
already finished the install, so now you'll just boot directly into the newly 
installed system.)

I had the added complication that I was setting up a RAID, which is why I 
needed the ASH-1233.  I had a boot drive, a DVD-RW, and 3 larger drives for 
the RAID.  I kept trying to install Sarge and use its ability to set up a 
software RAID on install, but it never worked.  I later realized that was 
because the ASH-1233 screwed up the drive order.  It isn't hard to set up 
RAID drives under Linux anymore -- just use mdadm and search for a tutorial 
on Google.  My thought is if you're using this card, you're better off not 
using the installer's RAID setup, installing and fixing Grub, then setting up 
a RAID when all the devices are set up properly.

I'm not sure, because I had an unusual situation, but you may need to 
edit /etc/fstab as well to reflect the change in devices and mountpoints as 
well.  I can't verify that due to my configuration.

Hope this helps!

Hal



Reply to: