Profile cover photo
Profile photo
Benson Leung
Fixer of Bugs.
Fixer of Bugs.


Post has attachment
Great article about Chrome OS Security!

+Will Drewry got interviewed about the philosophy behind the Chrome OS project, along with +Kan Liu.
Add a comment...

Post has attachment
Does this artwork look like me? Try with your own #selfie at #GoogleArts

I think this is pretty close!
Add a comment...

Post has attachment
The made for +Google site has launched, listing partner brands that are specifically designed for Google's Pixel phones and Pixelbook laptop.

Not all of the brands here offer USB accessories, but those that do offer USB-C accessories have been built to Google's standards.

If you are an accessory maker and wish to participate in the partnership program, contact
Add a comment...

Post has attachment
My team at +Google, the +Google Chrome OS team, along with Google's Hardware team has released a new Chromebook with #USB #TypeC.

The Pixelbook is the first Chromebook with Intel's 7th Gen Core processors, and has other neat features like support for a low latency pen, and the Assistant.

It has two USB Type-C ports that support USB 3.1 Gen 1, DP Alternate Mode, and charging up to 45W.

Add a comment...

Post has attachment
Almost missed this #USB #TypeC news, but my colleagues at +Motorola has launched an Android One version of their moto X4 phone in collaboration with the Project Fi team, and it has a USB Type-C port.

It supports fast charging under Motorola's "TurboPower" moniker, but under the hood, it utilizes USB Type-C and USB Power Delivery for up to 15W of power.

Not bad for a $399 phone.

Add a comment...

Post has attachment
I'd like to clarify this post as Pixel 2 and 2 XL will not be able to support 27W charging. While the phones may be able to negotiate more power using USB Power Delivery when connected to a higher wattage charger, there are other factors which may limit the speed at which it charges the battery. The included 18W charger in the box will provide optimal charging for Pixel 2 and 2 XL. Sorry for the confusion!

My company (+Google) has launched some new phones!

These new phones, of course, use USB Type-C connectors and implement USB Power Delivery for fast charging. They ship with 18W Type-C + PD power adapters.

New this year is that these phones can support up to 27W charging from compliant PD chargers.

Also, a point about the software is that starting in Android Oreo, Pixel phones (including 2016 Pixel models and the Pixel 2 and Pixel 2 XL) now implements Type-C and PD support using the new Type-C Port Manager in the Linux kernel.

Horray for open source!
Add a comment...

Post has attachment
Add a comment...

Post has attachment
How do USB Type-C chargers support older USB devices?

tl;dr: All new USB-C dedicated chargers must also support USB Battery Charging 1.2 Dedicated Charging Port (BC 1.2 DCP) by shorting together Dp and Dn.

Ever run into a situation where you plug your older MicroB or Lightning port phone into a Type-C charger and nothing happens, or slow charging happens?

I was looking through some of the ECNs (Engineering Change Notices, or how the folks behind USB make changes to the specs) in the latest USB document bundle, and I noticed a document named, "USB Type-C ECN BC1.2 Clarification."

In red, there's the new requirement:
"A USB-based charger with a USB Type-C receptacle (Source) which is not capable of data
communication shall advertise Type-C current of at least 1.5A and shall short D+ and D- together
with a resistance less than 200ohms. This will ensure backwards compatibility with legacy sinks which
may use BC1.2 for charger detection."

Why did they make this change? Because prior to this requirement, BC 1.2 was completely optional and some dedicated chargers with Type-C receptacles chose to not implement it, instead implementing Apple's 2.4A BrickID, or nothing at all (floating Dp Dn). In some cases, this meant that completely valid cable combinations (using a C-to-Areceptacle adapter + A-to-B or A-to-Lightning, or using a C-to-uB, or a C-to-Lightning) would result in no charging or slow charging.

Going forward, all new dedicated chargers (those that lack any data functionality) must short Dp and Dn in accordance to BC 1.2 DCP. This will ensure that legacy devices will detect Type-C chargers as DCPs. This will include legacy iPhones and iPads as well.

Note: This requirement also means that it's no longer allowed to use Apple's BrickID method on Type-C receptacles anymore to advertise 2.4A on the port. This was covered in an earlier Type-C ECN which forbid all proprietary charging methods on the new Type-C connector, including Apple's. Now, if it's a receptacle dedicated charger, it MUST support BC 1.2 DCP.

This ECN, by the way, has also been rolled into the latest Universal Serial Bus
Type-C Cable and Connector Specification Revision 1.3.

+Nathan K. and +Hanpen for FYI, since they both ran into chargers that don't do this yet (various Anker and other chargers).
Add a comment...

Post has attachment
Apple's new iPhone 8 and iPhone X implement USB Power Delivery over Lightning, very similar to the iPad Pro 12.9" and 10.1" for high voltage charging.

While this means that the phones themselves won't have USB Type-C ports, with the right C-to-Lightning cable, you'll be able to use them with the same power sources that charge laptops and other Type-C devices such as Pixel phones.

Definitely progress. :)
Add a comment...

Post has attachment
How do Type-C Power Sources and Power Sinks dynamically negotiate power? (What are Sink Power Sub-States?)

If you recall my blog post on USB Type-C’s Configuration Channel (ref 1), one of the features of CC is to allow the power source to advertise its power capabilities to the sink; the source uses three values of the Rp resistor (Default USB, 1.5A, 3.0A) to indicate how much current the Type-C power sink may draw at 5V, and the sink detects this as different voltage levels on its CC pin on its end of the cable.

An important detail that I hinted at is that the source is allowed to dynamically change the value of Rp used during the same session without disconnecting, and the power sink must respond in kind and adjust its current limit.

The part of the USB Type-C spec that governs the behavior is Section “Sink Power Sub-State Requirements” and the simple state diagram attached to this post. When a device is in Power3.0.SNK state, it may draw no more than 3.0A at 5V. When a device is in Power1.5.SNK state, it may draw no more than 1.5A at 5V.

There are several reasons that a power source may change the power advertisement during the duration of a Type-C session.
The source may do this for load balancing (ie, the power source has a shared pool of power that must be split unevenly between several ports), or for temperature mitigation, for example. Some condition may change, causing the port to need to reduce the power consumption on a port, or allow the power consumption to jump up to a higher level.

Some examples of real-world power sources that change their Rp:
1) Google’s 22.5W Dual Port charger (
This Google charger has a 22.5W budget and two Type-C ports. Each port, individually, is capable of 3A, but when two devices are plugged in, one port gets 3A and the other gets 1.5A
2) Samsung Chromebook Plus (Ref 2) - This Chromebook is designed for 15W total output balanced between two Type-C ports. When a single one of the laptop’s Type-C ports is being used as a source, that device is given a 3.0A advertisement. When both are used, 1.5A advertisements are given to both ports.
3) Apple’s MacBook Pro 13” and 15”. (Ref 3) - Apple’s MacBook Pro has either 2 or 4 Type-C ports, with support for 15W output on half of the ports and 7.5W output on the other half.

In the case of the Google 22.5W Dual Port charger, the power advertisement of each port is based on measured power consumption. If the sink attached to the charger’s bottom port draws more than 1.4A, the charger will allow it to have up to 3.0A via the 10kOhm Rp, while the top port will only get 1.5A via 22kOhm Rp. However, if the power consumption drops below 1.4A again, the top port will see 3.0A given to it. This allows for smarter balancing of two devices when one’s battery gets close to topped off and it naturally draws less current, for example.

One important detail about the transitions between Sink Power Sub-States is that there is actually a deadline in the spec on some of the transitions. Crucially, transitions from higher to lower sub states, for example from 3.0A -> 1.5A are limited to tSinkAdj, which is mandated to be 60ms in the spec. Within 60ms of the voltage dropping from vRd-3.0A range to vRd-1.5A range, the sink (phone, laptop, etc being charged) must lower its power consumption to within the new limit.

Hope this has been helpful in understanding how dynamic power balancing happens in USB Type-C!

Ref 1 :
Ref 2 :
Ref 3 :

3 Photos - View album
Add a comment...
Wait while more posts are being loaded