You are not logged in.
When I plug the (android) devices into the laptop, they are all powered fine, but adb devices shows nothing, which means the system is not recognizing them.
I tried plugging and unplugging the device multiple times and checking the results of lsusb, no change.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 0489:e0cd Foxconn / Hon Hai MediaTek Bluetooth Adapter
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 30c9:00a8 Luxvisions Innotech Limited Integrated RGB Camera
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 009 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 010 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
I found the exception when checking the kernel log:
<Insert Device>
[ 35.771024] usb usb3-port2: Cannot enable. Maybe the USB cable is bad?
[ 36.664327] usb usb3-port2: Cannot enable. Maybe the USB cable is bad?
[ 36.664484] usb usb3-port2: attempt power cycle
[ 37.630605] usb usb3-port2: Cannot enable. Maybe the USB cable is bad?
[ 38.524321] usb usb3-port2: Cannot enable. Maybe the USB cable is bad?
[ 38.524476] usb usb3-port2: unable to enumerate USB device
I am using a Lenovo Xiaoxin Pro 16 2022 (with AMD 7735HS). The device has two USB ports. When I used the 6.9 version of the kernel, both ports did not work properly (as shown above).
I consulted the information online and downgraded the kernel to 6.6-lts. One of the USB ports worked properly, but the other still did not work.
Switch the USB cable between the two ports:
[ 976.709339] usb usb3-port2: Cannot enable. Maybe the USB cable is bad?
[ 977.602867] usb usb3-port2: Cannot enable. Maybe the USB cable is bad?
[ 977.603019] usb usb3-port2: attempt power cycle
[ 978.569282] usb usb3-port2: Cannot enable. Maybe the USB cable is bad?
[ 979.463033] usb usb3-port2: Cannot enable. Maybe the USB cable is bad?
[ 979.463205] usb usb3-port2: unable to enumerate USB device
[ 987.943664] usb 9-1: new high-speed USB device number 4 using xhci_hcd
[ 988.092818] usb 9-1: New USB device found, idVendor=xxxx, idProduct=xxxx, bcdDevice= 5.10
[ 988.092832] usb 9-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 988.092837] usb 9-1: Product: xxxxxxxxxxxxx
[ 988.092842] usb 9-1: Manufacturer: Xiaomi
[ 988.092846] usb 9-1: SerialNumber: xxxxxxxx
Can someone help me? What else can I do now?
EDIT: There shouldn't be a problem with the hardware as it all works fine with windows.
EDIT: It seemed a bit off-topic because of me, so I revised the title. But I still think the problem is happening at the kernel?.
Last edited by redbeanw (2024-08-01 08:24:55)
Offline
3rd link below. Mandatory.
Disable it (it's NOT the BIOS setting!) and reboot windows and linux twice for voodo reasons.
Regarless of that there's https://bbs.archlinux.org/viewtopic.php?id=297440 which seems caused by "bad" USB devices - to be clear, on teh LTS kernel your phone works in one port, but not the other?
What about other clients (try some usb key) - do they work in both ports (on either kernel)?
Also test the behavior on the multi-user.target (2nd link below) w/o adb running or loading any kernel modules.
Offline
3rd link below. Mandatory.
Disable it (it's NOT the BIOS setting!) and reboot windows and linux twice for voodo reasons.
Sorry, I'm not a native English speaker and I don't quite understand what this means, could you please make it clearer?
Also test the behavior on the multi-user.target (2nd link below) w/o adb running or loading any kernel modules.
Sorry, I still don't understand what you mean. Should I unload all kernel modules for testing? That sounds a bit crazy.
Or, could you please be more clear on what I should do?
I'd like to add some information:
1. I don't use dual boot, I recently switched from Windows to Archlinux.
2. It seems that only devices like the phone don't work properly, if I plug in a USB stick, they all work fine. In the 6.9 kernel both USB ports didn't work properly (for the phone), downgrading to 6.6 (lts) made one of them work again.
(I know this is a bit off topic) As for the BIOS settings, I recently followed the advice on the internet and turned off "USB Continuous Power" but to no avail.
Last edited by redbeanw (2024-08-01 05:27:14)
Offline
78ms systemd-journald.service
It seems that my problem is different from the one mentioned in the above post.
Offline
could you please make it clearer?
The link shows how to disable windows fast-start what is absolutely mandatory for dual boots (there's also explanations why) and *could* be the cause of your situation.
It doesn't matter whether "but it's on a different disk" or "but I almost don't use it anymore" - if windows is hibernating (which is the default behavior even for shutdowns), your hardware is in an undefined state.
1. I don't use dual boot, I recently switched from Windows to Archlinux.
EDIT: There shouldn't be a problem with the hardware as it all works fine with windows.
Only one of those claims can be true. I then assume your "windows if fine" assertion is actually dated information, "windows was fine"?
It seems that my problem is different from the one mentioned
The journald delay is just a symptom and only applies if the troublesome device is attached during the boot.
Though 6.6.36-1-lts is claimed to be affected, too so if there's a regression in the xhci module, it has been backported into the stable branch.
Your subject says "On newer versions of Kernel" - do you have an example of a "good" kernel version?
I recently followed the advice on the internet and turned off "USB Continuous Power" but to no avail.
If you re-enable that, does that make both ports work on the LTS kernel?
Should I unload all kernel modules for testing?
Anything that gets loaded by adb (iff) - compare lsmod.
Boot the multi-user.target, make sure the adb server hasn't started and test the behavior there.
if I plug in a USB stick, they all work fine
This might come down to some power management. Do you have usb devices w/ a higher power draw (external HDD or optical disc drive, a wifi dongle, …)?
Offline
The link shows how to disable windows fast-start what is absolutely mandatory for dual boots (there's also explanations why) and *could* be the cause of your situation.
It doesn't matter whether "but it's on a different disk" or "but I almost don't use it anymore" - if windows is hibernating (which is the default behavior even for shutdowns), your hardware is in an undefined state.
Oh... You meant "bottom link." I get it.
Only one of those claims can be true. I then assume your "windows if fine" assertion is actually dated information, "windows was fine"?
Yes, you're right. It's a past tense. It did work before.
Your subject says "On newer versions of Kernel" - do you have an example of a "good" kernel version?
I think I'm getting a little dizzy. I just tried all the LTS versions of the kernel from 4.19-6.6, and all of them only have one USB socket working properly.
Then I switched to 6.9, and 6.10. strangely enough, they are currently behaving exactly the same way as the LTS versions of the kernel (only one USB socket is working properly, not all of them) I don't understand...
If you re-enable that, does that make both ports work on the LTS kernel?
No... As it turns out, switching this BIOS option didn't affect anything, there's still only one USB socket that works.
Boot the multi-user.target, make sure the adb server hasn't started and test the behavior there.
I tried to find out what kernel modules adb server loads, but adb server doesn't seem to load any kernel modules. When I try to compare the lsmod changes before and after starting adb server, I don't see any changes.
Do you have usb devices w/ a higher power draw (external HDD or optical disc drive, a wifi dongle, …)?
No, I only have two usb sockets and they are only for connecting a usb drive to a cell phone.
Last edited by redbeanw (2024-08-01 08:02:20)
Offline
Let's sort it out.
1. I can use a USB flash drive or power an Android device normally on both USB ports.
2. only one of the USB sockets can access the Android device and read out the device information normally. The other one outputs an error in the kernel log when the device is plugged in.
3. with the current situation it may not be related to the kernel? I'm now more inclined to believe it's not kernel related, although switching to the LTS version of the kernel yesterday allowed me to fix one of the USB sockets.
4. they all worked fine on Windows not too long ago.
I don't know what to do now.
---
I uninstalled android-tools and android-udev and rebooted the system just now. Now adb is completely unavailable, but I can still observe in the kernel logs that one of the USB sockets recognizes the device properly and the other doesn't - same as before. Maybe the problem is happening at a more fundamental level?
Last edited by redbeanw (2024-08-01 08:15:22)
Offline