Firefox OS の Wi-Fi 機能改善

Preview:

Citation preview

Mozilla 勉強会@東京 8th

Firefox OS の Wi-Fi 機能改善2012/12/01

自己紹介

Twitter: @masap 職業: 組み込みプログラマ(主に Wi-Fi) ハッシュタグ: #FirefoxOSjp

目次

Firefox OS の開発に参加するには

Firefox OS 開発に参加しての悲喜こもごも

Wi-Fi の不具合解析に関する提案

Firefox OS の開発に参加するには

参加の理由

そもそもなぜFirefox OS開発に参加するのか 不具合を見つけた 改善したい既存機能がある 追加したい新規機能がある

Firefox OS 自体を変えたい

参加はハードルが高い?

そうでもない デザイナ⇒HTML/CSSが書ければOK プログラマ⇒JavaScriptが書ければOK

でもMozillaのコードって難しそう 見たことも無いHTML5タグとか使ってる ECMAScript6の機能を使ってる。getterとか 確かにレベルは高いが勉強にはなる

Mozillaの慣習 Mozilla固有の用語、前提知識

これが一番ハードルが高い

参加方法

問題点を報告 Bugzilla (https://bugzilla.mozilla.org/) に問題点を記載

パッチを送る Gaia

Bugzilla に問題点を記載 GitHubを使ってPull Request

Gecko Bugzilla に問題点を記載しパッチも添付

パッチの作成方法

ビルド環境構築 https://developer.mozilla.org/ja/docs/Mozilla/Boot_to_Gecko/B2G_build_prerequisites

http://masap.sakura.ne.jp/firefoxos/build.html

コードの修正 SDKは無い。逆に言えば使い慣れたエディタを使える

動作確認 実機 or エミュレータ(r2d2b2g という Firefox プラグイン) エミュレータを使う場合は上記のビルド環境構築は不要

Firefox OS 開発に参加しての悲喜こもごも

オープンソースへの参加経験

これまでの経験 雑多なオープンソースプロジェクトへのパッチ投稿経験

あり 主にwpa_supplicant 他はWireshark, PepperSpot等 ほとんどがWi-Fi関連

Mozilla関連のプロジェクトは今回が初めて やっぱりWi-Fi関連

私が直しているところ

Gaia

ユーザーインターフェイス

Gecko

Gecko API

wpa_supplicantGonk

Gecko APIアクセス

wpa_supplicant API

うまくいった例

Bug 780465 WPS (Wi-Fi Protected Setup) を実装

初めてなのでちょっとつまずいたりした よくわからないので Bugzilla にパッチを送ると「Gaia は Pull

Request, Gecko は Bugzilla」と言われる

その後は特に滞りなく進む 早い応答、高品質なレビュー さすが Mozilla さんだね☆

あまりうまくいかなかった例

Bug 802137 WEP キー長のチェックを追加するだけ

放置される やっとコメント来た

「これもう直ってるよ」だと...? テストしてみると全く直ってない...

すごくうまくいかなかった例

Bug 790231, 791506, PR #5697 WPS 対応 AP が複数ある場合の接続高速化

進まない パッチを送るも放置される レビューが終わった頃にはツリーが変わっているので書き直し

を要求される それを何回か繰り返す ようやくリリースできる段になって、「API 変更を伴うからリリー

スの前後で不整合が起きる。その不整合を防ぐために修正前、後の両方で動く暫定パッチ書いてよ」

書いて送る(数時間しか使われないけどな!)

すごくうまくいかなかった例(続き)

放置される 見かねた mrbkap から助け舟が入る。「おい kaze 早くリリー

スしてやれよ」

第三者登場 「現在 Gaia は単純な CSS とかしか受け入れなくなったので

API を直してる君のパッチは受け入れられなくなりました」

今どうしてるの?

当初の予定 WPSの機能向上を最後まで仕上げたかった Wi-Fi Direct を実装して、せめてAndroid 4.1 並にして送り出

してあげたかった 俺「開発用ブランチあるでしょ?そっちに送るよ」

Mozilla「開発用ブランチなど無い」

現在 Bugzillaをながめて

協力できそうなところを探してる

Wi-Fi の不具合解析に関する提案

Wi-Fi って大事だと思うんです!

他がちゃんとできていても「つながらない」ってだけで全部がダメみたいに言われるのが携帯電話

Bugzilla に上がってる Wi-Fi 関連の不具合とその解析状況を見ていると「なんとかしようとしてるんだけどどうしていいかわかんない」っぽく見える

⇒違ったらゴメン 現役 Wi-Fi 屋として心配なのでちょっと提案

必要な知識

必要な機材そろってる? 様々なアクセスポイント 無線フレームをキャプチャ/解析する機材 Qualcomm のドライバ/チップセット担当とのコネクション

仕様書持ってる? IEEE 802.11 仕様 Wi-Fi Allicnace 仕様 (WPA/WPA2/WPS/Wi-Fi Direct等)

開発端末

開発端末 Mozilla は Unagi/Otoro という開発用スマホ(非売品)で開発

をしている Mozilla Japan にさえ無い Bug 802418 [画面を off/on すると Wi-Fi が再接続しない] と

かなると実機で見るしかない バグ解析するから実機送ってください