First off, if there is a better place or forum to ask this, I will take suggestions. I haven’t gone to any Linux forums because most of the ones I looked at did not want to support anything specifically Windows related, and this is primarily an issue in Windows.
I am using a GPD Win Max 2, a handheld laptop, with a docking station + external graphics card setup. The GPD has 2 USB C ports, one 3.2 and one 4.0. The 4.0 is used by the external graphics card, while the 3.2 is used by the dock. The dock has a 1Gb ethernet port on it, but it does not work in Windows 10 under normal use. All the other ports on the dock are recognized, but the ethernet port never shows up in device manager. But if I boot into Linux and then restart back into Windows, the ethernet port will work then. I don’t even have to have the USB dock connected while running Linux. After a hard power cycle and plugging the dock within 5-10 minutes of starting, the ethernet port will be working in Windows.
Other observations and information: -I have a 100Mb USB A ethernet adapter that works in Windows when connected to the dock. I have also tested a 1Gb USB A adapter, and that did not work. It seems 1Gb or higher does not get recognized without going through Linux first. -The ethernet port does work if I use the dock on the 4.0 port instead, but this isn’t viable in my use case. I would have assumed it was a limitation of USB C 3.2 until… -I was distro hopping when I discovered this; I had originally written off the ethernet port until I started trying out Linux. This behavior has happened in Pop OS, Garuda, and Fedora. I have not tested to see if this issue exists in Windows 11, nor do I care to. -I already tried contacting GPD’s support email about it. They were less than helpful. Left it at “compatibility issue” and would not explain further. I highly recommend not buying any GPD products. This is not the first time I have had hardware issues that went unresolved with them.
Frankly, I would love just to hear an explanation for why this workaround works. I think I would have been a lot less frustrated if it really was just a “compatibility issue” and there was nothing to do besides buy new hardware. The fact that it runs without issue in Linux gives me hope that its something that can be resolved in Windows.
If I had to guess you’re experiencing a bug with the firmware of your board or a driver issue. (check for bios and driver updates on the manufacturers page before proceeding)
Somewhere in your bios you should be able to control the USB ports.
Try looking for something along the lines of xHCI handoff and try toggling the options to see if that resolves it.
I am on the latest BIOS for the GPD Win Max 2. Judging off of their email response, I won’t keep my hopes up that they will release anything to fix this. There were problems with video out on USB C hubs that they fixed with a BIOS update, but that was much earlier in the handhelds life span. They haven’t done any BIOS updates since then.
The hub/docks in question do not have any drivers on the manufacturers website. They are advertised as plug and play. I have been occasionally updating my AMD chipset drivers as they come, but so far the updates have made no difference for this issue.
Ironically, I did have to disable XHCI on one of the ports to fix a issue with the dual SD card reader on this device, reducing it to USB 2.0 speeds. I toggled that setting back to see if it had any effect on the ethernet port, but no dice. I did find a toggle for xHCI handoff enable/disable; toggling it did not seem to have an effect on the ethernet port either.
The other commentor made a good point. It sounds like defective software for the dock. They are thinking if you disable the power management features you might be able to get it to fire up. Does the gigabit adapter show up at all in device manager?
If I boot into Linux first, and then restart to boot Windows, the ethernet adapter will show up in device manager, yes. I am currently using the Falwedi USB hub after booting into Linux first this morning. Under device manager, it is listed as “Realtek USB GbE Family Controller”. Ill go ahead and toggle/disable the setting to “Allow the computer to turn off device to save power”, but I can’t imagine it will make a difference. Without booting Linux first, plugging in the USB hub will recognize all the other ports on it except the ethernet port. I can’t tell that anything else is reported differently on plugging it in; just that the ethernet port never shows up.
Are you able to use an additional hub between the USBC port and dock? I’m wondering if that additional nested hub might bypass the issue at hand.
I’m not sure if this answers your question, but I have tried using additional USB ethernet adapters plugged into the dock. They have the same issue; unless its less than a 1Gb interface, they won’t show up in Windows without booting Linux first. This applies to anything going through the USB C 3.2 port it seems like.
Can you check it with another computer? What happens if you plug the dock there. Does this happen on the 4.0 port as well?
What chip is inside the dock?
lsusb -v
in linux. Manufacturer, model of the dock?There are a lot of shitty usb docks out there, I would expect the failure there instead in a laptop.
I have one other computer that has USB C ports to test with, a GPD Win Max 1. It has Intel/Thunderbolt 3 chipset instead of AMD USB4. I also have two separate docks to test with; a bootleg/generic Falwedi USB 3 hub, and a Kensington SD5800T TB4/USB4 dock.
The Falwedi hub has a working ethernet port if I plug it into the USB4 port on the Win Max 2. The ethernet port also works on the Win Max 1 on either its TB3 port or its additional USBC 3.0 port. The Kensington dock for some reason only works on the 3.2 port of the WM2 and the TB3 port of the WM1; the entire dock isn’t recognized at all on the other ports. I find it strange that it only works on the ports I first used it with on each device. I don’t know why it wont work on the WM2 USB4 port. But more to the point, the ethernet port does work on the TB3 of the WM1. This ethernet issue is only present on the WM2.
lsusb -v reports these chipsets for the ethernet interfaces. Please tell me if I am reporting the wrong thing; I don’t use linux that often.
Falwedi: Bus 007 Device 003: ID 0bda:5401 Realtek Semiconductor Corp. RTL 8153 USB 3.0 hub with gigabit ethernet
Kensington: Bus 008 Device 008: ID 0bda:8156 Realtek Semiconductor Corp. USB 10/100/1G/2.5G LAN
If I understand correctly:
- Falwedi dock works everywhere
- Kensignton dock has proplems on both computers on some ports.
If this is true,I think the problem is with the Kensington dock, not with the laptop.
The Kensington dock has a Realtek 8156 chip, this is the most important part, you have to search for this.
Here a reviewer got a defect dongle, Realtek replaced for him: https://www.cnx-software.com/2022/02/20/fixing-performance-issues-with-realtek-rtl8156b-2-5gbe-usb-dongle-in-ubuntu/
Here they have problems with this dongle and power management messing it up. I would take a look if some windows power settings messes it up: https://community.frame.work/t/solved-getting-the-rtl8156-2-5gb-adapter-on-ubuntu-22-04-solution-blacklist-tlp-from-device/23857
The Falwedi still has the issue with the 3.2 port on the WM2 where I have to boot Linux first to get the ethernet port working in Windows. Otherwise, yes, it works everywhere.
The Kensington issue is likely not related to this ethernet problem. The ethernet port and the dock overall works as expected on the TB3 of the WM1. The ethernet port of the Kensington Dock does not work on the 3.2 port of the WM2 without booting into Linux first. The Kensington dock does not work at all on the USB4 of the WM2 or the 3.0 of the WM1.
And should clarify that I do not have to do anything in Linux to get the Ethernet port working. It functions plug-n-play with no performance issues. The ethernet issue only comes up if I boot into Windows first, without involving Linux.
So I have the gpd win mini and it’s working with a USB 3.2 multifunction hub with ethernet now on Windows.
Next time you’re on Linux can you run boltctl? Just want to confirm you’re not hitting a thunderbolt security issue somehow, otherwise things get more unpleasant.
I have the older 6800 model of the WM2. I haven’t heard from anyone else with that model in the community GPD discord with this issue, but frankly I don’t get much of a response in there in general. Really wish the community didn’t insist on using an IM chat for troubleshooting AND general discussion…
Ill be a bit busy today, so I won’t be able to get into Linux till tomorrow. What exactly did you want me to do with boltctrl? And are you sure its relevant to the Falwedi dock? I’m not using the USB4 port for the dock usually because I have to leave that open for my eGPU, and the Falwedi hub isn’t a USB4/Thunderbolt device anyway.
Nvm, that’s a proper usb3.2 nic, I’ve had issues in the past where things didn’t show up because thunderbolt restrictions were on and I didn’t know how techy you were.
Does any of it show up on lsusb? lsusb -t to see if the hub or other devices show.
Another comment told me to run lsusb -v and the ethernet ports showed up there. Would lsusb -t provide something more relevant? Also, to be clear, the docks work fine in Linux. I am concerned about the ethernet not showing up in Windows without booting Linux first.
The question was how it showed up, now it looks like it’s a windows power issue, windows might not be handling power sequencing right and bringing the nic out of standby at the right time. Either that or there’s a bug that linux is silently quirking, maybe dmesg | grep usb to see.