LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 09-29-2007, 02:28 PM   #1
PeteRossi
Member
 
Registered: Jun 2002
Location: Southeast PA
Distribution: Slackware
Posts: 40

Rep: Reputation: 15
How do I configure PCI IDE controller card?


I have an 8 year old TYAN P3 motherboard which is working nicely with it's
current application, however I want to install a larger IDE hard drive and
the BIOS has a 30 GB limit on the hard drive size. I have upgraded to the
latest BIOS I can find but it still doesn't help. Anything larger than 30 GB
and the BIOS simply hangs on boot. The 80 GB WD drive I want to use has a
jumper setting to reduce the size but that reduces it to 2 GB which is kind
of pointless. So I thought I would try adding a newer PCI IDE controller
card that can handle larger drives.


The PCI IDE controller I am trying to use has the VIA VT6410 chip. I compiled
a new Kernel for this box with VIA IDE support and when I boot the system,
it seems to find the controller, however it does not see the drive attached
to it. I am getting the following messages during boot..

> kernel: VP_IDE: IDE controller at PCI slot 0000:00:11.0
> kernel: VP_IDE: chipset revision 6
> kernel: VP_IDE: VIA vt6410 (rev 06) IDE UDMA133 controller on pci0000:00:11.0
> kernel: VP_IDE: 100%% native mode on irq 9
> kernel: ide2: BM-DMA at 0xef90-0xef97, BIOS settings: hdeio, hdfio
> kernel: ide3: BM-DMA at 0xef98-0xef9f, BIOS settings: hdgio, hdhio

This all looks encouraging.. but that's about it. There should be an 80 GB
hard drive reported on "hde" which it is not seeing. I did create a set
of /dev/hde devices.

I was reading through the Kernel Documentation/ide.txt file where it says..

> For special cases, interfaces may be specified using kernel "command line"
> options. For example,
>
> ide3=0x168,0x36e,10 /* ioports 0x168-0x16f,0x36e, irq 10 */
> . . .
> The standard port, and irq values are these:
>
> ide0=0x1f0,0x3f6,14
> ide1=0x170,0x376,15
> ide2=0x1e8,0x3ee,11
> ide3=0x168,0x36e,10
>
> Note that the first parameter reserves 8 contiguous ioports, whereas the
> second value denotes a single ioport. If in doubt, do a 'cat /proc/ioports'.

Which all makes sense, with my card reporting the 8 contiguous addresses
(as shown above 0xef90-0xef97) however the "single ioport" is not reported..
or at least I can't find it.

Anyone out there familiar with adding IDE controllers? ..and have some idea
what I might be missing? This is actually a RAID/IDE controller however I
am only interested in simple non-RAID single drive IDE operation. I have
been going under the assumption that these RAID/IDE controllers do not have
to be used with RAID. The Kernel I am testing with does not have any RAID
support.. which I don't think I need.

The system is currently running an antique Slackware 8.1 from hda which I
plan to upgrade to Slackware 12.0 as soon as I get this new larger hard drive
working. I have a special boot configuration that is using a 2.6.21.5
Kernel to test the new IDE controller.. which is what all of the info above is based on.
 
Old 09-29-2007, 03:01 PM   #2
jailbait
LQ Guru
 
Registered: Feb 2003
Location: Virginia, USA
Distribution: Debian 12
Posts: 8,340

Rep: Reputation: 550Reputation: 550Reputation: 550Reputation: 550Reputation: 550Reputation: 550
"This all looks encouraging.. but that's about it. There should be an 80 GB hard drive reported on "hde" which it is not seeing. I did create a set of /dev/hde devices."

During BIOS initialization your motherboard BIOS should link to a secondary BIOS present in the VIA VT6410 chip on the PCI card. The secondary BIOS will search all four of its addresses and report the presence of any devices attached to the PCI card. You did not mention the secondary BIOS report in your description of the boot process so the problem may be that the motherboard is not linking to the secondary BIOS.

Without the secondary BIOS initialization the kernel will not detect the drive on hde at boot.

The first thing to check is your motherboard BIOS. Can you tell your motherboard BIOS that you have a secondary IDE installed?

Anouther thing to check is to see if your motherboard BIOS can flip IDE addresses. Some of the BIOS of the era that your motherboard belongs to had a feature where you could flip IDE chipsets. If your BIOS has this feature then you can change the motherboard IDE chipset adresses to IDE2 and IDE3. You can change the PCI IDE chipset addresses to IDE0 and IDE1.

"the BIOS has a 30 GB limit on the hard drive size. I have upgraded to the latest BIOS I can find but it still doesn't help. Anything larger than 30 GB and the BIOS simply hangs on boot."

One possible solution is to put the drive on IDE0. Then make a small (500M) /boot partition at the beginning of the drive so that /boot is within the BIOS range. Linux does not use BIOS addressing for hard drives except at boot so /boot is all that needs to be within the BIOS range.

------------------
Steve Stites
 
Old 09-29-2007, 03:58 PM   #3
PeteRossi
Member
 
Registered: Jun 2002
Location: Southeast PA
Distribution: Slackware
Posts: 40

Original Poster
Rep: Reputation: 15
Thanks..

Since my original post.. I also tried adding :

append="hde=16383,16,63"

to the kernel image section in my lilo.conf and the VIA driver then
appeared to try to look for the drive (it paused for a while) but
then finally reported :

> kernel: hde: non-IDE drive, CHS=16383/16/63

and then it continued on..

Yes.. the BIOS. I was going to mention that but didn't want my
original post to get too long. During boot the BIOS makes no mention
of the new IDE this card. I did not see anything under the settings
that implied something that should be changed. I was not sure IF
the BIOS should recognize it. I was thinking that the Kernel would
know what to do once the VIA driver was started. Before I tried
using a Kernel with the VIA driver, the Kernel also did not see the
new card, however the initial PCI probing did detect the card in the
slot.. but that was about it.


I did try turning off the on-board secondary IDE controller (not using it)
and all that did was move the new card to be ide1 and ide2 and the
new drives to be hdc/hdd and hde/hdf as would be expected.. but
nothing else changed. The BIOS did not see it.

> kernel: PIIX4: IDE controller at PCI slot 0000:00:07.1
> kernel: PIIX4: chipset revision 1
> kernel: PIIX4: not 100%% native mode: will probe irqs later
> kernel: ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hdaMA, hdbio
> kernel: VP_IDE: IDE controller at PCI slot 0000:00:11.0
> kernel: VP_IDE: chipset revision 6
> kernel: VP_IDE: VIA vt6410 (rev 06) IDE UDMA133 controller on pci0000:00:11.0
> kernel: VP_IDE: 100%% native mode on irq 9
> kernel: ide1: BM-DMA at 0xef90-0xef97, BIOS settings: hdcio, hddio
> kernel: ide2: BM-DMA at 0xef98-0xef9f, BIOS settings: hdeio, hdfio

I suppose I could try turning off the on-board primary IDE controller
but then I would have to move my existing hda to the new controller,
and of course if it still can't be found, then the boot will stop
very quickly .. with nothing to boot from.

This idea about starting the initial boot with the BIOS thinking that
it is a small drive and then later having Linux use the whole drive
sounds interesting.

Once concern that keeps surfacing is I hope the actual hardware on the
motherboard can handle the large drive. It is a Pentium 3 MB with
the old Intel BX chip set. The board is perfect for what I am using
it for. I just want to use a larger disk. I hate to have to scrap
it just because of that. I suppose I could use 2 smaller drives but
new small (<30 GB) IDE drives are hard to find these days.. and I would
need several of them. Generally not a practical solution.
 
Old 09-29-2007, 04:56 PM   #4
PeteRossi
Member
 
Registered: Jun 2002
Location: Southeast PA
Distribution: Slackware
Posts: 40

Original Poster
Rep: Reputation: 15
Correction to my previous post..

The BIOS does see the new IDE card as being in the PCI slot..

"PCI Slot 2 RAID, IRQ9"

But that is all that is reported. It does not report any attached
disks.

Could the fact that I only have one IDE drive connected to the
card be a factor? I am not interested in running RAID. I am only
using the extra PCI IDE card to be able to access larger disks.

For fun, I turned of both primary and secondary on-board IDE controllers
and the BIOS reported "HD boot failure" and stopped.. offering only
the option to "press F1 to enter SETUP" ...

---
 
Old 09-29-2007, 07:08 PM   #5
PeteRossi
Member
 
Registered: Jun 2002
Location: Southeast PA
Distribution: Slackware
Posts: 40

Original Poster
Rep: Reputation: 15
More info.. I thought I was on to something..

I discovered there *are* BIOS parameters related to using an
OffBoard PCI IDE card.
> OffBoard PCI IDE Card [ ]
The choices for the settings are: AUTO, Slot1, Slot2, Slot3, Slot4
It also permits Slot5 and Slot6 yet the board only has 4 PCI slots. (???)

There 2 other parameters..
> OffBoard IDE Primary IRQ [ ]
and
> OffBoard IDE Secondary IRQ [ ]

For these the choices are: Disabled, INTA, INTB, INTC, INTD, and hardwired.

As usual, the motherboard manual does not go into any detail of what
these different values mean. I tried various combinations with the
on-board Secondary disabled and again with both the on-board Primary
and Secondary disabled. None really seemed to do much good but there
was one combination that caused a Kernel panic when the VIA driver went
to look for drives. I forget offhand what those setting were.
Unfortunately most of the Kernel panic info scrolls off the screen
and is lost.



All of this leads one to think that with the on-board IDE disabled and
the IDE Card enabled that the BIOS might report the drives it found.. but
it reports nothing.. just "RAID Slot 2, IRQ n" The interrupt will
move around depending on what else is enabled or I can force it to
something with the "Slot 2 IRQ" BIOS parameter.

The new IDE card has no documentation for it. All it came with was a
mini CD with some Windows drivers. Nothing on it was of any use for
a Linux user. It does not even tell you which IDE connector on the
board is the primary vs. secondary.

This must be a fairly new card though. The files on the CD had
creation dates in the spring of 2007. I am wondering if this IDE card
is "too new" for the BIOS to handle.

I have more combinations to try. I also want to connect a second
hard drive to the controller on the other connector just in case it
is looking on the wrong one.

One thing that bothers me is how this motherboard documentation is not
100% accurate. It says if OffBoard PCI IDE controller card is
specified (or found ?)then the internal controller is disabled. This
is not the case, since Linux will see both. I hate documentation that
lies

Last edited by PeteRossi; 09-29-2007 at 07:09 PM. Reason: bad formatting and typo.
 
Old 09-30-2007, 01:18 PM   #6
jailbait
LQ Guru
 
Registered: Feb 2003
Location: Virginia, USA
Distribution: Debian 12
Posts: 8,340

Rep: Reputation: 550Reputation: 550Reputation: 550Reputation: 550Reputation: 550Reputation: 550
Quote:
The BIOS does see the new IDE card as being in the PCI slot..

"PCI Slot 2 RAID, IRQ9"

But that is all that is reported. It does not report any attached disks.

The motherboard BIOS does not examine the PCI IDE for devices. There is a secondary BIOS on the PCI card that the motherboard must link to. The secondary BIOS finds what devices it has attached and then returns to the motherboard BIOS. I think that one of your problems is that the motherboard is not recognizing the existance of the secondary BIOS.

Quote:
One thing that bothers me is how this motherboard documentation is not 100% accurate. It says if OffBoard PCI IDE controller card is specified (or found ?)then the internal controller is disabled. This is not the case, since Linux will see both. I hate documentation that lies
Some old BIOS were designed with the idea that you could add a PCI IDE controller just by inserting a new card and it would automatically take over the function of the motherboard PCI chip.


Anyway, I think your problem is miscommunication between the motherboard BIOS and the PCI BIOS. Perhaps the difference between a RAID secondary PCI controller and an ordinary RAID PCI controller is causing the motherboard to mishandle the secondary BIOS.

-------------------
Steve Stites
 
Old 10-02-2007, 08:48 PM   #7
PeteRossi
Member
 
Registered: Jun 2002
Location: Southeast PA
Distribution: Slackware
Posts: 40

Original Poster
Rep: Reputation: 15
Yesterday I tried this PCI IDE controller in a different motherboard.
One that is much newer. I have no need or intentions of using the card
with this M-board but I wanted to see if it behaved any different.. maybe
provide some clues.

It behaved basically the same way. The BIOS recognized the card being
present but did not report any drives attached to it. One thing that
was different was it appeared to find the PCI card *before* it
found the on-board controller since Linux assigned ide0 and ide1 to
the PCI card controller and ide2 and ide3 to the on-board controller.

BUT.. the the important issue is the PCI card still did not report any
drives attached to it. And.. I even attached another drive to the
secondary connector to increase the chances that it might see one.

As an additional sanity check, I moved the new drive I want to use
to the on-board secondary controller and it saw it right away.. So
no problem with the drive.

I understand what *should* be happening. The BIOS should recognize
the PCI IDE controller card and report the drives attached but it just
ain't happening.. now seen on 2 motherboards.

I am running out of things to try..
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
IDE-RAID controller card will not configure ppetit Linux - Hardware 0 06-02-2006 01:12 PM
pci IDE controller problem fredgt Linux - Hardware 3 02-14-2005 11:54 AM
a Good 4+ channel PCI IDE Controller monohouse Linux - Hardware 0 10-28-2004 05:51 PM
pci/ide controller trackrat Linux - Hardware 0 06-13-2004 04:05 PM
Please... help me install my driver for a Siig UltraATA 133 PCI IDE controller card. aweir14150 Linux - Software 2 06-02-2004 10:14 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 07:48 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration