Bug #414
openX9SAE-V: No USB keyboard init with SeaBIOS while using Radeon RX 6800XT
0%
Description
While booting coreboot 4.17 to SeaBIOS 1.16 on a Supermicro X9SAE-V, the keyboard flashes on then off (LED Backlit USB keyboard) and does not let me interact with SeaBIOS until the linux kernel is loaded on the OS side. Currently using a PS/2 keyboard to unlock my boot drive via SeaBIOS. Using any other GPU does not affect the USB keyboard and works just fine. The Radeon RX 6800XT is a reference card with a USB-C port on it, naturally I tried a USB-C adaptor on the GPU to get the USB keyboard to work, but no luck. Building coreboot with either native, secure VGABIOS loading, or libgfxinit does not fix the problem either. Seems to be specific to this GPU on hardware init. Coreboot dot config is attached.
Files
Updated by Matt DeVillier over 2 years ago
sure sounds to me like the USB-C port on the card is causing SeaBIOS'
USB init to fail. I'm guessing nothing at all to do with coreboot.
Raise the SeaBIOS logging level to 3 and grab a cbmem log after
booting
On Mon, Sep 5, 2022 at 9:55 AM Aaron Burton coreboot@fe80.eu wrote:
Issue #414 has been reported by Aaron Burton.
Bug #414: X9SAE-V: No USB keyboard init with SeaBIOS while using Radeon RX 6800XT
https://ticket.coreboot.org/issues/414
- Author: Aaron Burton
- Status: New
- Priority: Normal
- Category: board support
- Target version: none
- Start date: 2022-09-05
- Affected versions: 4.17
* Affected hardware: X9SAE-V¶
While booting coreboot 4.17 to SeaBIOS 1.16 on a Supermicro X9SAE-V, the keyboard flashes on then off (LED Backlit USB keyboard) and does not let me interact with SeaBIOS until the linux kernel is loaded on the OS side. Currently using a PS/2 keyboard to unlock my boot drive via SeaBIOS. Using any other GPU does not affect the USB keyboard and works just fine. The Radeon RX 6800XT is a reference card with a USB-C port on it, naturally I tried a USB-C adaptor on the GPU to get the USB keyboard to work, but no luck. Building coreboot with either native, secure VGABIOS loading, or libgfxinit does not fix the problem either. Seems to be specific to this GPU on hardware init. Coreboot dot config is attached.
---Files--------------------------------
coreboot-config (17.7 KB)--
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: https://ticket.coreboot.org/my/account
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-leave@coreboot.org
Updated by Aaron Burton over 2 years ago
- File coreboot.log coreboot.log added
Aaron Burton wrote:
While booting coreboot 4.17 to SeaBIOS 1.16 on a Supermicro X9SAE-V, the keyboard flashes on then off (LED Backlit USB keyboard) and does not let me interact with SeaBIOS until the linux kernel is loaded on the OS side. Currently using a PS/2 keyboard to unlock my boot drive via SeaBIOS. Using any other GPU does not affect the USB keyboard and works just fine. The Radeon RX 6800XT is a reference card with a USB-C port on it, naturally I tried a USB-C adaptor on the GPU to get the USB keyboard to work, but no luck. Building coreboot with either native, secure VGABIOS loading, or libgfxinit does not fix the problem either. Seems to be specific to this GPU on hardware init. Coreboot dot config is attached.
Matt DeVillier wrote in #note-1:
sure sounds to me like the USB-C port on the card is causing SeaBIOS'
USB init to fail. I'm guessing nothing at all to do with coreboot.
Raise the SeaBIOS logging level to 3 and grab a cbmem log after
bootingOn Mon, Sep 5, 2022 at 9:55 AM Aaron Burton coreboot@fe80.eu wrote:
Issue #414 has been reported by Aaron Burton.
Bug #414: X9SAE-V: No USB keyboard init with SeaBIOS while using Radeon RX 6800XT
https://ticket.coreboot.org/issues/414
- Author: Aaron Burton
- Status: New
- Priority: Normal
- Category: board support
- Target version: none
- Start date: 2022-09-05
- Affected versions: 4.17
* Affected hardware: X9SAE-V¶
While booting coreboot 4.17 to SeaBIOS 1.16 on a Supermicro X9SAE-V, the keyboard flashes on then off (LED Backlit USB keyboard) and does not let me interact with SeaBIOS until the linux kernel is loaded on the OS side. Currently using a PS/2 keyboard to unlock my boot drive via SeaBIOS. Using any other GPU does not affect the USB keyboard and works just fine. The Radeon RX 6800XT is a reference card with a USB-C port on it, naturally I tried a USB-C adaptor on the GPU to get the USB keyboard to work, but no luck. Building coreboot with either native, secure VGABIOS loading, or libgfxinit does not fix the problem either. Seems to be specific to this GPU on hardware init. Coreboot dot config is attached.
---Files--------------------------------
coreboot-config (17.7 KB)--
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: https://ticket.coreboot.org/my/account
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-leave@coreboot.org
CBMEM log attached w/ SeaBIOS log level 3
Updated by Paul Menzel over 2 years ago
[Everyone, when replying please remember to remove the full citation and to use interleaved style, when replying to issue reports, as otherwise the Redmine Web interface becomes convoluted very quickly.]
Thank you for uploading the logs. (Looking at them, it’s better to use util/cbmem/cbmem
instead of the Linux kernel module, as that does not support the log level markers.)
Using any other GPU does not affect the USB keyboard and works just fine.
Can you please elaborate, how you connect the keyboard then? Also with the Radeon RX 6800XT, does the USB keyboard never work, or just when you connect it to the USB Type-C port of the graphics card?
Is the port we are trying to use on the PCI address 03:00.2?
/7fedd000\ Start thread
|7fedd000| configure_xhci: resetting
PCI: XHCI at 03:00.2 (mmio 0x8a900000)
XHCI init: regs @ 0x8a900000, 3 ports, 64 slots, 64 byte contexts
XHCI extcap 0x1 @ 0x8a900980
XHCI protocol USB 2.00, 2 ports (offset 1), def 18
XHCI protocol USB 3.10, 1 ports (offset 3), def 2000
XHCI extcap 0xa @ 0x8a9009c0
|7fedd000| configure_xhci: setup 16 scratch pad buffers
|7fedd000| XHCI no devices found
|7fedd000| set_address 0x7fede9a0
|7fedd000| config_usb: 0x7fed1d50
|7fedd000| usb_hid_setup 0x7fed1d50
\7fedd000/ End thread
SeaBIOS detects a USB hub, but I guess it’s a different one?
|7fecc000| Initialized USB HUB (1 ports used)
How is your setup exactly? What keyboard is it, and how is it connected exactly?
Can you please try with SeaBIOS master, and also output lspci -nn
and lsusb
and lsusb --tree
from GNU/Linux?
Updated by Aaron Burton over 2 years ago
Thanks for looking at the logs. My USB keyboard is plugged directly into the motherboard at the back. With the 6800XT installed, the USB keyboard isn't functional until I boot into Linux, then it begins to work once the kernel is loaded. It's the same situation if I run a USB-C hub off the 6800XT, no keyboard output until I boot into Linux. The hub you see there is more than likely the USB 3 hub I use for extra peripherals. The keyboard is:
Bus 002 Device 003: ID 28da:1505 G.SKILL KM360 MX
in Linux. That PCI address would be the USB-C controller on the 6800XT, which I don't use, only for testing to see if my keyboard would work in SeaBIOS through it. My setup consists of a traditional desktop setup, single monitor using DisplayPort. One of the first things I tried before posting here was running the SeaBIOS master branch, but I get the same result.
lsusb
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 10000M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
|__ Port 2: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 2, If 2, Class=Human Interface Device, Driver=usbhid, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 3: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
|__ Port 1: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 6: Dev 5, If 0, Class=Vendor Specific Class, Driver=xone-dongle, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
|__ Port 3: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
lspci
00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v2/Ivy Bridge DRAM Controller [8086:0158] (rev 09)
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port [8086:0151] (rev 09)
00:01.1 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port [8086:0155] (rev 09)
00:06.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port [8086:015d] (rev 09)
00:14.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller [8086:1e31] (rev 04)
00:19.0 Ethernet controller [0200]: Intel Corporation 82579LM Gigabit Network Connection (Lewisville) [8086:1502] (rev 04)
00:1a.0 USB controller [0c03]: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #2 [8086:1e2d] (rev 04)
00:1b.0 Audio device [0403]: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller [8086:1e20] (rev 04)
00:1c.0 PCI bridge [0604]: Intel Corporation 7 Series/C216 Chipset Family PCI Express Root Port 1 [8086:1e10] (rev c4)
00:1c.4 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 5 [8086:1e18] (rev c4)
00:1c.6 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 7 [8086:1e1c] (rev c4)
00:1c.7 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 8 [8086:1e1e] (rev c4)
00:1d.0 USB controller [0c03]: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #1 [8086:1e26] (rev 04)
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev a4)
00:1f.0 ISA bridge [0601]: Intel Corporation C216 Series Chipset LPC Controller [8086:1e53] (rev 04)
00:1f.2 SATA controller [0106]: Intel Corporation 7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] [8086:1e02] (rev 04)
00:1f.3 SMBus [0c05]: Intel Corporation 7 Series/C216 Chipset Family SMBus Controller [8086:1e22] (rev 04)
01:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Upstream Port of PCI Express Switch [1002:1478] (rev c1)
02:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Downstream Port of PCI Express Switch [1002:1479]
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] [1002:73bf] (rev c1)
03:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]
03:00.2 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:73a6]
03:00.3 Serial bus controller [0c80]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21 USB [1002:73a4]
09:00.0 Ethernet controller [0200]: Intel Corporation 82574L Gigabit Network Connection [8086:10d3]