用Linux做wifi熱點/無線路由

以fedora14為例安裝hostapd,將Linux筆記本部署為一台高性能無限路由器,順便說一句,我的fedora14安裝在一台10英寸的上網本上。

工具/原料

有無線網卡、有線網卡的筆記本一台

安裝Linux操作系統,我使用的是fedora14

方法/步驟

檢查確認筆記本網卡支持master模式

首先要安裝一個iw:yum install iw -y

然后執行命令:iw list

在命令執行結果中如果看到了下面的內容,就說明這張網卡是支持用於ap做路由的

Supported interface modes:

* IBSS

* managed

* AP

* AP/VLAN

* monitor

* mesh point

安裝hostapd

通過 yum install hostapd -y 安裝,如果是其它紅帽系列的可以安裝epel的源,或者找一下hostapd的rpm,下載對應自己發行版的進行安裝。其它Linux可以通過源碼安裝。

修改配置文件

# vim /etc/hostapd/hostapd.conf

修改成如下狀態

ctrl_interface=/var/run/hostapd

ctrl_interface_group=wheel

macaddr_acl=0

auth_algs=1

ignore_broadcast_ssid=0

wpa=3

wpa_key_mgmt=WPA-PSK

wpa_pairwise=TKIP

rsn_pairwise=CCMP

wpa_passphrase=ap_password

driver=nl80211

interface=wlan0

hw_mode=g

channel=9

ssid=ap_name

注意修改涉及到的ssid和密碼

安裝和配置dhcp

# yum install dhcpd -y

# vim /etc/dhcp/dhcpd.conf

將此文件改成如下:

option domain-name-servers 211.161.45.222,10.141.146.10;

default-lease-time 3600;

max-lease-time 7200;

log-facility local7;

subnet 192.168.7.0 netmask 255.255.255.0 {

range  192.168.7.77 192.168.7.99;

option broadcast-address 192.168.7.255;

option routers 192.168.7.7;

}

注意將第一行的nameserver添加成你isp提供的dns,這樣解析的速度會快一些,不知道的話就改成谷歌的8.8.8.8好了。subnet 里面設置的是分配給連接無線路由的設備的ip段,可以根據自己需求進行調整,這里給了192.168.7.77-99

需要注意的是,option routers要寫成這台機器的wlan0的ip,這個是手動設置的

# ifconfig wlan0 192.168.7.7

配置SNAT

Linux可以很方便的通過iptables配置SNAT服務器,命令如下:

iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE

iptables -A FORWARD -s 192.168.4.0/24 -j ACCEPT

iptables -A FORWARD -d 192.168.4.0/24 -j ACCEPT

其中第一條表示將通過本機的轉發數據包從eth0(外網)這個網卡發出去,另外兩條表示只轉發192.168.4.0/24這個網段過來的數據包,這個網段正好是wlan0其它設備連上本機以后分配的網段。

還需要在打開內核的ip轉發功能:

# vim /etc/sysctl.conf

添加或修改這樣一段:

net.ipv4.conf.default.rp_filter = 1

然后執行命令

# sysctl -p

啟動相關服務

/etc/init.d/dhcpd start

/etc/init.d/hostapd start

經驗內容僅供參考,如果您需要解決具體問題(尤其在法律、醫學等領域),建議您詳細咨詢相關領域專業人士。

http://blog.chinaunix.net/uid-26547792-id-3152196.html

linux無線網卡2012-03-28 18:14:55

分類: LINUX

若要安裝以 Broadcom BCM4311、BCM4312、BCM4313、BCM4321 或 BCM4322 為基礎的無線網絡卡,請遵照以下的步驟:第 1 步:辨認無線網絡芯片及安裝時依賴的組件

首先,請確定你是位「擁有 Broadcom BCM43xx 無線網絡卡的幸運兒」:

[user@host ~]$ /sbin/lspci | grep Broadcom

0b:00.0 Network controller: Broadcom Corporation BCM4312 802.11a/b/g (rev 01)

辨認完無線網絡芯片型號之后,請確定你不會欠缺編譯及安裝時所需的組件:

[root@host]# yum install kernel-headers kernel-devel gcc

當然,假若你要為 Xen 內核(kernel-xen)編譯驅動程序,你必須安裝 kernel-xen-devel 而不是 kernel-devel。第 2 步:下載並解壓 Broadcom 驅動程序的壓縮檔

請從

Broadcom 的官方網站下載 Broadcom BCM43xx 的 linux 驅動程序壓縮檔到你的機器並將它解壓到 /usr/local/src/hybrid-wl,請隨你所需將這個目錄的擁有者改為無特權的用戶:

[root@host ~]# mkdir -p /usr/local/src/hybrid-wl

[root@host hybrid-wl]# cd /usr/local/src/hybrid-wl

[root@host hybrid-wl]# tar xvfz /path/to/the/tarball/hybrid-portsrc-x86_64-v5.10.91.9.3.tar.gz(下載檔的名稱)

[root@host hybrid-wl]# chown -R someuser.somegroup /usr/local/src/hybrid-wl

注:為什么不隨便將它解壓到一個位置並保留缺省的擁有者?

原因是上面的做法會把驅動模塊的源代碼保留在系統上 —— 在你放置它們的位置 —— 好讓你可以隨時按需要創建驅動程序(譬如:你將內核升了級 —— 因為驅動模塊永遠根據某個內核來編譯),還有,就是你可以用無特權的用戶來編譯!第 3 步:編譯 Broadcom 驅動模塊

驅動模塊可以這樣編譯:

[user@host hybrid-wl]$ make -C /lib/modules/`uname -r`/build/ M=`pwd`

請留意引號(也就反引號)。

現在你很可能會獲得一個錯誤信息,而不是一個編譯好的驅動模塊(實際上,本作者仍未遇過這個信息以外的情況)。這則信息的內容大致上是:

make: Entering directory `/usr/src/kernels/2.6.18-164.el5-x86_64'

LD /tmp/hybrid/hybrid/hybrid/built-in.o

CC [M] /tmp/hybrid/hybrid/hybrid/src/wl/sys/wl_linux.o

In file included from /tmp/hybrid/hybrid/hybrid/src/wl/sys/wl_linux.c:20:

/tmp/hybrid/hybrid/hybrid/src/include/typedefs.h:70: error: conflicting types for ‘bool’

include/linux/types.h:36: error: previous declaration of ‘bool’ was here

make[1]: *** [/tmp/hybrid/hybrid/hybrid/src/wl/sys/wl_linux.o] Error 1

make: *** [_module_/tmp/hybrid/hybrid/hybrid] Error 2

make: Leaving directory `/usr/src/kernels/2.6.18-164.el5-x86_64'

正如你所見,

typedefs.h 這個文件的第 70 行出了一個問題。要解決它,請將第 70 行的代碼改為注釋,好讓它變成:

/*

#ifndef TYPEDEF_BOOL

typedef unsigned char bool;

#endif

*/

你亦可以通過在標頭檔加入以下內容(勿論這一行是否已經存在)來簡單地解決這個問題:

#define TYPEDEF_BOOL

現在,請嘗試再次編譯驅動模塊:

[user@host hybrid-wl]$ make -C /lib/modules/`uname -r`/build/ M=`pwd`

編譯器的輸出大致上是這樣:

make: Entering directory `/usr/src/kernels/2.6.18-164.el5-x86_64'

CC [M] /tmp/hybrid/hybrid/hybrid/src/wl/sys/wl_linux.o

CC [M] /tmp/hybrid/hybrid/hybrid/src/wl/sys/wl_iw.o

CC [M] /tmp/hybrid/hybrid/hybrid/src/shared/linux_osl.o

LD [M] /tmp/hybrid/hybrid/hybrid/wl.o

Building modules, stage 2.

MODPOST

CC /tmp/hybrid/hybrid/hybrid/wl.mod.o

LD [M] /tmp/hybrid/hybrid/hybrid/wl.ko

make: Leaving directory `/usr/src/kernels/2.6.18-164.el5-x86_64'

一旦這個模塊被建成,你便可以刪除不必要的符號:

[user@host hybrid-wl]$ strip --strip-debug wl.ko

你會發現驅動模塊的文件尺寸會明顯地縮小(由 2.2MB 降至 1.5MB)。而且,你的驅動模塊仍能正常運作

第 4 步上:將驅動模塊裝入內核中

當你成功地編譯了驅動模塊后,你便可以將它裝入內核中,並設置在開機時自動裝入這個驅動程序(要這樣做,你必須利用 root 的權限)。當然,做這一切之先,你必須從內核刪除現在的無線驅動模塊(假如有的話):[root@host ~]# rmmod bcm43xx

[root@host ~]# rmmod b43

[root@host ~]# rmmod b43legacy

[root@host ~]# rmmod ndiswrapper

現在我們裝入驅動模塊:

[root@host hybrid-wl]# modprobe wl.ko

你也可采用:

[root@host hybrid-wl]# insmod wl.ko

假如你在無線驅動程序以外沒有應用 ndiswrapper 這個內核模塊,你可以刪除它,但這並非必需的。第 4 步下:在開機時將驅動模塊裝入內核中

首先,請將驅動模塊的文件復制到一個可以讓內核找到它的地方:

[root@host hybrid-wl]# cp -vi /usr/local/src/hybrid-wl/wl.ko /lib/modules/`uname -r`/extra/

這樣做是為了與其它已經/將會從 kmod 組件安裝的外置模塊(例如:fuse、ntfs-3g、等)保持一貫性。

按着,請執行:

[root@host ~]# depmod $(uname -r)

以便能創建一個模塊的互賴性清單。

編譯

/etc/modprobe.d/blacklist 這個文件並加入以下內容:

blacklist bcm43xx

blacklist ndiswrapper

blacklist b43

blacklist b43legacy

通過這樣做,你可以避免這些模塊在開機時被裝入內核中。此外,假如你在

/etc/modprobe.conf 內有一行是指定無線界面的驅動程序,例如:

alias eth1 bcm43xx

alias eth1 b43

alias eth1 b43legacy

請將這行注釋掉:

#alias eth1 bcm43xx

#alias eth1 b43

#alias eth1 b43legacy

並為你的無線網絡卡加入新的驅動程序別名:

alias eth1 wl

這一切都假設你的無線網絡界面設備檔是 eth1。

現在,請編譯

/etc/modprobe.d/modprobe.conf.dist 這個文件並加入以下內容:alias ieee80211_crypt_tkip ieee80211_crypt_tkip

alias eth1 wl

現在你的驅動應該在每次開機時都會被裝入(當然除了在你安裝了新內核之后,到時你必須依照以上步驟將它重新編譯)。

http://blog.bokhorst.biz/3395/computers-and-internet/asrock-ion-330ht-as-wireless-access-point/

If you know how to do it, most things are simple. Figuring out how to make myAsrock ION 330HT-BD (running Ubuntu Karmic) a wireless access point took me a couple of hours. For my own reference and maybe to save you some time I wrote down all steps.

How-to

Check wireless adapter type

lspci -v | grep Network

Should be AR9285

Enable IP forwarding

sudo gedit /etc/sysctl.conf

Uncomment

net.ipv4.ip_forward = 1

Live change

sudo echo 1 > /proc/sys/net/ipv4/ip_forward

Check

cat /proc/sys/net/ipv4/ip_forward

Give wireless adapter a static address

sudo gedit /etc/network/interfaces

Add code below

Live change

sudo /etc/init.d/networking restart

Check

ifconfig wlan0

auto eth0

iface eth0 inet dhcp

auto wlan0

iface wlan0 inet static

address 192.168.0.1

netmask 255.255.255.0

broadcast 192.168.0.255

Download latest Linux wireless drivers (currently version 2.6)

Extract archive

Build/install

cd compat-wireless-*

./scripts/driver-select ath9k

make

sudo make unload

sudo make install

Redo when new kernel

Live change

sudo modprobe ath9k

Check

grep ath9k /var/log/syslog

Install hostapd

sudo apt-get install hostapd

sudo gedit /etc/default/hostapd

Uncomment

RUN_DAEMON=”yes”

DAEMON_CONF=”/etc/hostapd/hostapd.conf”

sudo gedit /etc/hostapd/hostapd.conf

Add

driver=nl80211

Change

ssid=

hw_mode=g

auth_algs=1

wpa=2

wpa_passphrase=

wpa_pairwise=TKIP

Live change

sudo /etc/init.d/hostapd restart

Check

grep hostapd /var/log/syslog

Install dnsmasq

sudo apt-get install dnsmasq

sudo gedit /etc/default/dnsmasq

Uncomment

DNSMASQ_OPTS=”–conf-file=/etc/dnsmasq.conf”

Comment

#CONFIG_DIR=/etc/dnsmasq.d

sudo gedit /etc/dnsmasq.conf

Add

interface=wlan0

dhcp-range=192.168.0.2,192.168.0.127,12h

Live change

sudo /etc/init.d/dnsmasq restart

Check

grep dnsmasq /var/log/syslog

Routing

Give the Asrock a static IP 192.168.1.x

Preferable by your local DHCP server (based on MAC address)

Add a static route 192.168.0.0/255.255.255.0 > 192.168.1.x

In your modem/router

Now you should be able to connect

Links

Posted by

Tagged with: en

9 Responses to “Asrock ION 330HT as Wireless Access Point”

Sukhvinder Singh

says:

I am having a Broadcom 4312 driver in my dell inspiron 1545 will your setup will work in my PC, Kindly give your suggestion.

To start with, you should do the first step of the how-to to discover your exact adapter type. After that you’ll have to check if your adapter is supported by the Linux wireless drivers and if so, select the correct driver (see build/install).

I have a slightly different setup:

A separate firewall/DHCP server.

A Zotac IONITX-P-E (just like John above).

I would like to use the Zotac (also) as a transparent access point (no masquerading).

Is it possible?

What should I change?

You could try to relay DCHP requests, but I’ve no idea about how to do the routing without a separate sub-net.

In fact, I have a similar setup. DSL router + firewall + DHCP server and an internal (wired) 192.168.1.x network. My first approach was to create one big internal network (wired and wireless in the same network, sharing the same DHCP server, behind the same firewall).

I didn’t get this to work and went for 2 separate networks. Perhaps it will work with DHCP relay, my old AP, a Linksys WAP54G does basically the same. I think it’s better to create an extra network, eg. 192.168.0.x for wireless. You can easily achieve this with dnsmasq.

I’m not sure how this situation should work on one big network: a wired device, let’s say 192.168.1.2 wants to connect to a wireless device, let’s say 192.168.1.4. How does it “know” it has to send it’s request to 192.168.1.3, the wired interface of the AP?

Hi Marcel,

Thanks, this gave me a nice jump start. I have a Zotac IONITX-P-E, with the same wireless card.

To enable 802.11n, in hostapd.conf you should also set:

ieee80211n=1

wmm_enabled=1

ht_capab=[HT40-][HT40+][SHORT-GI-40][TX-STBC][RX-STBC1][DSSS_CCK-40]

For other cards, use ‘iw list’ to check your cards HT capabilities (ht_capab).

THanks Marcel,

This has got my Asrock running nicely on Ubuntu 9.10 Kernel 2.6.31-20.

The only thing I had to do differently was that I had to use iptables rather the route to configure my wireless lan to the internet ie.

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

This nicely redirects all traffic from the wireless network through to the wired network.

Hi Marcel,

Nice blog! I have done basically the same thing and found this posting very informative. I’m using a Dell Mini 9 running Ubuntu 9.10. It is acting as a NAT router/firewall (UFW with NAT rules), DHCP server (dhcp3-server) and AP (hostapd with Atheros AR928x based card). My question is related to the performance of your AP. While my AP configuration seems to work for the most part, my clients drop their connection regularly. Based on syslog this seems to be due to some kind of deauthentication/authentication issue. The only way to get the clients to reconnect is to manually restart hostapd.

I’m curious to know if you have seen this behavior on your AP as well. If you have, how have you resolved the issue?

Thanks!

Actually I haven’t used the access point very much, because it appeared to be unstable when I useNFS (the PC/Ubuntu stops responding completely; this doesn’t happen when I use the wired connection) and the wireless range was limited (the Asrock has no external antenna).

I didn’t see your deauthentication/authentication problem. Maybe it has to do with encryption. I used WPA2 only.

黑蘋果系統下Atheros系列網卡性能比較研究

作者:peiming   發布:2013-03-18 23:06   分類:

MAC   閱讀:256次

2條評論

黑蘋果愛好者為了是自己的黑蘋果系統在Mac os X下能夠完美wifi無線上網,大家在PCbeta Forum里有對Atheros系列多種型號進行討論的帖子,然而到底哪種型號是真正完美的最佳的可用的方案,大家仍停留在經驗討論中,沒有一個帖子能夠給出最好且讓大家信服的方案來。另外,仍有大部分的朋友仍在用版本號來推算Atheros系列網卡性能的高低,這基本上可以算是一種很錯誤的理念。下面我將為大家帶來Atheros可支持Mac os X各種型號的比較分析。

現在論壇里討論的Atheros系列網卡基本的版本號9280往后的,而且經筆者翻閱資料發現,可支持且性能稍好且能夠支持Mac os X的網卡也正是大家討論的這些型號(見表1)。

表1 Atheros主要支持MacosX網卡技術參數[1]

Chipset

Chips used

Interface

PHY modes

MOMI status[3]

AR9280(Merlin)

PCIe

abgn

2×2:2

AR9281(Merlin)

PCIe

bgn

1×2:2

AR9283(Merlin)

PCIe

bgn

2×2:2

AR9285 (Kite)

PCIe

bgn

1×1:1

AR9287 (Kite)

PCIe

bgn

2×2:2

AR9002WB-1NGCD

AR9285 (Kite) + AR3011(bluetooth)

PCIe

bgn

1×1:1

AR9002WB-2NG

AR9287 (Kiwi) + AR3011 (bluetooth)

PCIe

bgn

2×2:2

AR93 AR928780

PCIe

abgn

3×3:3

通過分析此表不難發現AR9280、AR9002WB-2NG、AR9380最先勝出的,這三個中間AR9380新能最優,頻段同時支持abgn,支持3-stream 11n MIMO,最高支持450mbps;而AR9280是頻段也同時支持abgn,支持2-stream 11n MIMO,最高支持300mbps;AR9002WB-2NG為藍牙和無線二合一設計,無線頻段僅支持bgn,少a頻段支持,支持2-stream 11n MIMO,最高支持300mbps。

接下來呢,無線收發性能優勝從大到小依次為AR9287>AR9283> AR9281 >AR9285。其中所有的卡頻段支持都bgn,AR9287、AR9283 MOMI屬性是一樣的,代表數據吞吐量一樣,但是大家應該注意到AR9287的開發代號為Kiwi,而其余型號的代號皆為Merlin,(這里可以這樣理解,開發時間上AR9287是晚於AR9283的,按照技術進步的優勢,一定程度上可以認為AR9287性能高於AR9283,但是這並無從考證。因為一款產品的推出是跟市場需求有關而不是技術水平,諸如諾基亞是技術力量很強的企業,但售價為200元低性能功能手機一直占領着市場是同一道理。)在數據吞吐量MIMO屬性,AR9287/ AR9283為收發數據最高均為300mbps,AR9281為收300mbps發150mbps,AR9285收發都為150mbps。

綜上,在不考慮藍牙的情況下,上述網卡性能從優到劣的次序為:AR9380>AR9280/AR9283/AR9287/> AR9281 >AR9285。

因此,如果你想實現wifi+bluetooth方案的話,建議你使用AR9002WB-1NGCD,雖然此方案wifi性能最低,但是由於bluetooth的存在,這是一個相對較好的wifi+bluetooth[2]。雖然還有高性能的AR9002WB-2NG方案,但是由於AR9287到目前為止驅動仍然非常困難,所以現在仍然不建議選此方案。

那么,上述網卡中到底哪個才能真正實現免驅呢,因為AR9280/ AR9281/AR9283這三個卡,雖然系能高低不一,但是他們具有相同的開發代號,應該會采用相同的芯片,所以理論上來講,這三個卡都可以實現完美免驅。在筆者翻閱大家實際使用經驗帖子,也再次證明了這三個卡應該都能完美免驅。

(這里大家需要注意的是,即使AR9280/ AR9281/AR9283采用的是同樣的芯片,但也有可能無法驅動。原因有很多,總結有兩點,一是你所使用的環境,軟件的問題;而是卡本身的問題,這個三個卡使用了同樣的芯片,為什么性能高低不一呢,這應該是廠商做的一硬件限制而使它們出現性能高低之分,以及應用的不同機器、使用地區等等,也是因為這些限制導致了采用的是同樣的芯片,但也有可能無法驅動。)

所以大家在購買AR928x的網卡過程中,賣家實際在真實MAC環境下測試過才是真正好用,因為這里可以推薦購買的型號就有AR9280/ AR9281/AR9283,大家可以按照新能高低選擇自己所需要的型號。這里再這三個性能做比較:AR9280/AR9283收發均為300mbps,AR9281為收300mbps,發150Mbps 。三者性能從能高到底AR9280=AR9283 >AR9281。(因為數據接收能夠達到300mbps,即使發為150Mbps已經完全不影響到我們的正常使用)

最后說AR9380這些卡中性能最高,三天線設計,最高450mbps收發,而且為mac air 筆記本原生采用卡,但缺點是價格有點太高,基本在150元左右,但如果有這經濟實力是推薦。

注:AR9380/AR9280都有原生的去全高和半高的。之前我在論壇看到大家都以為AR9380/AR9280只有全高卡,經筆者翻閱資料發現事實不是這樣的,全高AR9380/AR9280多為Atheros官方和蘋果oem卡,半高的多為采用同樣芯片的oem卡(這些oem卡應用很廣,筆者發現光AR9280芯片的半高卡,在ACER、HP、Dell、Lenovo等大的電腦廠商的筆記本上都存在過,因此你的機器如果是半高卡,這些采用AR9280芯片的OEM卡是你最好的選擇)。

::關於MOMI status的解讀見文后的英文資料[3],這里我就不做翻譯了,大家可以自行參看。::

參考文獻

[1] Atheros,http://www.wikidevi.com/wiki/Atheros

[1] 購買AR5B195或者筆記本AR3011藍牙MAC無法驅動的請看,http://bbs.pcbeta.com/viewthread-1153759-1-1.html

[3]見參考資料

參考資料

Proprietary MIMO technology can be found in some Wireless-G devices. Both the access point and the adapter must support the same technology as MIMO is not standardized in 802.11g. Often, two radios are used to double the bandwidth to 108Mbps.

MIMO is a part of the 802.11n specification. Different notations may be used to describe the MIMO capabilities of a given device.

TxR:S

T: Number of transmit radio chains

R: Number of receive radio chains

S: Number of spatial data streams

1×1:1 – 150Mbps transmitting and receiving

1×2:2 – 150Mbps transmitting, 300Mbps receiving

2×2:2 – 300Mbps transmitting and receiving

2×3:2 – 300Mbps transmitting and receiving

3×3:2 – 300Mbps transmitting and receiving

3×3:3 – 450Mbps transmitting and receiving

更新:

20130329 部分表述和更詳盡的性能比較更新;可用於黑蘋果無線網卡推薦推薦范圍更新;

http://linuxwireless.org/en/users/Drivers/ath9k/

About ath9k

ath9k is a completely FOSS wireless driver for all Atheros IEEE 802.11n PCI/PCI-Express and AHB WLAN based chipsets.

Subscribe to this page!

You should subscribe to this page so you can get e-mail updates on changes and news for ath9k automatically. You'll get an e-mail as soon as this page gets updated.

Mailing list

Our mailing list for this driver is:

Get the latest ath9k driver

Any distribution shipping a kernel >= 2.6.27 will have ath9k present but the ath9k driver on 2.6.32 is the oldest one recommended, anything older than that is completely unsupported. Below is a list of the minimal distribution requirements to either use ath9k from 2.6.27 or from compat-wireless, which lets you install newer drivers on older kernels.

Ubuntu Intrepid (8.10)

Fedora Core 10

openSUSE 11.1

Mandriva Linux 2009.0 (formally known as Mandrake Linux)

ARCH Linux

Gentoo Linux

Red Flag Linux 7.0 (based on Fedora 10)

If you want to get the latest ath9k driver you have several options:

compat-wireless stable releases of ath9k - ath9k as it is in newer stable kernels releases backported for older kernels

compat-wireless daily linux-next.git snapshots of ath9k - ath9k as it is present in the development tree for 802.11 backported for older kernels

wireless-testing: through the 802.11 development git tree used by developers working on ath9k

To read more about the wireless-testing and development on ath9k you can read ourour git-guide and the development process, please be also sure to read the bug fix propagation, our documentation on reporting bugs, and how we handle adding additional critical fix patches to ath9k.

It should be noted that some Linux distributions already use the stable compat-wireless releases as packages in their Linux distribution. Examples are ChromeOS, Ubuntu, Gentoo and Openwrt. Openwrt in particular uses compat-wireless snapshots based on wireless-testing, and the releases are updated regularly after some evaluation byOpenWrt's developers and the community. If you are using the any of the compat-wireless releases, you can enable only to compile and install ath9k by issuing the following commands.

Please note that for AP mode of operation the Minstrel rate control algorithm performs much better than the Atheros rate control algorithm and a separate driver-select option is provided below to enable you to use Minstrel for AP.

# If you are using ath9k as STA device:

./scripts/driver-select ath9k

# If you are using ath9k as an AP:

./scripts/driver-select ath9k_ap

make sudo make install}}}

Enabling ath9k

To enable ath9k, you must first enable mac80211 through make menuconfig when compiling your kernel. If you do not know what this means then please learn to compile kernels or rely on your Linux distribution's kernel. Below are the options you need to enable ath9k through make menuconfig.

Networking --->

Wireless --->

Improved wireless configuration API

Generic IEEE 802.11 Networking Stack (mac80211)

You can then enable ath9k in the kernel configuration under

Device Drivers --->

[*] Network device support --->

Wireless LAN --->

Atheros 802.11n wireless cards support

Bluetooth coexistence

ath9k supports 2-wire and 3-wire Bluetooth coexistence, for details see theath9k btcoex page.

supported chipsets

SB = single-band 2.4GHz DB = dual-band 2.4GHz or 5GHz

Legacy:

AR2427 (>= 2.6.32.16, no 802.11n hardware support, its bonded out) 1x1 SB PCIe

AR5008:

AR5418+AR5133 (>= 2.6.27) AR5418 = DB 11n PCIe, AR5133 = 3x3 DB 11n

AR5416+AR5133 (>= 2.6.27) AR5416 = DB 11n PCI

AR5416+AR2133 (>= 2.6.27) AR2133 = 3x3 SB 11n

AR9001:

AR9160 (>= 2.6.27) DB 11n

AR9102 (>= 2.6.30, AHB) 2x2 SB 11n

AR9103 (>= 2.6.30, AHB) 3x3 SB 11n

AR9002:

AR9220 (>= 2.6.27, an AR9280 card over PCI) 2x2 DB 11n PCI

AR9280 (>= 2.6.27) 2x2 DB 11n PCIe

AR9281 (>= 2.6.27) 2x2 SB 11n PCIe

AR9285 (>= 2.6.29) 1x1 SB 11n PCIe

AR9287 (>= 2.6.32) 2x2 SB 11n PCIe

AR9003:

AR9380 (>= 2.6.36) 3x3 DB 11n PCIe

AR9382 (>= 2.6.36) 2x2 DB 11n PCIe

AR9004:

AR9485 (>= 2.6.39) 1x1 SB 11n PCIe

AR9462 (>= 3.2) 2x2 DB 11n PCIe

AR9565 (development in progress) 1x1 SB 11n PCIe

Available devices

Features and modes of operation

All of these modes of operation are supported and should work on all ath9k cards.

Modes of operation

Station Mode

AP Mode

IBSS Mode

Monitor Mode

Mesh point with HT support, as well as RSN

WDS (as of >= 2.6.37)

P2P GO/CLIENT

Features

802.11abg

802.11n

HT20

HT40

AMPDU

Short GI (Both 20 and 40 MHz)

LDPC

TX/RX STBC

802.11i

WEP 64 / 127

WPA1 / WPA2

802.11d

802.11h

802.11w/D7.0

WPS client side (use wpa_gui-qt4 from wpa_supplicant for now)

WMM

LED

RFKILL

BT co-existence

64-bit support / big endian, small endian

AHB and PCI bus

TDLS

WoW

Antenna Diversity

A little history on ath9k

When it went in

ath9k was announced to have been merged into Linux-2.6.27-rc3 by Linus on Tue, 12 Aug 2008 19:33:16 -0700 (PDT), and consisted of 58.8% of the entire rc3 patch.

Early distributions which picked it up

Statistics on contributions

Below are stats on contributions between Qualcomm Atheros and the community on ath9k.

Other sections

For more information please see:

linux 不识别ar9380,用Linux做wifi熱點/無線路由相关推荐

  1. arm linux 指纹识别,基于ARM—Linux指纹识别系统的设计.pdf

    基于ARM-Linux指纹识别系统的设计.pdf 第 20卷 第 l5期 电子设计工程 2012年 8月 Vo1.20 No.15 ElectronicDesienEn~inee Aug.2012 基 ...

  2. linux不能识别 符号,在linux中文件中^M符号的问题以及中文识别问题

    ^M符号的问题 在Windows系统下编辑的文件,换行符回车的格式为'\r\n',在linux系统下,回车的格式为'\n',在Windows下编辑的文本文件在上传至linux服务器时,回车'\r\n' ...

  3. linux重新识别逻辑卷,linux – 从已删除的LVM逻辑卷恢复ext4文件系统的任何方法?...

    前几天,当我在Vmware下的 Linux客户端上扩展磁盘时,我有一个适当的大脑放屁时刻.我将Vmware磁盘文件扩展到所需的大小然后我做了我通常在没有LVM的Linux客户端上做的事情:我删除了LV ...

  4. linux车牌识别,基于嵌入式Linux的电子车牌识别系统设计与实现

    摘要: 本文研究的电子车牌识别系统,是国内近几年非常热门的研究项目之一.电子车牌识别系统在车辆管理方面具有可靠性高,操作简单,成本低廉等优点,对于解决城市车流量监控,道路拥堵,车辆非法营运等问题将会有 ...

  5. linux没办法识别u盘,linux系统下不能识别U盘

    Linux系统对于USB的设备的支持关键在于驱动,没有驱动设备时mount执行是肯定不成的. 解决步骤: 1./sbin/lsmod看是否有usb-storage.如果没有的话:cd /lib/mod ...

  6. linux可以识别多少lun,Linux上每个SCSI设备的最大LUN数目是多少(by quqi99)

    作者:张华  发表于:2016-04-28 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) SC ...

  7. linux 5识别网卡,redhat Linux 5.0 如何识别网卡和安装驱动

    如何查看网卡是否安装 1  ifconfig -a如果没有ethX就很可能是网卡没有安装,至少可以断定网卡没有自动加载. 如果这时输入ifconfig eth0 xxxx.xxxx.xxxx.xxxx ...

  8. linux下识别内存,c – Linux:识别内存中的页面

    我想知道一个巨大的文件的哪个部分被缓存在内存中.我正在使用fincore中的一些代码,它以这种方式工作:文件被mmaped,然后fincore循环遍历地址空间并使用mincore检查页面,但由于文件大 ...

  9. linux可以识别rar,转 linux下支持RAR压缩解压

    下载安装: [root@localhost ~]#wget [root@localhost ~]# tar zxvf rarlinux-3.6.0.tar.gz[root@localhost ~]#  ...

  10. linux未识别smb服务,Linux下配置smb服务

    1.在有网的情况下安装软件 yum -y install samba 2.查看配置文件 vim /etc/samba/smb.conf 3.安全级别 安全级别: share 共享级别(不需要密码) u ...

最新文章

  1. 俄研发新无线传电系统 隔20cm保持80%传输效率
  2. 第111天:Ajax之jQuery实现方法
  3. docker pull mysql
  4. Py修行路 python基础 (九)作用域 函数嵌套 闭包
  5. POJ - 2828 Buy Tickets(线段树+思维/Splay+模拟)
  6. LED显示驱动(五):视频设备显示驱动调试步骤总结
  7. 《从Excel到R 数据分析进阶指南》一2.6 查看数据表数值
  8. CDOJ--1012
  9. Android Launcher负一屏实现方案
  10. 适合前端学习的几个网站
  11. 当你想用Gitee对你的APK文件上传下载时
  12. JAVAFX界面跳转和加载不同的界面
  13. STM32不能进入睡眠模式
  14. 聊天室项目开发过程总结
  15. qlikview一些设置
  16. Flutter AnimatedSwitcher 实现的滑动切换数字动画效果
  17. Xilinx ISE 出现 Bitgen:342 - This design contains pins which have locations (LOC)...解决办法
  18. 程序员工作中沟通能力重要吗
  19. c语言 /= 和 *= 是什么意思?
  20. Python网络爬虫之Xpath详解

热门文章

  1. catia装配体怎么把零件旋转180度_工件180度翻转装置的设计
  2. 继承ActionSupport 实现Action与属性驱动传参
  3. pp加速器各种问题官方最新回答
  4. 独立游戏大电影观后感
  5. 玩转oracle视频教程(四)百度云
  6. 【Android游戏开发详细过程2】Android平台飞机大战游戏APP设计与实现
  7. linux拷贝依赖库到指定目录,Linux 批量依赖库拷贝(ldd)
  8. Sentinel 流控规则,降级规则(服务熔断),热点key 限流,系统规则 ,持久化。 超详细讲解
  9. protel 99se 负片打印
  10. ubuntu 的 kitti2bag安装与测试