Closed joedborg closed 7 years ago
Yep. USB-C does not work on Linux at all for now. (Edit: As there were misunderstanding: I am only talking about Linux on the GPD Pocket with Hans kernel here.)
The Kernel does not it. I will keep this open as a reference but I will not actively work on that. If anyone comes up with a fix for the kernel, I would assume Hans and a lot of other people would be pleased to merge it.
@nexus511 You mean specifically the GPD USB-C controller, right?
@joedborg Well, of course.
It's not quite true that USB-C isn't working on Linux, it doesn't work (except direct charging and passthrough) in Ubuntu Mate with ansible-gpdpocket applied to the ISO, but a Solus 3 ISO works OOTB with my Anker USB-C hub, and it detects the NIC and USB-A ports just fine.
This hub in particular: https://www.anker.com/products/variant/Premium-USB-C-Hub-with-Ethernet-and-Power-Delivery/A8302041
ETA: The Solus 3 ISO has kernel 4.12.7-11.current
AFAIK USB-C currently does not work in favor of charging support on the powered device.
Given the choice of being able to charge my device or having USB-C, I would prefer having a way to charge my device while running.
As far as I know, that is currently the state of implementation and a decision one has to make. So if you are fine with a device that does have USB-C and does not allow charging, it might work for you using a kernel that allows it.
@nexus511 I'm not sure if you're referring to the Pocket, specifically? Plenty of USB-C enabled laptops work fine on Linux, with both charging, data and display out (HP Spectre, Dell XPS etc).
Just to see what can be achieved, I put the Windows 10 build on my Pocket and USB-C works great with charging, data and display out.
I'm not, by any means, trying to suggest this is easy, I'm just trying to see if we're all on the same page.
@joedborg I do not want to start discussions in general over weather USB-C is supported by Linux or not. This project targets just and only this Linux port for GPD Pocket and for now there is no USB-C data support in the specific kernel used here.
Continuously hinting that there are devices out there that somehow provide USB-C support in some way for some hardware is not of any value for this issue. Quoting that it does on Windows is not of any value either.
I think we all know that the device has a USB-C port that is capable of transfering data and that it could be theoretically used, if the specific drivers for that port have been developed. It might even work with the original GPD kernel but that kernel does some dirty hacks that might even be capable of breaking your hardware under bad circumstances.
Useful contributions are always welcome, but I have no intention in spending my time in useless nitpicking.
@nexus511 I don't think anyone here is nitpicking. Personally, as I said, I was just trying to clarify what context "USB-C does not work on Linux at all for now" is assuming. From other comments, it's clear that this wasn't understood to just mean Ubuntu on the GPD Pocket. Thanks for clarifying this.
The next point I have is, do we have anyone here who can attack this issue? If not, I might be willing to send my Pocket to someone like Greg KH (if he's still open to writing drivers). I have heard about the over-volting issue with GPD's Kernel.
I am not working on this. I do not know if @jwrdegoede plans to look at it, as he has been doing quite some work porting the chipset.
So I do not think anyone is working on that right now. I currently do not have enough free time to dig much into the current implementation within the kernel, so every help is welcome.
Hi,
On 06-09-17 11:14, nexus511 wrote:
I am not working on this. I do not know if @jwrdegoede https://github.com/jwrdegoede plans to look at it, as he has been doing quite some work porting the chipset.
My latest branch:
https://github.com/jwrdegoede/linux-sunxi/commits/drm-intel-next-queued
Has fully working USB data connectivity on the Type-C connector. That branch is a branch with various upstream for-next branches merged in as I needed those to get some patches ready for 4.14.
Once 4.14-rc1 is out I will rebase on top of that and my master branch will once again have my latest work.
Regards,
Hans
@jwrdegoede Awesome!
I have already seen that branch and already recognized that there is quite some stuff in there that does not match on 4.13.0-rc7. If I find some time, I take a deeper look at it. Maybe it is possible to get something pulled here in between.
If have just updated the kernel to the new patchset by @jwrdegoede (drm-next based).
It is now the version 4.13.0-2-generic #gpd. USB-C now works properly on my device for charging and data transfer.
You can update to the new kernel using
apt update && apt upgrade
if you are already on the recent track.
If you are still using 4.13.0-rc5+, please call
apt update && apt install gpdpocket
instead.
A big thank you to @jwrdegoede for doing this awesome job.
@nexus511 out of interest, does display work too?
@joedborg I can confirm that USB-C data now finally works, frustratingly, only if I connect my HooToo USB C Hub to a power source, it doesn't seem to get enough power from the usb c port on the GPD Pocket which works fine without it on Windows. I've tried several hdmi displays and video capture cards but they didn't even got detected so I guess the answer is no :/
Using the 16.04 build (http://apt.nexus511.net/iso/ubuntu/2017-08-29/ubuntu-16.04.3-desktop-amd64_gpdpocket_2017-08-29.iso), USB C data doesn't seem to work.