USB4ケーブルには大きく分けて「USB4 40Gbpsケーブル」と「USB4 20Gbpsケーブル」の2種類がありますが、この中でもUSB4 40Gbpsケーブルについて「USBでもThunderboltでも40Gbpsでデータ伝送できる “万能ケーブル” である」というようなイメージを持っている人は割と多いのではないでしょうか。
振り返ってみると、PC系メディアなどでUSB4はThunderbolt 3ベースであることが大きく取り沙汰されてきており、それに加えてUSB4とThunderbolt 3がどちらも最高40Gbpsであることも考えると、「後発のUSB4 40Gbpsケーブルは当然Thunderbolt 3 40Gbpsのデータ伝送もできるだろう」と考えるのも無理はない気はします。
しかしながら、一部のUSB4 40Gbpsケーブルは多くの人が期待しているであろう “万能ケーブル” としての動作をしてくれません。具体的には、一部のUSB4 40GbpsケーブルではThunderbolt 3 40Gbpsのデータ伝送を行えない場合があります。
今回、Thunderbolt 3 40Gbpsに対応していないUSB4 40Gbpsケーブルを見つけたので、実際の動作を確かめてみました。
使用機材
- ThinkPad Yoga 370
- USB PD Rev. 2.0でThunderbolt 3コントローラーはAlpine Ridge JHL6420
- CalDigit USB-C Pro Dock
- 製品名は “USB-C” だが、れっきとしたThunderbolt 3ドック
- Thunderbolt 3コントローラーはTitan Ridge
- https://thunderbolttechnology.net/product/caldigit-usb-c-pro-dock
- CalDigit Thunderbolt 3 40Gbpsケーブル (0.7m)
- CalDigit USB-C Pro Dockの付属品
- https://thunderbolttechnology.net/product/caldigit-thunderbolt%E2%84%A2-3-cable-40gbps-07m
- GOPPA USB4 40Gbpsケーブル GP-CCU408M/W
- USB-IF Certifiedケーブル (TID: 4488)
- “Thunderbolt 3に対応し、最大40Gbpsの超高速データ通信ができます” とのこと
Thunderbolt 3 40Gbpsケーブルを使った場合
まずは普通にThunderbolt 3 40Gbpsケーブルを使ってThunderbolt 3ドックに接続した場合です。
Windowsは不親切なOSなのでOS上からThunderbolt 3が何Gbpsでリンクアップしているのか確認することができません。仕方がないので、Thunderbolt 3接続が行われた際のUSB PDのパケットから何Gbpsで接続されているか割り出しました。 (使用したUSB PDアナライザーはMedia LogicのDTW2U3)
↓は、Thunderbolt 3 Alternate Modeに入った際のEnter Modeコマンドです。Enter Modeコマンドの具体的な内容はデータオブジェクト #2に記述されています。
データオブジェクト #2のB18-B16を確認すると、011bとなっています。
USB Type-Cの仕様によると、B18-B16に011bがセットされるのは、ケーブルのスピードが1レーンあたり最高20Gbpsの場合です。1レーンあたり20Gbpsということは2レーンでは40Gbpsなので、この場合はThunderbolt 3 40Gbps接続が確立されているということになります。
USB4 40Gbpsケーブルを使った場合
次はGOPPAブランドのUSB4 40Gbpsケーブル GP-CCU408M/WでThunderbolt 3ドックに接続した場合です。
↓がThunderbolt 3 Alternate Modeに入った際のEnter Modeコマンドです。
データオブジェクト #2のB18-B16を確認すると、010bとなっています。
USB Type-Cの仕様によると、B18-B16に010bがセットされるのはケーブルのスピードが1レーンあたり最高10Gbpsである場合です。1レーンあたり10Gbpsということは2レーンでは20Gbpsなので、Thunderbolt 3 20Gbps接続になってしまっていることが分かります。
なぜこういったことが起きるのか
なぜこのような事象が起きるのかというと、原因は「PCがケーブルのことをUSB4 40GbpsケーブルでもThunderbolt 3 40Gbpsケーブルでもなく、USB 3.1 Gen 2ケーブルと認識してしまっているから」です。
ではなぜPCがそのように誤って認識をしてしまっているのかというと、「USBの仕様的に “USB4 40Gbpsケーブルであること” と “Thunderbolt 3 40Gbpsケーブルであること” は別物だから」です。
まず前提として、Thunderbolt 3接続やUSB4接続が確立される際は、PCとケーブル内ICチップが通信をしてケーブルの速度を確認する手順が行われます。それに基づいてThunderbolt 3 40Gbps/20Gbps接続やUSB4 40Gbps/20Gbps接続が確立されます。
人間の会話っぽく例えると、Thunderbolt 3接続やUSB4接続が確立される過程で「私はThunderbolt 3 40Gbpsパッシブケーブルです」とか「私はUSB4 40Gbpsパッシブケーブルです」といったことがケーブル内ICチップからPCに対して伝達されます。そして、「私はThunderbolt 3 40Gbpsパッシブケーブルです」「私はUSB4 40Gbpsパッシブケーブルです」というメッセージはそれぞれ別物です。
そのため、USB4 40GbpsケーブルをThunderbolt 3 40Gbpsケーブルとしても動作させるためには、ケーブル内ICチップが「私はUSB4 40Gbpsパッシブケーブルです」というメッセージだけでなく「私はThunderbolt 3 40Gbpsパッシブケーブルです」というメッセージもPCに対して伝達しなければなりません。しかしながら今回のGOPPAのUSB4 40Gbpsケーブルには後者の実装が行われていなかったため、ThinkPad Yoga 370からはUSB 3.1 Gen 2ケーブルとして認識されてしまいました。これが今回Thunderbolt 3 20Gbps接続となってしまった原因です。
Thunderbolt 4対応の最新PCではその辺がいい感じに処理されるようになっていて、ただのUSB4 40GbpsケーブルもThunderbolt 3 40Gbpsケーブル同等品として扱ってくれるため、Thunderbolt 3周辺機器を接続した場合はThunderbolt 3 40Gbps接続が行われます。一方で、今回使ったThinkPad Yoga 370のようにUSB PD Rev. 2.0な古いPCはUSB4が登場する前に設計・製造されており、ただのUSB4 40GbpsケーブルはUSB 3.1 Gen 2ケーブルとして認識してしまうため、Thunderbolt 3 20Gbps接続となってしまいます。恐らく、MacBook Pro 2016/2017などでも同じ現象が起きるはずです。
ちなみにUSB Type-C Cable and Connector Specification, Release 2.1では、USB4 40Gbpsパッシブケーブルは「私はThunderbolt 3 40Gbpsケーブルです」というメッセージもレスポンスすることを必須化するように仕様が変更されています。また、時間経過で古いPCは段々と新しいモデルにリプレースされていくため、本記事で説明した事象は将来的には起きにくくなると見込まれます。
しかしながら、特定条件下でThunderbolt 3 40Gbps接続を行うことができないUSB4 40Gbpsケーブルはこの記事で使用したGOPPAのケーブルのように既に流通してしまっており、回収・交換されることもないので、しばらくの間は注意が必要です。Thunderbolt 3 40Gbps接続を行いたい場合は、USB4 40GbpsケーブルではなくThunderbolt 3 40GbpsケーブルまたはThunderbolt 4ケーブルを使うようにしたほうが良いでしょう。 (もしくはPCを最新モデルに買い替える)
終わりに
ということで、USB4 40Gbpsケーブルが物によってはThunderbolt 3 40Gbpsに対応していない場合があることについて解説しました。
この件から得られる教訓は「USB接続をしたい場合はUSBケーブルを、Thunderbolt接続をしたい場合はThunderboltケーブルを使うべきである」ということです。
今回はUSB4 40Gbpsケーブルについて取り上げましたが、過去を振り返ってみるとThunderbolt 3でもアクティブケーブルでUSB接続を行った場合はUSB 2.0接続にしかならないとか、Alpine Ridgeな周辺機器はThunderbolt 3非対応PCに接続しても動作しない (USB接続不可) とか、USBとThunderboltの互換性に関する問題は以前から色々とありました。
結局のところUSBとThunderboltは別々の仕様なので、それぞれのエコシステムの範囲内であれば新しい仕様が古い仕様をほぼ完璧にカバーするようになっているものの、その範囲を越えた場合の互換性は保証されていません。
そのため、トラブルを避けたいのであれば、USB接続を行う際はUSBケーブルを、Thunderbolt接続を行う際はThunderboltケーブルを使うべきです。Thunderbolt接続をしたいのにUSBケーブルを使ったり、逆にUSB接続をしたいのにThunderboltケーブルを使ったりするから面倒なことになるわけで、素直にそれぞれの仕様のケーブルを使っていれば、ケーブルの互換性にまつわる大抵のトラブルは回避することができます。冷静に考えればごく当たり前のことですが、完璧に互換性があると勘違いされがちなのが今のUSBとThunderboltなので、今一度基本に立ち返って、認識を改める必要があるでしょう。