nexus511 / gpd-ubuntu-packages

This repository shall provide the base for building ubuntu packages from most of the patches currently used to get linux on the gpd-pocket.
GNU General Public License v3.0
73 stars 4 forks source link

USB C data not working #11

Closed joedborg closed 7 years ago

joedborg commented 7 years ago

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.

nexus511 commented 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.

joedborg commented 7 years ago

@nexus511 You mean specifically the GPD USB-C controller, right?

nexus511 commented 7 years ago

@joedborg Well, of course.

RankoKohime commented 7 years ago

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

nexus511 commented 7 years ago

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.

joedborg commented 7 years ago

@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.

nexus511 commented 7 years ago

@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.

joedborg commented 7 years ago

@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.

nexus511 commented 7 years ago

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.

jwrdegoede commented 7 years ago

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

nexus511 commented 7 years ago

@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.

nexus511 commented 7 years ago

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.

joedborg commented 7 years ago

@nexus511 out of interest, does display work too?

MariusQuabeck commented 6 years ago

@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 :/