Virtual Hub in AMD chipset blocks booting

I apologize to all - I created a post on the same subject and put in the wrong category

I have been trying to install Tumbleweed on a new machine consisting of an AMD Ryzen 5 8600G processor mounted on an ASRock A620M Pro RS mother board which uses the AMD A620 chipset.

On reboot after installation I get the following error message :

[1.361031][T442] hub 6-0:1.3 : config failed hub doesn't have any ports (error -19)

This is way over my head, but from the two links below, somewhere in the system AMD has created a virtual hub, which the software system interprets as a physical hub and looks for physical ports which don’t exist… at least that is how I understand it.

Indeed, in bios under usb configuration it lists a hub - so everyone thinks there’s a hub except it’s virtual ! It seems to be a problem encountered throughout the Linux ecosystem.

https://bugzilla.kernel.org/show_bug.cgi?id=220181#short_desc_nonedit_display

That is the situation as I understand it, my question is, where do I go from here ?

How do I get and stay informed about any developments ? Are the kernel devs taking it seriously, if so how long before a solution is available ? Are AMD going to change their firmware ?

Do I have to consider returning the kit because I can’t install the software I want - which I really don’t want to do ?..

Obviously not an openSUSE issue, since it’s upstream kernel related and affecting many Linux distros.

  1. Bookmark that kernel.org submission. You could also post a Reply there about your evidence, and you’ll stay informed
  2. Ask their opinion on the ticket
  3. Ask AMD
  4. Returning the kit might be a bit extreme, unless the fix takes months and you need the use the machine now.

OK - I have a patch and I have to apply it, simply because until someone does apply it and see if it works, it’ll never be merged with the kernel and, as things stand, I have 7 kilos of expensive junk doing nothing.

So, how do I go about it?

What I have gleaned so far is that I have to get the source version of the kernel (which would be the latest tumbleweed I suppose), apply the patch and then compile it. I probably need tools which are not installed on my system as compiling kernels is very far from my intended usage.

So to begin at the beginning. How do I get the kernel to patch and what packages / patterns do I need to install?

@Cyclonick ask if could be added to the openSUSE Kernel, suggest ask here https://lists.opensuse.org/archives/list/kernel@lists.opensuse.org/ and provide a link to the bug report and the patch.

1 Like

@malcolmlewis
I got the patch from the bugzilla.kernel.org site - I had nothing to do with writing it !

The thing is, and I forget the details, other companies have created this virtual hub thing and AMD seem to have come forward with there own version which is not (yet) taken into account by the kernel (or one of it’s modules). The patch as it stands is only a proposition - the devs don’t have a machine to test it on - and no one has reported back as having tested it… So we’re at a dead point, until it’s shown to work it won’t go forward to be merged and even if it does work, I’m going to have to use it until it is merged.

And I need to know how to do it

1 Like

@Cyclonick if it’s just a kernel module, create a kmp, no need to do anything with the kernel.

Can you provide a link to the patch?

1 Like

https://bugzilla.kernel.org/attachment.cgi?id=308204
if that doesn’t work it’s on the bug’s page
https://bugzilla.kernel.org/show_bug.cgi?id=220181#short_desc_nonedit_display

1 Like

@Cyclonick so all that is needed is a xhci-pci kmp built…

1 Like

The simplest way is to branch openSUSE kernel package on build.opensuse.org and add your patch to it. See kernel-source/doc/README.SUSE at master · SUSE/kernel-source · GitHub, search for “How to add custom patches”.

1 Like

And how do I do that ? - “kmp” I suppose means “kernel module patch”

1 Like

It means “Kernel Module Package”.

1 Like

Oh dear, where do I start ?

It’s a world which makes me think of Terry Pratchett’s Dungeon Dimensions…

1 Like

@Cyclonick something for you to play with, refine, clean up etc…
https://build.opensuse.org/package/show/home:malcolmlewis:TESTING/xhci-pci

1 Like

@malcolmlewis
My God ! Thank you!

Erm, what do I do with it?
I wouldn’t have a clue if anything was wrong or out of place. I can see that there are 3 dependencies : kernel-source, kernel-syms and module-init-tools.

Does it become a standard .rpm? (I tried clicking in one or two places)…

I can see I’m going to have to do everything from the command line on the new machine, which means I have to prepare everything beforehand (I only have one monitor)

I’ll get there eventually !

1 Like

@Cyclonick log into the Build Service, and download the kmp rpm (xhci-pci-kmp-default-6.15.4_k6.15.4_1-2.1.x86_64.rpm) and install with zypper and see if it works…

https://build.opensuse.org/projects/home:malcolmlewis:TESTING/packages/xhci-pci/repositories/openSUSE_Tumbleweed/binaries

I don’t publish rpms so no one can add as a repo…

1 Like

I didn’t know that by joining the forum I also got my own little space to build things.

So, I’ve got to make sure the dependencies are there and then zypper in ?

I can’t thank you enough - wish me luck !

1 Like

zypper will install dependencies automatically . No need to do it manually.

Of course it will !
I’d forgotten - I’m beginning to get seriously stupid !

@Cyclonick I sent a submit request to you for the package, so you can look after :wink:

1 Like

@malcolmlewis Thank you - I won’t have any idea how to.

I’m having to learn things I don’t really want to know. I managed to get the stick mounted, which quite good for me…

But zypper refused to install because there isn’t a signature, or more specifically no key or url to same if I understand the error message