倒産特価品ワンセグチューナLOGFARM LOG-J200の Linux2.6.x用デバイスドライバ を開発しました。これで俺も 仕事しながらテレビが見れます(笑)
![]() |
俺:「え?クビですか?」 上司:「NONONO」 俺:「オラオラですか?」 上司:「NONONO」 俺:「もしかしてぇ両方ですかあ!?」 上司:「YESYESYESYES」
つ【logj200_linux_20090113.tar.gz】(Linux-2.6.24)
つ【logj200_linux_20090126.tar.gz】(Linux-2.6.26) →追加記事もどうぞ
ぜいぜい.......UOT-100(LOG-J100)対応のドライバにはeggman氏とpu2008氏の2種類があります。 eggman氏のドライバは24時間ワンセグ野郎の標準録画ソフトであるOneTwoFour.exeのC言語移植版という趣。 エラーチェックの構造などが非常に類似しています。一方でpu2008氏のドライバは、エラーチェックらしいチェックが ほとんど全くありませんが、実はeggman氏のものより安定して動きます。
このワンセグチューナ(LOG-J100,J200)は、USBデバイスとしては かなりお行儀が悪い部類 。コントロール系と ストリーム転送系が未分化であるばかりかタイミング依存っぽい部分が沢山あるように見えます。LOG-J200はさらに コマンドシーケンスが増えているのでシビア。 pu2008氏のドライバは、配列にバルク転送用バイナリデータを書くことで、送出データ列を再現できる 構造になっています。つまり「Windowsで正常に受信できているときの挙動」をエミュレートすることができるという訳 (だからエラーチェックがない...必要ないとも言える)。俺はUSBパケットアナライザSnoopyProのログとつきあわせて、 init周辺とset_channel周辺にLOG-J200用のバイナリデータを追加しただけです。
なのでちょっと恐いのは、チューナが複数本あったり、USBハブが挟まったりして、送出タイミングの狂いや取りこぼしがあると、 途端に動かなくなる可能性があること。しかもエラーチェックが全くないので原因がわからない...ということです。 使う人にはちょこっとドライバソースをいじる程度の能力は必要かもしれません。
あと、チャンネルチューニングをしてから数パケット〜は正しいMPEG-TSストリームが出てきません。 188バイトの区切りも怪しいです。どこで取りこぼしているか、元々こういうものなのか、電波状態によるのか、 俺のドライバが腐っているか(たぶんコレ)、は不明です。TSファイルとして保存する場合は、頭の 1MBくらいをなめてSync word(0x47)の間隔が188バイトに揃ってから出力するフィルタを書くのが妥当でしょう。 もしくはperlrtmpの中の人のrec.plに流し込むと幸せになれるかもしれません。
![]() |
LOG200のドライバをコンパイル・ロードまでできたんですが、作られたtsが再生できません。確認して頂けますでしょうか。
ストリームをもらうのはいろいろ問題があるのでお断りします。
まず正常かどうかは、WindowsのTSConverter.exeに-r -lオプションで食わせて、264とaacファイルができるかどうかですね。Linuxで再生する場合はパッチあてたmplayerが必要です。
あとアンテナだけは工夫しないと、まず室内でまともに受信できることはありません。僕はこれでかなりハマってました。