USB PD Revision 3.0のドキュメントがサイレント修正されていたらしい

※当サイトでは通販サイトへのリンクの一部にアフィリエイト広告を使用しています。

USB PD Revision 3.0のドキュメントがひっそりと修正されていたらしいです。 ※エンドユーザーには関係のない話です

Nathan K. (@USBCGuy) 氏のツイートによると、USB PD Specification Revision 3.0, Version 1.2 (20181203) の内容は、USB PD Specification Revision 3.0, Version 1.2 (20181005) から一部がサイレント修正されているようです。

修正前の状態では仕様内で整合性が取れておらず、双方が仕様通りの動作をしても以下のような状況が発生する可能性がありました。 (可能性があったというか実際に発生しているわけですが)

このパケットログでは、SinkがGet_Battery_Statusメッセージに応答しないため、Sourceが無限にGet_Battery_Statusメッセージを送り続けています。20181005ではSinkはGet_Battery_Statusメッセージに対してI (Ignore) と定められているため、SinkがGet_Battery_Statusメッセージに応答していないのは仕様に沿った動作ということになります。

本来であれば、SinkがNot_Supportメッセージなり何なりを応答すればこういったことにはならなかったはずですが、そもそも仕様のドキュメントが間違っていたことが原因なので、Sink側の機器を悪いと責めることはできません。

話が逸れましたが、「スマートフォンやPCなどの開発に携わっている方がもしこの記事をご覧になっていたら、USB PD 3.0のドキュメントがサイレント修正されているのでご注意ください」という話でした。終わり。