Card ID error in kernel-2.6.15

kuro moji pflm52td at w6.dion.ne.jp
Sat Apr 1 00:06:48 EST 2006


Dear pcmciautils developers,

1.
I found a card ID error in linux-2.6.15/drivers/net/pcmcia/pcnet_cs.c.
The patch to fix it is:
----------------------------------------------------------------------
*** linux-2.6.15.orig/drivers/net/pcmcia/pcnet_cs.c	Fri Mar 31 14:06:52 2006
--- linux-2.6.15/drivers/net/pcmcia/pcnet_cs.c	Fri Mar 31 14:07:05 2006
***************
*** 1709,1715 ****
  	PCMCIA_DEVICE_PROD_ID12("CONTEC", "C-NET(PC)C-10L", 0x21cab552, 0xf6f90722),
  	PCMCIA_DEVICE_PROD_ID12("corega", "FEther PCC-TXF", 0x0a21501a, 0xa51564a2),
  	PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega EtherII PCC-T", 0x5261440f, 0xfa9d85bd),
! 	PCMCIA_DEVICE_PROD_ID12("Corega K.K.", "corega EtherII PCC-TD", 0xd4fdcbd8, 0xc49bd73d),
  	PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega Ether PCC-T", 0x5261440f, 0x6705fcaa),
  	PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega FastEther PCC-TX", 0x5261440f, 0x485e85d9),
  	PCMCIA_DEVICE_PROD_ID12("Corega,K.K.", "Ethernet LAN Card", 0x110d26d9, 0x9fd2f0a2),
--- 1709,1715 ----
  	PCMCIA_DEVICE_PROD_ID12("CONTEC", "C-NET(PC)C-10L", 0x21cab552, 0xf6f90722),
  	PCMCIA_DEVICE_PROD_ID12("corega", "FEther PCC-TXF", 0x0a21501a, 0xa51564a2),
  	PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega EtherII PCC-T", 0x5261440f, 0xfa9d85bd),
! 	PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega EtherII PCC-TD", 0xd4fdcbd8, 0xc49bd73d),
  	PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega Ether PCC-T", 0x5261440f, 0x6705fcaa),
  	PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega FastEther PCC-TX", 0x5261440f, 0x485e85d9),
  	PCMCIA_DEVICE_PROD_ID12("Corega,K.K.", "Ethernet LAN Card", 0x110d26d9, 0x9fd2f0a2),

----------------------------------------------------------------------
The first letter of manufacturer ID has to be lowercase. 
In fact, /etc/pcmcia/config in pcmcia-cs-3.2.8 had this error too,
and I submitted the patch about a year ago. It will be incorporated in
3.2.9.

2. The above patch works for built-in driver, but not for moduled one.
What is needed? Should the last two arguments in PCMCIA_DEVICE_PROD_ID12
and pcnet_cs.mod.c be modified, too? In hope of being help, let me quote 
the output of "pccardctl ident":

Socket 1:
  product info: "corega K.K.", "corega EtherII PCC-TD", "", ""
  manfid: 0x1234, 0x5678
  function: 6 (network)

The only pccard I've got other than the above one is a modem card, 
and its driver serial_cs works both as moduled and embedded driver.
So I guess it is the problem purely of the pcnet_cs*.

3. My opinion on CIS override in "mini-howto.txt", as a non-expert
end uesr. It speaks of CIS override, but a plain pedestrian like me 
don't know if it is necessary.
Having *.cis files on your harddisk does not cost at all, so why don't you
recommend to install them if unsure? It's just a matter of:
if [ -e /etc/pcmcia/cis ]; then
  mkdir -p /lib/firmware
  cd /etc/pcmcia/cis
  for i in *.dat; do cp $i /lib/firmware/${i/dat/cis}; done
fi

# My card is NE2000 compatible according to dmesg, and there's
# /lib/firmware/NE2K.cis, so I need it, right? However, the kernel log
# nor dmesg does not give me any track of it. 
# I've never heard of it when I was using pcmcia-cs.

4. I think that a short explanation on what pcmciautils does should
be given, too. My guess is: cardmgr does (a) device driver loading and (b)
script triggering. (It seems that although these two happen in succesion, 
they're independent of one another.)
Pcmciautils do the function (a), but the (b) is handled by hotplug or so.

I was not clear about these things when I first installed pcmciautils.
My network card does not work with it, and I was really stuck with 
the situation.
The clue was given first when I remembered former /etc/pcmcia/config's 
error.

Last but not least, thank you for your commitment. Good Luck!

Kuro Moji



More information about the linux-pcmcia mailing list