Nintendo SwitchのTVモードに使えるACアダプターと使えないACアダプターを、USB PDのパケットから探ってみました。
※ Nintendo Switch 2019年モデル HAC-001(-01) (本体システムバージョン: 9.2.0)
純正ACアダプター
まずはNintendo Switchに付属してきた純正ACアダプターです。当然ですがTVモードが動作します。
ドック – ACアダプター間のUSB PDのパケットを確認したところ、
- ACアダプターが「5.0V/1.5A」「15.0V/2.6A」の出力を通知する
- ドックが「15.0V/0.5A」をリクエストし、アクセプトされる
- ドックが「15.0V/2.6A」をリクエストし、アクセプトされる
- Data Role Swapが行われる
- Vendor_Definedメッセージがやり取りされる
という内容のパケットがやり取りされていました。
Anker A2712121
サードパーティのACアダプターとして、USB PD 45W対応のAnker PowerPort III 45W Podを試してみました。
結果は写真の通りで、サードパーティのACアダプターでも問題なくTVモードが有効になりました。
ドック – ACアダプター間のUSB PDのパケットを確認したところ、
- ACアダプターが「5.0V/3.0A」「9.0V/3.0A」「15.0V/3.0A」「20.0V/2.25A」の出力を通知する
- ドックが「15.0V/0.5A」をリクエストし、アクセプトされる
- ドックが「15.0V/3.0A」をリクエストし、アクセプトされる
- ドックがData Role Swapを行おうとするが、ACアダプターにリジェクトされる
という内容のパケットがやり取りされていました。
純正ACアダプター使用時にDiscover Identifyコマンドがやりとりされていたことから、純正ACアダプター以外を弾くようになっている可能性も考慮しましたが、実際にはそのようなプロテクトはない模様です。
Anker A2014112
45W出力のサードパーティACアダプターでTVモードが有効になることが分かったため、次は純正ACアダプターの出力である39Wに満たないACアダプターを試してみました。使ったのはUSB PD 30W対応のAnker A2014112です。 (現在は廃盤)
結果は写真の通りで、TVモードは有効になりませんでした。
USB PDのパケットを確認したところ、ネゴシエーション自体は問題なく行われていました。しかしながらTVモードは有効にならなかったため、39W以上のACアダプターが接続されていることがTVモードの条件となっている可能性が高そうです。 (Switch本体に表示されたエラー画面からも、39W以上を要求している気配を感じる)
その他 サードパーティACアダプター
上記以外にも複数のACアダプターで試してみましたが、どれも
- 45W以上 : TVモードOK
- 30W以下 : TVモード不可
という結果でした。
そのため、恐らく15.0V/2.6Aを出力できるACアダプターであればサードパーティであってもTVモードが有効になると思われます。
まとめ
結論としては、
- 15.0V/2.6Aを出力できるACアダプター : TVモードで使える
- 15.0V/2.6Aを出力できないACアダプター : TVモードでは使えない
となります。39Wという中途半端な出力のACアダプターは持っていないので45Wまたは30Wでの実験ですが、39Wが閾値だと思ってほぼ間違いないでしょう。
純正品以外を弾くようなプロテクトの類はないため、15.0V/2.6Aを出力できるものであればサードパーティのACアダプターでもTVモードが動作します。
補足1 : Apple USB-C電源アダプタについて
初代Switchが発売された時期的に (2017年3月) 、MacBook Pro 13/15に付属してきた61W/87W USB-C電源アダプタを試してみたもののTVモードが動作せず、その経験から「純正ACアダプターでなければTVモードは動作しない」と思っている人が一定数いる気がします。
61W/87W USB-C電源アダプタでTVモードが有効にならないのは、当時の61W/87W USB-C電源アダプタ (型番で言うとA1718とA1719) のどちらもが15.0Vを出力できないためです。A1718とA1719は既に廃盤になっており、新モデルのA1947とA2166は15.0Vも出力できるようになっています。
ACアダプターの名称 | 型番 | 出力できる電圧 | 付属している製品 | 初出 |
---|---|---|---|---|
61W USB-C電源アダプタ | A1718 | 5V, 9V, 20V | MBP 13″ 2016/2017 | 2016年 |
87W USB-C電源アダプタ | A1719 | 5V, 9V, 20V | MBP 15″ | 2016年 |
61W USB-C電源アダプタ | A1947 | 5V, 9V, 15V, 20V | MBP 13″ 2018以降 | 2018年 |
96W USB-C電源アダプタ | A2166 | 5V, 9V, 15V, 20V | MBP 16″ | 2019年 |
実際に試してはいませんが、15.0Vを出力できる新モデルのA1947 / A2166であればTVモードが動作するはずです。 本記事を読んだ方からA1947でTVモードが動作したという報告をいただきました。恐らくA2166でもTVモードが動作するはずです。
補足2 : 15.0V/2.6Aを出力できるのにTVモードが有効にならないACアダプターについて
これまで説明してきたように、TVモードが有効になるACアダプターの条件は「15.0V/2.6Aを出力できるかどうか」でほぼ確定です。
しかしながら一部のACアダプターでは15.0V/2.6Aを出力できるにも関わらず、TVモードが有効になりません。以下の写真で使用しているACアダプターは最大65W出力で15.0V/2.6Aを出力できますが、TVモードが有効になりませんでした。
この時のドック – ACアダプター間でやりとりされていたUSB PDのパケットを確認したところ、どうも以下の事象が原因のようでした。
USB PD ACアダプターの中には、巷で「Split PDO」と呼ばれる挙動をするものがいくつかあります。Split PDOとはSource_Capabilitiesメッセージを意味もなく複数回送信するという挙動です。そのSplit PDOなACアダプターを使用した場合、ドック – ACアダプターの間でUSB PDのネゴシエーションが適切に行われず、TVモードが有効にならない模様です。
Split PDOなACアダプターはそこまでありふれたものではありませんが、怪しい中国メーカーのものだとたまにあったりします。Split PDOが原因かどうかを確認するためにはUSB PDアナライザーを使ってUSB PDのパケットを確認する必要があるため、一般人が原因を特定するのは困難です。もし15.0V/2.6Aを出力できるはずのACアダプターを使っているのにTVモードが有効にならない場合、このSplit PDOが原因かもしれません。