Networking Forums

Networking Forums > Computer Networking > Linux Networking > Help setting up Prism3 USB-based WLAN on kernel 2.6.8.1

Reply
Thread Tools Display Modes

Help setting up Prism3 USB-based WLAN on kernel 2.6.8.1

 
 
Lewin A.R.W. Edwards
Guest
Posts: n/a

 
      10-10-2004, 06:14 PM
I'm having real difficulty setting up WLAN connectivity in Linux on my
new ECS Desknote, and I'd love some help. The device is an AirVast
PRISM3 card, internally connected on a hidden USB bus. The VID/PID are
included in the current version of linux-wlan-ng, so I guess it's
supposed to be supported. This is a bit of a multifaceted problem -
this is my first serious non-experimental attempt to use 2.6 kernels,
and I'm not fully aware of the differences between FC1 and FC2. I'm
using kernel 2.6.8.1.

Historically I've had no difficulty getting linux-wlan-ng to play nice
with kernel 2.4.x on my older laptops with external USB pods. But I
don't know if it's the device or the kernel or something I've
forgotten in the config process; if someone could read over these
looking for obvious errors it would be MUCH appreciated.

Here's my ifcfg-wlan0 (no my key is not 8888... :

DEVICE=wlan0
BOOTPROTO=dhcp
ONBOOT=no
TYPE=Wireless
ESSID=LARWE
CHANNEL=11
MODE=Managed
RATE=Auto
KEY=88888888888888888888888888

Here's my /etc/wlan/wlan.conf:

WLAN_DEVICES="wlan0"
ChannelList="0b:06:01:02:03:04:05:07:08:09:0a:00:0 0:00"
ChannelMinTime=200
ChannelMaxTime=250
WLAN_SCAN=y
SSID_wlan0="LARWE"
ENABLE_wlan0=y


Here's my /etc/wlan/wlancfg-LARWE:

lnxreq_hostWEPEncrypt=true # true|false
lnxreq_hostWEPDecrypt=true # true|false
dot11PrivacyInvoked=true # true|false
dot11WEPDefaultKeyID=0 # 0|1|2|3
dot11ExcludeUnencrypted=false # true|false, in AP this means WEP is
required.
dot11WEPDefaultKey0= 88:88:88:88:88:88:88:88:88:88:88:88:88
dot11WEPDefaultKey1= # xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
dot11WEPDefaultKey2= # e.g. 01:20:03:40:05 or
dot11WEPDefaultKey3= # 01:02:03:04:05:06:07:08:09:0a:0b:0c:0d
IS_ADHOC=n # y|n, y - adhoc, n - infrastructure
AuthType="sharedkey" # opensystem | sharedkey (requires WEP)
BCNINT=100 # Beacon interval (in Kus)
CHANNEL=11 # DS channel for BSS (1-14, depends
# on regulatory domain)
BASICRATES="2 4" # Rates for mgmt&ctl frames (in 500Kb/s)
OPRATES="2 4 11 22" # Supported rates in BSS (in 500Kb/s)


Now, here's a snippet of dmesg when the USB driver is loading and I
attempt ifup wlan0:

----8<---
usb 3-2: new full speed USB device using address 2
p80211: Unknown parameter `wlan_debug'
prism2_usb: Unknown parameter `prism2_debug'
prism2usb_init: prism2_usb.o: 0.2.1-pre22 Loaded
prism2usb_init: dev_info is: prism2_usb
divert: allocating divert_blk for wlan0
usbcore: registered new driver prism2_usb
Debug: sleeping function called from invalid context at mm/slab.c:1989
in_atomic():1, irqs_disabled():1
[<c0119ce0>] __might_sleep+0xb0/0xe0
[<c013eb46>] __kmalloc+0x96/0xa0
[<d6850259>] ohci_urb_enqueue+0xb9/0x320 [ohci_hcd]
[<c026a2fe>] hcd_submit_urb+0x10e/0x1a0
[<d6886850>] hfa384x_usbin_callback+0x0/0x230 [prism2_usb]
[<c026adc3>] usb_submit_urb+0x1c3/0x240
[<d68840f6>] submit_rx_urb+0xf6/0x140 [prism2_usb]
[<d6885e2b>] hfa384x_drvr_start+0x7b/0x110 [prism2_usb]
[<d688dae7>] prism2sta_ifstate+0x1c7/0x1e0 [prism2_usb]
[<d688d508>] prism2sta_mlmerequest+0xb8/0x4d0 [prism2_usb]
[<c01b9b03>] capable+0x23/0x60
[<d6862e4a>] p80211req_dorequest+0x8a/0xc0 [p80211]
[<d6865dee>] p80211knetdev_do_ioctl+0xbe/0x100 [p80211]
[<c0293d28>] dev_ifsioc+0x388/0x3f0
[<c0293f34>] dev_ioctl+0x1a4/0x300
[<c0289c28>] sock_ioctl+0x2e8/0x310
[<c01663ed>] sys_ioctl+0x10d/0x260
[<c01060b5>] sysenter_past_esp+0x52/0x71
EXT3 FS on hda2, internal journal
Adding 524152k swap on /dev/hda3. Priority:-1 extents:1
Writing 4096 bytes to ram @0x7e2ffe
Writing 4096 bytes to ram @0x7e3ffe
Writing 4096 bytes to ram @0x7e4ffe
Writing 4096 bytes to ram @0x7e5ffe
Writing 4096 bytes to ram @0x7e6ffe
Writing 4096 bytes to ram @0x7e7ffe
Writing 4096 bytes to ram @0x7e8ffe
Writing 4096 bytes to ram @0x7e9ffe
Writing 4096 bytes to ram @0x7eaffe
Writing 4096 bytes to ram @0x7ebffe
Writing 4096 bytes to ram @0x7ecffe
Writing 4096 bytes to ram @0x7edffe
Writing 3010 bytes to ram @0x7eeffe
Writing 416 bytes to ram @0x7efc20
Writing 16 bytes to ram @0x7efdd0
Writing 4044 bytes to ram @0x7f0800
Writing 3288 bytes to ram @0x7fe000
Debug: sleeping function called from invalid context at mm/slab.c:1989
in_atomic():1, irqs_disabled():1
[<c0119ce0>] __might_sleep+0xb0/0xe0
[<c013eb46>] __kmalloc+0x96/0xa0
[<d6850259>] ohci_urb_enqueue+0xb9/0x320 [ohci_hcd]
[<c026a2fe>] hcd_submit_urb+0x10e/0x1a0
[<d6886850>] hfa384x_usbin_callback+0x0/0x230 [prism2_usb]
[<c026adc3>] usb_submit_urb+0x1c3/0x240
[<d68840f6>] submit_rx_urb+0xf6/0x140 [prism2_usb]
[<d6885e2b>] hfa384x_drvr_start+0x7b/0x110 [prism2_usb]
[<d688d996>] prism2sta_ifstate+0x76/0x1e0 [prism2_usb]
[<d688d508>] prism2sta_mlmerequest+0xb8/0x4d0 [prism2_usb]
[<c01b9b03>] capable+0x23/0x60
[<d6862e4a>] p80211req_dorequest+0x8a/0xc0 [p80211]
[<d6865dee>] p80211knetdev_do_ioctl+0xbe/0x100 [p80211]
[<c0293d28>] dev_ifsioc+0x388/0x3f0
[<c0293f34>] dev_ioctl+0x1a4/0x300
[<c0289c28>] sock_ioctl+0x2e8/0x310
[<c01663ed>] sys_ioctl+0x10d/0x260
[<c01060b5>] sysenter_past_esp+0x52/0x71
ident: nic h/w: id=0x8026 1.0.0
ident: pri f/w: id=0x15 1.1.3
ident: sta f/w: id=0x1f 1.8.3
MFI:SUP:role=0x00:id=0x01:var=0x01:b/t=1/1
CFI:SUP:role=0x00:id=0x02:var=0x02:b/t=1/1
PRI:SUP:role=0x00:id=0x03:var=0x01:b/t=1/4
STA:SUP:role=0x00:id=0x04:var=0x01:b/t=1/15
PRI-CFI:ACT:role=0x01:id=0x02:var=0x02:b/t=1/1
STA-CFI:ACT:role=0x01:id=0x02:var=0x02:b/t=1/1
STA-MFI:ACT:role=0x01:id=0x01:var=0x01:b/t=1/1
Prism2 card SN: \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
linkstatus=DISCONNECTED (unhandled)
hfa384x_dorrid: ctlx failure=REQ_TIMEOUT
hfa384x_dorrid: ctlx failure=REQ_TIMEOUT
hfa384x_dorrid: ctlx failure=REQ_TIMEOUT
hfa384x_dorrid: ctlx failure=REQ_TIMEOUT
prism2sta_mlmerequest: Failed to read wlan0 statistics: error=-5
ip_tables: (C) 2000-2002 Netfilter core team
 
Reply With Quote
 
 
 
 
Lewin A.R.W. Edwards
Guest
Posts: n/a

 
      10-21-2004, 11:09 PM
> I'm having real difficulty setting up WLAN connectivity in Linux on my
> new ECS Desknote, and I'd love some help. The device is an AirVast
> PRISM3 card, internally connected on a hidden USB bus. The VID/PID are


In case anyone cares, there is an acceptable workaround to my problem,
which I discovered after considerable trial-n-error: First, you must
disable "check for sleep in spinlock" checking in the kernel. It
fights with the wlan-ng driver.

Second, it appears that the net device won't connect properly at boot.
It's very unclear why this is the case, but if you initialize the
interface at boot time, you'll get either no link, or a link with ~50%
packet loss. The cure for this is to run a script very late in the
boot process:

#!/bin/sh
rmmod prism2_usb
rmmod p80211
sleep 1
modprobe prism2_usb
sleep 5
ifup wlan0

Thirdly, this specific WLAN adapter can get into a confused state that
can only be cleared with a power-cycle (In this state, even Windows
can't recognize it). Since it's not possible to unplug the device,
being internal, the only way to clear this condition is to power down
and remove the AC adapter from the notebook for a couple of seconds.
It seems that while the AC adapter is connected, sufficient current is
available at the USB ports (even with the machine off) to keep the
WLAN adapter confused.
 
Reply With Quote
 
Roby
Guest
Posts: n/a

 
      10-22-2004, 01:06 AM
Lewin A.R.W. Edwards wrote:

>> I'm having real difficulty setting up WLAN connectivity in Linux on my
>> new ECS Desknote, and I'd love some help. The device is an AirVast
>> PRISM3 card, internally connected on a hidden USB bus. The VID/PID are

>
> In case anyone cares, there is an acceptable workaround to my problem,
> which I discovered after considerable trial-n-error: First, you must
> disable "check for sleep in spinlock" checking in the kernel. It
> fights with the wlan-ng driver.
>
> Second, it appears that the net device won't connect properly at boot.
> It's very unclear why this is the case, but if you initialize the
> interface at boot time, you'll get either no link, or a link with ~50%
> packet loss. The cure for this is to run a script very late in the
> boot process:
>
> #!/bin/sh
> rmmod prism2_usb
> rmmod p80211
> sleep 1
> modprobe prism2_usb
> sleep 5
> ifup wlan0
>
> Thirdly, this specific WLAN adapter can get into a confused state that
> can only be cleared with a power-cycle (In this state, even Windows
> can't recognize it). Since it's not possible to unplug the device,
> being internal, the only way to clear this condition is to power down
> and remove the AC adapter from the notebook for a couple of seconds.
> It seems that while the AC adapter is connected, sufficient current is
> available at the USB ports (even with the machine off) to keep the
> WLAN adapter confused.


I also have been struggling with the Airvast module built into my Shuttle
XPC box. To avoid the boot problems, I set 'enable_wlan0=n' in wlan.conf
and manually start up the radio from root with this:

#!/bin/sh

wep="xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"

modprobe prism2_usb prism2_doreset=1
wlanctl-ng wlan0 lnxreq_ifstate ifstate=enable
if [ "$1" = "My_SSID" ]; then
wlanctl-ng wlan0 lnxreq_hostwep decrypt=true encrypt=true
wlanctl-ng wlan0 dot11req_mibset mibattribute=dot11WEPDefaultKeyID=3
wlanctl-ng wlan0 dot11req_mibset
mibattribute=dot11ExcludeUnencrypted=true
wlanctl-ng wlan0 dot11req_mibset mibattribute=dot11PrivacyInvoked=true
wlanctl-ng wlan0 dot11req_mibset mibattribute=dot11WEPDefaultKey3=$wep
wlanctl-ng wlan0 lnxreq_autojoin ssid="$1" authtype="sharedkey"
else
wlanctl-ng wlan0 lnxreq_autojoin ssid="$1" authtype="opensystem"
fi

ifup wlan0

The script was mostly copied from somebody else who knows far more than I do
about this stuff. It works, but I like your method better.

I have also seen the device mysteriously die. Maybe I ought to wire in a
reset button!

Thank you for sharing your discoveries.

Roby

 
Reply With Quote
 
 
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
possible issues on SMP machine for Netfilter based kernel module Rohit Linux Networking 0 05-16-2007 09:55 AM
How to get data in kernel SEND buffer for a TCP socket from a netfilter based kernel module Rohit Linux Networking 0 05-10-2007 11:27 AM
Knoppix V3.8 CeBIT/DEC 21041 Tulip based NIC's & V3.8/Kernel V2.6.x xxnonexnonexx@tampascanner.info Linux Networking 0 03-27-2005 07:16 AM
Compiling wlan wlan-ng-0.2.1-pre9 on Redhat 8 kernel patch 2.4.20-20.8 thwbecker Linux Networking 1 09-09-2003 09:37 AM
Any *Windows-based* WLAN Captive Portal Server Available? James Wireless Internet 2 07-26-2003 02:50 PM



1 2 3 4 5 6 7 8 9 10 11