On Tuesday 15 March 2005 18:31, Pete Popov wrote:
2. How can I find out if it's looking at the right addresses? I just need some kind of register which I can probe to find out if the device is where I think it should be.
Hmm, in fact I'd be happy about _any_ hint the would get me further. I'm slightly desparate...
Start with the low level routines that detect the card and set the voltage
levels. When you plug in the card, is it detected? Are you setting the
correct voltages? What happens next -- is the card at least recognized by the cardmgr, which means that the attribute memory is read correctly?
I don't see any message that something is found, nor can I definitely say where an error happens. I mainly see two parts: one where cardservices are initialised and one where the driver registers itself. The former doesn't say it found anything at all, maybe that is already the problem... I'll investigate further.
What I meant to say is to add debug prints to the driver so you can see if it detects and powers on the slot.
Could you post the relevant messages of a working system, so I could compare that?
I can do that ... just don't know if I'll get to it in the next couple of days.
Hmmm, I just had a scary thought: I don't have any userspace programs running yet, meaning also no cardmgr, because I intend to boot from that CF card - is that possible at all? FYI, I don't need any hotplugging at all.
Do you really mean "boot" from it or "root" from it? If you want to "boot" from it, you need to work on your boot loader to be able to fetch the kernel from CF. If you mean "root" from it, then you are approaching this the wrong way -- it won't work through the pcmcia stack and cardmgr because that means you already have a root fs up and mounted. You could do this by creating a small ramdisk to serve as the root fs, run a special script on startup that loads the driver, starts cardmgr, cardmgr then detects the card and loads ide-cs.o, and finally the script exits back to the kernel. At that point the kernel mounts the real rootfs which is on the card itself.
Or, you use the ide mode/feature of CF and get it to work that way, but I've never had to do that myself. Then the card looks like an ide device. That's something one of our guys at Embedded Alley has done in the past. Don't know how easy it is; I'll ping him.
Pete