SSブログ
エステ

Hostapd で2.4GHz帯と5GHz帯を同時に利用する。 [Hostapd で無線LAN AP構築]

Ubuntu 12.04をベースにしてHostapdを利用して無線LANアクセスポイントを構築しているのですが、a/n系とb/g/n系両対応するためのメモ。

両方を利用するためには、

1.物理的に別デバイスとして認識される無線LANデバイスが2つ必要
 (もちろん、a/n対応のものと、b/g/n対応のもの)
  両方のデバイス共に、アクセスポイントモードに対応している
  AP modeへの対応可否はこちらから確認できます。
  伴い、/etc/network/interfaces の修正が必要。

2.デバイスごとに/etc/hostapd/hostapd.confを用意することと、
  それを読み込ませるために、/etc/default/hostapdを修正する。

3.Hostapd ver. 1.0以上を利用する。
  

さて、早速1からですが、
まえのエントリ「PLANEX 無線LANアダプタ GW-USMICRON をUbuntuで利用する」でGW-USMICRONを認識させましたので、/etc/network/interfacesを修正します。

そもそも2つのデバイスが必要なの??という点については不明です。
1つのデバイスでa/b/g/nに対応しているもので何とかならないのかと、wlan0のaliasを作ったり試行錯誤しましたが、結局わからなかったため、デバイスを2つ用意して、構築した次第です。
物理的に別デバイスとは、iw listしたときに、Wiphy phy0とWiphy phy1が表示されればOKということです。

さてさて、下記の赤字の部分が追記したところです。

--/etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Wired network interface
auto eth0
iface eth0 inet static
address 0.0.0.0

# Wireless network interface
auto wlan0
iface wlan0 inet static
address 0.0.0.0

auto wlan1
iface wlan1 inet static
address 0.0.0.0


# Bridge network interface
auto br0
iface br0 inet static
address 192.168.1.253
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 192.168.1.1
bridge_ports eth0 wlan0 wlan1
bridge_stp off
--


2については、もとの/etc/hostapd/hostapd.conf をベースにhostapd-2.4gh.confとhostapd-5ghz.confを作成します。

--hostapd-2.4ghz.conf
interface=wlan1
bridge=br0
driver=nl80211

country_code=JP
ieee80211d=1

ssid=AP7
channel=6
hw_mode=g

#ssid=AP8
#channel=44
#hw_mode=a

wpa=2
wpa_passphrase=12345678

wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

ieee80211n=1
wmm_enabled=1
ht_capab=[SMPS-STATIC][GF][HT40+][SHORT-GI-20][SHORT-GI-40][RX-STBC1]

macaddr_acl=0
deny_mac_file=/etc/hostapd/hostapd.deny

logger_syslog=-1
logger_syslog_level=3
--


--hostapd-5ghz.conf
interface=wlan0
bridge=br0
driver=nl80211

country_code=JP
ieee80211d=1

#ssid=AP7
#channel=6
#hw_mode=g

ssid=AP8
channel=44
hw_mode=a

wpa=2
wpa_passphrase=12345678

wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

ieee80211n=1
wmm_enabled=1
ht_capab=[LDPC][HT40+][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC1][DSSS_CCK-40]

macaddr_acl=0
deny_mac_file=/etc/hostapd/hostapd.deny

logger_syslog=-1
logger_syslog_level=3
--

/etc/default/hostapd については、上で作成した2つのファイルを指定します。

DAEMON_CONF="/etc/hostapd/hostapd-5ghz.conf /etc/hostapd/hostapd-2.4ghz.conf"


最後に3ですが、Ubuntu12.04のapt-get installでインストールできるhostapdはver. 0.73で2つのデバイスを起動することには対応していないようです。そこで、ver. 1.0をビルドします。
ここから

# apt-get install libssl-dev libnl-dev

この辺が入っていないと、
../src/drivers/driver_nl80211.c:22:31: warning: netlink/genl/genl.h: No such file or directory
などとおこられます。

# tar zxvf hostapd-1.0.tar.gz
# cd hostapd-1.0
# cp defconfig .config
# vi ./.config

基本的にはそのままですが、

# IEEE 802.11n (High Throughput) support
CONFIG_IEEE80211N=y

ここだけ、コメントを外します。

# make 
# make install

あと、serviceコマンドで起動できるようにします。

# vi /etc/init.d/hostapd

#DAEMON_SBIN=/usr/sbin/hostapd
DAEMON_SBIN=/usr/local/bin/hostapd


# service hostapd start

これでOKのはず!





PLANEX 無線LANアダプタ GW-USMICRON をUbuntuで利用する [Hostapd で無線LAN AP構築]

Ubuntu 12.04でPLANEXの無線LANアダプタを利用するためのメモ。

11n/g/b対応 ゲーム機用 Wi-Fi USBアダプタ GW-USMicroN-G

11n/g/b対応 Wi-Fi USBアダプタ GW-USMicroN-G

  • 出版社/メーカー: プラネックス
  • メディア: Video Game








によれば、rt2800usbがドライバのもよう。

# lsusb -v

によると、

Bus 001 Device 002: ID 2019:ed14 PLANEX GW-USMicroN
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x2019 PLANEX
  idProduct          0xed14 GW-USMicroN
  bcdDevice            1.01
  iManufacturer           1 Ralink
  iProduct                2 802.11 n WLAN
  iSerial                 3 1.0
  bNumConfigurations      1
(以下略)

# echo "rt2800usb" >> /etc/modules

# echo "install rt2800usb /sbin/modprobe --ignore-install rt2800usb; /bin/echo "2019 ed14" > /sys/bus/usb/drivers/rt2800usb/new_id" >> /etc/modprobe.d/usmicron.conf

# modprobe rt2800usb

これで、OKのはず。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。