ホーム » 「WiFi」タグがついた投稿

タグアーカイブ: WiFi

システム

最近の投稿

アーカイブ

カテゴリー

WiFiスキャンをさせてみた

自宅内のネットワークに繋がらない時があって悩んだら、外で使っていたモバイルルータがつけっぱなしで、自宅内ネットワークのサービスに接続できないのが原因だったりする。パケットも無駄に消費するので、自宅内でモバイルルータが動いていたら警告させるようにしたい。

wifi scan

メインサーバは有線だけなので、有線LAN接続で WiFi が空いている Raspberry-Pi で監視させてみた。

$ sudo iw dev wlan0 scan | grep "SSID: ルータのSSID"

最初は homebridge の homebridge-cmdswitch2 の state_cmd に仕込んでみたけど、モバイルルータが動いていたら警告してほしい。Siri のオートメーション経由で警告することもできるかもしれないけど、スマホに頼る形になるなぁ。

nagios で警告させたいけど、raspberry-pi に nagios を入れるのは資源のムダに思える。ということで、Raspberry-Pi には nagios の監視をリモートで呼び出す nagios-nrpe-server を 入れて、上記 iw コマンドを動かす check スクリプトを書いてみた。

check_iwscan

nagios-nrpe-server から呼出す際に、Raspberry-Pi で動かすのもあるし、OS 負荷が軽くなるように Lua で書いてみた。

#!/usr/bin/lua

-- 見つけるべきSSID
local check_list = {}
check_list[ "tsaitoh.net" ] = "ok"
check_list[ "tsaitoh.net_e5785" ] = "warning"
check_list[ "tsaitoh.net_hwd14" ] = "critical"

-- 見つけたSSID毎の数
local count = {}
count[ "ok" ] = 0
count[ "warning" ] = 0
count[ "critical" ] = 0

-- スキャン結果を処理
local handle = io.popen( "/usr/bin/sudo /sbin/iw dev wlan0 scan" , "r" )

if handle then
   for line in handle:lines() do
      -- SSID を抽出
      ssid = string.match( line , "^%s*SSID: (.+)$" )
      if ssid then
         -- SSID のカウント
         local lv = check_list[ssid]
         if lv then
            count[lv] = count[lv] + 1
         end
         -- print( ssid ) ;
      end
   end
   handle:close()
end

-- カウント結果に応じたexit値を決める
local status = 0
local st_mess = "Ok"

if count["critical"] > 0 then
   status = 2
   st_mess = "Critical"
elseif count[ "warning" ] > 0 then
   status = 1
   st_mess = "Warning"
end

-- 結果の表示
print( string.format( "IWSCAN %s - ok:%d/warn:%d/critical:%d" ,
                      st_mess , count["ok"] , count["warning"] , count["critical"] ) )
os.exit( status )

メッシュネットの導入を検討

先日から、子供の部屋にWiFiが使えるように1Fに設置していたアクセスポイントが調子が悪いようで撤去した。

でも、同じ1F居間のTVやらRaspberry-Piやらがネットワークにつながらなくなり、どうも1FまでのEthernetか、その先のPLC(電力線経由ネットワーク)が壊れたようで、その先のWiFi-AP,TV,RPiが相倒れとなった様子。

かといって、PLCは元々通信速度もあんまり出ないし、壊れたとしても再購入も疑問。

WiFi環境の見直し

WiFi-APで自宅内どこでもWiFiが使えるようにしていたけど、再接続の性能も悪いし、ルータの更新を検討した。今までにも、WEX-733D とかを試したけど、接続がよく切れるし使用を断念していた。そこで、専用にメッシュネットWiFiルータとして売られている製品を検討してみた。

Buffalo で最新のものは、WTR-M2133HP/E2S だけど、値段も高い割に Amazon のレビューではうまく動いていない報告が目立つ。そこで値段も手ごろで、Amazon レビューでもトラブルの報告の少ない WRM-D2133HP/E1S を選択。

予想される問題

問題点としては WRM-D2133HP は、ルータのLANポートが3ポートに減る。現在のルータには、Linuxサーバ,メインWindows機, VPNルータ, 8ポートHUBと繋がっているので、ポート不足になるはず。ひとまずはVPNルータの空きポートを使うかな…。

たぶん壊れた1Fにつながるネットワークは、なんとか復活させたい。今の所、メッシュネットでつながるようになるなら、WEX-733Dを復活させようと検討中。ただし、中継機能を使うとネットが切れやすくなるような症状が予想されるので、無線LANアダプターとして使い、中継器のWiFi親機機能を無効化したほうがいいだろうな。

iphoneの検知難しい

大学でアパート住まいの子供が、帰っているのか確認するために、LINE beacon を置いて検知を試したけど、bluetooth を切って既読スルーなヤツなので、ほとんど検知することができない。

そこで、アパートでは無線LANルータを使ってるし Raspberry-Pi で、arpalert を使えば簡単に検知できるだろうと、実験中。でも iPhone はセキュリティ対策なのか、 arp の返答は必要最小限なので同じサブネットとはいえ、そのままでは通信の必要の無い raspberry-pi には、ARP 情報が送られてこない。また ping には返答しないようで、単純に ping で確認も困難。ということで単純な arpalert では検知が難しいなぁ。

定時処理で、”arping -c 1 -I wlan0 IPHONEのIPアドレス” を実行させて、強制的に ARP を送ってもらうか…

stretchで起動しづらい

自宅で色々と動いている Raspberry-Pi 。OS更新はまめにやっているけど、外気温測定に使っているのが Jessie のままだったのに気づく。stretch に上げたけど、どうも起動に失敗する。更新に失敗したかと思ったけど、キーボードをつなぐために USB WiFi を抜いて起動すると、普通に動いている。

今までも、多少 boot が不安定なのはあったけど、stretch になって起動シーケンスが最適化されたのか、WiFi 有効化のタイミングが早まり、ブート時の電力不足が発生していると思われる。

ひとまず、改造面倒だし USB WiFi を抜いて、boot がそれなりに進んでから USB を指して対応。

WiFi 2.4Gのチャンネル変更

最近、子供からWiFiがよく切れるとのクレーム。調べてみたら、お隣さんのWiFiのチャンネルと被っているみたい。

2.4G [Hz] / 11n,11g,11b

何度かスキャンをかけると、2.4GHz帯のチャンネル選択は自動にしておいた状態で、自宅の1F用,2F用が3ch,11chを使っていて、しかもお隣さんも同じものを使ってる。倍速モードの拡張チャンネルも5chとか使われていて、これもかぶってる。

そこで、3ch,5ch,11chを避けるために固定チャンネルの設定を探し、お隣さんに近い WiFi-AP を 13ch(拡張9ch)、自室 WiFi-AP を 7ch(拡張11ch) にしてみた。

WiFi 場所 メインch 拡張ch
お隣近接側AP 13ch 9ch
自室AP 7ch 11ch

5G [Hz] / 11ac,11n,11a

5GHz の方は、電波が遮蔽物越しでは飛ばないようで、あんまりお隣さんが見えない。ということで、そのまま自動選択にしておこう。

WCR-1166DSを導入

色々と1FでのWiFi環境の整えるなか、先日は2FWiFiルータにレフ板を設置して、かなり改善したけど、ママが「台所で使えん!」とのクレーム。レフ板の方向からすると、1F居間が限界。ということで、親のエアコン更新した時のポイントが残っていたので、WCR-1166DS を買ってきた。Buffalo だから相性はいいだろう。

1F   駐車場
台所|居間|玄関|寝室
ーー+ーー+ーー+ーー
風呂| 座敷 | 座敷

2F |子供|子供|
  +ーー+ーー+
  | 居室  |
    (WiFi)  

WiFiレフ板

写真撮影用のレフ板ではありません。(^^;

2Fに設置してあるWiFiルータを補助するために、WiFi中継機 wex733d を設置してたけど、あまりにも動作が不安定なのできっぱり諦めた。代わりに、無線LAN電波を反射させるレフ板を作ってみた。手元にあった薄いスチロール板にアルミホイルを貼っただけ。

最初、WiFiの後ろの壁にそのまま立てかけたけど、効果も出て 1F居間 でもつながるようになった。しかしさらに外の駐車場(車のナビのWiFi)では、接続不可能だった。そこで、1Fに電波が飛ぶように、レフ板を下向きに倒してみた。これにより、外の駐車場でもかろうじて電波が取れるようになった。

{CAPTION}

Google 検索

My Google   Yahoo

Microsoft

ファンサイト