First, vital statistics: Linux version 2.2.13 Linux PCMCIA Card Services 3.1.10 ... Intel i82365sl A step ISA-to-PCMCIA at port 0x3e0 ofs 0x00 host opts : none host opts : none ISA irqs (default) = 3,5,7,9,10,12,14,15 polling interval = 1000 ms cs: IO port probe 0x1000-0x17ff: excluding 0x11f0-0x1207 0x12f8-0x1307 0x1378-0x1387 0x13f0-0x13ff cs: IO port probe 0x0100-0x04ff: excluding 0x1f0-0x207 0x378-0x387 0x3f0-0x3ff cs: IO port probe 0x0a00-0x0aff: excluding 0xaf8-0xaff cs: memory probe 0x0d0000-0x0dffff: clean.
And: swlr# cat /proc/bus/pccard/memory 000d0000-000d0fff : card services
With that out of the way, I have an interesting problem with multiple cards. The hardware is an embedded system board with an onboard PCMCIA controller. The processor is an AMD Elan SC400 (http://www.amd.com/products/lpd/elan400/21026b.html) that has PCMCIA functionality 'built-in'. I've had 3c589_cs working on older kernel versions and older pcmcia-cs versions, but with my existing software, I have a problem running 3c589_cs, and more specifically Elmer Joandi's Aironet 4800 driver. I have never been able to make the Aironet 4800 card work on this hardware, no matter what software versions I've used. With both cards/drivers, the card is found, but the driver has a problem doing anything with it. I can configure it with an address, and try pinging, but I get errors, such as these with 3c589:
eth1: 3Com 3c589, io 0x310, irq 3, hw_addr FF:FF:FF:F9:FF:FA 32K FIFO split 3:5 Rx:Tx, auto xcvr eth1: interrupt(s) dropped! eth1: interrupt(s) dropped! eth1: interrupt(s) dropped! eth1: interrupt(s) dropped! eth1: command 0x5800 did not complete! eth1: command 0x5800 did not complete! eth1: command 0x5800 did not complete! eth1: interrupt(s) dropped!
.... and so on. Note the hw_addr - probably bad! This is the same thing that happens with the 4800 card, I get a bogus MAC address, and various error messages when I try to read/write to it.
Pulling the card I'm using and trying to load the drivers produces the logical response - card not found. I tried loading X driver for Y card to see if that was a problem/possibility, and that produced the logical response as well - wrong driver for the card. It seems that the cards are being seen and identified, and I can "kind of" communicate with them, but not all the way.
Memory addresses 0xd0000-0xdffff are shown free by the system, and the probe, and I have verified vigorously with the hardware manufacturer that this is the case.
Anyone have any ideas?
[ Edit This Forum ]