kern/149516: ath(4) hostap with fake MAC/BSSID results in station
dropping packets when associated
nakal at web.de
Wed Aug 11 07:40:03 UTC 2010
>Synopsis: ath(4) hostap with fake MAC/BSSID results in station dropping packets when associated
>Arrival-Date: Wed Aug 11 07:40:03 UTC 2010
>Release: FreeBSD 8.1-RELEASE
FreeBSD yuni.sugioarto.com 8.1-RELEASE FreeBSD 8.1-RELEASE #5: Thu Aug 5 00:04:41 CEST 2010 root at yuni.sugioarto.com:/usr/obj/usr/src/sys/YUNI i386
I noticed a bug that was introduced somewhere in the Atheros 9280 support in 8.1-RELEASE when used as a station. I had this already running correctly with 7.x releases.
I cannot connect to a hostap ath(4) (Atheros 2413) when using a fake MAC/BSSID (on the hostap!).
- This only affects ath(4) and I could only see this on Atheros 9280, because I don't have any other ath(4) adapters at the moment.
- I tried rum(4). It does not have any problems like this. DHCP and everything else works with this driver (of course with a fake MAC/BSSID!).
- Running 8.1-RELEASE on all machines. Kernel is GENERIC, but on hostap machine there is ALTQ added (should not affect anything, as I said, I had this running already).
- hostapd is configured with 11g, WPA2 and passwords in hostapd.wpapsk. WME is switched off, because it does not work at all for me.
I can provide more information, if needed.
1) Put this into your rc.local on your hostap machine and replace xx's by an address of your choice (first octet needs to have lowest bit "0"):
ifconfig ath0 ether xx:xx:xx:xx:xx:xx
2) Start hostapd (must be configured, of course). Eventually you need to set BSSID also in hostapd.conf.
3) Try to connect with an Atheros 9280. You don't need to fake MAC address here (I'm only talking about the hostap MAC/BSSID).
What you get:
- You get association. This is OK, so far.
- Try DHCP. You won't see packets arriving at the station. They are not recognized and filtered somewhere.
- When you watch with tcpdump on the hostap interface you'll see DHCP requests arriving and being answered.
- I further noticed, even you don't have any IP (set to 0.0.0.0, because of failed DHCP), you can see packets being sent to different machines (so the net connection is physically available)
- You can try to setup a static address, but when you ping the station, you don't see a ping arriving (watch tcpdump on the station wireless interface and try to ping from the hostap machine).
More information about the freebsd-bugs