Red Hat Bugzilla – Bug 344231
Problem with ITE IT8212 Controller and Fedora 7
Last modified: 2007-11-30 17:12:19 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:18.104.22.168) Gecko/20071008 Firefox/22.214.171.124
Description of problem:
I am having a problem with Fedora 7 recognizing the slave drive on an ITE IT8212 PCI controller card. When I boot, the ITE setup shows both drives. If I boot WIN ME, it shows both drives. If I boot the Fedora 7 DVD as if I were installing Fedora, it only shows the master drive - not the slave - when it gets to the configuration screen asking where I want to install Fedora. I wanted to put it on the slave drive. I was able to do that by replugging both drives and reversing the designation - the slave became the master and vice versa. Just for grins, I downloaded a Fedora v6 install DVD and booted it. It recognized both drives. That is, when the install process got to the point of asking where I wanted to install Fedore, both drives were listed. I think that this is a problem with v7.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.Requires 2 hard drives on an ITE IT8212 PCI controller
2.Boot the installation DVD
The configuration screen only shows 1 drive
The configuration should show 2 drives
Try the F7 respin. There were bugs in the original kernel...
I am running the download now, but i have a question. I have installed Fedora
by plugging the hardware to allow the controller to access the hdd I want to
use. After the install, Fedora ran its update facility and installed 700+
fixes. The current level is 126.96.36.199-91.fc7. Does this have the fixes
installed? If so, this is also not recognizing the slave hdd. Thank you.
(In reply to comment #2)
> I am running the download now, but i have a question. I have installed Fedora
> by plugging the hardware to allow the controller to access the hdd I want to
> use. After the install, Fedora ran its update facility and installed 700+
> fixes. The current level is 188.8.131.52-91.fc7. Does this have the fixes
> installed? If so, this is also not recognizing the slave hdd. Thank you.
Yes, it's basically the same kernel.
Can you post the contents of /var/log/dmesg after booting with the latest kernel?
Also 184.108.40.206 is in the updates-testing repository, can you try that?
Created attachment 234451 [details]
dmesg from latest boot
I have attached the log file as requested.
p.s. I like this method of reporting problems as opposed to the MS method.
(In reply to comment #4)
> Created an attachment (id=234451) 
> dmesg from latest boot
> I have attached the log file as requested.
Were both disks attached when the system was booted? If not, try again with both
disks attached and attach that.
Both disks were attached during that boot.
Fedora 6 sees both disks. Can you determine what has changed during the boot
process between FC6 and FC7?
Also, FC8 will be coming out soon. At this point, is it worthwhile to pursue
FC7 or wait until FC8 and try that version? It doesn't look like many are
having this same problem - I appear to be the first. I am willing to wait till
FC8 as this machine is for testing purposes. Thanks.
it821x: can't process command 0x27
ata1.00: ata_hpa_resize 1: hpa sectors (0) is smaller than sectors (390721968)
ata1.00: ATA-7: MAXTOR STM3200820A, 3.AAE, max UDMA/100
ata1.00: 390721968 sectors, multi 0: LBA48
ata1.00: Drive reports diagnostics failure. This may indicate a drive
ata1.00: fault or invalid emulation. Contact drive vendor for information.
0x27 is 'read native max address extended'
The second drive should show up as ata1.01, but there is no trace of it.
There seem to be lots of free ports on these controllers, can you try putting
the second drive as master on the second channel?
The 0x27 is expected - the IT821x firmware doesn't support 0x27 in RAID mode.
Ditto the diagnostics failure is what seems to be a bug in some firmware versions.
So both of those messages are expected.
What is odd is that it seems to be behaving as if the slave device doesn't exist
Looks like the reset sequence is deciding there is no slave present and not
seeing a signature. Could well be due to the RAID firmware but would need
To Chuck, I cannot put the other hdd there. Due to the way the BIOS handles
this device, I had to disable the onboard IDE controller #1 in order to use the
new controller. If I move the hdd, I would have to disable the onboard
secondary controller. It has my cd and dvd drives. I could do it to test but I
cannot run that way.
To Alan, I am using the controller in IDE mode - not in any RAID configuration.
To both, If I boot the FC6 installation DVD, both drives show up. What has
changed in the initialization process between these releases?
Your hardware is in RAID mode - its using the RAID firmware but you don't have
any RAID volumes defined so it presents the underlying disks.
As to FC6 - FC7, it would be easier to list what hasn't changed. Its basically a
rewrite of the entire initialisation and detection logic to support hotplug,
SATA and other new stuff.
Alan, I agree that the hardware is RAID capable, but I have it configured as
IDE. Other options are RAID0-5 and JBOD. How can I help figure out what is
You have it configured for RAID mode the fact you don't have any RAID or JBOD
devices set up doesn't change this. To explain a bit further
The IT8212 has an IT8211 controller on it and a small microcontroller with
firmware which does RAID handling. If you have the device in ATA/ATAPI mode it
uses the IT8211 and not the micrcontroller and can support CD-ROM and DVD
devices but not RAID. That mode normally works best.
If it is loaded with firmware by the BIOS then the microcontroller is used and
provides an interface to the PC which doesn't quite behave as real ATA and
supports only a subset of commands. Some boards have a jumper for this, some
actually require you flash new firmware to change it.
Both modes are *supposed* to work.
It need to set up a similar configuration here and see if I can duplicate it -
would be useful to know what firmware/BIOS revision the BIOS for the IT8212 you
have is reporting and I can try and find a card here with similar revision.
If the ability to pass options to boot modules was fixed after FC7 (Chuck - was
this sorted ?) then the boot option pata_it821x.noraid=1 will force the card
into ATA/ATAPI mode which I suspect will work around the problem.
Debugging it further will need a test environment and some debug kernels. I'll
try and duplicate the problem here as its much much easier to debug locally if I
(In reply to comment #12)
> If the ability to pass options to boot modules was fixed after FC7 (Chuck - was
> this sorted ?) then the boot option pata_it821x.noraid=1 will force the card
> into ATA/ATAPI mode which I suspect will work around the problem.
Yes, but only after Fedora8 Test3, and only in live CD and installer images.
To get this option into the Fedora7 initrd, edit /etc/modprobe.conf and add this
options pata_it821x noraid=1
Then rebuild the initrd with this command (assuming you are running the kernel
version that needs this fix):
mkinitrd $(uname -r)
Alan, the bios level reported by the card is 220.127.116.11. I looked at the vendors
web site and the latest download available is up to 18.104.22.168. It looks like
mine is more current.
Also, I downloaded the latest Beta for FC8 and tried it. It acts the same as
FC7 - only the master is detected. I tried to add the option to the boot
command in grub, but it was not valid.
Also, I noticed the update from Chuck. Is that something I can do?
Ok I think I have a duplicate environment (roughly) that is showing the same
bug. I'll do some digging on that and try and work out where the slave drive has
Alan and Chuck, I figured out how to run the mkinitrd command. I updated the
modprobe.conf file and ran mkinitrd creating an initd img (I did not write over
the original) and booted with that. My slave drive now shows up in the hardware
list. Where do we go from here? Thanks.
Right - I have a fix. Its not going to be ready for FC8 realistically as it
needs some upstream merging and also to make sure I don't "unfix' anything else
in the process.
I feel I need to add something. Grub is acting the same. It is not recognizing
the slave drive. I have Windows installed there and need to be able to boot it.
I have tried in grub to boot from it but all commands that reference (hd1) come
back device not found. Do I need to report this problem to the folks supporting
grub or do/can you do that? I would like to help if possible. I also want to
thank you for the time spent working on this problem.
Grub uses the BIOS device mappings, that means if grub says there is no hd(1,0)
then you have a BIOS problem involved I think.
The fix for the problem your reported on the Linux side is in 2.6.24-mm devel
tree now so should hopefully make 2.6.25. Thanks for providing all the detail
needed to fix it.
It's possible that JBOD mode might fix the problem, but I would be very cautious
about enabling that as it might cause loss of all data currently on the disks.
Chuck, I looked at JBOD and it says it will erase all data - not acceptable.
Alan, thanks for all your work.
Both, I think that I need to replace the IDE card with a better behaved one. Is
there a brand/model that you could recommend? Thanks.
The RAID mode is a bit quirky but when you specify pata_it821x noraid=1 you get
the direct access mode without firmware in the way and that side of the card is
very good, so I wouldn't replace it merely keep it in noraid mode
I have opened a problem with grub about this, but have had no response in a
week. I think I may have to fix my problem and create a copy of grub for my
environment. Is there any way I can find out the code changes that were made to
fix this problem and I can try to find the place in grub to do the same? Thanks.
There are no equivalent changes. Grub just uses the BIOS EDD interfaces so if
grub sees only the master then the it821x bios is only advertising the master
What does Fedora do with
options pata_it821x noraid=1
I assume that it means to send the controller some sort of commands. Is there a
list someplace of what commands the controller will accept and what they do?
Can I find out exactly what coding changes were made to fix my problem?
noraid causes Linux to reset the controller back out of firmware mode
That is done by setting config byte 0x5E to 1, 0x50 to 0, and restoring a
sensible value to PCI_COMMAND. Then set 0x40 to A0F3 0x4C to 0x02040204 and 0x42
to 36, finally restore the latency timer to 0x20
Then changes in the detection code are subtle and buried deep in the libata core.