Wireless and Broadcast packets problem

Adrian Thearle adrian at thearle.com.au
Thu Aug 28 08:45:07 UTC 2008

Hi Guys

I am having a problem with my wireless network. The Issue is that
clients connected to the wireless LAN cannot _see_ other clients. My
understanding of 802.11 was that clients could talk to other clients,
except all traffic would go via the access point and that the AP would
forward on the packets. This also ensures that encryption works as
expected as well as other RF issues.

One thing that I can see is going wrong is that clients on the Wireless
Lan sending Broadcast packets, but they are not being forwarded by the
AP to anyone else... Wireless clients also cannot ping each other
(mainly because their ARP requests are not being answered)

Below is a simplified system diagram.

AdriansPC                  AlbertAP       \|/
---------  192.168.123/24  ------------    |
|        |--LAN------bge0-|            |---| ral0 (192.168.124/24)
|________|                |____________|----------tun0--->PPPoE(bge0)

Windows                    FreeBSD

  Sneaky    \|/
---------    |
|        |---|  (Static IP address)
|________| ral0

  Laptop    \|/
---------    |
|        |---| (DHCP)

When running TCPDump on AlbertAP I can see plenty of wireless traffic
going around the place. Wireless Clients are able to connect and have
their session is encrypted with WPA. This all seems to work, wireless
clients are able to browse the net. (Those that can get an IP address
anyway, which happens to be the windows machines)

I have run tcpdump on both AlbertAP and Sneaky and seem some interesting
omissions. When I ping Sneaky from Laptop I see on Albert the ARP
request come out from Laptop asking for Sneaky's MAC address.

AlbertAP> tcpdump -i ral0
10:27:51.979664 arp who-has tell
10:27:51.979684 arp who-has tell

But on Sneaky I cannot see these packets comming in... All I get is
random EAP traffic
Sneaky> tcpdump -i ral0
10:30:32.987961 EAP code=2 id=3 length=123
10:30:32.988383 EAP code=1 id=3 length=95
10:30:32.990557 EAP code=2 id=3 length=135
10:30:32.991548 EAP code=1 id=3 length=95

However if a Wired client like AdriansPC tries to ping Laptop then
things work. Albert knows the MAC address of the Wireless client to send
the ping packet to and so just sends it off.

The other thing I see alot of is netbios broadcast traffic coming from
the Laptop on the wireless. Albert can see all this traffic coming in,
but none of it gets forwarded to Sneaky, (nothing about netbios from a
tcpdump on sneaky).

The same can be said for a particular client doing DHCP/BOOTP. On
AlbertAP, I see the request come in and see the response go out (the
response goes to but I do not see this on sneaky (I
should right, its a broadcast address). Oh and I don't think this client
is actually getting a response as I can't do much with it(ie ping). (Its
a wireless print server)

Interestingly enough DHCP does seem to work to Laptop. I believe that
this is because windows is doing DHCP, where as my print server is doing

*It does work*
Just so you believe me that normal traffic does get around, here is a
ping from sneaky to albert.

Sneaky> tcpdump -i ral0
10:36:11.243678 arp who-has tell
10:36:11.244634 arp reply is-at 00:1a:ee:00:d5:c0 (oui
10:36:11.244693 IP > ICMP echo request, id
18949, seq 0, length 64
10:36:11.251920 IP > ICMP echo reply, id
18949, seq 0, length 64

AlbertAP> tcpdump -i ral0
10:36:11.241001 arp who-has tell
10:36:11.241017 arp who-has tell
10:36:11.241042 arp reply is-at 00:1a:ee:00:d5:c0 (oui
10:36:11.248582 IP > ICMP echo request, id
18949, seq 0, length 64
10:36:11.248600 IP > ICMP echo reply, id
18949, seq 0, length 64

*Discussion Point*
I find it interesting that sneaky asks for's MAC address
with an ARP request, but albert got two of them...

*System Details*
Things are basically setup as detailed in the Handbook, with the
wireless LAN on a different Subnet to the wired one. I have also had a
go at bridging the two interfaces but ran into trouble so didn't spend
long there. I expect I would have the same issues.

AlbertAP> uname -a
FreeBSD albertAP 7.0-RELEASE-p3 FreeBSD 7.0-RELEASE-p3 #2: Mon Jul 14
09:00:17 EST 2008
adrian at albertAP:/usr/obj/usr/src/sys/AdriansKernel  i386

AlbertAP> ifconfig
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:11:85:b3:a2:7e
        inet netmask 0xffffff00 broadcast
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
0 mtu 2290
        ether 00:1a:ee:00:d5:c0
        inet netmask 0xffffff00 broadcast
        media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
        status: associated
        ssid Wireless channel 3 (2422 Mhz 11g) bssid 00:1a:ee:00:d5:c0
        authmode WPA privacy MIXED deftxkey 2 TKIP 2:128-bit TKIP 3:128-bit
        txpower 50 scanvalid 60 bgscan bgscanintvl 300 bgscanidle 250
        roam:rssi11g 7 roam:rate11g 5 protmode CTS dtimperiod 1
mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
        inet --> netmask 0xffffffff
        Opened by PID 433

ifconfig_ral0="inet ssid Wireless channel 3 mode 11g
mediaopt hostap up"

ipfw Firewall rules
ipfw add 007 allow all from any to any via ral0

So is there any chance there is a magic sysctl or ifconfig switch that
will make these broadcast packets go to everyone...?
or is there another problem?
or is this just all the FreeBSD supports at the moment?
or am I just dumb...

Your help is appreciated


More information about the freebsd-questions mailing list