[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Wireless Card Receiving, Not Seeing, Packets



Hello All,

I've been pulling my hair out every time I've tried to get my SohoWare NCP130
wireless card running on my 3.4 box, and after much frustration, Googling,
searching of the archives, and tweaking any and all possible configs, I'm coming
here in the hope someone can help out.

First off, let me apologize in advance for the length of this message -- I just
figure the more details I supply, the easier a diagnosis may be.

Here's the scenario. I've got a Slackware box (details on it available if
relevant) that's running a D-Link DWL-520 card in HostAP mode; it works just
fine talking to my wife's Windows XP and OS X laptops. The output of iwconfig
and lspci -v for it are:

wlan0     IEEE 802.11b  ESSID:"Kirknet"
          Mode:Master  Frequency:2.422GHz  Access Point: 00:05:5D:EE:5F:78
          Bit Rate:11Mb/s   Sensitivity=1/3
          Retry min limit:8   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:101  Rx invalid frag:0
          Tx excessive retries:7627  Invalid misc:5891   Missed beacon:0

01:0b.0 Network controller: Harris Semiconductor Prism 2.5 Wavelan chipset (rev 01)
        Subsystem: D-Link System Inc DWL-520 Wireless PCI Adapter
        Flags: medium devsel, IRQ 10
        Memory at d6800000 (32-bit, prefetchable) [size=4K]
        Capabilities: [dc] Power Management version 2


I'm trying to simply get my OpenBSD box to connect to the Slackware system as an
Access Point. I've configured the OpenBSD system to match all of the settings on
the Slackware box, with the exception of WEP (this particular card doesn't like
key strings over 13, and the key I have running on the network is a bit longer);
however, I've set the Slackware system to run in open mode, so that it will deal
with unencrypted packets as well. Here is the output of dmesg and wicontrol wi0:

wi0 at pci0 dev 12 function 0 "National Datacomm Corp NCP130 Rev A2" rev 0x01: irq 9
wi0: PRISM2 HWB3163 rev.B, Firmware 0.3.0 (primary), 0.7.6 (station), address
00:80:c6:e3:72:2c

NIC serial number:                      [ 99SA01000000 ]
Station name:                           [ WaveLAN/IEEE node ]
SSID for IBSS creation:                 [ IBSS ]
Current netname (SSID):                 [ Kirknet ]
Desired netname (SSID):                 [ Kirknet ]
Current BSSID:                          [ 00:05:5d:ee:5f:78 ]
Channel list:                           [ 2047 ]
IBSS channel:                           [ 3 ]
Current channel:                        [ 3 ]
Comms quality/signal/noise:             [ 92 149 13 ]
Promiscuous mode:                       [ Off ]
Process 802.11b Frame:                  [ Off ]
Port type (1=BSS, 3=ad-hoc, 6=Host AP): [ 1 ]
MAC address:                            [ 00:80:c6:e3:72:2c ]
TX rate (selection):                    [ 11 ]
TX rate (actual speed):                 [ 11 ]
Maximum data length:                    [ 2304 ]
RTS/CTS handshake threshold:            [ 2347 ]
Create IBSS:                            [ Off ]
Antenna diversity (0=auto,1=pri,2=aux): [ ]
Microwave oven robustness:              [ On ]
Roaming mode(1=firm,3=disable):         [ 1 ]
Access point density:                   [ 1 ]
Power Management:                       [ Off ]
Max sleep time:                         [ 100 ]
Intersil Prism2-based card:             [ 1 ]
Card info:                              [ PRISM2 HWB3163 rev.B, Firmware 0.7.6 ]
Encryption:                             [ Off ]
Encryption algorithm:                   [ Firmware WEP ]
Authentication type
(1=OpenSys, 2=Shared Key):              [ 1 ]
TX encryption key:                      [ 1 ]
Encryption keys:                        [  ][  ][  ][  ]

Judging just from this, things should be fine -- as you can see, the OpenBSD
system has grabbed the right MAC address for the BSSID. However, when I attempt
to ping the OpenBSD box from the Slackware box, not only do I see no pings
hitting the OpenBSD box...but ARP replies don't seem to be getting processed
properly:

(tcpdump from the Slackware box)
20:12:07.627117 192.168.1.1 > 192.168.1.42: icmp: echo request (DF)
20:12:08.639730 192.168.1.1 > 192.168.1.42: icmp: echo request (DF)
20:12:09.639749 192.168.1.1 > 192.168.1.42: icmp: echo request (DF)
20:12:10.639737 192.168.1.1 > 192.168.1.42: icmp: echo request (DF)
20:12:11.639745 192.168.1.1 > 192.168.1.42: icmp: echo request (DF)
20:12:29.898313 arp who-has 192.168.1.1 tell 192.168.1.42
20:12:29.898406 arp who-has 192.168.1.1 tell 192.168.1.42
20:12:29.898571 arp reply 192.168.1.1 is-at 0:5:5d:ee:5f:78
20:12:30.901262 arp who-has 192.168.1.1 tell 192.168.1.42
20:12:30.901359 arp who-has 192.168.1.1 tell 192.168.1.42
20:12:30.901523 arp reply 192.168.1.1 is-at 0:5:5d:ee:5f:78

OK, fine, I said, let me just put in a static ARP entry...if I have to do that
in my rc scripts, it's not the end of the world. I did so, and still, pings
never returned from the OpenBSD box. Perplexed, I tried pinging the Slackware
box from the OpenBSD box...and got very interesting results:

(tcpdump from Slackware again)
20:38:35.313670 192.168.1.42 > 192.168.1.1: icmp: echo request
20:38:35.313763 192.168.1.1 > 192.168.1.42: icmp: echo reply
20:38:36.320665 192.168.1.42 > 192.168.1.1: icmp: echo request
20:38:36.320782 192.168.1.1 > 192.168.1.42: icmp: echo reply

It seems that the OpenBSD machine can send wireless packets with no troubles,
but it can't receive them properly. What seems to be a real clue to my
predicament is:

(tcpdump from OpenBSD box)
20:40:36.912650 192.168.1.42 > 192.168.1.1: icmp: echo request
20:40:36.915366 0:5:5d:ee:5f:78 sap b8 > 0:80:c6:e3:72:2c sap 6f I (s=78,r=0,R)
len=96
20:40:37.920545 192.168.1.42 > 192.168.1.1: icmp: echo request
20:40:37.923152 0:5:5d:ee:5f:78 sap b8 > 0:80:c6:e3:72:2c sap 6f I (s=78,r=0,R)
len=96
20:40:38.930607 192.168.1.42 > 192.168.1.1: icmp: echo request
20:40:38.933071 0:5:5d:ee:5f:78 sap b8 > 0:80:c6:e3:72:2c sap 6f I (s=79,r=0,R)
len=96
20:40:39.940508 192.168.1.42 > 192.168.1.1: icmp: echo request
20:40:39.943854 0:5:5d:ee:5f:78 sap b8 > 0:80:c6:e3:72:2c sap 6f 8f/F len=97
20:41:12.557709 0:5:5d:ee:5f:78 sap b8 > 0:4:23:4b:38:fd sap 6f I (s=80,r=0,R)
len=52
20:41:12.559661 0:4:23:4b:38:fd sap 5e > ff:ff:ff:ff:ff:ff sap 81 I (s=0,r=0,C)
len=40
20:41:12.561919 0:5:5d:ee:5f:78 sap b8 > 0:4:23:4b:38:fd sap 6f I (s=81,r=0,R)
len=40
20:41:12.562732 0:4:23:4b:38:fd sap 5e > 0:5:5d:ee:5f:78 sap 82 I (s=0,r=0,C) len=52

Obviously, something is wrong with the way this card is handling inbound packets
-- especially since stats from wicontrol -o show that, when pings are sent to
it, the number of unicast frames received is incremented. 

Whew...now that I've said all that...does anyone have any idea what the problem
might be here? Do I need to do some sort of a firmware upgrade on my Sohoware
card (if so, any ideas how, since I'm not a Windows box)? Have I messed up my
settings for the card? Any thoughts at all would be greatly appreciated.

Alex Kirk



Visit your host, monkey.org