# PrismII and Linux 2.6

## AthlonRob

Hey-

I'm buying what I think is a PrismII-based PCMCIA card tomorrow for $30 at Fry's and am trying to build the drivers for it tonight... but I'm not having a ton of luck.  :-\

I am running kernel 2.6.0-test11 with PCMCIA enabled as a module.  My last WiFi card (which I fried, BTW) worked fine (until it was fried).

I understand linux-wlan-ng is the only way to get these PrismII cards working, so I tried to emerge it.  No go, it bails out looking for modversions.h in /usr/src/linux.  Why things keep doing that, I wish I understood!  Actually, it was the pcmcia_cs crap doing that.

So I tried the ~x86.  Same thing.  So I cut the pcmcia stuff out.  This time it starts building, but errors out looking for /usr/src/linux/arch/x86/Makefile - duhhh... no directory there.  So I symlink it from /usr/src/linux/arch/i386.  Try again.  Now we're making some progress, it errors out with a sandbox violation:

```
make[3]: Entering directory `/usr/src/linux'

  MKELF   scripts/elfconfig.h

ACCESS DENIED  open_wr:   /usr/src/linux/scripts/elfconfig.h

/bin/sh: line 1: scripts/elfconfig.h: Permission denied

make[4]: *** [scripts/elfconfig.h] Error 1

make[3]: *** [scripts] Error 2

make[3]: Leaving directory `/usr/src/linux'

make[2]: *** [default] Error 2

make[2]: Leaving directory `/var/tmp/portage/linux-wlan-ng-0.2.1_pre11/work/linux-wlan-ng-0.2.1-pre11/src/p80211'

make[1]: *** [all] Error 2

make[1]: Leaving directory `/var/tmp/portage/linux-wlan-ng-0.2.1_pre11/work/linux-wlan-ng-0.2.1-pre11/src'

make: *** [all] Error 2

 

!!! ERROR: net-wireless/linux-wlan-ng-0.2.1_pre11 failed.

!!! Function src_compile, Line 118, Exitcode 2

!!! failed compiling
```

"Okay," I say to myself, "how about we just compile this as a user, outside of portage, where we have no stinkin' sandboxen!"

Make runs along merrily compiling this that and the other thing.... until WAM!  It hits me like a ton of bricks:

```
  CC [M]  /home/rob/linux-wlan-ng-0.2.1-pre11/src/prism2/driver/prism2_cs.o

In file included from /home/rob/linux-wlan-ng-0.2.1-pre11/src/prism2/driver/prism2_cs.c:5:

/home/rob/linux-wlan-ng-0.2.1-pre11/src/prism2/driver/prism2sta.c: In function `prism2sta_attach':

/home/rob/linux-wlan-ng-0.2.1-pre11/src/prism2/driver/prism2sta.c:2827: structure has no member named `release'

/home/rob/linux-wlan-ng-0.2.1-pre11/src/prism2/driver/prism2sta.c:2828: structure has no member named `release'

/home/rob/linux-wlan-ng-0.2.1-pre11/src/prism2/driver/prism2sta.c:2829: structure has no member named `release'

In file included from /home/rob/linux-wlan-ng-0.2.1-pre11/src/prism2/driver/prism2_cs.c:5:

/home/rob/linux-wlan-ng-0.2.1-pre11/src/prism2/driver/prism2sta.c: In function `prism2sta_detach':

/home/rob/linux-wlan-ng-0.2.1-pre11/src/prism2/driver/prism2sta.c:2919: structure has no member named `release'

In file included from /home/rob/linux-wlan-ng-0.2.1-pre11/src/prism2/driver/prism2_cs.c:5:

/home/rob/linux-wlan-ng-0.2.1-pre11/src/prism2/driver/prism2sta.c: In function `prism2sta_event':

/home/rob/linux-wlan-ng-0.2.1-pre11/src/prism2/driver/prism2sta.c:3387: structure has no member named `release'

/home/rob/linux-wlan-ng-0.2.1-pre11/src/prism2/driver/prism2sta.c:3388: structure has no member named `release'

make[5]: *** [/home/rob/linux-wlan-ng-0.2.1-pre11/src/prism2/driver/prism2_cs.o] Error 1

make[4]: *** [/home/rob/linux-wlan-ng-0.2.1-pre11/src/prism2/driver] Error 2

make[4]: Leaving directory `/usr/src/linux'

make[3]: *** [default] Error 2

make[3]: Leaving directory `/home/rob/linux-wlan-ng-0.2.1-pre11/src/prism2/driver'

make[2]: *** [all] Error 2

make[2]: Leaving directory `/home/rob/linux-wlan-ng-0.2.1-pre11/src/prism2'

make[1]: *** [all] Error 2

make[1]: Leaving directory `/home/rob/linux-wlan-ng-0.2.1-pre11/src'

make: *** [all] Error 2
```

"So," I say to myself, "looks like we need to try the version TPTB call stable in the land of the x86."  So I try 0.2.0:

```
make[2]: Entering directory `/home/rob/linux-wlan-ng-0.2.0/src/p80211'

gcc -E -M -D__KERNEL__ -Iinclude  -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=pentium4 -Iinclude/asm-i386/mach-default -fomit-frame-pointer  -DMODULE -I../include -DCONFIG_PACKET=1 p80211conv.c p80211req.c p80211frm.c p80211wext.c p80211wep.c p80211netdev.c p80211mod.c > .depend

In file included from p80211conv.c:73:

../include/wlan/wlan_compat.h:314:31: linux/modversions.h: No such file or directory

p80211req.c:70:22: net/sock.h: No such file or directory

In file included from p80211req.c:73:

../include/wlan/wlan_compat.h:314:31: linux/modversions.h: No such file or directory

In file included from p80211frm.c:68:

../include/wlan/wlan_compat.h:314:31: linux/modversions.h: No such file or directory

p80211wext.c:51:28: net/iw_handler.h: No such file or directory

In file included from p80211wext.c:58:

../include/wlan/wlan_compat.h:314:31: linux/modversions.h: No such file or directory

In file included from p80211wep.c:59:

../include/wlan/wlan_compat.h:314:31: linux/modversions.h: No such file or directory

p80211netdev.c:74:28: net/iw_handler.h: No such file or directory

In file included from p80211netdev.c:81:

../include/wlan/wlan_compat.h:314:31: linux/modversions.h: No such file or directory

In file included from p80211mod.c:69:

../include/wlan/wlan_compat.h:314:31: linux/modversions.h: No such file or directory

make[2]: *** [.depend] Error 1

make[2]: Leaving directory `/home/rob/linux-wlan-ng-0.2.0/src/p80211'

make[1]: *** [all] Error 2

make[1]: Leaving directory `/home/rob/linux-wlan-ng-0.2.0/src'

make: *** [all] Error 2
```

The curse of the blasted modversions.h!  Wuzzup wit dat?   :Smile: 

I'm stumped, I don't know where to go from here... so has anybody gotten there prismII-based card working with their shiney new 2.6.0-testWhatever kernel?  If they have, how'd they do it?  I'd love some pointers, maybe a patch or something, or even a nice swift kick into the proper google search terms, although I did google this one quite extensively, I think.  My googling ability is always lacking, however... The Force is not with me, I fear.   :Sad: 

Rob[/code]

----------

## Galahad

Am I right you are not root when you are compiling? Bad idea.

----------

## AthlonRob

Root is for installing, not compiling....

You emerge as root, but if you notice, you drop privs for the compilation.

There's no good reason to be root while doing the actual compiling.

BTW, I got the drivers working... just had to build pre16 by hand.

----------

## hulk2nd

as far as i know you dont need linux-wlan-ng

----------

## lorgoth

The orinoco_cs driver in the kernel works for most prism2 cards.  I have a D-link DWL-650 and it works quite well with the kernel provided stuff.

----------

## mike4148

If that doesn't work, you should try hostap, which is in portage (hostap-drivers). It happens to be the only driver set that has ever worked correctly all the time for my two adapters (Netgear MA311 PCI and Microsoft MN-520 PCMCIA).

----------

## coondog

Hulk2nd, how do i get the card to work after i've modprobed the orinoco_cs modules ?

What configurations must I make

----------

## jshaw523

When the orinoco_cs driver loads it should detect the card.  If it does then you can configure your wireless parameters with iwconfig, and your regular ethernet parameters with ifconfig.

If you are using 2.6 you definitly don't need to use linux-wlan as the Prism 2 PCI/PCMCIA drivers are all included in the kernel now.

----------

## coondog

Well here's the thing I load the orinoco_cs module but when i run iwconfig it says i have no connections ???

I have a DLink 650DWL card and I'm not quite sure why it's not working, because it is supported

----------

## hpux

I have a similar problem with 2.6.1 and an orinoco card (Netgear).

I can get the pcmcia drivers working either in the kernel or as a module,

but I can't get pcmcia-cs to work, and I think that's why my iwconfig can't find a net

card  :Sad: 

----------

## alwyn

Ok I figured this out over the weekend.

In order to get DWL-650 to work on 2.6.1 you need to do the following:

1) Compile kernel with PCMCIA support, Orinoco driver and hermes drivers as modules. Also have wireless network support on and yenta_socket as module.

2) Reboot and emerge the MASKED pcmcia-cs and wireless-tools. Also make sure you have the MASKED module-init-tools for 2.6.1.

3) Have yenta_socket in your /etc/modules.autoload.d/kernel-2.6. Do NOT add orinoco_cs here as it must be loaded by cardmgr.

4) Edit your /etc/conf.d/pcmcia to have PCIC=yenta_socket

After the above your PCMCIA card would be recognised but not associated with an interface as the cardmgr do not know which driver to associate with it.

In order to achieve that you need to add the following to /etc/pcmcia/config.opts:

```
card "D-Link DWL-650 11Mbps 802.11b WLAN Card"

   version "D", "Link DWL-650 11Mbps WLAN Card", "Version 01.02"

   bind "orinoco_cs"

```

This will cause the cardmgr to recognize your card correctly and load the

correct driver.

It will now be on eth1 or eth0 depending on whether you already have a normal NIC.  Configure as usual.

----------

## dlight

This thread simply got off track a bit, and I have not been able to locate any other threads that mirror my current issue more clearly.

My card will work great under the orinoco_cs module, however that module, and that card is not capable of setting RFMON. This is a requirement for my laptop. The problem is that linux-wlan-ng is not needed with kernel 2.6.x.

Does anyone have a proven method of getting this card to be supported in 2.6.x with the standard set of features?

----------

## coondog

For those who can't get their cards to work under Linux

USE NDISWRAPPER program

`emerge ndiswrapper`

----------

## clockwise

just at this stage myself, can i suggest for compiling the drivers:

```
# FEATURES="-sandbox" emerge /usr/portage/linux-wlan-ng/linux-wlan-ng-0.2.1_pre20.ebuild
```

now, i've just got to figure out how to configure it!

----------

## rm53

sorry I am new to the Gentoo way of software maintenance.

I am able to "emerge linux-wlan-ng" but this version is hopelessly outdated.

I saw you use newer ebuilds like 0.2.1-pre20.ebuild - where or how can I get this?

And pre21 is current since some months and really better. 

Can I make an "ebuild" myself from the normal linux-wlan-ng tarball?

thanks

rudolf mittelmann

----------

## clockwise

you can emerge a specific version by pointing directly to the ebuild, hence the pathname rather than just the package name in my examply above.

----------

## bus.dch

Hi, I'm having trouble getting prism2_usb to work on amd64.

It seems to modprobe okay but not recognize the usb device and add the wlan0 interface. I have the config files all ready to go when wlan0 shows up. I have created a one-line file in /etc/modules.d, called wlan0, containing "alias wlan0 prism2_usb". When I do /etc/init.d/wlan0 start, it can't find wlan0.

What should I do next?

----------

## bus.dch

Still can't get the prism2_usb driver to work with my Netgear MA111 wireless usb adapter.

I got the same results on an x86 machine. No wlan0 after I plug in the usb device.

```
# dmesg | tail

ACPI: PCI Interrupt 0000:02:07.0[A] -> GSI 16 (level, low) -> IRQ 16

eth0: Davicom DM9102 at pci0000:02:07.0, 00:08:a1:0d:17:ff, irq 16.

ACPI: PCI Interrupt 0000:02:0a.0[A] -> GSI 19 (level, low) -> IRQ 19

ip_tables: (C) 2000-2002 Netfilter core team

ip_conntrack version 2.1 (7168 buckets, 57344 max) - 212 bytes per conntrack

ipt_recent v0.3.1: Stephen Frost <sfrost@snowman.net>.  http://snowman.net/projects/ipt_recent/

prism2usb_init: prism2_usb.o: 0.2.3 Loaded

prism2usb_init: dev_info is: prism2_usb

usbcore: registered new driver prism2_usb

usb 2-1: new full speed USB device using uhci_hcd and address 2

usb 2-1: device descriptor read/64, error -71
```

Well, I don't get the device descriptor read/64, error -71 on the amd64 machine.

Help, anyone?

----------

## bus.dch

I found some more info on device descriptor read/64, error -71, take a look at url]http://www.spinics.net/lists/usb/msg02644.html[/url]. However, when I plugged and unplugged the device a few times, it didn't get the error anymore, so I'm not going to recompile my kernel just to get usbcore as a module.

Then I found this post:

 *Quote:*   

> I just went through all this setup, config, etc. Apparently, Netgear changed the chipset used in MA111, but didn't change the product name or id. If your MA111 box has a tiny little "v2" on the side, then you probably have the new chipset, and the standard MA111 (v1) drivers will not recognize the device. I'm returning mine to the store now.

 

I'm not going to return my usb wireless to the store, but does anyone know about work to get the MA111 v2 working?

----------

## guldan

According what I've read here, I do not need the wlan-ng drivers for the Prism 2.5 PCMCIA card withe the 2.6'er kernel  ? 

I use gentoo-source-2.6.15-r1 with yenta built into the kernel, Hermes chipset support built into the kernel and the Hermes PCMCIA card support built as a module. 

Inserting the card leads to a: Jan 31 23:47:09 noti cardmgr[8338]: module /lib/modules/2.6.15-gentoo-r1/pcmcia/prism2_cs.o not available

Which kernel section is responsible for this prism2_cs module ?

EDITED: seemsas if the linux-wlan-ng package is bringing that module with it. That still does not answer how I'd suppose to run the prism2.5 card without the wlan-ng drivers ??

----------

