りぬざうスケッチ
Zaurus と Bluetooth と WX310K にまつわる予備知識
最終更新:
zauhack
-
view
Bluetooth/Zaurus/WX310K にまつわる予備知識
(まだ編集中)
スペシャルカーネルについて
Zaurus+Bluetooth 関連のページを検索すると、どのページでもだいたいスペシャルカーネルの導入を前提にしているが、必ずしも必須ではない。
確認していないが、スペシャルカーネルなしで スペシャルカーネルのサイト にあるカーネルモジュールインストールができて使用できるのであればそれでいけるはずだし、他の Bluetooth モジュールでも良いはず。
WX310K の場合
以下の話は WX310K の問題なので、Bluetooth でも USB でも共通である。
WX310K の場合でもスペシャルカーネルは必ずしも必須ではない。
が、カーネルにパッチを当てることはほぼ必須。
そうしないと異様なパケットロスが発生し、まともに通信できない (らしい)。
が、カーネルにパッチを当てることはほぼ必須。
そうしないと異様なパケットロスが発生し、まともに通信できない (らしい)。
このページに書かれている対策についてまとめると、
- ppp_async がモジュールになっている場合、
- /etc/modules.conf に
options ppp_async flag_time=0
の一行を追加
- /etc/modules.conf に
- ppp_async がモジュールになっていない (kernel 組み込みになっている) 場合、
- カーネルにパッチを当ててコンパイル
であるが、SL-Zaurus の場合は後者である。
このパッチは、
linux/drivers/net/ppp_async.cの83行目付近 -static int flag_time = HZ; +static int flag_time = 0;
のたった一行。
要は、たった一箇所を修正するかわりに、スペシャルカーネルを導入するという方法を取っていることになる。
要は、たった一箇所を修正するかわりに、スペシャルカーネルを導入するという方法を取っていることになる。
逆にいうと、WX310K のように leading flag を省略できない機器以外、つまり普通の機器を使って接続する場合には、無駄に leading flag を送ることになって、却ってスループットが落ちる可能性もある。
現在のスペシャルカーネルは ppp_async がモジュールになっていないようなので、その場合には
- スペシャルカーネルを入れない
- ppp_async fix パッチだけを適用しないスペシャルカーネルを自分でコンパイルする
- スループットが落ちても気にしない
のいずれかになるだろう。
ただ、タイムアウトが発生するわけでは (おそらく) ないので、非パッチカーネル + WX310K よりは気にならないかもしれない。
ただ、タイムアウトが発生するわけでは (おそらく) ないので、非パッチカーネル + WX310K よりは気にならないかもしれない。