You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The USC subsystem is used for USB-C power delivery management on the Pro X via a SurfaceUsbCMuxAcpiFilterDriver.sys. It's possible that other (newer) devices use that as well.
There is indeed some SAM stuff going on in the SurfaceUsbCMuxAcpiFilterDriver.sys using the USC subsystem. There seem to be two methods, specifically. A FilterGetPortNumbers and a FilterSendUSBCAck. In addition to that, there's a PdEventInfoUpdateFromSamToSoc function, which might be some part of a PD event handler by its name.
In fact all three functions are called in the same ProcessUsbCResponse function, first getting the port number(s?), then updating the PD event info, then sending the ACK back. I think what's happening is that SAM might send a PD event when a USB-C source is plugged in. This is then handled by that process-response function.
And from the related issue for the Pro X (the device on which this was first discovered; linux-surface/surface-pro-x#35):
Turns out we can enable and receive events on Linux (using the standard SAM event registry) when I plug in my phone for charging, but I should probably get some USB-C power meter and a powerful enough USB-C charger to see if there are any changes. Also I don't know yet what to send back to SAM via the ACK command.
Interestingly, when I enable SAM events, the port seems to do something (at very least cut power for a brief moment) as my phone screen turns on. Phone says "fast charging" regardless of events being enabled/disabled though...
SLS confirmed nothing happens when run above events.py
Both switching from AC > AC+USB Type C > USB Type C >> no events displayed
and USB Type C > AC+USB Type C > AC >> no events displayed
Noted that i mean charging to laptop
However on Windows side can able to detect USB type C and say using AC instead warning message because of slow charging (noted that it may come from charging power is lower than threshold)
On Linux dmesg gives while testing, maybe happens when remove AC while USB type C is plugged in
[125915.253494] usb usb2-port2: attempt power cycle
[125923.801628] usb usb2-port2: unable to enumerate USB device
[126047.281458] usb usb2-port2: attempt power cycle
[126055.829835] usb usb2-port2: unable to enumerate USB device
And I uses external SSD so I cannot tell much about this, since idk,
PS: in surfaceupdate folder (which contains driver downloaded from ms) is not found of that sys file
The
USC
subsystem is used for USB-C power delivery management on the Pro X via aSurfaceUsbCMuxAcpiFilterDriver.sys
. It's possible that other (newer) devices use that as well.Quoting myself from the issue where this was first discovered (linux-surface/surface-pro-x#33):
And from the related issue for the Pro X (the device on which this was first discovered; linux-surface/surface-pro-x#35):
Events can be enabled with
and listened to with
It would be interesting to know whether that's also a thing on other devices.
The text was updated successfully, but these errors were encountered: