lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZV3CTg03IPnZTVL0@kuha.fi.intel.com>
Date:   Wed, 22 Nov 2023 10:56:46 +0200
From:   Heikki Krogerus <heikki.krogerus@...ux.intel.com>
To:     Paul Menzel <pmenzel@...gen.mpg.de>
Cc:     linux-usb@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>,
        Hans de Goede <hdegoede@...hat.com>
Subject: Re: Unplugging USB-C charger cable causes `ucsi_acpi USBC000:00:
 ucsi_handle_connector_change: ACK failed (-110)`

On Tue, Nov 21, 2023 at 03:25:59PM +0100, Paul Menzel wrote:
> Dear Heikki,
> 
> 
> Thank you for your prompt reply.
> 
> Am 21.11.23 um 15:08 schrieb Heikki Krogerus:
> > On Tue, Nov 21, 2023 at 12:50:43PM +0100, Paul Menzel wrote:
> 
> > > On the Dell XPS 13, BIOS 2.21.0 06/02/2022, with Debian sid/unstable and
> > > Linux 6.5.10, when unplugging the (Dell) USB Type-C charger cable, Linux
> > > logs the error below:
> > > 
> > >      ucsi_acpi USBC000:00: ucsi_handle_connector_change: ACK failed (-110)
> > > 
> > > As this is logged with level error, can this be somehow fixed?
> > > 
> > >      drivers/usb/typec/ucsi/ucsi.c: dev_err(ucsi->dev, "%s: ACK failed (%d)", __func__, ret);
> > > 
> > > Please find the output of `dmesg` attached.
> > 
> > Thanks. The firmware not reacting to the ACK command is weird, but I'm
> > not sure if it's critical. Does the interface continue working after
> > that? Do you see the partner devices appearing under /sys/class/typec/
> > when you plug them, and disappearing when you unplug them?
> 
> ```
> $ LANG= grep .
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000\:001/*
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/current_max:0
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/current_now:0
> grep: /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/device:
> Is a directory
> grep: /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/hwmon7:
> Is a directory
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/online:0
> grep:
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/power:
> Is a directory
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/scope:System
> grep: /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/subsystem:
> Is a directory
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/type:USB
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_NAME=ucsi-source-psy-USBC000:001
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_TYPE=USB
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_USB_TYPE=[C]
> PD PD_PPS
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_ONLINE=0
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_VOLTAGE_MIN=5000000
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_VOLTAGE_MAX=5000000
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_VOLTAGE_NOW=5000000
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_CURRENT_MAX=0
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_CURRENT_NOW=0
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_SCOPE=System
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/usb_type:[C]
> PD PD_PPS
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/voltage_max:5000000
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/voltage_min:5000000
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/voltage_now:5000000
> grep: /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/wakeup49:
> Is a directory
> ```
> 
> Now I unplugged the device, and the error is *not* logged. (I had a USB
> Type-C port replicator plugged in during the day before.)
> 
> The directory is still there:
> 
> ```
> $ LANG= grep .
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000\:001/*
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/current_max:0
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/current_now:0
> grep: /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/device:
> Is a directory
> grep: /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/hwmon7:
> Is a directory
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/online:0
> grep:
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/power:
> Is a directory
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/scope:System
> grep: /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/subsystem:
> Is a directory
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/type:USB
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_NAME=ucsi-source-psy-USBC000:001
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_TYPE=USB
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_USB_TYPE=[C]
> PD PD_PPS
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_ONLINE=0
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_VOLTAGE_MIN=5000000
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_VOLTAGE_MAX=5000000
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_VOLTAGE_NOW=5000000
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_CURRENT_MAX=0
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_CURRENT_NOW=0
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/uevent:POWER_SUPPLY_SCOPE=System
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/usb_type:[C]
> PD PD_PPS
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/voltage_max:5000000
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/voltage_min:5000000
> /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/voltage_now:5000000
> grep: /sys/class/typec/port0/device/power_supply/ucsi-source-psy-USBC000:001/wakeup49:
> Is a directory
> ```
> 
> I guess, that is the wrong directory I look at though?
> 
> (I am going to monitor the logs over the next days.)

Just list what you have in /sys/class/typec/ before and after plugging
a device to the port:

        ls /sys/class/typec/

thanks,

-- 
heikki

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ