Linux unable to boot - "config failed, hub doesn't have any ports! (err -19)"

"config failed, hub doesn't have any ports! (err -19)" error usually means that Linux kernel does not detect IGPU properly, confirmed occurrences on AMD Ryzen 9 9900x CPU computers. 

With newer Linux kernel(s) - the problem will go away, but until then there are a few things can be done to get Linux going on such computer/hardware.


You can try flashing (updating) your motherboard BIOS [this is a complicated procedure] and this may fix the issue right away. Otherwise, there is a work around:

  • Boot with the Linux OS USB
  • Select the desired Linux OS (for example: "Ubuntu-Desktop-24.04" and press Enter
  • With "Boot in normal mode" selected > press Enter 
  • At the "GNU GRUB" screen > press the 'e' key
  • Use arrow keys to move the cursor to the right before the "quiet splash" (the line with that portion of the code will start with "linux") and type in: 'nomodeset' and hit SPACE, so it looks exactly like in the screenshot below, then press: Ctrl + x to continue to boot.

It should continue to further boot. (NOTE: This will have to be done each time to boot the Linux USB on that particular computer, otherwise you should be able to install Linux.)


To fix this on an installed Linux OS, do the following:

  • Boot into Linux OS Recovery Mode
    • Before the Plymouth (boot splash) screen appears, press Esc key to enter the GRUB boot menu.
    • After you're in the GRUB menu, select "Advanced options for Ubuntu".
    • In the advanced options, select a recovery kernel, wait until you get the Recovery Menu, select "root        Drop to root shell prompt" and press Enter.
  • Open grub file with nano editor with this command: sudo nano /etc/default/grub
  • Add 'nomodesest' to "GRUB_CMDLINE_LINUX_DEFAULT" (GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"), it will look something like this:
    • GRUB_DEFAULT=0
      GRUB_HIDDEN_TIMEOUT=0
      GRUB_HIDDEN_TIMEOUT_QUIET=true
      GRUB_TIMEOUT=5
      GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
      GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
      GRUB_CMDLINE_LINUX=""
  • Save and close grub file
  • Run this command: sudo update-grub
  • Reboot with: sudo reboot