'Hardware Titbits' collects instructions on how to set
up hardware devices which haven't been detected or configured by Mandrake
Linux.
You are welcome to contribute
a titbit, too!
(Notice that following article does not apply
to releases 8.0 or later. These releases detect and configure UDMA 100 devices
automatically and correctly.)
ML 7.2 supports the UDMA 100 Promise controller on-board
chips on the popular Asus A7V mainboards. The problem lies in detecting them
properly (or at all).
Regis Wira, Hardware Support Manager at Mandrakesoft, contributed this little
writeup to help you getting up and running ML on your new UDMA 100 drive.
ML 7.2 does not automatically detect the embedded Promise
ATA 100 controller in this motherboard. Some manipulations are needed to
put it to use.
Hardware used for the test:
- AMD Duron 650
- Asus A7V Bios release 1004
- 2*128 Mo PC 100
- IBM DTLA-307045 or IBM DPTA-351500 or IBM DTLA-307030
- Matrox G400 DH
- Netcard Realtek RTL-8139
- Creative 52x CD
This procedure is meant only for disks attached to the
primary ATA/100 channel.
Getting The Needed Information
(tom:) If you have Windows installed on the same machine,
use its device manager in the System Control Center to find the Promise Controller,
click on the 'Properties' button and then go for the 'resources' tab. Write
down the first four I/O addresses listed, add 2 to the second and fourth
value.
Regis explains how to get those values without using Windows:
First of all, boot with the distribution CD. Upon the
first screen, hit F1 to get the prompt.
Now type "rescue" (without quotes) and hit the ENTER
key.
The system will now boot in rescue mode. After booting, you will get a new
prompt:
[root@rescue]#
Enter this command:
lspci -vv | less
Among the listed entries, look for an entry like this:
00:11.0 Class 0180: 105a:0d30 (rev 02) Subsystem: 105a:4d33 Flags: bus master, (...), latency 32, IRQ 10 I/O ports at a000 I/O ports at 9800 I/O ports at 9400 I/O ports at 9000 I/O ports at 8800 Memory at df800000 (32-bit, non-prefetchable) Capabilities: [58] Power Management version 1
This is the result I get on my computer, it might be
different on other computers. But whatever result you get, the method to
get the hardware working stays the same.
Write down the first four I/O numbers, increase values 2 and 4 by '2' (in
this example that would result in '9802' and '9002').
Installation
Restart your computer to perform the installation.
Having the system rebooted from the distribution CD,
press the F1 key again on the first screen to get a prompt.
Enter this line:
linux ide2=0xa000,0x9802
(0xa000 is first I/O value and 0x9802 is the second
plus 2)
These parameters tell the kernel the address of the
Promise ATA 100 controller.
At this point you are able to go ahead with a full installation.
During the boot loader configuration, you must enter
these parameters so that the system will be able to reboot.
(tom:) If - for some reason - you fail to do this, you have to supply these
parameters at the boot prompt: for LiLo, that would be
linux ide2=[I/O1],[I/O2] ide2=autotune ide0=autotune
for GRUB, hit 'e' twice and add the same line, but without
'linux'.
The matching lilo.conf entry looks like this:
(...) image=/boot/vmlinuz label=linux root=/dev/hde2 initrd=/boot/initrd.img append="ide2=0xa000,0x9802 ide2=autotune ide0=autotune" read-only (...)
(tom:) An entry in GRUB's 'menu.lst' would look like
this:
title linux
kernel (hd0,1)/boot/vmlinuz root=/dev/hde2 ide2=0xa000,0x9802 ide2=autotune
ide0=autotune
(Everything after 'kernel' has to be on the same
line)
This step must be taken before rebooting the computer
or you will have to give the same parameters during each time you boot.
This was tested on a new installed HD and on a drive
installed previously on a PCI Promise ATA 100 card.
section index top
I got lots of feedback on this article. Thanks
to Noel, F. Lecorre, Jesper Krogh, Andy Feys and others.
Noel had Windows 98 installed on a disk at the first
master channel of the Promise controller (hde), and Linux on a disk at the
second master channel (hdg) with the boot loader installed in the Master
Boot Record of 'hde'. He just added the I/O parameters for the second channel
('ide3').
However, he points out that both channels on the Promise controller share
one IRQ, which effectively turns the second master channel into a slave channel.
For performance reasons, he doesn't recommend to use more than one hard drive
on the Promise controller.
Jesper Krogh and other users point out that there currently
seems to be trouble to get the Promise controller working on 2.4 kernels.
His 2.4 kernel configuration to put the generic IDE controller into
UDMA mode is:
CONFIG_BLK_DEV_VIA82CXXX=y
CONFIG_IDE_CHIPSETS=y
CONFIG_IDEDMA_AUTO=y
CONFIG_BLK_DEV_IDE_MODES=y
Andy Feys and other users reported several resource
conflicts after enabling the Promise controller.
The controller shares an IRQ with PCI slot 2, AMD themselves recommend not
to put an SCSI controller or a sound card into this slot, but to use it for
network cards. However, it looks like that also the other PCI slots are in
some way affected. Andy Feys solved his troubles by swapping the slots of
his network card and his sound card, putting the first into PCI slot 3 and
the second into PCI slot 4. Other users have reported that swapping slots
solved their problems with various cards, too.
section index top
|