# ath and 802.11n on FreeBSD 10.0



## Botanic (Feb 27, 2014)

802.11n works in -HEAD according to this wiki page: https://wiki.freebsd.org/dev/ath(4)/80211n
That page was written quite some time ago ("dev/ath(4)/80211n (last edited 2012-06-15 08:39:21 by AdrianChadd)").

I read the page some time ago when I was running 9.1 RELEASE and thought that some day soon I will upgrade to 10.0 and be able to run 802.11n in RELEASE.
Now when I have upgraded to 10.0-RELEASE, there is still no 802.11n in my system.
I have compiled my kernel according to the wiki.

Does anyone know anything about this?
Do I still need to be in 10.0-HEAD in order to get 802.11n, or should it be enough with 10.0-RELEASE?


----------



## SirDice (Feb 27, 2014)

Botanic said:
			
		

> Do I still need to be in 10.0-HEAD in order to get 802.11n, or should it be enough with 10.0-RELEASE?


10.0-HEAD doesn't exist any more, HEAD is currently 11.0-CURRENT. What used to be HEAD is now 10-STABLE, from where 10.0-RELEASE was cut.


----------



## Botanic (Feb 27, 2014)

So if that document was written before 10.0-RELEASE, I should be OK with 10.0-RELEASE then?
Does anyone here have a working 802.11n with 10.0?


----------



## SirDice (Feb 27, 2014)

Botanic said:
			
		

> So if that document was written before 10.0-RELEASE, I should be OK with 10.0-RELEASE then?


Yes, those changes should have made their way into 10.0-RELEASE.


----------



## Botanic (Apr 18, 2014)

I still can not get 802.11n to work.
Anyone?


```
# ifconfig -v wlan0 list channel
Channel   1 : 2412      MHz 11b          Channel   7 : 2442      MHz 11g ht/20    
Channel   1 : 2412      MHz 11g          Channel   8 : 2447      MHz 11b          
Channel   1 : 2412      MHz 11g ht/20    Channel   8 : 2447      MHz 11g          
Channel   2 : 2417      MHz 11b          Channel   8 : 2447      MHz 11g ht/20    
Channel   2 : 2417      MHz 11g          Channel   9 : 2452      MHz 11b          
Channel   2 : 2417      MHz 11g ht/20    Channel   9 : 2452      MHz 11g          
Channel   3 : 2422      MHz 11b          Channel   9 : 2452      MHz 11g ht/20    
Channel   3 : 2422      MHz 11g          Channel  10 : 2457      MHz 11b          
Channel   3 : 2422      MHz 11g ht/20    Channel  10 : 2457      MHz 11g          
Channel   4 : 2427      MHz 11b          Channel  10 : 2457      MHz 11g ht/20    
Channel   4 : 2427      MHz 11g          Channel  11 : 2462      MHz 11b          
Channel   4 : 2427      MHz 11g ht/20    Channel  11 : 2462      MHz 11g          
Channel   5 : 2432      MHz 11b          Channel  11 : 2462      MHz 11g ht/20    
Channel   5 : 2432      MHz 11g          Channel  12 : 2467*     MHz 11b          
Channel   5 : 2432      MHz 11g ht/20    Channel  12 : 2467*     MHz 11g          
Channel   6 : 2437      MHz 11b          Channel  12 : 2467*     MHz 11g ht/20    
Channel   6 : 2437      MHz 11g          Channel  13 : 2472*     MHz 11b          
Channel   6 : 2437      MHz 11g ht/20    Channel  13 : 2472*     MHz 11g          
Channel   7 : 2442      MHz 11b          Channel  13 : 2472*     MHz 11g ht/20    
Channel   7 : 2442      MHz 11g          Channel  14 : 2484*     MHz 11b          

# uname -a
FreeBSD komero 10.0-RELEASE-p1 FreeBSD 10.0-RELEASE-p1 #0: Tue Apr  8 06:45:06 UTC 2014     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64

#dmesg | grep [ath]
[ath] AR9285 Main LNA config: LNA2
[ath] AR9285 Alt LNA config: LNA1
[ath] LNA diversity enabled, Diversity enabled
[ath] Enabling diversity for Kite
```


----------



## junovitch@ (Apr 18, 2014)

What's not working?  The ht/20 channels for 802.11n are being listed.  What does `ifconfig wlan0` say when you are connected?


----------



## Botanic (Apr 18, 2014)

I am running in hostap mode.

The mode seems to be 11g no matter what.
I also thought that the above "list channel" should say "11n ht/20" and not only "11g ht/20".
But maybe I was wrong.



```
# ifconfig wlan0 channel 13:ht/40
# ifconfig wlan0
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	ether 74:2f:68:4a:e3:e3
	inet 172.30.0.1 netmask 0xffffff00 broadcast 172.30.0.255 
	inet6 fe80::762f:68ff:fe4a:e3e3%wlan0 prefixlen 64 scopeid 0x5 
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
	status: running
	ssid rikspolisen channel 13 (2472 MHz 11g) bssid 74:2f:68:4a:e3:e3
	regdomain 96 indoor ecm authmode WPA2/802.11i privacy MIXED
	deftxkey 3 AES-CCM 2:128-bit AES-CCM 3:128-bit txpower 20 scanvalid 60
	protmode CTS wme burst dtimperiod 1 -dfs
```


```
# ifconfig wlan0 inet 172.30.0.1/24 mode 11ng channel 13
ifconfig: SIOCS80211: Invalid argument
# ifconfig wlan0 inet 172.30.0.1/24 mode 11n channel 13
ifconfig: SIOCS80211: Invalid argument
# ifconfig wlan0 inet 172.30.0.1/24 mode 11g channel 13
#
```


----------



## junovitch@ (Apr 22, 2014)

Just specifing the n doesn't work for me either.  It does work when i use ng.

```
# ifconfig wlan0 create wlandev ath0 wlanmode hostap
wlan0: Ethernet address: 10:fe:ed:1f:4f:33
# ifconfig wlan0 ssid blah mode 11n channel 13
ifconfig: SIOCSIFMEDIA (media): Device not configured
# ifconfig wlan0 ssid blah mode 11ng channel 13
#
```

This is what I have in my rc.conf that seems to be working just fine.  

```
wlans_ath0="wlan0"
create_args_wlan0="wlanmode hostap"
fconfig_wlan0="ssid dos-uno hostap country US indoor mode 11ng channel 1:n up"
```

I'm not sure what else to add.  Maybe there is something peculiar with that model card you are using.


----------



## Botanic (Apr 22, 2014)

Yes I read somewhere that it should work with specifying "ng".
For me it does not work.

Junovitch, do you have the generic kernel?
I tried with compiling my own kernel with the ATH_ENABLE_11N set.
But the genereric kernel should have it enabled already.

I have the AR9285 chip:


> ath0@pci0:3:0:0:        class=0x028000 card=0x1d891a3b chip=0x002b168c rev=0x01 hdr=0x00
> vendor     = 'Atheros Communications Inc.'
> device     = 'AR9285 Wireless Network Adapter (PCI-Express)'
> class      = network



This chip is not supposed to have any issues according to the wiki:
https://wiki.freebsd.org/dev/ath(4)/80211n
https://wiki.freebsd.org/dev/ath_hal(4)/HardwareSupport


----------



## junovitch@ (Apr 23, 2014)

I do use a custom kernel because I need some an option for amd64 to play nice on my Soekris.  I just include GENERIC and bake in a few other items.  I haven't touched any of the defaults configured for Atheros driver card.  

```
include         GENERIC
ident           SOEKRIS
device          mptable
device          coretemp
device          wlan_xauth
device          if_bridge
device          pf
device          pflog
# continued with nodevice on most the other junk I don't need
```


----------

