toggle short / long preamble with hostapd

Sam Leffler sam at errno.com
Thu Sep 3 18:04:16 UTC 2009


If I understand correctly you say that you have stations associated to a 
FreeBSD 7 ap operating in 11g and pings between the clients are slow. 
This occurred w/ the Dlink AP you're trying to replace until you 
manually forced short preamble.  If I've got it right then this doesn't 
make sense as the ap should be using short preamble unless there are 
non-ERP stations on the channel.  You can trace the status of short/long 
preamble with:

wlandebug +assoc

(you should get console msgs that when stations associate that indicate 
whether protection is enabled).  I believe you'll also get the same info 
with:

ifconfig wlan0 list sta

on the ap.  All this applies to 8.x; I've long since forgotten how 
things work on 7.x and I'd recommend that if you're doing a new install 
you use 8.0 and not 7.x.

In general forcing short preamble should not have the effect you 
describe; just the opposite.  If you want to figure out what's really 
going on then try to turn off stations that might be interfering (if 
possible).  Otherwise you might try moving to a different channel to 
avoid whatever station is interfering.  Another possibility is one or 
both stations are in power save mode and there's a bug in the RELENG_7 
ap support; wlandebug +power might help for that.

I can look at adding a knob to force short/long preamble.  It would go 
into HEAD though and can't promise to backport to RELENG_7.

	Sam

Sin wrote:
> Sam,
> 
> Basically I have a dlink WBR-1310 thats in bridge mode connected to my 
> current BSD router ( 6.3)  I'm trying to replace this 1310 product with 
> FreeBSD 7.   The last problem i'm dealing with is poor preformance.   
> When I use my current BSD 7 setup it works, but ping times from client 
> to another or even to the access point are bad.  100 - 400ms round 
> trip.    I had this exact problem with the 1310.  The fix was to change 
> from long to short preable.   Been fine ever since.
> 
> I used three computers to prove this before emailing.   Just swapping 
> the 1310 for the 7-STABLE corrects this.   The 1310 uses g only mode 
> with short preamble getting less then 5ms ping times to each client and 
> host and vice-versa
> 
> I realize that hostapd.conf is just for the encryption.  However 
> ifconfig and ath man pages do not talk about this setting.
> 
> 
> ----- Original Message ----- From: "Sam Leffler" <sam at errno.com>
> To: "Sin" <sinister at gmail.com>
> Cc: <freebsd-net at freebsd.org>
> Sent: Wednesday, September 02, 2009 11:16 AM
> Subject: Re: toggle short / long preamble with hostapd
> 
> 
>> Sin wrote:
>>> Hello,
>>>
>>>
>>> Does anyone know how to enable short preamble in 7-STABLE ?
>>>
>>> I'm using ath with hostapd in ap mode.  It seems there was an option 
>>> in hostapd.conf, but this is not in FreeBSD's 
>>> /usr/share/examples/hostapd/hostapd.conf
>>>
>>>
>>> The missing hostapd.conf option was found in google:
>>>
>>> # Short Preamble
>>> # This parameter can be used to enable optional use of short preamble 
>>> for
>>> # frames sent at 2 Mbps, 5.5 Mbps, and 11 Mbps to improve network 
>>> performance.
>>> # This applies only to IEEE 802.11b-compatible networks and this 
>>> should only be
>>> # enabled if the local hardware supports use of short preamble. If 
>>> any of the
>>> # associated STAs do not support short preamble, use of short 
>>> preamble will be
>>> # disabled (and enabled when such STAs disassociate) dynamically.
>>> # 0 = do not allow use of short preamble (default)
>>> # 1 = allow use of short preamble
>>> #preamble=1
>>>
>>>
>>> my version of hostapd is " v0.5.10 " - I was not able to set this option
>>
>> On freebsd hostapd is _purely_ an authenticator; to configure 802.11 
>> parameters you use ifconfig.
>>
>>>
>>>
>>> hostapd.conf:
>>>
>>> interface=ath0
>>> #preamble=1
>>> debug=1
>>> ctrl_interface=/var/run/hostapd
>>> ctrl_interface_group=wheel
>>> ssid=private
>>> wpa=1
>>> wpa_passphrase=apassword
>>> wpa_key_mgmt=WPA-PSK
>>> wpa_pairwise=TKIP
>>>
>>>
>>>
>>> rc.conf:
>>>
>>> hostapd_enable="YES"
>>> ifconfig_ath0="mode 11g hidessid mediaopt hostap"
>>>
>>>
>>>
>>> ifconfig ath0:
>>>
>>> ath0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> 
>>> metric 0 mtu 1500
>>>         ether 00:17:9a:4c:e7:83
>>>         media: IEEE 802.11 Wireless Ethernet autoselect mode 11g 
>>> <hostap>
>>>         status: associated
>>>         ssid private channel 1 (2412 Mhz 11g) bssid 00:17:9a:4c:e7:83
>>>         authmode WPA privacy MIXED deftxkey 2 TKIP 2:128-bit TKIP 
>>> 3:128-bit
>>>         txpower 31.5 scanvalid 60 bgscan bgscanintvl 300 bgscanidle 250
>>>         roam:rssi11g 7 roam:rate11g 5 protmode CTS burst hidessid 
>>> dtimperiod 1
>>
>> In ap mode you should not manually configure preamble; it should be 
>> selected according to the associated stations.  What are you trying to 
>> accomplish?
>>
>> Sam
>>
> 
> 



More information about the freebsd-net mailing list