Re: [Announce] lsucpd release 0.91 utility for USB Type-C

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Douglas,

Am Freitag, 8. Dezember 2023, 07:36:02 CET schrieb Douglas Gilbert:
> lsucpd is a command line utility for listing USB Type-C ports, partners
> and any associated PD objects. It is essentially data-mining the
> /sys/class/typec and /sys/class/usb_power_delivery directories. So
> lsucpd performs no magic and root permissions are not required.
> 
> lsucpd was originally announced in this post on 28 August 2023:
>    https://marc.info/?l=linux-usb&m=169325926403279&w=2
> That code has been tagged as 'r0.89'. There is also a 'r0.90' tag
> but it was not announced. This release is tagged as 'r0.91'. The
> code is available at this git mirror at:
>      https://github.com/doug-gilbert/lsucpd

What is the actual license? There is LICENSE (BSP-2-Clause) and COPYING 
(GPL-2.0-or-later).

Thanks
Alexander

> Changelog since 0.89 [20230827] [svn: r9]
>    - add the first stage of JSON support
>    - add --pdo-snk= and --pdo-src= options to decode PDOs
>    - add --rdo= option to decode RDOs
>    - make preparations for PD revision 3.2
> 
> The last one is a bit optimistic as the kernel PD stack can't yet handle
> the additions in PD 3.1 (e.g. fixed 28, 36 and 48 Volts, plus AVS from
> 15 to 48 Volts). Recently PD 3.1 dropped all support for 3.3 to < 5 Volts.
> PD 3.2 splits AVS (Adjustable Voltage Supply) into SPR (Standard Power
> Range [<= 21 Volts]) and EPR (Extended ...) variants. SPR AVS is the new
> one going from 9 to 20 Volts. What is the difference between AVS and PPS
> (Programmable PS)? Answer: PPS does current limiting, AVS doesn't ***.
> 
> 
> Note: USB TypeC/PD standards have been in place for almost 10 years
> and now almost all new mobile devices use TypeC/PD . However visibility
> of TypeC/PD to host operating systems is relatively new and immature.
> Previously mobile devices handled TypeC/PD in their BIOS or Embedded
> Controllers and left the host OS "in the dark".
> Please keep this in mind if reporting issues.
> 
> Here is a debian binary package built on Ubuntu 23.10 :
>      https://doug-gilbert.github.io/p/lsucpd_0.91-0.1_amd64.deb
> 
> Here is a rpm built on Fedora 39 :
>      https://doug-gilbert.github.io/p/lsucpd-0.91-1.x86_64.rpm
> 
> Doug Gilbert
> 
> 
> *** "current limiting" as defined by PPS. AVS (and PPS) still does
>       OCP (Over Current Protection) but that is pretty brutal (i.e.
>       the source removes power for a few hundred milliseconds to
>       let the sink cool off)
> 
> 
> Examples from a Thinkpad X13 Gen 3, U 23.10 lk 6.7.0-rc1
>    [port0-partner: is an alternate mode DP dongle,
>     port1-partner: is a PD power adapter (source)]
> 
> $ lsucpd
>   port0 [pd0]  ====>>  partner [pd3]
>   port1 [pd1]  <<====  partner [pd2]
> 
> $ lsucpd -c
>   port0 [pd0]  ====>>  partner [pd3]
>   port1 [pd1]  <<====  partner [pd2]
> 
>  > pd0: has NO source-capabilities
>  > 
>  >  pd0: sink-capabilities:
>     >> 1:fixed_supply; fixed: 5.00 Volts, 3.00 Amps (op)
>     >> 2:variable_supply; variable: 5.00 to 20.00 Volts, 3.25 Amps (op)
>     >> 3:battery; battery: 5.00 to 20.00 Volts, 65.00 Watts (op)
>  > 
>  > pd1: source-capabilities:
>    >> 1:fixed_supply; fixed: 0.00 Volts, 7.21 Amps (max)
>  >  
>  >  pd1: sink-capabilities:
>     >> 1:fixed_supply; fixed: 5.00 Volts, 3.00 Amps (op)
>     >> 2:variable_supply; variable: 5.00 to 20.00 Volts, 3.25 Amps (op)
>     >> 3:battery; battery: 5.00 to 20.00 Volts, 65.00 Watts (op)
>  > 
>  > pd2: source-capabilities:
>    >> 1:fixed_supply; fixed: 5.00 Volts, 3.00 Amps (max)
>    >> 2:fixed_supply; fixed: 9.00 Volts, 3.00 Amps (max)
>    >> 3:fixed_supply; fixed: 12.00 Volts, 3.00 Amps (max)
>    >> 4:fixed_supply; fixed: 15.00 Volts, 3.00 Amps (max)
>    >> 5:fixed_supply; fixed: 20.00 Volts, 3.00 Amps (max)
>  >  
>  >  pd2: has NO sink-capabilities
>  > 
>  > pd3: has NO source-capabilities
>  > 
>  >  pd3: has NO sink-capabilities
> 
> $ lsucpd -ll
>   port0 [pd0]  ====>>  partner [pd3]
>   port1 [pd1]  <<====  partner [pd2]
> 
>  > port0  [pd0]:
>        data_role='[host] device'
>        power_operation_mode='usb_power_delivery'
>        power_role='[source] sink'
>        preferred_role=''
>        supported_accessory_modes='none'
>        usb_power_delivery_revision='2.0'
>        usb_typec_revision='1.0'
>        vconn_source='no'
>        waiting_for_supplier='0'
>     port0-partner  [pd3]:
>        accessory_mode='none'
>        number_of_alternate_modes='1'
>        supports_usb_power_delivery='yes'
>        usb_power_delivery_revision='0.0'
>        Alternate mode: /sys/class/typec/port0-partner/port0-partner.0
>          active='yes'
>          description='DisplayPort'
>          mode='1'
>          svid='ff01'
>          vdo='0x00001085'
> 
>  > port1  [pd1]:
>        data_role='host [device]'
>        power_operation_mode='usb_power_delivery'
>        power_role='source [sink]'
>        preferred_role=''
>        supported_accessory_modes='none'
>        usb_power_delivery_revision='2.0'
>        usb_typec_revision='1.0'
>        vconn_source='no'
>        waiting_for_supplier='0'
>     port1-partner  [pd2]:
>        accessory_mode='none'
>        supports_usb_power_delivery='yes'
>        usb_power_delivery_revision='0.0'
> 
> 
> Note: not all that output is believable (e.g. '0.00 Volts, 7.21 Amps (max)')
> so some common sense is required interpreting the output from lsucpd .


-- 
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/







[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux