# So close to getting wireless working

## dirtboy

I have a 3com card and I have cardmgr loading the drivers, but I need to set it up to work with networking.  After I insert it, I get a high beep, then an immediate low beep.  Syslog shows this:

```
Feb  5 00:55:19 dirtlap kernel: cs: IO port probe 0x0c00-0x0cff: clean.

Feb  5 00:55:19 dirtlap kernel: cs: IO port probe 0x0800-0x08ff: clean.

Feb  5 00:55:19 dirtlap kernel: cs: IO port probe 0x0100-0x04ff: excluding 0x110-0x117 0x378-0x37f 0x4d0-0x4d7

Feb  5 00:55:19 dirtlap kernel: cs: IO port probe 0x0a00-0x0aff: clean.

Feb  5 00:55:19 dirtlap kernel: cs: memory probe 0xa0000000-0xa0ffffff: excluding 0xa0000000-0xa0ffffff

Feb  5 00:55:19 dirtlap kernel: cs: memory probe 0x60000000-0x60ffffff: clean.

Feb  5 00:55:19 dirtlap kernel: No Wires Needed Poldhu driver v0.2.13

Feb  5 00:55:19 dirtlap kernel: poldhu_cs: index 0x30: Vcc 3.3, irq 3 io 0x0180-0x01bf

Feb  5 00:55:20 dirtlap kernel: eth1: 3Com 11 Mbps Wireless LAN PC Card, port 180, irq 3, hw_addr 00:01:03:FB:41:D5

Feb  5 00:55:20 dirtlap /etc/hotplug/net.agent: how do I bring interfaces up on this distro?

Feb  5 00:55:20 dirtlap /etc/hotplug/net.agent: register event not handled

```

Obviously, I need to create a net.eth1 script for the card.  I tried copying the eth0 script, but that doesn't seem to work.  It loks like I have to create one from scratch.

I have no idea how to do this.  I tried looking in GG and the man pages, but  can't find any documentation on wireless specific scripts for net.eth1.  Anyone have any references, or a script on their machine they could post?

----------

## gtsquirrel

First, are you using PCMCIA-CS or the kernel cardbus drivers?

Second, where did you get the 3Com wireless drivers from?

chris

----------

## dirtboy

Using kernel cardbus drivers loaded as modules (yenta_sockets)

Drivers for the card were downloaded and compiled from here:

http://www.xs4all.nl/~bvermeul/swallow/

This used sources from pcmcia-cs, but I just ebuilt the sources, not the entire package pcmcia-cs.

----------

## gtsquirrel

Okay, you need to remove CardBus services and any wireless drivers from the kernel.

 *Quote:*   

> 
> 
> General setup
> 
>  ---> PCMCIA/Cardbus support
> ...

 

Now at this point, reboot into your new kernel.

Emerge the pcmcia-cs package.

Edit the /etc/conf.d/pcmcia file to add to appropriate PCIC line:

```

CARDMGR_OPTS="-f"

SCHEME="default wireless scheme here"

PCIC="i82365"

```

The PCIC line is the only one you need to change.  Set it to your approriate Cardbus type.

Change any options in wireless.opts and network.opts if you're going to use that stuff.

Reboot.  Enjoy.

chris

----------

## dirtboy

Something weird is happening now.  When I place my card in, this is what I get in the syslog:

```
Feb  6 10:30:21 dirtlap cardmgr[6488]: socket 0: Anonymous Memory

Feb  6 10:30:21 dirtlap cardmgr[6488]: executing: 'modprobe memory_cs'

Feb  6 10:30:21 dirtlap cardmgr[6488]: executing: './memory start mem0'

Feb  6 10:30:21 dirtlap kernel: memory_cs: mem0: anonymous: unknown size

```

lsmod shows me this:

```
Module                  Size  Used by    Not tainted

memory_cs               9888   0  (unused)

ds                      7208   2  [memory_cs]

i82365                 26848   2

pcmcia_core            48960   0  [memory_cs ds i82365]

```

Seems my card is now detected as a memory card.  I tried rmmod on the memory_cs drivers, then modprobe poldhu_cs and this is the result:

```
/lib/modules/2.4.20/pcmcia/poldhu_cs.o: init_module: Operation not permitted

Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters.

      You may find more information in syslog or the output from dmesg

/lib/modules/2.4.20/pcmcia/poldhu_cs.o: insmod /lib/modules/2.4.20/pcmcia/poldhu_cs.o failed

/lib/modules/2.4.20/pcmcia/poldhu_cs.o: insmod poldhu_cs failed

```

Hmm...  Here is the output of sylog dealing with this for completeness:

```
eb  6 10:37:45 dirtlap kernel: No Wires Needed Poldhu driver v0.2.13

Feb  6 10:37:45 dirtlap kernel: poldhu_cs: Card Services release does not match!

```

[EDIT]  Forgot to thank you for your suggestions.  Thanks!

----------

## gtsquirrel

Just to be clear, these messages are found after you tried my suggestions from above?

What version of pcmcia-cs did you emerge?

(And no problem on the suggestions.)

chris

----------

## dirtboy

Yes, did everything above.  I emerged 3.2.3-r1.  I noticed in the wireless.opts that the swallow driver doesn't have a MAC address listed.  I am going to attempt to create another entry in wireless.opts for this 3com card and add its MAC address to the file and see if that works.

----------

## gtsquirrel

You don't need anything special for the wireless.opts file.  Just set it to:

```

case "$ADDRESS" in

*,*,*,*)

   INFO="Description field"

   ESSID="essid_of_network"

   RATE="auto"

   MODE="Managed"

   KEY="wep key here if you have one"

   ;;

esac

```

that should be all you need.  there are no "driver specific" options.  in fact, i delete all the entries and just create this one.  (actually, i set up different wireless schemas, but that's outside the scope of your immediate problem.)

What type of laptop/card do you have anyway?

----------

## dirtboy

Still not working.  Everytime I pop it out and back in, it detects the card as a memory card.  I can modprobe the poldhu_cs module, but can't tell if it is using the modules or actually getting an identifier off the card before loading a module.  Previously, with the kernel drivers, it cardmgr would report the card as a 3com in the syslogs, then load the appropriate modules.  Hmmm...  Maybe I should post this to the pcmcia-cs list?

----------

## gtsquirrel

It may be an alias that you need to change.  I suggest looking at the pcmcia-cs list and also check Google for help specific to whatever 3Com card you're using.  Good luck!

chris

----------

## ROBOTHOUSE!

Yeah, I'm gettig the same problem with my BelkinF5D6020 Ver2 card. It only shows up as a memory_cs with the same stuff going on in the syslogs as dirtboy. Wheee...

----------

## dirtboy

After a lot of trial and error, I have noticed that this might be an issue with the controller module.  Previously, using the kernel drivers, only yenta_socket.o would work.  i82365 would give me an error saying the hardware is not found.  I could use the yenta_socket driver and it would work, I just wouldn't have the tools pcmcia-cs gives you.  Cardctl ident shows everything on the card and it would load the poldhu_cs drivers appropriately.  After emerging pcmcia-cs, the i82365 driver module doesn't give me an error, but /cardctl ident shows nothing installed.  On a whim, I decided to try the yenta_socket module again.

This is where it gets weird.  Pcmcia-cs does not compile a yenta_socket module, but it does make a symlink called yenta.o or yenta_socket.o to ../kernel/drivers/pcmcia/yenta_socket.o.  Wait a minute!  If you are using pcmcia-cs, you don't compile the cardbus drivers, right?  So /lib/modules/kernel/drivers/pcmcia/yenta_socket.o  shouldn't exist, correct (it doesn't)?  Why would a package make a symlink to file you are not supposed to have if you are using this package?

PS:  Hey ROBOT!  Haven't I seen you on the sager forums?

----------

## dirtboy

Hey ROBOT!  I have a topic in the pcmcia-cs forums at sourceforge.net.  Could you post there too so the developers know this is not just me?

----------

## ROBOTHOUSE!

Done and done...  :Very Happy: 

----------

## oniq

Don't know which 3Com card you have, but give this article a try: http://www.linuxonthego.com/articles.php?article=3com

----------

## dirtboy

Yeah, the guys on the pcmcia-cs forums said that if you are using kernel 2.40, it is recommended to use kernel drivers, so I am about to stop trying to get pcmcia-cs working.  That leads me back to my original post.

----------

