# detecting PCMCIA network cards?

## HoneyNutCheerios

I am copying from another section into this section.

The original is at https://forums.gentoo.org/viewtopic-t-323243.html

I installed Gentoo using the Live CD Stage 3. 

When Gentoo booted up, it would not detect my eth0. So I reconfigured the menuconfig to detect PCMCIA. After recompiling the kernal, the eth0 showed up. But I am unable to ping any servers on the internet. 

# ifconfig -a 

eth0 Link encap:Ethernet HWaddr 00:09:5B:61:7C:23 

BROADCAST MULTICAST MTU:1600 Metric:1 

RX packets:0 errors:0 dropped:0 overruns:0 frame:0 

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 

collisions:0 txqueuelen:1000 

RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) 

Interrupt:9 Base address:0x2000 

eth0 Link encap:Local Loopback 

inet addr:127.0.0.1 Mask:255.0.0.0 

UP LOOPBACK RUNNING MTU:16436 Metric:1 

RX packets:0 errors:0 dropped:0 overruns:0 frame:0 

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 

collisions:0 txqueuelen:0 

RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) 

# /etc/init.d/net.eth0 restart 

* Bringing eth0 up via DHCP [!!] 

# lspci 

...Host bridge:... 

...PCI bridge:... 

...Cardbus bridge:... 

...Cardbus bridge:... 

...Multimedai audio controller:... 

...Bridge:... 

...IDE interface:... 

...USB Controller:... 

...Bridge:... 

...VGA compatible controller:... 

0000:06:00.0 Ethernet controller: Linksys 21x4x DEC-Tulip comptaible 10/100 ethernet (rev 11) 

# dmesg | grep -i eth 

eth0: ADMtek Comet rev 17 at d29d2000, 00:09:5B:61:7C:23, IRQ 9. 

eth0: Setting full-duplex based on MII#1 link partnet capability of 45e1. 

eth0: Setting full-duplex based on MII#1 link partnet capability of 45e1. 

eth0: Setting full-duplex based on MII#1 link partnet capability of 45e1. 

eth0: Setting full-duplex based on MII#1 link partnet capability of 45e1. 

My /etc/conf.d/net has the following three: 

iface_eth0="dhcp" 

dhcpcd_eth0="-HD" 

dhcpcd_eth0="-N" 

I had the following two uncommented before but it did not resolve the problem: 

iface_eth0="192.168.1.55 broadcast 192.168.1.255 netmask 255.255.255.0" 

gateway="eth0/192.168.1.1" 

I am installing this on a IBM Thinkpad 600E. The laptop does not have an ethernet port, so I am using an Ethernet Card by Netgear. 

The internet connect exists when I am using the LiveCD.

I retrieved the ip address and gateway ip using the live cd (ifconfig and route -n). 

Code: 

ifconfig eth0 192.168.1.102 

The ifconfig shows the 

Code: 

... 

inet addr:192.168.1.102 Bcast:192.168.1.255 Mask:255.255.255.0 

... 

Code: 

route add default 192.168.1.1 

SIOCADDRT: No such device[/quote] 

In addition, from the live cd I executed "lsmod": 

tulip 

crc32 

yenta_socket 

pcmcia_core 

evdev 

parport_pc 

parport 

sbp2 

ohci1394 

ieee1394 

ohci_hcd 

uhci_hcd 

usb_storage 

ehci_hcd 

And "lsmod" from the gentoo environment shows: 

tulip 

yenta_socket 

pcmcia_core 

evdev 

parport_pc 

parport 

ohci_hcd 

uhci_hcd 

ehci_hcd 

rsrc_nonstatic 

floppy 

ipv6 

rtc

Do I install the missing modules by reconfiguring and recompiling the kernel?

----------

## augury

do you have pcmcia-cs package?

----------

## HoneyNutCheerios

No it turns out I didn't have it.

I am emerging it right now via the live cd into the gentoo environment.

----------

## HoneyNutCheerios

I have the pcmcia-cs package installed. But I am still unable to connect to the internet.

My /etc/conf.d/net has only the following lines: 

iface_eth0="dhcp" 

dhcpcd_eth0="-HD" 

dhcpcd_eth0="-N" 

When I do ifconfig eth0 192.168.1.102 , the ipaddress shows up in ifconfig.

When I do route add default gw 192.168.1.1, the gateway shows up in route -n.

But I cannot ping any computer on my local network or the internet.

My lsmod currently shows:

ohci_hcd 

uhci_hcd 

ehci_hcd 

parport_pc 

parport 

floppy 

tulip 

evdev 

rtc

My Linux Kernel Configuration (Linux Kernel v2.6.11-gentoo-r5):

Bus options (PCI, PCMCIA, EISA, MCA, ISA) --_>

       PCCARD (PCMCIA/CardBus) support --->

              <*> PCCard (PCMCIA/CardBus) support

              [ ] Enable PCCARD debugging

              <*>   16-bit PCMCIA support

              [*]   32-bit CardBus support

              --- PC-card bridges

              <*> CardBus yenta-compatible bridge support (NEW)

              <*> Cirrus PD6729 compatible bridge support (NEW)

              <*> i82092 compatible bridge support (NEW)

              <*> i82365 compatible bridge support (NEW)

              <*> Databook TCIC host bridge support (NEW)

I would appreciate any push in the right direction.

----------

## augury

make sure you start pcmcia

#  /etc/init.d/pcmcia start

#  /etc/init.d/net.eth0 start

you can also use the new format in /etc/conf.d/net  (and read /etc/conf.d/net.example if you haven't already.)

i haven't used dhcp before really so this is for example

```

### /etc/conf.d/net

config_eth0=( "dhcp" )

dhcpcd_eth0="-t 30" # EDIT: no -o # -S # time out after 30 seconds # -R if it messes up /etc/resolv.conf 

#modules=( "udhcpc" )  or ( "pump" )    ### potential options

fallback_eth0=( "192.168.1.102 netmask 255.255.255.0" )

fallback_route_eth0=( "default gw 192.168.1.1 eth0" )

```

where you need one of:

# dhcpcd:   emerge net-misc/dhcpcd

# dhclient: emerge net-misc/dhcp

# udhcpc:   emerge net-misc/udhcp

# pump:     emerge net-misc/pump

starting coldplugd first may helpLast edited by augury on Fri Apr 29, 2005 10:06 am; edited 1 time in total

----------

## augury

looking back over you post more closely -- i dont even think you have a pcmcia unit ( this is laptops only ). 

the tulip cards are under  Ethernet (10 or 100Mbit).    they have their own section now.  

    Tulip family network device support  ---> 

build all of the ethernet adapters you can as modules from that section and build

<*>DECchip Tulip (dc2114x) PCI support (NEW) 

in to the kernel.  add all the pcmcia net devices as modules in case and look for a port maybe on the laptop for a internet port

the tulip is something a ibm would have and it's not a pcmcia.  ibm likes thin clients.  i cant image theres not an ethernet port on there some where.  i mean  what else would they put in there?

the operative word here is coldplug. -- /etc/init.d/coldplugd start -- coldplug 

  --- Networking support   

  Networking options  --->   

  x x            <*> Packet socket                                                            x x  

  x x            [*]   Packet socket: mmapped IO                                              x x  

  x x            <*> Unix domain sockets                                                      x x  

  x x            <*> PF_KEY sockets                                                           x x  

  x x            [*] TCP/IP networking                                                        x x  

  x x            [ ]   IP: multicasting                                                       x x  

  x x            [ ]   IP: advanced router                                                    x x  

  x x            [*]   IP: kernel level autoconfiguration                                     x x  

  x x            [*]     IP: DHCP support                                                     x x  

  x x            [*]     IP: BOOTP support                                                    x x  

  x x            [ ]     IP: RARP support                                 

. . . . . .

  x x            [*] IP: ARP daemon support (EXPERIMENTAL)                                    x x  

  x x            [*] IP: TCP syncookie support (disabled per default)                    x x  

  x x            <*> IP: AH transformation                                                    x x  

  x x            <*> IP: ESP transformation                                                   x x  

  x x            <*> IP: IPComp transformation                                               x xLast edited by augury on Thu Apr 28, 2005 8:19 am; edited 1 time in total

----------

## augury

0000:06:00.0 Ethernet controller: Linksys 21x4x DEC-Tulip comptaible 10/100 ethernet (rev 11) 

is says linksys though doesnt it.  is this the same as netgear?

----------

## augury

whats taking the other five buses i dont even wanna know.

----------

## HoneyNutCheerios

 *Quote:*   

> 0000:06:00.0 Ethernet controller: Linksys 21x4x DEC-Tulip comptaible 10/100 ethernet (rev 11) 
> 
> is says linksys though doesnt it. is this the same as netgear?

 

I don't understand that part either. I can clearly read the NETGEAR label on the pcmcia ethernet card. Do you think this may be causing the trouble?

----------

## HoneyNutCheerios

# /etc/init.d/pcmcia start 

* WARNING: "pcmcia" has alrady been started.

# /etc/init.d/net.eth0 start 

* Bringing eth0 up via DHCP...                        [!!]

net.eth0 start fails. During boot up, it tries the same thing and fails.

I had to emerge teh following two:

# dhclient: emerge net-misc/dhcp 

# udhcpc: emerge net-misc/udhcp 

I configured the kernel as you suggested in the following sections

Device Drivers --->

-----Networking support --->

----------Networking options ---> 

Device Drivers --->

-----Networking support --->

----------Ethernet (10 or 100Mbit) ---> 

---------------Tulip Family network device support --->

Additionally I also built into the kernel all the options found under the following:

Device Drivers --->

-----Networking support --->

----------PCMCIA network device support --->

I didn't experiment with the new format in the /etc/conf.d/net because the default is certain to work. When I get the network working, then I'll can play around with it.

And, it is still not working. Can you offer any other suggestions?

----------

## augury

comment out everything in net and add

ifconfig_eth0=("192.168.1.102 netmask 255.255.255.0")

routes_eth0=("default gw 192.168.1.1 eth0")

try and start net.eth0

----------

## augury

 *HoneyNutCheerios wrote:*   

> because the default is certain to work.

 

it could

----------

## codergeek42

Did you remember to enable PCMCIA network device support (CONFIG_NET_PCMCIA)? It's your kernel config it's under Networking Support ==> Network device support. You don't need to enable any of the devices under that though.

----------

## augury

codergeek42 seems to know what he's talking about.  I've never heard of PCMCIA modules that where out side of the PCMCIA section but that the way you had it.  you may not need pcmcia-cs in this case.

depending on your router you should be able to take any IP address.  you should be able to ping the router then.  the only other thing would be a DNS sever entry in resolv.conf.

----------

## codergeek42

Actually you _should_ stioll use pcmcia-cs, since that's what provides the cardmgr daemon and other needed PCCard utilities (such as cardctl, etc.)  It's just that with the 2.6 kernel you don't need to use the kernel modules that pcmcia-cs provides. I hope you're able to resolve your network issue. :=/

----------

## HoneyNutCheerios

 *codergeek42 wrote:*   

> Did you remember to enable PCMCIA network device support (CONFIG_NET_PCMCIA)? It's your kernel config it's under Networking Support ==> Network device support. You don't need to enable any of the devices under that though.

 

That did not work. Do you have any other suggestions?

I orginally had all the items under PCMCIA network device support built into the kernel. Now, as you advised, I have only the PCMCIA network device support.

----------

## HoneyNutCheerios

By the way, 

Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->

-----PCCARD (PCMCIA/CardBus) support  --->

----------<*> PCCard (PCMCIA/CardBus) support

----------[ ] Enable PCCARD debugging

----------<*>16-bit PCMCIA support

----------[*]   32-bit CardBus support

------------- PC-card bridges

----------<M> CardBus yenta-compatible bridge support (NEW)

----------<M> Cirrus PD6729 compatible bridge support (NEW)

----------<M> i82092 compatible bridge support (NEW)

----------<M> i82365 compatible bridge support (NEW)

----------<M> Databook TCIC host bridge support (NEW)

# lsmod

ohci_hcd 

ehci_hcd 

parport_pc 

parport (Used by parport_pc )

floppy 

uhci_hcd 

yenta_socket 

rsrc_nonstatic (Used by yenta_socket )

evdev 

rtc Last edited by HoneyNutCheerios on Sat Apr 30, 2005 2:25 am; edited 2 times in total

----------

## augury

you should have <*> CardBus yenta-compatible bridge support (NEW)  in the kernel.  Coldpluging should load it otherwise.

----------

## HoneyNutCheerios

It's recompiling the kernel with "<*> CardBus yenta-compatible bridge support (NEW) in the kernel".

By the way, is there a documentation that explains all the options in the kernel configuration?

----------

## HoneyNutCheerios

The network is not working.

At boot up, the following error occurs:

* Bringing eth0 up via DHCP...                        [!!]

# lsmod

ohci_hcd 

ehci_hcd 

parport_pc 

parport (Used by parport_pc ) 

floppy 

uhci_hcd 

evdev 

rtc 

First, I'm going to install Java 1.5 via the live CD because I need my laptop for work to do my homework.

Then once this wretch semester is over (Tuesday 4/03/05),

I'm going to install pcmcia_core, yenta_socket, and tulip as modules and see the effects. Any other suggestions?

----------

## augury

its just /etc/conf.d/net thats stopping you at this point.

----------

## HoneyNutCheerios

 *augury wrote:*   

> comment out everything in net and add
> 
> ifconfig_eth0=("192.168.1.102 netmask 255.255.255.0")
> 
> routes_eth0=("default gw 192.168.1.1 eth0")
> ...

 

When I did this, the ifconfig shows the ipaddress and route -n shows the gateway, but I am unable to ping my router, a Windows box in the lan, and www.google.com. Basically, it appears to work but it actually does not. 

Where can I find the documentation for the /etc/conf.d/net file? I have unsuccessfully looked for it. 

By the way, you have been very generous with your time and I do appreciate it.

----------

## augury

if it worked with the live cd, ruling out a hardward/networking problem, there must be a kernel problem or a config problem.  post your kernel .config and maybe someone will spot the problem.

----------

## augury

you could try adding relevent info to /etc/pcmcia/network.opts.  i never had to do this before but its worth a shot.

EDIT: i did do this however on my laptop.

----------

## HoneyNutCheerios

 *HoneyNutCheerios wrote:*   

> I'm going to install pcmcia_core, yenta_socket, and tulip as modules and see the effects. Any other suggestions?

 

I installed the pcmcia_core, yenta_socket, and tulip as modules. The lsmod follows:

```
# lsmod

ohci_hcd 

ehci_hcd

parport_pc 

parport (Used by parport_pc)

floppy

uhci_hcd 

evdev 

tulip

pcmcia

yenta_socket 

rsrc_nonstatic (Used by yenta_socket)

pcmcia_core (Used by pcmcia, yenta_socket, rsrc_nonstatic)

rtc

```

The lsmod from the Live CD is as follows with red symbolizing common modules:

 *Quote:*   

> tulip 
> 
> crc32 (Used by tulip)
> 
> yenta_socket 
> ...

 

I am still unable to ping any computers. 

I tried setting the /etc/conf.d/net the two following ways:

First,

```
ifconfig_eth0=("192.168.1.102 netmask 255.255.255.0") 

routes_eth0=("default gw 192.168.1.1 eth0") 
```

Second, 

```
ifconfig_eth0=( "dhcp" ) 

dhcpcd_eth0="-t 30"
```

----------

## augury

do a modprobe crc32 see if that helps

----------

## HoneyNutCheerios

Here is my kernel .config:

 *Quote:*   

> #
> 
> # Automatically generated make config: don't edit
> 
> # Linux kernel version: 2.6.11-gentoo-r5
> ...

 

----------

## HoneyNutCheerios

 *augury wrote:*   

> do a modprobe crc32 see if that helps

 

```
# modprobe crc32

FATAL: Module crc32 not found
```

It didn't work; I think I know where the module is in the kernel config. I thought crc32 was some encryption module.

Thanx for your help tonight. I have to get some rest b/c I have to work tomorrow morning. And I may not be able to work on this until Wednesday. Thanx again.

----------

## augury

theres the help section in the kernel config and if you emerged with USE='doc' you should have some formated documentation in the kernel dir.  its not all that bad after youve done it before but you have to learn from your mistakes and know how to make your mistakes.  don't change 8 cflags at once and emerge glibc for instance because theres no way to track down a problem that way.  on the same token if you aren't going to do things like that theres no point in compiling your own stuff.  having experience with other distros has no baring on weather or not you can use this one.  as soon as it takes time and effort to "install" software, it just doesn't seem the same.  and when it runs well, nothing has windows.   if you havent had any experience w/ the code before you don't know where to look and so you have to work 10 time as hard and if you dont it wont get fixed but after a while the little things dont stop you anymore and its just the big ones you worry about.

the big thing that would help in your situtation is hardwares and some more hosts so you can compare to known good status quo.  ive got a 3com 3c374 pcmcia. it was on sale for $14 in a yahoo store.  ebay has them for less than five.  i only have 3 pieces of net hardware that aren't 3com and those are all intel.  thats a habit thats that im not going to be able to afford soon.  d-link looks like it might be an option (my cable modem switched too, to dlink and dsl is generic verizon crap).  i dont like to buy hardware that i dont think the kernel supports well.  i kind of like it when it says linux or unix support on the box but that can get you in even more trouble than you realize.

----------

## augury

these are the changes i would make.  theres no obvious errors that would keep you from bringing up the net except maybe hotplugging support.

 [* ]   Legacy /proc/pci interface   ### doesnt hurt

 [ *]   PCI device name database     

  PCI Hotplug Support  ---> 

 <m> Support for PCI Hotplug (EXPERIMENTAL)  ### this can help 

       <m >   SHPC PCI Hotplug driver (NEW)

 <*> PCCard (PCMCIA/CardBus) support 

[ ]   Enable PCCARD debugging 

<*>   16-bit PCMCIA support  

[*]   32-bit CardBus support 

---   PC-card bridges      

<*>   CardBus yenta-compatible bridge support         ### mod or built in either way

  <*>   CRC32c CRC algorithm        ### you card appears to use this

[*] Kernel debugging  ### this probably isn't nessesary unless you were using it

<*> XFS filesystem support   

[*] Realtime support (EXPERIMENTAL)  

[  ] Quota support                               ### quota support can screw with you if you havent set it up

<*> CRC-CCITT functions          

--- CRC32 functions                                             ### you may need these    

 --- CRC32c (Castagnoli, et al) Cyclic Redundancy-Check  

 [*] HPET Timer Support 

[*] Symmetric multi-processing support    ### if you have a p3 and its a laptop you do not want this

 [*] Preemptible Kernel                  ###  helps work around bugs

 ()  Local version - append to kernel release  

 [*] Support for paging of anonymous memory (swap)                 

 [*] System V IPC                              

> [* ] POSIX Message Queues                      

 >[ *] BSD Process Accounting                    

 [*] Sysctl support                            

 [ ] Auditing support                          

 --- Support for hot-pluggable devices         

 [*] Kernel Userspace Events                   

 >[ ] Kernel .config support                    

> []   Enable access to .config through /proc/config.gz

 [ ] Cpuset support (NEW)                      

 [*] Configure standard kernel features (for small systems)  --->              x x

----------

## HoneyNutCheerios

Now, I finally have some time !

I am currently upgrading from kernel 2.6.11r5 to 2.6.11r9. 

lsmod from live CD

ipv6

tulip 

crc32 (Used by tulip) 

yenta_socket 

pcmcia_core (Used by yenta_socket) 

evdev 

parport_pc 

parport (Used by parport_pc) 

sbp2 

ohci1394 

ieee1394 (Used by sbp2, ohci1394) 

ohci_hcd 

uhci_hcd 

usb_storage 

ehci_hcd

----------

## HoneyNutCheerios

When I used the Gentoo 2005.0 Live CD, the networking did not work.

The Gentoo 2004.3 Live CD works fine.

----------

## HoneyNutCheerios

I tried two different network cards:

3Com Fast EtherLink 16-bit PC Card 10/100Base-TX; 3C574-TX

SMC Networks EZ Connect Wireless PC Card; Model No. SMC2632W

Although I enabled the proper drivers in the kernel configuration (http://pcmcia-cs.sourceforge.net/ftp/SUPPORTED.CARDS), they both did not work. So the problem maybe something else.

----------

## pipplo

# /etc/init.d/net.eth0 start

* Bringing eth0 up via DHCP... [!!]

net.eth0 start fails. During boot up, it tries the same thing and fails. 

I'm curious as to what exact errors you are getting here?  Can you run

/etc/init.d/net.eth0 start

and then after you see the error do 

cat /var/log/messages

you should see the specific error DHCP (or net) is having...

----------

## elephant

I had a problem with my PCMCIA network adapter too - I've just solved it actually. I had hotplug-base, but not hotplug, and when I emerged it I could get the right output from ifconfig eth0. It starts working when I type 'dhcpcd eth0' (dhcpcd needs to be emerged as well).

----------

