20
Mozilla 勉強会@東京 8th Firefox OS Wi-Fi 機能改善 2012/12/01

Firefox OS の Wi-Fi 機能改善

Embed Size (px)

Citation preview

Page 1: Firefox OS の Wi-Fi 機能改善

Mozilla 勉強会@東京 8th

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

Page 2: Firefox OS の Wi-Fi 機能改善

自己紹介

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

Page 3: Firefox OS の Wi-Fi 機能改善

目次

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

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

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

Page 4: Firefox OS の Wi-Fi 機能改善

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

Page 5: Firefox OS の Wi-Fi 機能改善

参加の理由

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

Firefox OS 自体を変えたい

Page 6: Firefox OS の Wi-Fi 機能改善

参加はハードルが高い?

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

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

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

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

Page 7: Firefox OS の Wi-Fi 機能改善

参加方法

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

パッチを送る Gaia

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

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

Page 8: Firefox OS の Wi-Fi 機能改善

パッチの作成方法

ビルド環境構築 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 プラグイン) エミュレータを使う場合は上記のビルド環境構築は不要

Page 9: Firefox OS の Wi-Fi 機能改善

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

Page 10: Firefox OS の Wi-Fi 機能改善

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

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

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

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

Page 11: Firefox OS の Wi-Fi 機能改善

私が直しているところ

Gaia

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

Gecko

Gecko API

wpa_supplicantGonk

Gecko APIアクセス

wpa_supplicant API

Page 12: Firefox OS の Wi-Fi 機能改善

うまくいった例

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

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

Request, Gecko は Bugzilla」と言われる

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

Page 13: Firefox OS の Wi-Fi 機能改善

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

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

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

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

Page 14: Firefox OS の Wi-Fi 機能改善

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

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

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

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

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

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

Page 15: Firefox OS の Wi-Fi 機能改善

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

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

スしてやれよ」

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

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

Page 16: Firefox OS の Wi-Fi 機能改善

今どうしてるの?

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

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

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

現在 Bugzillaをながめて

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

Page 17: Firefox OS の Wi-Fi 機能改善

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

Page 18: Firefox OS の Wi-Fi 機能改善

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

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

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

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

Page 19: Firefox OS の Wi-Fi 機能改善

必要な知識

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

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

Page 20: Firefox OS の Wi-Fi 機能改善

開発端末

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

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

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