Binding a pcmcia net card usung udev

Asked by Ivan G

First my questions:
  A. Is pcnet_cs still relevant under PCMCIAutils and udev, and if not, what has replaced it
  B. How to tell the system to bind my card to pcnet_cs or whatever has replaced it using udev
  C. It would be nice to have an example how this is done for some other LAN card

Details and background:

I have a wired PCMCIA LAN card (corega Ether PC-TTL) which used to work well in an older RedHat distribution, but does not work since I switched to Xubuntu 9.04 (kernel 2.6.28-11-generic). The problem seems to be related to the switch to PCMCIAutils (my older RedHat distro used the now depreciated pcmcia-cs). With pcmcia-cs I had to add a few lines to /etc/pcmcia/conf to tell the system to bind the card to pcnet_cs, as follows:
     card "Corega FEther PCC-TL"
     version "corega K.K.", "corega Ether PCC-TL"
     bind "pcnet_cs"
I understand /etc/pcmica/conf is irrelevant now, and the "Linux Kernel 2.6 PCMCIA - mini-HOWTO" (http://kernel.org/pub/linux/utils/kernel/pcmcia/howto.html) suggests that if I "relied on the startup scripts in /etc/pcmcia/*" (which I used to do), I "should switch to ... udev rules." Although I read a lot about udev (mostly related to how to have fixed device names independent on the sequence the devices are plugged in/detected), I was not able to find a solution to my problem (how to use udev to tell the system to bind my card to pcnet_cs or whatever has replaced it).

I have confirmed the following:
  1) lsmod reports the socket as yenta_socket
  2) The system detects plugging in and out the card, pccardctl correctly reports as follows:
      PRODID_1="corega K.K."
      PRODID_2="corega Ether PCC-TL"
      PRODID_3=""
      PRODID_4=""
      MANFID=c00f,0000
      FUNCID=6
  3) When plugging in and out the card, /sys/bus/pcmcia/devices/1.0 correctly reflects this,
      showing the correct PRODIDs etc.
  4) eth0 does not appear in /sys/class/net, there are only a lo (loop) and pan0 (BlueTouth device) detected there

Thus I conclude that the system detects correctly the card, but does not know where to bind it to, and does not realize it is a LAN card. My understanding is that pcnet_cs was somewhat related to the now depreciated pcmia-cs, and it is not clear for me whether it is still usable under PCMCIAutils and udev.

The questions repeated:
  A. Is pcnet_cs still relevent under PCMCIAutils and udev, and if not, what has replaced it
  B. How to tell the system to bind my card to pcnet_cs or whatever has replaced it using udev
  C. It would be nice to have an example how this is done for some other LAN card

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu udev Edit question
Assignee:
No assignee Edit question
Solved by:
Ivan G
Solved:
Last query:
Last reply:
Revision history for this message
Randall Ross (randall) said :
#1

Hi Ivan,

I did a bit of research on this, and noticed that the card you are mentioning is quite old.

Would you consider changing cards? Ethernet LAN cards are *really* cheap these days: http://www.google.com/products?q=pc+card+ethernet&hl=en&scoring=p

Just a thought. I've seen so many folks spend hours/days trying to make old cards work. (I've done it too.)

Cheers,
Randall
in Vancouver

Revision history for this message
Ivan G (i-ganachev) said :
#2

Thanks a lot, Randall.

Problem solved as you suggested. Indeed throwing a few money at a problem makes sense sometimes.

Best regards, Ivan