Buffaloの無線LANルーターに日本語SSIDを設定する


殆どの無線LANルーターはWeb上の設定画面からSSIDを変更できる。しかし、(私が知る限りでは)その多くが日本語などの2バイト文字を含めたSSIDを設定できないようになっている。

だが、使用可能文字のチェックをクライアントのWebブラウザ上で行っている場合は、ちょっとした細工をすることでSSIDに2バイト文字を使う事ができるとされている。

今回はBuffaloの無線LANルーター WHR-1166DHP で日本語を含めたSSIDを使用できるか試した。

もちろん、ちゃんとした使い方では無いので不具合に繋がることも考えられるので、行う際は自己責任にて。

用意するもの
  • Google Chrome
  • Buffaloの無線LANルーター AirStation
  • 無線LAN対応機器(スマホなど)
ルーターの設定画面を開く

http://192.168.11.1(APモードでは違う)とかで開けるアレ。とりあえずログインする。

どこでSSIDを変更できるか確認する

SnapCrab_NoName_2016-8-19_2-43-54_No-00

今回は2.4GHzのSSID2を変更することにした。SSIDを変更する際、AOSSを無効にする必要がある場合があるので注意(AOSSなんて今更使ってる人居る?)。SSID2などを新たに有効化して使う場合は今のうちに暗号化キーなどの設定をしておこう。

これから文字化けしてもわかるように、SSIDのテキストボックスの位置は把握しておきたい。

文字エンコードを変更

この操作を行うと文字化けします。

SnapCrab_NoName_2016-8-19_2-51-1_No-00

この設定画面の文字エンコードはShift-JISで、これがちょっと厄介。スマホのWi-Fi設定はSSIDをUTF-8として処理するので、UTF-8で書く必要がある。しかし、この設定画面はShift-JISなので、少し工夫が必要。SSIDにしたいテキストをメモ帳で書いてUTF-8Nで保存してShift-JISで開いて、文字化けしたテキストをコピペすることでも実現できるが、設定画面の文字エンコードを変えるだけでもできる。文字エンコードをUTF-8にしよう。

文字種チェックを無くす

2バイト文字が含まれていると「使用できない文字があります」と表示されて設定が反映されないので、チェックする関数を戻り値が常にtrueになる関数に置き換える。関数名はjsやhtml内をエラーメッセージやinputのidやイベントで検索をかけてやるとわかるので、他のルーターでやる場合は参考に。このルーターでは「Escape_String()」が使用可能文字をチェックしているようで、使用できない文字が含まれているとfalseを返すようになっていた。

「F12」キーを押してデベロッパーツールを開き、Consoleを開く。SnapCrab_NoName_2016-8-19_3-2-50_No-00

このページは複数のフレームから成るものなので、画像下線部のプルダウンメニューから「frm (wsc.html)」を選択する。そしてコンソールに次の1行をコピペしてEnter。

function Escape_String(item_string){return true;}

これで準備は整った。あとはSSIDを入力して「設定」ボタン(文字化けしてるけど)をクリックするだけ。

SSIDを入れる

SnapCrab_NoName_2016-8-19_3-11-33_No-00

周りが全て文字化けしている中、テキストボックスに普通に日本語を入力するという奇妙な状況だが、これによって逆に文字化けを避けることができる。入力したら「設定」ボタン(だったもの)をクリックしよう。

完了

SnapCrab_NoName_2016-8-19_3-13-1_No-00

上手く処理されればこのように「25秒後に画面が切り替わります」というような表示になる。30秒くらい経ってからスマホなどでWi-Fiをスキャンして正しく表示されれば成功。正しく表示されない場合は文字数が多すぎないかを確認する。

最後に

据え置き型の無線LANルーターで奇抜なSSIDにする意味ははっきり言ってあまり無い。あるとすれば、イベント会場でより遠くまで電波を飛ばして主張をすることができる(電波の無駄)くらい。新し目のスマホやPCでは普通に接続できるが、少し古いゲーム機や家電などでは上手く接続できないかもしれない。

今回はBuffaloのWHR-1166DHPで行ったが、Buffaloの別の無線LANルーターでも同じ方法が使えるかもしれない。また、別のメーカーのルーターであっても、HTMLやJavaScriptを目で追って関数名や仕組みを調べることで可能と思われる。

CqJ7PRyUsAAHKnL

絵文字も可。何故かアラビア語はダメだった。

コメントを残す

メールアドレスが公開されることはありません。