これは何ですか?

ダメダコリャクティブの地デジチューナ「DY-UD200」用BonDriver試作品です。

出来ること・特徴

純正ドライバの代わりにWinUSB、あるいはLibUSBをバックエンドとして使用します。
WinUSBはマイクロソフト謹製の純正USB汎用ドライバです。 この為、ドライバに署名が必要な64bitWindows環境でもロード出来る可能性があります。
LibUSBはOSSのUSB汎用ドライバです。 WinUSBが使えないWindowsでも動作する可能性があります。
因みに開発・テスト環境はWindows7RC-x64です。

ワンセグの視聴・録画がおそらく可能です。 内蔵カードリーダを使用できるようになったので、運次第では外付けカードリーダ無しにフルセグの視聴・録画も可能です。 ただし例によって解析・デバッグが甘いので、最悪B-カスカードがただのプラ板になる可能性もちょっとだけあります。

純正ドライバ+ソフトよりも少ないドロップで視聴・録画が出来る様な気がしますが、多分気のせいです。ないしはフロントエンドのおかげです。
ファームパッチを組み合わせれば明らかに純正よりDropが減りますが、それはファームパッチのおかげです。

注意事項

初期型ファームウェア(或いはそれにパッチを当てた物)でないと動作しません。

アンテナレベルの取得を実装してみましたが、有意な値が出てるとは思えません。基本的に未実装です。

チューナが突然停止する時があります。その場合、あわてず騒がずUSBを抜き差しして、ソフトを再起動してください。録画中だったら諦めて下さい。
USBのパイプストールは自動でクリアする設定にしてみました。もしかしたら多少D増えるくらいで止まらなくなってるかもしれませんがあまり期待しないで下さい。

B25のデコードは自前で出来ますがいまいち不安定です。何か問題が起きた場合や録画に使う場合は、内蔵B25デコーダを無効にしてwinscard.dllなり外部スマートカードリーダなり使って下さい。

視聴中に高負荷を掛けるとドロップする場合、視聴ソフトのプロセス優先度を高めにしてみて下さい。録画時は大きめのバッファがあるから多分大丈夫です。

制限事項

動作する、と期待してはいけません。 このドライバは動作しません。

    |l  |l l |l i | |i l  |l l |
     |i  l |i l| li | |i l| li |
           ______
          /        ./|
        ./        //|
      /        /././
     ∠______/ /./
     |○_____|//
  ) ∠______//_(
Σ |______/ (
  ⌒ヽ/V⌒v、/⌒v、/⌒ ビダァァァン!!

使用法

初めて人柱になる人

  1. Microsoft Visual C++ 2008 SP1 再頒布可能パッケージをインストールする。
  2. ファームウェアを初期Verにダウングレードする。
  3. 純正のDY-UD200ドライバを、DY-UD200_w_WinUSBかDY-UD200_w_LibUSBを取ってきて置き換える。
  4. BonDriver_dyud.dllをBonDriverとして各ソフトにロードさせる。
  5. 動作しない事を確認する。
  6. 頑張ってドライバを純正に戻す。

既に人柱になってる人

  1. 今使っているBonDriver_dyud.dllを上書きする。
  2. やっぱり動作しない事を確認する。
  3. 頑張ってドライバを純正に戻す。

内蔵カードリーダについて

基本的使い方
B25デコードを自前でやる設定にすると、ドライバ内部から自動的に使用されます。
winscard.dllの使い方
カードリーダを使いたいソフトと同じディレクトリに、winscard.dllをコピーしてください。使いたくなくなった場合はwinscard.dllを削除すれば、標準のカードリーダにアクセスしに行きます。
BonDriverを.\Pluginや.\BonDriverなど別ディレクトリで管理するタイプのソフトの場合
ソフトと同じディレクトリに、winscard.dllと_inscard.iniをコピーし、_inscard.iniのpathをBonDriver_dyud.dllのパスに書き換えてください。

パケットフィルタについて

PacketFiltering=2でNULLパケの削除にしておけば基本的に問題ない筈です。あまりにもEやDが多い時はPacketFiltering=1にしてみて下さい。

BonDriver_dyud_logging.dllについて

BonDriver_dyud.dllにログ取得機能を付けた物です。突然落ちる、何らかの機能が動作しない、などの時に、これでログを取ってもらえるとデバッグが楽になります。

BonDriver_dyud.dllと切り替えながら使用は出来ません。winscard.dllも使う場合、ファイル名をBonDriver_dyud.dllに変更するのが簡単です。

BonDriver_dyud.dll.iniについて

BonDriver_dyud.dllの設定ファイルです。無い場合デフォルト値で動作します。

各種設定を変更したい場合、このファイルを修正して下さい。

自分のファイル名+.iniを読み込むように作ってあります。なのでBonDriver_dyud.dllの名前を変えた場合、iniファイルの名前もそれに併せて変えて下さい。

ワンセグについて

チューニング空間をワンセグにすると、チューナをワンセグモードに設定し、ワンセグのみを受信します。フルセグが受信できないような弱電界でも、ワンセグが受信できるようになる可能性があります。

自前でNITを解析してPATをでっち上げるので、PAT必須のソフトでもワンセグを視聴できます。

ワンセグで複数番組放送を行っている局には今のところ対応していません。と言うかそう言う局あるんですかね?

内容物

DY-UD200_w_WinUSB
DY-UD200向けinf付きWinUSB
src
パスタ屋さん
BonDriver_dyud.dll
BonDriver本体
BonDriver_dyud.dll.ini
BonDriver設定ファイル
BonDriver_dyud_logging.dll
ログ取得するBonDriver
winscard.dll
B-CAS破壊ツール
_inscard.ini
B-CAS破壊ツール設定ファイル
readme.html
ビダァァァン!!
test_dyud.exe
BonDriver_dyud用簡易フロントエンド
const TCHAR DriverName[] ="BonDriver_dyud.dll"
FreqSweeper.exe
実験的ツール
const TCHAR DriverName[] ="BonDriver_dyud.dll"

謝辞

このソフトには以下のライブラリ・ソースが使用・活用されています。
素晴らしいソフトとそのソースを公開されている作者様方に感謝します。

BonDriver_Shiro_0130
「拡張ツール中の人」 http://2sen.dip.jp/friio/
BonSample Ver.2.10
「拡張ツール中の人」 http://2sen.dip.jp/friio/
An AES (Rijndael) Implementation in C/C++ (as specified in FIPS-197)
「Dr Brian Gladman」 http://www.gladman.me.uk/
HDUSカードリーダー利用テスト_2
作者不詳 http://2sen.dip.jp/cgi-bin/hdusup/source/up0039.zip
スクランブルTSの復号処理をC言語で起こし直したもの
「ID:2UYNyA6O」http://pc11.2ch.net/test/read.cgi/avi/1236444785/93-96
TVTest 0.5.39
「HDUSTestの中の人」http://2sen.dip.jp/cgi-bin/hdusup/source/up0383.zip
新ファームのパケログ
「ID:FxmHv7br」http://pc11.2ch.net/test/read.cgi/avi/1246789116/510-512

解析結果を公表したり、テストに協力してくれているスレの皆様にも感謝します。

変更履歴

2009/03/18 5:32 mere