DD MAX M4の2枚挿し(旧版)

DD MAX M4の2枚目を購入しますた(・ω・)ノ

■更新履歴
6/2 初版(暫定)
10/17 追記

10/17追記

米欄のアドバイスでスロットごとの決め打ち使用ができましたので、新版を公開しました。
DD MAX M4の2枚挿し(完成版)



■H/W

今回はZEN2環境で使用する予定の、B350マザーのB350GT3で検証しました。
ddmaxm4_1.jpg ddmaxm4_2.jpg

ddmaxm4_3.jpg

ドライバは現時点で最新の3.0.3.224を使用し、特に問題なく認識されました。
ddmaxm4_4.PNG

■Guidの調査
bondriverには前回に引き続きradh-shさんのbondriver_bdaBDASpacial-DDを使用します。
サンプルで入ってるBonDriver_MaxM4-sample.iniを編集して使用するのですが、前回までのfriendname(例:Digital Devices ISDB-T Tuner 1)の記述だけでも使用は可能です。しかし今回は2枚挿しなのでguidで使用するチューナを決め打ちさせたい為に、まずDD MAX M4の各チューナのguidを調べることにしました。

guidはレジストリ調査で探せるのですが、手っ取り早い方法として本家DigitalDevicesの視聴ソフト「DD-TV」を使えば、簡単に調べることができました。

「DD-TV」インスコ後起動させ、「Options」内の「Show Cionfiguration Folder」を開くと、そのフォルダ内にある「hardware.ini」に記述されています。

一例として「Digital Devices ISDB-S Tuner 1」では下記の様に記述されていました。
[@device:pnp:\\?\dd_dvb#ven_dd01&dev_000a&subsys_0050dd01&rev_00&tuner#5&119c59ea&0&2#{71985f48-1ca1-11d3-9cc8-00c04f7971e0}\{8b884e20-fbca-11de-b16f-000000004d56}]
HasCI=1
UseHardwareFilter=1
DVBS2=1
NoStandard=1
AutoLNBOff=1
Name=Digital Devices ISDB-S Tuner 1 (14)
TunerType=1
Status=1
InstID=Digital Devices ISDB-S Tuner 1 13
DeviceNr=14
Vendor=19
Priority=2
Tag=0
DeviceType=1
Groups=255
Retune=0
SkipComponents=0
DiSEqCCount=1
Slot=0
SlotFrequency=0
UnicablePIN=0

iniで使用するにおいて此処から解るのが、

・デバイス インスタンス ID
dd_dvb#ven_dd01&dev_000a&subsys_0050dd01&rev_00&tuner#5&119c59ea&0&2#
・クラスGUID
71985f48-1ca1-11d3-9cc8-00c04f7971e0
チューナGUID
8b884e20-fbca-11de-b16f-000000004d56
FriendName
Digital Devices ISDB-S Tuner 1

のようになります。私の環境下では下記の通りの法則がありました。おそらくこのGUIDは動作させる環境固有でしょう。

8b884e20-fbca-11de-b16f-000000004d56:Digital Devices ISDB-S Tuner 1
8b884e21-fbca-11de-b16f-000000004d56:Digital Devices ISDB-S Tuner 2
8b884e22-fbca-11de-b16f-000000004d56:Digital Devices ISDB-S Tuner 3
8b884e23-fbca-11de-b16f-000000004d56:Digital Devices ISDB-S Tuner 4

8b884e50-fbca-11de-b16f-000000004d56:Digital Devices ISDB-T Tuner 1
8b884e51-fbca-11de-b16f-000000004d56:Digital Devices ISDB-T Tuner 2
8b884e52-fbca-11de-b16f-000000004d56:Digital Devices ISDB-T Tuner 3
8b884e53-fbca-11de-b16f-000000004d56:Digital Devices ISDB-T Tuner 4

今回は前回のFriendName(橙色)に加え、チューナGUID(赤色)の記述を使用します
なお、DDControlCenterで使用するチューナの種類に予めチェックをしないと、iniに記述してもチューナの初期化に失敗しました(ISDB系にチェックを入れずにiniにISDB-Tの記述をしたなど)
ddmaxm4_7.PNG

■bondriverの編集(差分のみ)
#ほぼ前回のものにGUIDを加えただけです。
#環境によってGUIDが異なる可能性があります!!!

BonDriver_MaxM4_0.ini
[Tuner]
CheckDeviceInstancePath=1
;デバイスインスタンスIDのチェック
Guid0={8b884e20-fbca-11de-b16f-000000004d56}
Guid1={8b884e50-fbca-11de-b16f-000000004d56}
FriendlyName0="Digital Devices ISDB-S Tuner 1"
FriendlyName1="Digital Devices ISDB-T Tuner 1"
CaptureFriendlyName0="Digital Devices TS Capture 1"
BonDriver_MaxM4_1.ini
[Tuner]
CheckDeviceInstancePath=1
;デバイスインスタンスIDのチェック
Guid0={8b884e21-fbca-11de-b16f-000000004d56}
Guid1={8b884e51-fbca-11de-b16f-000000004d56}
FriendlyName0="Digital Devices ISDB-S Tuner 2"
FriendlyName1="Digital Devices ISDB-T Tuner 2"
CaptureFriendlyName0="Digital Devices TS Capture 2"
BonDriver_MaxM4_2.ini
[Tuner]
CheckDeviceInstancePath=1
;デバイスインスタンスIDのチェック
Guid0={8b884e22-fbca-11de-b16f-000000004d56}
Guid1={8b884e52-fbca-11de-b16f-000000004d56}
FriendlyName0="Digital Devices ISDB-S Tuner 3"
FriendlyName1="Digital Devices ISDB-T Tuner 3"
CaptureFriendlyName0="Digital Devices TS Capture 3"
BonDriver_MaxM4_3.ini
[Tuner]
CheckDeviceInstancePath=1
;デバイスインスタンスIDのチェック
Guid0={8b884e23-fbca-11de-b16f-000000004d56}
Guid1={8b884e53-fbca-11de-b16f-000000004d56}
FriendlyName0="Digital Devices ISDB-S Tuner 4"
FriendlyName1="Digital Devices ISDB-T Tuner 4"
CaptureFriendlyName0="Digital Devices TS Capture 4"
#フォルダの状態
ddmaxm4_9.PNG

■現状と課題
このbondriverの記述でとりあえず動作しています。
ddmaxm4_12.PNG
左縦列からBonDriver_MaxM4_0.ini~右縦列BonDriver_MaxM4_3.iniの構成で写ってます。
#Athlon 200GEで8画面は重すぎた…( ;∀;)

感のいい人は気づくと思いますが、チューナーx8に対しbondriverがx4しかありません。guidを記述したこの方法ですといくつか制限事項があり、

1、bondriver_bdaでのデバイスインスタンスIDの指定方法が不明
2、挿したDD MAX M4のデバイスインスタンスIDの若い番号の方から使用される。
3、各チューナのguidも若い番号の方から使用される。

1から3の仕様により、
4、ユーザが使用したいチューナをどのスロットに挿してるDD MAX M4かを指定できない。
5、其れ故PT2/3のような、「1つのbondriver」=「1チューナ」扱いの使用ができない。(個人的にこれを目指していたorz)

しかし使用可能なチューナがあれば、
6、bondriverにfriendname、guidを指定すると(そのチューナ:端子が)使用可能な限り自動的に振り分ける

という性質もあるため、最終的にはDD MAX M4の2枚挿しは下記の通りになりました。

7、暫定的に「1つのbondriver」=「2チューナ」扱いで使用する

1、2については、チューナを認識したときにデバイスインスタンスIDが
@device:pnp:\\?\dd_dvb#ven_dd01&dev_000a&subsys_0050dd01&rev_00&tuner#5
@device:pnp:\\?\dd_dvb#ven_dd01&dev_000a&subsys_0050dd01&rev_00&tuner#7
のように認識され、tuner#5がCPU直結のPCIe、tuner#7がB350のPCIeから接続されているM4になりました。

ddmaxm4_8.PNG

ここで仮にCOM1(スロットねじ側のチューナ)に指定したDigital Devices ISDB-S Tuner 1を使用しようとすると、Ryzen CPU接続のDD MAX M4(Tuner#5)→B350接続のDD MAX M4(tuner#7)の順で使用され、3つ目を開くと当然エラーが出ます。
ddmaxm4_10.PNG


現状ではEDCBの設定でチューナの項目で各BonDriver_MaxM4_0~3の1bondriverあたり2チューナずつ使用するように設定しています。
ddmaxm4_11.PNG

デバイスインスタンスID周りで判明した事項があればまた追記します・・・

#どうにかしてスロットごとの決め打ちで使いたい。

10/17追記
米欄のアドバイスでスロットごとの決め打ち使用ができましたので、新版を公開しました。

DD MAX M4の2枚挿し(完成版)



この記事へのコメント

  •  

    GuidXはGUIDだけ書くのではなく、@device:pnpから4d56}までフルで書くと個別指定できるかもしれない。
    2019年10月13日 23:37
  • bear(管理人)



    > さん

    アドバイスありがとうございます。

    >GuidXはGUIDだけ書くのではなく、@device:pnpから4d56}までフルで書くと個別指定できるかもしれない。

    時間が取れたときに試してみます。
    2019年10月14日 07:52