usb-c port power not reset correctly (can't connect any device after a phone was connected)

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

 



Hi,

my hardware :https://wiki.gentoo.org/wiki/Lenovo_Yoga_900
I use the pre-built gentoo linux kernel,
Linux jlmyoga900 6.5.5-gentoo-dist #1 SMP PREEMPT_DYNAMIC Sat Sep 23 17:31:47 -00 2023 x86_64 Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz GenuineIntel GNU/Linux


output of lsusb, phone connected on usb-c port, phone in "share connection virtual network adaptater mode"
$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
    |__ Port 3: Dev 12, If 0, Class=Wireless, Driver=rndis_host, 5000M
    |__ Port 3: Dev 12, If 1, Class=CDC Data, Driver=rndis_host, 5000M
    |__ Port 3: Dev 12, If 2, Class=Vendor Specific Class, Driver=, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    |__ Port 6: Dev 2, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 6: Dev 2, If 1, Class=Video, Driver=uvcvideo, 480M
    |__ Port 7: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 7: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M

output of lsusb, micro sd card connected on usb-c port using usb-A-usb-c adaptater (works on the phone),
$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    |__ Port 6: Dev 2, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 6: Dev 2, If 1, Class=Video, Driver=uvcvideo, 480M
    |__ Port 7: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 7: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M

output of lsusb, micro sd card connected on usb-A port,
$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
    |__ Port 2: Dev 13, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    |__ Port 6: Dev 2, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 6: Dev 2, If 1, Class=Video, Driver=uvcvideo, 480M
    |__ Port 7: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 7: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M

output of dmesg
---- connecting the phone
[371134.453914] xhci_hcd 0000:00:14.0: WARN Set TR Deq Ptr cmd failed due to incorrect slot or ep state.
[371162.893880] usb usb2-port3: config error
[371163.527330] usb 2-3: new SuperSpeed USB device number 11 using xhci_hcd
[371163.544872] usb 2-3: New USB device found, idVendor=04e8, idProduct=685d, bcdDevice= 4.14
[371163.544881] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[371163.544885] usb 2-3: Product: SM-N975F
[371163.544888] usb 2-3: Manufacturer: samsung
[371163.544890] usb 2-3: SerialNumber: RF8M73LKC5E
[371181.443775] usb 2-3: USB disconnect, device number 11
[371181.700584] usb 2-3: new SuperSpeed USB device number 12 using xhci_hcd
[371181.718597] usb 2-3: New USB device found, idVendor=04e8, idProduct=6864, bcdDevice= 4.14
[371181.718606] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[371181.718610] usb 2-3: Product: SM-N975F
[371181.718613] usb 2-3: Manufacturer: samsung
[371181.718615] usb 2-3: SerialNumber: RF8M73LKC5E
[371181.843263] usbcore: registered new interface driver cdc_ether
[371181.850720] rndis_host 2-3:1.0 usb0: register 'rndis_host' at usb-0000:00:14.0-3, RNDIS device, 02:24:0a:73:0e:02
[371181.851343] usbcore: registered new interface driver rndis_host
[371181.905461] rndis_host 2-3:1.0 enp0s20f0u3: renamed from usb0
[371275.791820] usb 2-3: USB disconnect, device number 12
[371275.791890] rndis_host 2-3:1.0 enp0s20f0u3: unregister 'rndis_host' usb-0000:00:14.0-3, RNDIS device
----- disconnecting the phone connecting the usb masstorage usb-c port
----- disconnecting the masstorage usb-c - connecting same device on usb-A port next to it
[371352.897323] usb 2-2: new SuperSpeed USB device number 13 using xhci_hcd
[371352.916934] usb 2-2: New USB device found, idVendor=11b0, idProduct=3307, bcdDevice= 0.13
[371352.916949] usb 2-2: New USB device strings: Mfr=3, Product=4, SerialNumber=2
[371352.916951] usb 2-2: Product: UHSII uSD Reader
[371352.916954] usb 2-2: Manufacturer: Kingston
[371352.916955] usb 2-2: SerialNumber: 202006001890
[371352.919919] usb-storage 2-2:1.0: USB Mass Storage device detected
[371352.939695] scsi host3: usb-storage 2-2:1.0
[371353.951776] scsi 3:0:0:0: Direct-Access     Kingston UHSII uSD Reader 0013 PQ: 0 ANSI: 6
[371353.952333] sd 3:0:0:0: Attached scsi generic sg1 type 0
[371354.333610] sd 3:0:0:0: [sdb] 500695040 512-byte logical blocks: (256 GB/239 GiB)
[371354.334277] sd 3:0:0:0: [sdb] Write Protect is off
[371354.334282] sd 3:0:0:0: [sdb] Mode Sense: 21 00 00 00
[371354.334902] sd 3:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[371354.338703]  sdb: sdb1
[371354.338841] sd 3:0:0:0: [sdb] Attached SCSI removable disk

there is no dmesg entry when connecting on the usb-c as if there was no power
I tried on phone to change the device powering the port, but I always get error, when connecting the phone, even if it is in "charge only" mode, the battery icon don't show any charging information.... looks like the port is always powered by the phone and the first time the device powering the port is choosen in power negociation, the port will after remain in slave-power mode on the laptop....

I will gladely help troubleshooting the issue, having a usb port less over 3 is really problematic
don't know if I can change the settings of the port using /sys?

thanks and regards
JL





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

  Powered by Linux