Nintendo SwitchのACアダプタでPixel 3を充電できなかったので原因を調べてみた

Nintendo Switchに付属してきたACアダプタでPixel 3を充電してみたところ充電できなかったので、その原因を探ってみました。

※ある程度知識がある前提で初歩的な部分は説明していないので、分からない単語などは各自で調べてください。

広告

Switch純正ACアダプタの仕様

まずはNintendo Switch付属ACアダプタの仕様を説明します。

今回使用したACアダプタはNintendo Switch (2019) に付属してきた「HAC-002(JPN)」で、定格出力は「5.0V/1.5A」と「15.0V/2.6A」の2系統です。

そして、上記が実際にしゃべるSource_Capabilitiesメッセージです。外装に印字されている定格出力と同じ「5.0V/1.5A」「15.0V/2.6A」のFixed Supply PDOを通知します。

さらに詳しい仕様を知りたい方は以下の記事を参照ください。

Nintendo Switch純正ACアダプタの仕様を調べてみた : USB PD対応(仮)だがSwitch以外に使うのはオススメしない
Nintendo Switch (2019) を買ったので、付属してきたACアダプタの仕様を調べてみました。簡単にまとめるとこの記事の要点は以下の通りです。なぜかUSB Type-Cポートに刺さってしまう謎のプラグ

なぜPixel 3の充電が失敗するのか

本題に移ります。

上記はHAC-002(JPN)とPixel 3を接続した際のUSB PDのログです。

  1. HAC-002が「5.0V/1.5A」「15.0V/2.6A」の出力をPixel 3に対して通知 (Source_Capabilitiesメッセージ)
  2. Pixel 3が「5.0V/1.5A (Max Currentは3.0A)」を要求 (Requestメッセージ)
  3. HAC-002(JPN)はそのリクエストを拒否 (Rejectメッセージ)
  4. Hard Reset
  5. 1〜4が無限に繰り返される

という現象が起きています。Pixel 3を接続すると充電 → 切断を繰り返すのですが、これは無限に繰り返されているHard Resetが原因と思われます。

そしてその無限Hard Resetですが、恐らくPixel 3がMaximum Operating Currentを3.0Aでリクエストしていることが原因です。こういう風に書くとPixel 3が悪いように思えますが、USB PDの仕様ではCapability Mismatch = 1となっていればSource_Capabilitiesメッセージ以上の値をMaximum Operation Currentでリクエストしても良いことになっているため、Pixel 3のRequestメッセージに問題はありません。あくまでHAC-002(JPN)の問題です。

他のデバイスを充電した場合

Pixel 3だけではデータが足らないので、他の機種についても調べてみます。

まずはOnePlus 7T。

HAC-002(JPN)からのSource_Capabilitiesメッセージに対して、5V/1.5Aをリクエストします。Pixel 3と違いMaximum Operating Currentも1.5Aでリクエストするため、正常に充電できます。これは特に珍しい話ではなく、大体の機種はMaximum Operating Current = Operating Currentでリクエストする印象です。Pixel 3みたいなパターンのほうがレアだと思います。

次はiPad Pro 11 (2018) 。

iPad Pro 11はPixel 3と同じく、Maximum Operating Current = 3.0Aでリクエストします。しかしPixel 3とは異なり 、 HAC-002(JPN)でも充電することができます。

なぜiPad Pro 11は充電できるのかというと、USB PDのネゴシエーションが以下のような流れで行われるからです。

  1. HAC-002(JPN)が「5.0V/1.5A」「15.0V/2.6A」の出力を通知 (Source_Capabilitiesメッセージ)
  2. iPad Pro 11が「5.0V/1.5A (Max Currentは3.0A)」を要求 (Requestメッセージ)
  3. HAC-002(JPN)はそのリクエストを拒否 (Rejectメッセージ)
  4. Hard Reset

ここまではPixel 3と同じです。しかし、これ以降の挙動がPixel 3と異なるため、無限Hard Resetが起きません。

  1. Hard Reset後、HAC-002(JPN)が「5.0V/1.5A」「15.0V/2.6A」のSource_Capabilitiesメッセージを送信 (2回目)
  2. iPad Pro 11が「5.0V/1.5A」をリクエスト (今度はMax Currentも1.5A)
  3. HAC-002(JPN)はiPad Pro 11からのリクエストを了承 (Acceptメッセージ)
  4. 電力供給開始 (PS_Readyメッセージ)

iPad Pro 11はHard Resetが起きるとそのことを覚えていて、2回目のリクエストではMaximum Operating Current = Operating Currentでリクエストするようです。そのためHard Resetが起こらず、正常に充電できます。非常に興味深い挙動です。

 
広告

まとめ

  • Nintendo SwitchのACアダプタでPixel 3を充電できない事象は、PHYなどではなくプロトコルレベルの問題
  • Pixel 3はUSB PDの仕様の範囲内で動作している
  • Nintendo SwitchのACアダプタが原因っぽい (Source_Capabilitiesメッセージ以上の電流をリクエストされると問答無用でHard Resetを実行する?)
  • 事象を見る限り、同じ原因で充電できないデバイスは他にもありそう

↓続き↓

Nintendo SwitchのACアダプタにはPixel 3を充電できる個体とできない個体があるっぽい
「Nintendo SwitchのACアダプタでPixel 3を充電できなかったので原因を調べてみた」の続きです。タイトルの通り、Nintendo SwitchのACアダプタにはPixel 3を充電できるものとできないものがあるよ

この記事で使用した機器

  • メディアロジック USB Power Delivery アナライザ DTW2U3 (公式HP)
  • Pixel 3 (Android 10 / QQ2A.200405.005)
  • OnePlus 7T HD1700 (Android 10 / OxygenOS 10.0.9.HD65AA / QKQ1.190716.003)
  • iPad Pro 11 2018 (iPadOS 13.4.1)
タイトルとURLをコピーしました