pcmcia - what is firt place to look for bug?

Jerry Walden jerry.walden at lantronix.com
Fri Mar 12 15:17:56 GMT 2004


 I have a certain level of experience with Linux kernel hacking and with
drivers etc...  Not much with PCMCIA.  So - I just went ahead and built
the kernel with PCMCIA support and cross-compiled the utilities.
Problem is - I'm trying to figure out where to start debugging.  I have
configured many other boards for PCMCIA support from the standpoint of
modifying scripts etc. Problem is - I know what I have does not work - I
just cannot tell where the first sign of a problem is.  

Below is the output while my kernel is loading, and also the output from
running cardmgr.  We have a TI-PCI1520 cardbus controller with an
alchemy 1500.  I built the kernel with i82092 support. 

I have PCCARD (a CompactFlash adapter) in slot 0.  It is obviously not
being recognized.  I cannot tell if my problem starts with the cardbus
driver in the kernel (yenta_socket right?) or if it is a simpler config
problem.  What should I be seeing?  Where should I start debugging?

Thanks for any help.



------------------------------------------------------------------
Starting kernel ...

CPU revision is: 01030202
Primary instruction cache 16kB, physically tagged, 4-way, linesize 32
bytes. Primary data cache 16kB 4-way, linesize 32 bytes. Linux version
2.4.24-pre2 (root at localhost.localdomain) (gcc version 3.3.2) #8 Th u Mar
4 15:07:55 PST 2004 Lantronix Alchemy Au1500/x15 Board Determined
physical RAM map:
 memory: 04000000 @ 00000000 (usable)


Scanning bus 00, I/O 0x00000300:0x00100000, Mem
0x40000000:0x5000000000:0c.0 Class 0607: 104c:ac55 (rev 01)
  CARDBUS  Bridge: primary=00, secondary=01

PCI Autoconfig: Found CardBus bridge, device 12 function 0 Mem at
0x40000000 [size=0x1000]

Scanning sub bus 01, I/O 0x00000300, Mem 0x40001000

Back to bus 00, sub_bus is 100:0c.1 Class 0607: 104c:ac55 (rev 01)
CARDBUS  Bridge: primary=00, secondary=02

PCI Autoconfig: Found CardBus bridge, device 12 function 1 Mem at
0x40401000 [size=0x1000]

Scanning sub bus 02, I/O 0x00004300, Mem 0x40402000

Back to bus 00, sub_bus is 2

Non-coherent PCI accesses enabled

Linux Kernel Card Services 3.1.22
  options:  [pci] [cardbus]
yenta 00:0c.1: Preassigned resource 0 busy, reconfiguring... yenta
00:0c.1: Preassigned resource 2 busy, reconfiguring...

Intel ISA PCIC probe: not found

Yenta ISA IRQ mask 0x0000, PCI irq 1
Socket status: 30000006

Yenta ISA IRQ mask 0x0000, PCI irq 1
Socket status: 30000006

-bash-2.05b# ./rc.pcmcia start
Starting PCMCIA services: cardmgr[95]: watching 2 sockets
cardmgr[95]: could not adjust resource: IO ports 0xc00-0xcff: Invalid
argument
cardmgr[95]: could not adjust resource: IO ports 0x800-0x8ff: Invalid
argument
cardmgr[95]: could not adjust resource: IO ports 0x100-0x4ff: Invalid
argument
cardmgr[95]: could not adjust resource: memory 0xc0000-0xfffff: Invalid
argument
cardmgr[95]: could not adjust resource: memory 0x60000000-0x60ffffff:
Invalid ar gument
cardmgr[95]: could not adjust resource: memory 0xa0000000-0xa0ffffff:
Invalid ar gument
cardmgr[95]: could not adjust resource: IO ports 0xa00-0xaff: Invalid
argument
cardmgr[95]: could not adjust resource: irq 4: Invalid argument
cardmgr[95]: could not adjust resource: irq 7: Invalid argument done.


-----Original Message-----
From: David Hinds [mailto:dhinds at sonic.net] 
Sent: Thursday, March 04, 2004 8:54 AM
To: Jerry Walden
Subject: Re: please help / mips and pcmcia


On Thu, Mar 04, 2004 at 04:03:02AM -0800, Jerry Walden wrote:
> 
> 1) I think the linux-mips kernel that we are using has
> the support we need for the driver for the ti PCI1520 
> cardbus controller.  Given that - I still need the cardmgr 
> cardctl and cardinfo utilities.  Is it correct that the only 
> way I will get these utilities is to build the pcmcia-cs distro 
> for MIPS?  Or does the kernel source provide these utilities 
> as "tools"? 

The utilities are in the pcmcia-cs package.  They are not in the kernel
source tree.

> 2) Do I need other user level tools / kernel service that I have
> not mentioned (with the exception of the client drivers )?  
> If so - where do I get them from?

Well I suppose a shell would help, and module utilities if you are using
kernel modules rather than building everything into the kernel. I'm not
sure I understand the scope of the question.

> 3) If I do need to build the pcmcia-cs distro for mips
> (I read in the forums that this port has not been done), 
> do you know of a place I might download a Configure and 
> Makefile from a group (or anyone) who has already ported 
> the distro to MIPS?

This doesn't make sense; if a port has not been done, how could I supply
you with a port?  But, I think pcmcia-cs does indeed work ok on MIPS.
Have you tried just doing a "make all"?  As long as you are using the
kernel's PCMCIA drivers, the pcmcia-cs tools should not have any
processor specific code.

> It might be useful to share information
> along these lines with the users on this list.

What list are you talking about?

> 4) The first device I am going to use on this board is a
> PCMCIA compact flash (sandisk in an extender card).  Do I 
> need a special PCMCIA driver for that device, or is IDE 
> support in the kernel enough?  I have seen conflicting 
> opinions on this.  If I do need a PCMCIA driver - will it be in 
> the kernel source?

You need the ide-cs driver, i.e., CONFIG_BLK_DEV_IDECS, which is in the
kernel source, in addition to regular kernel IDE support.

> 5) My board is similar to a DBAu1500.  The cardbus controller
> is a PCI1520.  I have read that this device is similar to the 
> Intel 82365.  I have also read the the "yenta driver" is the 
> kernel driver I would want to use for my controller.  Is the 
> kernel driver for the Intel controller the same as the Yenta?

This CardBus controller has i82365 compatible registers so it is to some
extent backwards compatible, with CardBus extensions.  The correct
driver is the yenta driver.

> 6) I noticed in the linux-mips distro some customization for
> PCMCIA support on an AU1500.  Why was this work done if 
> one could have just used the yenta driver?  Given this it 
> seems that my assumption about using the yenta driver may 
> be incorrect.  Could you please shed some light?

You would have to ask whoever did that, or look at the code, since I
have no idea what an AU1500 is and have never looked at linux-mips.

-- Dave



More information about the linux-pcmcia mailing list