Androidはモバイル機器が主ターゲットのOSだ。そのため無線LANは中核的な通信手段とされている。初期バージョンのAndroid 1.0からセキュリティプロトコルのWPA(Wi-Fi Protected Access)/WPA2に対応し、2009年リリースのAndroid 1.6ではIEEE 802.1X認証に対応している。さらにAndroid 4.1では、新しいP2P接続方式である「Wi-Fi Direct」をサポートした。

 こうした流れを見ると、かなり充実しているように思える。しかし実際にはいろいろな機能が不足しており、利用の際に気をつけたいポイントがいくつかある。

アドホックモードに未対応

 最も広く知られている問題は「アドホックモード」に未対応なことだろう。アドホックモードとは、無線LAN機器同士がアクセスポイント(AP)を介さず直接通信するための通信モード。モバイル機器同士の通信で使われるほか、ネットワーク対応プリンターなどで使われる。Windowsの「インターネット接続共有」機能で、Windowsパソコンを介してモバイル機器をインターネット接続する(テザリングする)場合にもよく使われる。しかし、2013年2月時点の最新バージョン「Android 4.2.2」に至るまでアドホックモードに全く対応していない。

 アドホックモードについてはグーグルが意図的に対応させていないようだ。というのも、無線LAN制御に使用している「wpa_supplicant」というソフトウエアを少し改造し、さらに無線LANの設定画面からアドホックモードの接続先を表示しないようにするフィルターを取り除けば簡単にアドホックモードに対応できるからだ(図1)。wpa_supplicantの改造方法によっては設定画面の変更も不要だ。そもそも他のモバイルOSは普通にサポートする接続方式である。技術的な理由とは考えられない。ただし、未対応の理由についてグーグルは全く説明していない。

図1●Androidのアドホックモード無効化用コードの例
図1●Androidのアドホックモード無効化用コードの例
上はアドホックモード(IBSSモード)の接続先情報を設定画面に表示させないためのコード。下はwpa_supplicantが標準で備えるアドホックモード無効化フィルターである。

 Wi-Fi Directを使えばアドホックモードと似たような通信は可能だが、増えつつあるとはいえ対応機器はまだ少ない。そのため、Android端末のroot権限(管理者権限)を取得して、端末をアドホックモードに対応する改造が定番化している状況だ。