LightningなiPhone・iPadでUSB PD充電に失敗する場合がある話

iPhone 8やiPhone XS、iPad Pro 10.5などの「USB PD対応Lightningデバイス」で、USB PDのネゴシエーションが正常に完了しているにも関わらず充電できない場合があるようなので、テストしてみました。

はじめに

AmazonでUSB Type-C ACアダプタのレビューを見ていたら、こんな報告を見つけました。

iPad Pro 12.9 (2017) をUSB Type-C ACアダプタで充電したら、数時間経っても数パーセントしか充電されていなかったらしいです。

ちょっと気になったので調べてみました。

どんな現象が起きるのか

百聞は一見に如かずということで、どんな現象が起きるのかお見せします。以下の画像は、USB PD対応ACアダプタでiPad Pro 10.5を充電した際のケーブルの電圧や電流を測定したものです。 (ケーブルはApple純正のUSB-C – Lightningケーブル A1656)

USB PDのネゴシエーションは正常に完了しているので電圧が15Vまで上がっていますが、電流は0.1Aに満たない程度しか流れていません。もちろん、この状態で充電を続けてもiPadの電池残量はロクに増えません。

しかも厄介なことに、USB PDのネゴシエーションは問題なく完了しているため、iPadに表示される電池アイコンは「充電中」のものに切り替わります。つまり、見た目的には普通に充電されているように見えます

回避方法

見た目では区別のつかないこの現象ですが、ちょっとしたテクニックで回避できます。

  • まずiPhone・iPadにケーブルを挿す
  • そのあと、ケーブルをACアダプタに接続する

という順番で接続すれば、この現象は発生しないはず……です。

この現象の原因

この現象の原因は、ケーブルとACアダプタの両方にあると予想しています。

まず、USB-C – LightningケーブルはVBUS Hotケーブルであるという事実があります。

内部でCCがプルダウンされており、Lightning側に何も接続していない状態でもACアダプタからはデバイスが接続されているかのように見えるため、ACアダプタにケーブルを接続しただけでVBUSに5Vが印加されます。似たようなものとしてUSB-C – MicroUSBケーブルも同様の仕様となっており、この実装自体には何も問題ありませんし、何よりLightningなデバイスはUSB PDに対応している機種・していない機種の両方があるため、当然と言える実装です。

USB-C – MicroUSBケーブルとUSB-C – Lightningケーブルの違いは、Hard Resetが起きるかどうかです。USB-C – Lightningケーブルで充電する場合、Lightning側にデバイスを接続するとHard Resetが行われるようになっています。

USB PD対応ACアダプタは、CCがプルダウンされてから (≒デバイスが接続されてから) 大体10秒経ってもUSB PDの応答がない場合は「このデバイスはUSB PDに対応してないな」と判断し、USB PDのパケットを送るのを止めます。しかしながら、USB-C – LightningケーブルはLightning側に何も接続していなくてもACアダプタからはデバイスが接続されているかのように見えるため、iPhone・iPadが接続される前にUSB PDのパケットを送るのを止めてしまう可能性があります。

これを回避するために、USB-C – Lightningケーブルで充電する場合では、Lightning側に何か接続された時点でもれなくHard Resetが行われるようになっているようです。 (ケーブルが発生させているのか、iPadが発生させているのかは不明)

そしてこのHard Resetが起きると、一部のACアダプタでは「USB PDのネゴシエーションは正常に完了して電圧は高くなるものの、電流がほとんど流れない状態」になることがあるようです。 (Hard Resetが原因というより、約0.5秒という短いスパンでVBUSのオン・オフが発生することが原因?)

その結果、「見た目では普通に充電されているように見えるのに、なぜか電池残量が増えない」という現象が発生します。LightningでUSB PDを使えるようにしなければこのような事態は起きなかったはずなので、良くも悪くもLightningでUSB PDを利用できるようにしてしまったAppleの功罪と言えるでしょう。

余談ですが、USB-C – LightningケーブルでiPhone・iPadを充電すると「フォン」という接続音が2回鳴ることがありますが、これもHard Resetが原因と思われます。 (接続した時点で5Vが印加されているので鳴る -> Hard Resetが行われて再接続した時に再度鳴る)

所感

USB PD対応機種ではUSB PDで動作でき、なおかつUSB PD非対応の古い機種でも問題なく動作するようになっているということで、この2つを矛盾なく両立させているUSB-C – Lightningケーブルはなかなかの無茶をしていると思います。

「こんなアクロバティックなことをするならLightningなんかさっさと捨てて、早くUSB Type-Cに移行すればいいのに……」という印象です。

テストに使用した機器

  • メディアロジック USB Power Delivery アナライザ DTW2U3 (公式HP)
  • Apple USB-C – Ligntningケーブル A1656 MK0XAM/A

この現象を確認したのはApple純正のUSB-C – Lighntingケーブル A1656です。

A1656は現在廃盤となっており、A1703 (1m) とA1702 (2m) に切り替わっています。A1703やA1702、今後出てくるサードパーティ製USB-C – Lightningケーブルでは挙動が異なる可能性がある点には留意してください。