Cover photo
Nathan K.
Attended Case Western Reserve University
Lives in San Francisco, CA


Nathan K.

Shared publicly  - 
I'm proud to announce two bugs I discovered + reported with the #madebygoogle Pixel Sailfish have now been corrected.

(1) "Overdraws OEM 18w charger": The Pixel Sailfish had a bug causing it to error out with its own charger and report a "capability mismatch". It claimed only a 5v/2a contract, but drew 5v/3a in violation of said contract. (Again, this is with all OEM Google equipment.)

(2) "9v PSU hog": The Pixel Sailfish can only draw 9v/2a. Yet it was claiming a 9v/3a contract. This "hogging" behavior overprovisioned the PSU and denied other devices use of that spare capacity.

Both issues were reported to +Benson Leung​ who in turn passed them to the Pixel team. I am reporting them now since both issues are fixed, and should be out shortly.

(There are additional bugs I am investigating, but will disclose later as appropriate. I am still a bit concerned nobody caught these...?)

#USB #TypeC #USBC #anyonehiring ?
walter stone's profile photoKevin W.'s profile photoVilmar Simson (Ves)'s profile photoPaulo Mario's profile photo
Amazing work guys!
Add a comment...

Nathan K.

Shared publicly  - 
Third quantum state of Schrödinger's cat: the cat eats its way out of the box, and is observed.
Younes Layachi's profile photoBart van K.'s profile photo
What is it with cats and boxes? The minute I unpacked something, cat jumps in. Then my 3 year old gets jealous and also wants in :) 
Add a comment...

Nathan K.

Shared publicly  - 
It was bound to happen eventually. A bad #USB #TypeC product finally took out my computer. My DESKTOP computer no less. Was logging and it got fried through the datalogging connection. Big shower of sparks out the back. PSU smells like victory. Autopsy pending. #USBC
Bryan Herskovits's profile photoAlex Hall's profile photoNathan K.'s profile photoFida Mehran's profile photo
Oh no...
Add a comment...

Nathan K.

Shared publicly  - 
Documenting this. #madebygoogle Pixel (Sailfish) NMF26U has a somewhat serious charge controller firmware flaw. See pictures. Passing this off (with Bug Reports + PD dumps).

Basically, the Pixel is wigging out and (a) requesting the wrong current value (b) claiming a "mismatch" on its own charger and (c) "overcurrenting" it's own supply as a result. (Oi.) This may explain some "not charging" issues you guys are experiencing.

Thanks to Reddit user /r/Lumiii for sharing her problem. I did some debugging as a reply and discovered this in the process.

This is how I normally troubleshoot issues for you guys.... surfing social media, then replicating. So if you run into an issue -- please post! Or call in to Google Support and tell them. Or send feedback from Settings -> About phone on your device. Unless you let Google know, there's no way they can tell there's a problem.

(I am a rather glaring exception to this, but you shouldn't count on that!)
Chris Woodley's profile photopaul poco's profile photoJordan Calton's profile photoNathan K.'s profile photo
+Jordan Calton (1) I'm looking for a job doing hardware engineering, not quite starting a certification lab [such things already exist] (2) The USB-IF is a huge tradegroup doing many things beyond just testing, such as technical standards development and publicity. Perhaps you mean "+UL or +Consumer Reports-like watchdog entity"?  (3) I come from a medical background, so Conflict Of Interest is a issue I am cautious about. To monetize testing makes it very prone to abuse... as the USB-IF/Amazon/etc. are discovering.

If anything, I would hope to be a public leader and advocate like +Benson Leung to help catalyze awareness and change. To help people help themselves, so people like us wouldn't have to exist.
Add a comment...

Nathan K.

Shared publicly  - 
69th #USB #TypeC analysis: +CHOETECH "USB-IF Certified" USB 3.1 Gen 2 Type-C Cable [Model B01N8U9075 / A3002].
tl;dr: BAD cable. Another case of USB-IF doing a poor job of enforcing manufacturer-level quality control post-Certification.

This sample was provided by​ +Francisco Vigil from my queue of "USB-C Stuff to Analyze". So thank him for the test!

What I detail is based solely on findings from the "Fulfilled By Amazon" sample purchased by Francisco Vigil. The data is right here if you wish to verify. I was prompted to share this data (after attempting to work with Choetech) as a result of findings from +Brian Lowry regarding hardware damage to his #madebygoogle Pixel phone.

Also see +Benson Leung's comments dated December 3rd here:

[TotalPhase report for for Choetech B01N8U9075]

[TotalPhase summary sheet for 6 separate tests]

This cable failed signal integrity on EVERY run on the +Total Phase Advanced Cable Tester 2 at 10Ghz at default settings. This does not mean the cable doesn't meet compliance criteria -- it just means the cable failed a test every single other good cable in my section has passed.

This 1 meter "Gen2 10gbps cable" performs qualitatively WORSE than a 2m "Gen1 5gbps" Plugable Thunderbolt3 cable. Please see the attached image comparing two eye diagrams. This either means the Plugable is capable of 10gbps at 2m (extremely unlikely) or the Choetech cable has very poor cable stock (very likely) and operates at thresholds that +Intel would refuse to permit in their own cables.

There are major eMarker errors that by definition make this noncompliant. The CertStat field is blank. Vconn is marked as being required. Vendor ID and Product ID are blank. Therefore this is another demonstrable "BAD" cable certified by the USB-IF for sale to the public.

See my comments on the Targus "USB-IF Certified" cable here for the same criticisms:

Cable Termination Type
00b = VCONN not required.
01b = VCONN required
Cable Plugs that only support Discover Identity Commands SHALL set these bits to 00b Vendor ID
Manufacturers SHALL set the Vendor ID field to the value of the Vendor ID assigned to them by USB-IF. Product VDO
Manufacturers SHOULD set the USB Product ID field to a unique value identifying the product and should set the bcdDevice field to a version number relevant to the release version of the product. Cert Stat VDO
The Cert Stat VDO SHALL contain the XID assigned by USB-IF to the product before certification in binary format.
"Test lab engineers are required to confirm that the XID used in the cable under tests’ E-marker matches that which the USB-IF assigns. (If it doesn't match...) the E-marker tests are considered a Fail." Shall/Normative
Shall and Normative are equivalent keywords indicating a mandatory requirement. Designers are mandated to implement all such requirements to ensure interoperability with other compliant Devices.

Please also note +Brian Lowry 's report here regarding the cable failing immediately after purchase, sparking sounds, and causing errors to appear on his computer charge indicator:

"I purchased this cable and it in fact seems to have failed right out of the box. Furthermore, every time I try it on my Pixel, I cannot then seem to charge the phone with ANY other C-C cable until I reboot the phone. It also produces a discomforting crackling noise when I unplug the cable."

"Choetech is sending me a replacement cable as they are sure this must just be an isolated defect and seem adamant that the USB-IF certification is itself the pudding that proves. It does seem to work fine for others, including +German M. on his Pixel XL. But my laptop indicated a problem with it beginning with the very first use ('X' next to the battery indicator and no charge) and others have reported possible electrical crackling on disconnecting from a live power source. I'm also now consistently replicating the issue with my Pixel where I cannot use ANY known working C-C cables after I try the Choetech 10Gbps (with no success), until I finally reboot the phone. Only then will the phone again accept power from any of those cables."

End ramifications?

This cable will be less energy efficient and burn (5 volts)^2/(1k ohm) = 25mW of power it otherwise shouldn't on some "smart"/PD devices. Some devices may refuse to work with it if they demand a Certified cable. Some devices may get confused because of the 0000 VID and 0000 PID. (This is a non-valid entry.)

**You** be the one to tell Apple that you're draining their iPhone 8/iWatch 3 battery budget by 25mW due to a firmware bug with your cables, and see what happens!

I do not recommend this cable. It raises serious doubts about the USB-IF's commitment to their own stated requirements.

Sean Graham (Telek)'s profile photoEdin Korda (dakore)'s profile photoGerman M.'s profile photo
The Google charger cable combos been good so far. I have this cable using with the Google Pixel XL oem/stock charger for charging without issues.

Add a comment...

Nathan K.

Shared publicly  - 
68th #USB #TypeC analysis: iMuto 16750mAh Taurus Smart Power 3-port battery + A-to-C cable [Model X5TC].
tl;dr: GOOD battery pack, BAD cable. Pack is great: has decent overcurrent protection, minor charging bugs. Cable noncompliant:  has right Rp, but forgot to connect the shield wires!

This sample was provided by​ Adam Baxter​ from my queue of "USB-C Stuff to Analyze". So thank him for the test!

This charger uses a very similar chip to the RavPower RP-PB043 "dumb" Type-C DRP charger. It even is "always on" like that one. This also has a LCD display and GREAT overcurrent protection. So I'm assigning them the same rating. They're "equivocal" aside from capacity.

This charger also has "sawtooth" IR drop compensation. Unfortunately it is insufficient to compensate for the cable, so causes some weird behavior with the Pixel (see logs), but at least it is there. Better than nothing.

The Type-C port has BC1.2 signaling. Oddly, when I probed the charging behavior, it cannot RECOGNIZE D+/D- signaling. Also, it tries drawing current at a 900mA level without enumerating, as opposed to 100mA - > enumerate - > 500mA like it should. Also, the D+/D- output signaling is "2.5v".  This isn't quite 2.7v Apple 12w/2.4a signaling, nor 2.0v Apple 10w/2.1a signaling. It's some weird low value. But since that is a backup to a backup, I waive that item - BC1.2 DCP is good enough. Those are reasons it is just "OK" and not "GREAT".

Another major issue is the cable is missing the shield connection. Meaning it may cause significant grounding errors if used, or data integrity issues. The Rp is fine at 56k, so it won't draw 3A, but this is still "bad".

The rest of the details are documented in pictures, since I'm short on time. All in all this makes for a fine portable battery pack to jump-start your Type-C phone at 3A. I'd recommend the RavPower if you want QC3.0 Type-A output or high-cap, and the iMuto if you want it small.

I still wish I could have tested the +Kanex Products GoPower before handing off/wrapping up this project. Kanex never responded to my e-mail requesting a sample. I don't like the fact they are recommended based off a secondary reports. I may reduce that rating since I will not be able to validate it.

Bart van K.'s profile photoRoberto Elena Ormad's profile photoFrancois Roy's profile photoNathan K.'s profile photo
+Francois Roy Get a small Type-A pack and use an A-to-C cable. Battery conversion efficiency goes down the higher current you load. By using an A-to-C cable and charging at a smaller current, you are actually letting the battery "fill up" more times.

But yes, as long as you pitch the cable this pack will work OK. I haven't tested it thoroughly though.
Add a comment...

Nathan K.

Shared publicly  - 
You know that bad #USB #TypeC power supply that took out my desktop computer? It just took out my oscilloscope while measuring leakage current. This just keeps getting better and better. 😤 #USBC (Pinging +Benson Leung​​) This has all the hallmarks of a Class-Y capacitor failure.
Jordan Calton's profile photoNathan K.'s profile photoBart van K.'s profile photoKim Are Gabrielsen's profile photo
I guess there are some happy marketing managers across China now :(
Hopefully you are able to make them nervous again. If you manage to get your rig up and running, you could consider putting the latest Vinsic Power Bank on the test bench. At least on the wich list.
Add a comment...

Nathan K.

Shared publicly  - 
What happens when you bridge a non-PFC Class2 power supply, with excessive leakage current or EMI issues -- to a high-power PFC Class1 power supply, which has minimal harmonics?

Would the offset AC waveforms from the difference cause transients that could potentially feed back from the primary, strain a component, and let out magic smoke? This is not a theoretical question, I would really appreciate help. :(
Nathan K.'s profile photo
Major thank you to +Henrik Jensen, our *Danish* friend from BudgetLightForums / for some advice regarding testing this. Per his citation:

* Maximum allowed leakage current is 0.25mA.
* Easiest way to test is with a 10kohm resistor between any touchable low volt terminal (Shield, gnd, power, signal) and the earth plug
* The AC voltage across that resistor must never be above 2.5V.

Again, electronics are his specialty. USB-PD communications and specification verification are mine. I owe a great deal to his tutelage and skill!
Add a comment...

Nathan K.

Shared publicly  - 
Roll a D20 for your sneak check to get the dragon's hoard. 🐲 (Or in this case my character sheet. He bites.)
Bart van K.'s profile photo
I cast Protection from Felines, 20' radius.
Add a comment...

Nathan K.

Shared publicly  - 
I've been demoted to bedwarmer. Couldn't be happier about it. 😺
Nathan K.'s profile photojames awdry's profile photopaul poco's profile photo
Add a comment...

Nathan K.

Shared publicly  - 
70th (and capstone) #USB #TypeC analysis: Black Squid "USB 3.1 Gen 2 3a/60w" 1m cable [Model BSQ_USB_CC_1-1] "v1" and "v2". (The "v1" is what +Benson Leung cited as reference.)
tl;dr: VERY BAD cable (v2) and BAD cable (v1). Cease using both "when reasonable". Velesco (under their lifetime warranty) needs to compensate purchasers. These cables are not fit for their eMarked/advertised ratings. As this may be the last public critique permitted in this series for a while, I want to stress the importance of the some details. Please do me a favor, and consider reading the foreword.

This class of failure was only recently possible to discover with a $7500 piece of +Total Phase test equipment. You should NOT hold this data against anyone. If you should take any message from this, it should be why independent peer-review is ABSOLUTELY CRITICAL, and a well established part of research.

We should respect and appreciate the contributions of all researchers and engineers -- whether they work out of a garage, or a multi-million dollar lab. Also, manufacturers and resellers alike need to exercise diligence and act responsibility regarding validating their products prior to sale to the public, and followup if there are flaws afterward.

We shouldn't be afraid of "doing the right thing" for fear of making mistakes -- or worse still, having those actions held against us. Do good, do evil, or do nothing. Only two are acceptable -- it's up to each individual to determine which.

(Edited 1/14: request of Velesco) +Velesco is offering either refunds, or exchanges for the corrected model when they complete it. I want to highlight they are "trying to do the right thing". I still fault the fact product was not verified before sale to the public, but given the circumstances, their response has been adequate. I reserve judgement until I see how they actually implement their fix.

(Edit 1/15: correction notice) As clarification of the timeline:
   January -> Benson's Amazon review
   April -> USB-IF logo issue addressed [V1 -> V2]
   December -> SI issues discovered
   January -> current safety issues discovered
Benson's initial feedback was unrelated to the issue, and Velesco did everything they could by notifying their factory to correct the USB-IF logo. The additional flaws were unauthorized changes made by their factory, per their comments below.

Please take this as a cautionary tale of keeping strict QC metrics in place to prevent "quality fade" -- not a condemnation of Velesco. They are trying their utmost to resolve the situation.

The "v1" cable is on loan from +Benson Leung. I plan to return it now that this evaluation is complete.

The "v1" cable was the very first eMarked cable Benson evaluated -- and is my very last. You can identify it by the presence of a (incorrect) "SuperSpeed Trident" logo on one plug, and "BSQ" on the other. It is advertised and sold as "Meets USB 3.1 specification Rev 1.1. Super speed (up to 10 gbps) and fast charge up to 3A (supports USB 3.1 Power Delivery PD)." [See screenshots.]

[TotalPhase report for for BSQ_USB_CC_1-1-3] (v1)
[TotalPhase report (50% SI) for BSQ_USB_CC_1-1-3] (v1) <- Gen1 speed check

[TotalPhase summary sheet for 6 separate tests]

From observation and testing of the unit, my PERSONAL findings differ from Benson's initial conclusions. He re-visited this cable prior to myself, and we now share an opinion regarding the data. It has a number of safety and compliance failures:

(1) It fails DC Resistance (DCR) testing at 3A. The per-pin resistances are in excess of USB-C mandated minimum thresholds. This makes it questionable for data and charging purposes (since differential data and power share ground).
(2) It fails Signal Integrity (SI) testing at USB3.1Gen2 10gbps speeds. (It marginally passes at 5gbps). This means data will suffer from an excessive amount of corruption. It also suggests Black Squid's manufacturer used inferior "Gen1" cable stock.
(3) It has eMarker errors that render it noncompliant per the spec. It is labeled "Vconn required" as opposed to "Vconn for identify only". This will result in the cable wasting 25mW of energy when connected to "smart" devices. (Potentially including battery-powered Apple iPhone 8 or iWatch 3.) Product ID is blank. Hardware field is blank. Firmware field is blank. [Vendor ID is filled in 0x2109 = 8457|VIA Labs.]
(4) This is in legal violation of USB-IF licensing agreements. It uses the Trademarked USB-IF "SuperSpeed Trident" Gen1 logo, without having permission and violating design guidelines. It should be a "SuperSpeed 10 Trident" Gen2 logo, only with permission of the USB-IF. They could be sued for this and have their products embargoed at customs (were the cable still in production).

This "v1" cable was supposedly pulled  from sale some time after Benson's initial evaluation. I am not at liberty to speculate how or why. However, as recently as January 3rd, 2017 I was STILL able to place an order for it. Please see the attached receipt, screenshots, and packaging materials.


This new "v2" model I alone have tested. You can identify it by the presence of a "Squid" logo on one plug, and "Black Squid" text on the other. (At least the design is differentiated externally.) It is advertised and sold as "Meets USB 3.1 specification Rev 1.1. Super speed (up to 10 gbps) and fast charge up to 3A (supports USB 3.1 Power Delivery PD)"

The "v2" has even more significant safety and compliance errors that make it blatantly unsafe. On a process level, Black Squid apparently did not use this OPPORTUNITY to re-evaluate their production line from scratch when they removed the "USB-IF Logo" and resumed sales. In the process, their factory seem to have unilaterally actually made the cable WORSE.

(edit 1/15: clarifying Benson's initial feedback was unrelated to V1 -> V2 change, the factory unilaterally made the error, and that SI only became aware in December.)

[TotalPhase report for for Blacksquid BSQ_USB_CC_1-1-3] (v2)
[TotalPhase report (5A DCR) for BSQ_USB_CC_1-1-3] (v2) <- 5A current check

[TotalPhase summary sheet for 6 separate tests]

Per my observation and testing with a +Total Phase Advanced Cable Tester Level 2, manual examination with a Google/+Plugable "Twinkie" sniffer, TotalPhase USB-PD Analyzer, and custom microcontrollers and Python scripts of my own development:

(1) It fails DC Resistance (DCR) testing at 3A. The cable total resistance -- on a brand-new cable -- is in excess of USB-C mandated minimum thresholds. This makes it questionable for data and charging purposes (since differential data and power share ground).
(2) It fails Signal Integrity (SI) testing at USB3.1Gen2 10gbps speeds. This means data will suffer from an excessive amount of corruption. It also suggests Black Squid's manufacturer used inferior "Gen1" cable stock. In fact, these are some of the worst SI data eye diagrams I have ever seen.
(3) It has eMarker errors that render it noncompliant per the spec. It is labeled "Vconn required" as opposed to "Vconn for identify only". This will result in the cable wasting 25mW of energy when connected to "smart" devices. (Potentially including battery-powered Apple iPhone 8 or iWatch 3.) Product ID is blank. Hardware field is blank. Firmware field is blank. Vendor ID is blank. The "latency" field is an illegal/reserved value of "0000" (no length).

The most serious error:
(4) This cable is electronically marked as being engineered and capable of supporting 5A/100W capacity. Remember, this cable doesn't even meet 3A thresholds, let alone 5A. This is an absolute bust.


This means if you use this cable to connect your Apple 87w (20v/4.3a) power supply to your Apple Macbook Pro 2016 15" with TouchBar -- the cable will lie to the power supply about its capabilities . It will result in a substandard (if not electrically dangerous) situation where the charger will try putting out 5a through a cable that is not capable of it.

In fact, I replicated this situation using my Google Pixel. Please see the attached traffic dump taken with a TotalPhase USB-PD Analyzer in just such a setup. Note how the Apple charger asks the cable for its capabilities, and it responds "5a". So the Apple 87W charger is then tricked into advertising its full 20v/4.3a PDO, as opposed to limiting itself to 20v/3a.

Please, NEVER use this cable with your Macbook Pro. At best it will perform poorly, at worst it may cause hardware damage.

All in all, I am extremely disappointed in the performance of this cable -- especially the second iteration. I must advise users cease using this cable "when reasonable" and file for a refund/exchange. Screenshots of said guarantee have been included from cached webpages.

I greatly appreciate the peer-review and mentorship Benson has provided for these studies. As with this and the Anker cable previously, independent verification and replication of results is one of the few avenues to truly ensure good data. It is only though open discourse, sharing of material and methods, and good faith can issues be resolved.

Nathan K.'s profile photojames awdry's profile photoFrancisco Vigil's profile photoWalt Woo's profile photo
+Nathan K.​ enjoy your break, it is well deserved
Add a comment...

Nathan K.

Shared publicly  - 
34.1st #USB #TypeC analysis: AUKEY "24W" USB-PD Dual Port 12v car charger [Model CC-Y7 "v2"].
tl;dr: PROVABLY BAD. Also the previous "v1". Both do not honor the emergency-stop "Hard Reset" command. And send VDMs inappropriately. This USB-PD controller chip is no good. AUKEY rolled out a second item number, I thought they fixed it, they didn't.

[Original post on AUKEY CC-Y7 "v1"]

This one I bought myself. I noticed AUKEY rolled out a new product number. (new v2) B01NAICO3G (old v1) B01LGO9LE4 and I had hoped +AUKEY Official / +Aukey Aukey  would listen my and +Benson Leung's warnings and fix their charger. Or at least the safety text printed on the side/in the PDO's so they line up.

Instead, I find they made NO changes. And in fact, this v2 -- now that I have the +Total Phase PD-Analyzer -- I can PROVE has USB-PD chipset failures that render it operably dangerous with expensive "smart" equipment. (Which is exactly what you'd use a USB-PD charger for.)

First, it issues "HARD RESET" commands as a hack to reset its port partner during the negotiation process. However, AUKEY completely fails to implement the required safeties.

"Hard reset" is the electronic equivalent of an "E-Stop" or "Emergency Stop" for mechanical equipment. It's basically a giant red button that if SHTF someone presumably presses to abort. In motorsports it's the "lollipop" that cuts electricity and gas to the engine located near the bumper. (No engineer worth his salt won't ask "where's the E-Stop" as the first question with a piece of machinery he is unfamiliar with.)

During a Hard Reset, a source is MANDATED to reduce voltage/current to Zero. Please see the attached highlighted pages from the spec. Also see the experiment I performed where I loaded the charger through this phase -- and how the AUKEY does not honor the electronically transmitted emergency abort command. (In fact, it is the one initiating it -- so it is worse.) I maintain a 3A draw throughout the process.

Would you want to charge you $2,500 Macbook Pro 2016 on a charger that ignores this type of command?

Second, if it fails to find a USB-PD partner, or the partner doesn't respond for whatever reason, the charger sends a single Structured Unstructured VDM at the end. Presumably this is buggy code or a backdoor firmware update command for the unit. However, this is again a straight up violation of the spec. In this case, "if a USB-PD packet is sent in the forest, and nobody is around, yes it still matters". Again, it signifies deeper USB-PD errors with this chipset.

Before I was marginally tolerant of this charger since there were few better options. That is actually why I ordered this second unit, because I was LOOKING for a good one. However this type of error is unjustifiable. If this fries your Mac, you've been warned.

Eric Jones's profile photoNathan K.'s profile photoKevin W.'s profile photo
+Nathan K.​ finally we'll (likely) have a compliant USB-PD car charger!
Add a comment...
Nathan's Collections
Do good, do evil, or do nothing. Only two are acceptable.
Details are not shared publicly.
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
San Francisco, CA
  • Case Western Reserve University
    Mechanical Engineering
  • University of California, Berkeley
    Bilogical Sciences
  • UC Davis Medical Center
    Surgery and Clinical Research
Basic Information