NUCでPCIデバイスはどうなっているのか?
# lspci
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
00:19.0 Ethernet controller: Intel Corporation 82579V Gigabit Network Connection (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation QS77 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
02:00.0 Network controller: Intel Corporation Centrino Advanced-N 6235 (rev 24)
となっていた。
Gigabit Network は無線ではないだろうから、
Intel Corporation Centrino Advanced-N 6235
が無線LANボードらしい。認識しているので、どこからかドライバーをダウンロードしてカーネルに入れる必要はないようだ。
まず、デスクトップで作ったkeyファイルは削除。
ifcfg-wlan0は、
DEVICE=wlan0
BOOTPROTO=dhcp
ONBOOT=no
TYPE=Wireless
に変更。
※この時点でデスクトップは無用になった。
ONBOOT=no
なのに
BOOTPROTO=dhcp
って変だけど、削ると、最後の方で ifup wlan0 が空振りしてしまうので必須。
※BOOT時にシェルのドコかで使うコマンドなんだろうなぁ~
では、WPA2だけのために、無線LANで認証するためのサービス(WPA wpa_supplicant) をインスト。
# yum -y install wpa_supplicant
/etc/sysconfig/wpa_supplicant が出来ていたので、
3行目を INTERFACES=”-iwaln0“ に 6行目を DRIVERS=”-Dwext” を変更。
次は設定ファイルの更新だ。
# wpa_passphrase {SSID} {パスワード}
network={
ssid=”{SSID}”
#psk=”{パスワード}”
psk={パスワードを暗号化した意味不明な長い文字列}
}
と、それっぽいテキストができるので、
# wpa_passphrase {SSID} {パスワード} >> /etc/wpa_supplicant/wpa_supplicant.conf
で設定ファイルに追記し、wpa_supplicant.confを開き、
ssid=”{SSID}”の後に ココとココを見ると、WPA2なら
proto=WPA2
key_mgmt=WPA-PSK
proto=WPA WPA2
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
を追記するといいらしい。
では繋いでみましょうか・・・
# service wpa_supplicant start
wpa_supplicant の起動中: /etc/wpa_supplicant/wpa_supplicant[ OK ]iwlan0、-Dwext
結果はどうなんだろう?
# ifconfig
wlan0 Link encap:Ethernet HWaddr **:**:**:**:**:**
inet6 addr: ****::****:****:****:****/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:28 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10157 (9.9 KiB) TX bytes:1011 (1011.0 b)
IPアドレスが取れていないので、
フム失敗のようだね。
色々設定を繰り返しいるうちにdmesgが
ADDRCONF(NETDEV_UP): wlan0: link is not ready
wlan0: authenticate with **:**:**:**:**:**
wlan0: send auth to **:**:**:**:**:** (try 1/3)
wlan0: send auth to **:**:**:**:**:** (try 2/3)
wlan0: authenticated
wlan0: associate with **:**:**:**:**:** (try 1/3)
wlan0: RX AssocResp from **:**:**:**:**:** (capab=0x*** status=* aid=*)
wlan0: associated
ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
と良さげな内容になってきたが、
ルータの方を見ても、
MACアドレス | リースIPアドレス | ホスト名 | 通信方式 | 無線認証 | 802.11n |
---|---|---|---|---|---|
**:**:**:**:**:** | – | – | 無線 | 認証済み | 有効 |
なんでIPアドレスもらいにいかないのかな?
# dhclient
# ifconfig waln0
wlan0 Link encap:Ethernet HWaddr **:**:**:**:**:**
inet addr:**.**.**.** Bcast:**.**.**.** Mask:255.255.255.0
inet6 addr: ****::****:**:**:**/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:514 errors:0 dropped:0 overruns:0 frame:0
TX packets:136 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:156326 (152.6 KiB) TX bytes:19058 (18.6 KiB)
なんてこった。(笑
/etc/rc.d/rc.local の最後に
ifup wlan0
を追記し、起動時にIPアドレスを聞くように云っておく。
使用しているルータ( WHR-G301N )のDHCPには珍しいことに手動割当ができる。
ルータからNIC指定で同じIPアドレスを割り当てられるので、NUC側はDHCPのまま。
NUC側で固定にしたい場合は、
ifcfg-wlan0の
BOOTPROTO=dhcpを
BOOTPROTO=static IPADDR=192.168.***.*** とすればいいだろう。
※今は、こうなっている。
DEVICE=wlan0
BOOTPROTO=dhcp
ONBOOT=no
TYPE=Wireless
/etc/rc.d/init.d の下のchkconfig用設定ファイルの書いてある、起動順序を入れ替えれば /etc/rc.d/rc.local で ifup wlan0 しなくてもよいようだ。
# for a in * ; grep chkconfig $a; done
・・・
# chkconfig: – 23 88
・・・
# chkconfig: 2345 10 90
っといっぱい出てきた。
左から2つ目の数字が起動順だ。
# grep chkconfig wpa_supplicant
# chkconfig: – 23 88
# grep chkconfig network
# chkconfig: 2345 10 90
なので、wpa_supplicantの方を9に変えてしまえばいいようだ。(超いい加減。 しかし、結果から云えば、ダメだった。ずーっと23番目。 ※後でみてみたら20番にいたり・・・不安定
こうなったら
最終手段
/etc/rc.d/init.d/wpa_supplicant の
最後に
ifup wlan0
を入れた。
後悔するだろうなぁ~忘れた頃に・・・
ps 修正箇所を見つけるのに苦労したので、文面を一部訂正。(笑