Nintendo SwitchのTVモードは純正ドックを使用する必要があり、非純正ドックでは有効になりません。今回はその辺について調べてみました。
※ Nintendo Switch 2019年モデル HAC-001(-01) (本体システムバージョン: 9.2.0)
純正ドックを使用した場合



ドックとSwitchの間に挟んでいるのはメディアロジックのUSB PDアナライザー「DTW2U3」です。
写真の通り、Switch + 純正ドック + 純正ACアダプターの組み合わせではTVモードが有効になり、外部モニターに映像が出力されます。
その際のドック – Switch間のUSB PDのパケットが以下です。

大まかな流れとしては以下の通りです。
- 電力のネゴシエーションが行われる
- VID 057EのAlternate Modeに入る (赤枠部分)
- SID FF01のAlternate Modeに入る (青枠部分)
電力のネゴシエーションが行われているのは当然として、問題は後半2つのAlternate Modeです。
まず1つ目のAlternate Modeですが、VID 057Eは任天堂のUSB Vendor ID (16進数) です。そのため、これは言ってみればNintendo Alternate Modeということになります。詳しくは後述しますが、このNintendo Alt Modeによって「ドックが任天堂純正品かどうか」ということを確認している模様です。
そしてそのNintendo Alternate Modeに入った後、Standard ID FF01のAlternate Modeに入っています。Standard ID FF01はDisplayPortのIDであるため、このAlt ModeはDisplayPort Alternate Modeです。つまり、SwitchのTVモードは内部的にはDisplayPort Alt Modeによって映像を外部に出力しているということになります。
USB Type-C to DisplayPortケーブルを使用した場合
Switchが内部的にDP Alt Modeを使用していることが分かったので、USB Type-C to DisplayPortケーブルでモニターに接続してみました。
使用したのはClub 3D CAC-1557です。


写真の通り、モニターに接続しても映像が出力されませんでした。
USB PDのパケットを確認したところ、電力のネゴシエーション自体は正常に行われているものの、Discover Identifyコマンドがやり取りされておらず、Alternate Modeに入ろうとした痕跡がありませんでした。
これが何を示しているのかというと、Switchが電源に接続されていない状態でTVモードを有効にするのはどう頑張っても不可能だということです。電源に接続されていない状態ではそもそもSwitchがAlt Modeに入ろうとしないため、TVモードで動かすためには必ず電源に接続する必要があります。
サードパーティのUSB Type-Cハブを使用した場合

次はサードパーティのUSB Type-Cハブを使用した場合です。写真の通り、モニターに映像は出力されませんでした。
使用している機器は、
- USB Type-Cハブ : USB PD入力とD-Sub出力があるタイプ (ノーブランド品)
- USB PD電源 : USB PD 60W出力できるもの (Anker A2015113)
を接続しています。
純正ドックとは異なりHDMIではなくD-Subでモニターに接続していますが、Alt ModeでDisplayPortの信号を取り出した後にHDMIに変換するかD-Subに変換するかという違いなので、TVモードの動作確認をする上では直接影響しません。また、ACアダプターには純正品ではなくサードパーティの60W ACアダプターを使用していますが、これは純正ACアダプターではTVモード動作に必要となる15.0V/2.6Aに達しないからです。通常のUSB Type-Cハブは、ハブ自身が使用する数ワットを差し引いて接続先デバイス (今回の場合はSwitch) に電力を通知するため、純正ACアダプターを使用してしまうとSwitchに通知される電力は15.0V/2.6A未満になってしまいます。これを回避する目的で、ハブが使用する数ワットが差し引かれても15.0V/2.6A以上を供給することのできる60WのACアダプターを使用しています。
そして、その時のUSB PDのパケットが以下です。

電力のネゴシエーション後、DFPであるSwitchがDiscover IdentifyコマンドでUFPであるハブの素性を確認しています。純正ドックであれば、ここでVID 057Eをレスポンスして任天堂純正品であることをSwitch本体に伝えますが、今回使用したハブは任天堂純正品ではないため、057Eではない別のVIDを通知しています。それによって、Switchは「このドックは任天堂純正品ではない」と判断し、それ以上USB PDのパケットをやり取りしなかった (= DP Alt Modeに入らなかった) ため、TVモードが有効になりませんでした。
考察
非純正のUSB Type-Cハブを使用した際は15.0V/2.67Aで電力のネゴシエーションが行われていることから電力不足という可能性は考えにくく、また、USB PDのパケットのやり取りも正常に行われていることから、相性問題の可能性も低いです。となると、Switch側が意図的にTVモードに入っていない、つまり、任天堂がわざわざ純正ドック以外ではTVモードが有効にならないように制限をかけていると考えるのが妥当です。
巷では「TVモード対応の非純正ドック」が販売されていますが、それらは純正ドックを模して同じようなパケットをしゃべるように細工されているためTVモードが動作するのだと思われます。仮にそういった非純正ドックでTVモードが一応使えたとしても、純正ドックでしか機能しないようにわざわざ制限が掛けられているTVモードがすべて問題なく動作するという保証はどこにもないため、素直に純正ドックを使用するほうが良いでしょう。
関連記事

