Actually it was worse even in 2.4, the flash detection will disable the other device e.g. hda=harddisk hdb=flash core probes hda prints out hda detection everything seems fine core probes hdb prints out hdb detection *** silently disables hda *** system tries to boot from hda dies as device is not present.
user goes insane because it is printed in the log as being detected
see about line 169 of linux-2.4.19/drivers/ide/ide-probe.c I have a system with soldered in flash that with a hard disk is hdb I have to pass hdb=noprobe to prevent that system from failing The comments indicate that this is put in to prevent wasting time on probing non existent slave device but it is disabling the master device if the slave is flash :(
From: Richard A. Smith Reply To: Richard A. Smith Sent: Wednesday, October 23, 2002 14:28 To: linuxbios@clustermatic.org Subject: Re: AW: DOC vs. IDE
On Wed, 23 Oct 2002 14:28:23 -0600 (MDT), Ronald G Minnich wrote:
On Wed, 23 Oct 2002, Christopher Bergeron wrote:
That actually sounds like a brilliant idea. I wonder if anyone on the list can confirm performance... does the CFcard appear as a standard
IDE
disk or is there a driver or anything necessary?
we're doing it here on the PCM-5823-A2 geode cards. We use CF as
/dev/hdc,
there is no /dev/hd1. Works fine.
I'll pipe in a little bit of personal experience here. If you are _just_ using a CF with an IDE adapter then all is well and things will work great.
During bringup and debug though its nice to have a big HD with a full linux distribution on on it so you can develope on your target.
However if you are using a CF _and_ a normal IDE drive you may run into a gotcha. In the 2.2 linux IDE code there are clauses that if a CF device is dectected on hda it will NOT probe for hdb. Same goes for hdc and hdd. There is no output telling you its skipping it either. Apparently there were some early CF devices that did some funky stuff with the diag signal (drive dection) and Andre (the 2.2 IDE maintainer) chose to blacklist all CF devices.
The fix is to feed the kernel some parameter like ide0=flash or something similar to make it go ahead and probe.
I haven't looked at the 2.4.x IDE code so I don't know if it carried over or not.
But if you mysteriously don't have an hdb with a CF hooked up in your system go check the IDE probing code before you pull you hair out trying to figure out whats wrong with your hardware like I did.
-- Richard A. Smith Bitworks, Inc. rsmith@bitworks.com 479.846.5777 x104
Sr. Design Engineer http://www.bitworks.com
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios