Opened 5 months ago

Closed 5 months ago

Last modified 5 months ago

#14999 closed bug (duplicate)

Ryzen 5 2400G on B450 chipset with M.2 NVMe SSD (tracking ticket)

Reported by: taos Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: - General Version: R1/Development
Keywords: Cc:
Blocked By: #9910, #14787, #15000, #15001 Blocking:
Has a Patch: no Platform: All

Description

This is the latest addition to my pool of computers available for testing Haiku:

  • Hardware:

CPU/iGPU: AMD Ryzen 2400G 4x 3.6 GHz (AMD Radeon Vega 11)

RAM: 2x 8 GB DDR4 DIMM

SSD: 500 GB M.2 NVMe

Mainboard: ASUS ROG Strix B450-I

LAN: Intel I211-AT Gigabit Network

WiFi/bluetooth: Realtek RTL8822BE 802.11a/b/g/n/ac / BT v4.2

Audio: Realtek HDA S1220A (ALC1220)

  • Display:

LG 4K 3840 x 2160

  • Other Peripherals:

USB 3.0 hub (no external power)

Cherry keyboard (plugged into USB 3.0)

optical mouse (plugged into)

  • Pecularities:

passively cooled

no USB 2.0 slots available

legacy booting disabled, only UEFI available (secure boot de-activated)

Since I won't be able to modify the description later, I'll add the results of the actual testing in the comments (sorted by hrev).

Attachments (12)

Ryzen5_usb3_hrev529xx.jpg (193.2 KB ) - added by taos 5 months ago.
KDL when booting with USB 3.0 card reader.
syslog_ryzen5.txt (212.7 KB ) - added by taos 5 months ago.
Syslog of successful Ryzen 5 boot.
drivers.txt (1.6 KB ) - added by taos 5 months ago.
listimage | grep drivers
ifconfig.txt (643 bytes ) - added by taos 5 months ago.
ifconfig
liistusb.txt (812 bytes ) - added by taos 5 months ago.
listusb
listdev.txt (4.9 KB ) - added by taos 5 months ago.
listdev
listimage.txt (50.5 KB ) - added by taos 5 months ago.
listimage
syslog_old+new.txt (740.6 KB ) - added by taos 5 months ago.
combined syslog from hrev53047 64 bit
syslog_timestamp.txt (1.4 MB ) - added by taos 5 months ago.
New syslog with timestamps. Start of timestamps should correspond to begin of latest boot.
syslog_hrev53075.txt (394.0 KB ) - added by taos 5 months ago.
Syslog from hrev53075 after initial nvme support.
syslog_hrev53090.txt (1019.8 KB ) - added by taos 5 months ago.
Syslog from hrev53090.
syslog_hrev53102.txt (819.7 KB ) - added by taos 5 months ago.
Syslog from hrev53102 after booting from NVMe disk.

Change History (32)

comment:1 by taos, 5 months ago

Booting with anyboot iso written to microSD card in USB 3.0 card reader leads to KDL after the storage symbol of the Haiku boot screen lights up (latest tested image hrev53047):

PANIC: did not find any boot partitions!

KDL when booting with USB 3.0 card reader.

Unfortunately, since my keyboard stops working as soon as I choose Haiku from the rEFInd boot menu, I can't get any more information from a backtrace or from on-screen debugging. As far as I can tell, there's isn't anything written to syslog either.

by taos, 5 months ago

Attachment: Ryzen5_usb3_hrev529xx.jpg added

KDL when booting with USB 3.0 card reader.

comment:2 by waddlesplash, 5 months ago

Blocked By: 9910, 14787, 15000, 15001 added
Resolution: duplicate
Status: newclosed

We don't do "tracking tickets" for specific hardware (anymore.)

All of the items in this ticket already are tracked: the boot failure from a USB3 flash drive (which the card reader counts as) is either #15001 or #15000 (I thought there were already tickets for these but there are not, so now there are). The I211 should work on a nightly (it won't on the beta), there's a closed ticket for that somewhere. The RTL8822BE is tracked in #14787, and NVMe in #9910.

comment:3 by waddlesplash, 5 months ago

Oh, but FWIW: You should be able to use your USB3 keyboard in KDL if you run the keyboard shortcut Alt+PrntScrn+D between when the XHCI bus initializes and the panic due to no boot partitions. We can use USB3-attached keyboards in KDL now, it's just that in order to do so we have to record their routing information first, and we let the usb_keyboard driver do that when the shortcut is pressed.

comment:4 by taos, 5 months ago

Sorry to disappoint, I'll still add the rest of the tests I've done (you can leave the ticket closed I don't care):

Booting to the desktop works with hrev53047 anyboot iso written to microSD card in USB 2.0 card reader.

Observations:

  • Screen preferences shows that "framebuffer" is used with a resolution of 1600 x 1200 instead of the native 3840 x 2160 (it's not possible to change any settings)
  • listimage | grep drivers for some reasons shows both /dev/graphics/vesa and /dev/graphics/radeon_hd

I haven't found this mentioned before, the only other ticket I've found that mentioned a Ryzen processor with included GPU had no syslog attached (and didn't actually boot to the desktop).

  • the Intel I211-AT is recognized as /dev/net/ipro1000 and is stuck at "configuring" - at least for me, it doesn't work - although it should according to #14516 (anything you want me to check?)
  • as expected by #9910 my NVMe SSD is not seen
  • couldn't check audio due to lack of separate loudspeakers (does Haiku support audio over HDMI?) (but at least a /dev/audio/hmulti/hda is shown)
  • bluetooth controller is not found by Bluetooth preferences
  • wifi is not recognized as expected from #14787

Great:

  • Haiku is so far the only OS that successfully works around a bug in the (UEFI) BIOS of this mainboard that prevents other operating systems from restarting the computer when the mainboard LEDs are on
  • Haiku also shuts down successfully (quite rare among my computers)

by taos, 5 months ago

Attachment: syslog_ryzen5.txt added

Syslog of successful Ryzen 5 boot.

by taos, 5 months ago

Attachment: drivers.txt added

listimage | grep drivers

by taos, 5 months ago

Attachment: ifconfig.txt added

ifconfig

by taos, 5 months ago

Attachment: liistusb.txt added

listusb

by taos, 5 months ago

Attachment: listdev.txt added

listdev

by taos, 5 months ago

Attachment: listimage.txt added

listimage

in reply to:  3 comment:5 by taos, 5 months ago

Replying to waddlesplash:

Oh, but FWIW: You should be able to use your USB3 keyboard in KDL if you run the keyboard shortcut Alt+PrntScrn+D between when the XHCI bus initializes and the panic due to no boot partitions. We can use USB3-attached keyboards in KDL now, it's just that in order to do so we have to record their routing information first, and we let the usb_keyboard driver do that when the shortcut is pressed.

That's something I've actually tried. It works - but only if I boot from the USB 2.0 card reader - and then only after the storage symbol lights up (after that the keyboard LED comes to life again) and you already see the blue dektop background a second later. With the USB 3.0 card reader I enter KDL before the keyboard LED lights up (it's on in rEFInd where I can use the keyboard, then goes off as soon as I choose Haiku and stays off until I have to use the power button to shut everything off).

comment:6 by waddlesplash, 5 months ago

Screen preferences shows that "framebuffer" is used with a resolution of 1600 x 1200 instead of the native 3840 x 2160 (it's not possible to change any settings)

EFI GOP can't change the screen resolution after boot. If you write a screenmode to the "VESA settings file", the EFI loader will attempt to change to that mode before initializing graphics output. (This is enough for me to get 1366x768 native panel res on my laptop.)

listimage | grep drivers for some reasons shows both /dev/graphics/vesa and /dev/graphics/radeon_hd

This may mean there is a semi-supported Radeon HD device but initialization fails. The "framebuffer" driver is provided by the VESA driver also, so that's what's actually being used here.

the Intel I211-AT is recognized as /dev/net/ipro1000 and is stuck at "configuring" - at least for me, it doesn't work - although it should according to #14516 (anything you want me to check?)

Syslog shows that it's sending DHCP requests and receiving nothing. Why that is, is unclear. It could be that there is a driver bug, or yet another net_server bug, or all of the above. Likely that means the driver has at least detected a cable plugged in though.

bluetooth controller is not found by Bluetooth preferences

Bluetooth is usually dependent on the WiFi driver initializing the controller with firmware; so naturally that won't work. But currently the Bluetooth driver tries to access it before this occurs even on systems which handle this properly; so there's work to be done here in general. The bluetooth system wasn't included on the beta due to how experimental it is.

comment:7 by waddlesplash, 5 months ago

What's most interesting here is that your syslog is spammed with a lot of:

KERN: usb error xhci 0: _LinkDescriptorForPipe max transfers count exceeded
KERN: usb error hub 17: KERN: error updating port status
KERN: usb error xhci 0: KERN: _LinkDescriptorForPipe max transfers count exceeded
KERN: usb error hub 17: KERN: error updating port status
KERN: usb error xhci 0: KERN: _LinkDescriptorForPipe max transfers count exceeded
KERN: usb error hub 17: KERN: error updating port status
KERN: usb error xhci 0: KERN: _LinkDescriptorForPipe max transfers count exceeded

Looks like one of the devices are locked up. But the syslog is cut off so it's impossible to tell who or what is triggering this. (Maybe this is from the previous boot, and it's the SD reader that locked up?)

comment:8 by taos, 5 months ago

It was from the most recent successful boot, I forgot to add the missing part from syslog_old. I'll attach another one. However, it seems that the start of the boot sequence is also missing from syslog_old. I guess I'll have to increase the size of syslogs and maybe also add timestamps again...

by taos, 5 months ago

Attachment: syslog_old+new.txt added

combined syslog from hrev53047 64 bit

comment:9 by waddlesplash, 5 months ago

It appears you have 3 different XHCI controllers -- that's pretty weird, I don't know what to make of that. Otherwise it looks like initialization partially fails, but this doesn't explain the lockups, or why things are continuing to submit transfers.

comment:10 by taos, 5 months ago

Could have to do with the following (from the specifications of the mainboard)?

AMD Ryzen™ 2nd Generation/ Ryzen™ with Radeon™ Vega Graphics/ Ryzen™ 1st Generation :
4 x USB 3.1 Gen 1 port(s) (4 at back panel, blue)
AMD B450 chipset :
2 x USB 3.1 Gen 2 port(s) (2 at back panel, red, Type-A)
AMD B450 chipset :
2 x USB 3.1 Gen 1 port(s) (2 at mid-board)
AMD B450 chipset :
2 x USB 2.0 port(s) (2 at mid-board)

The internal USB 2.0 headers are not connected since there is no USB 2.0 front panel in the enclosure.

by taos, 5 months ago

Attachment: syslog_timestamp.txt added

New syslog with timestamps. Start of timestamps should correspond to begin of latest boot.

by taos, 5 months ago

Attachment: syslog_hrev53075.txt added

Syslog from hrev53075 after initial nvme support.

comment:11 by waddlesplash, 5 months ago

The ipro1000 issue is probably an actual bug and deserves a separate ticket. Seems there were some potentially relevant commits in FreeBSD; I'll look into merging them.

comment:12 by waddlesplash, 5 months ago

I merged some new ipro1000 changes in hrev53085 which may be relevant here.

comment:13 by taos, 5 months ago

Tested with hrev53090. I don't see any obvious change in the behavior of ipro1000. It is still stuck at "configuring".

Regarding the read/write support for nvme: I was able to install Haiku to an partition of the nvme disk ("HAIKU"). However, I'm not able to boot from it. With the BOOTX64.efi (?) from the anyboot image copied to the EFI partition of the nvme disk, I'm able to get into the boot menu before the keyboard stops working.

1.) thumb drive with anyboot image still in usb port -> boot menu shows two possible boot partitions both called "Haiku" -> it doesn't matter which one is chosen, Haiku is booted from anyboot (HAIKU will be automatically mounted as data partition, all files can be read)

2.) no thumb drive in usb port -> boot menu shows "None" -> not able to boot Haiku

Do you need additional information?

by taos, 5 months ago

Attachment: syslog_hrev53090.txt added

Syslog from hrev53090.

comment:14 by diver, 5 months ago

Our EFI loader doesn't support booting from NVMe yet.

in reply to:  14 comment:15 by taos, 5 months ago

Replying to diver:

Our EFI loader doesn't support booting from NVMe yet.

Would it be enough to add nvme_disk to the AddBootModuleSymlinksToPackage section in haiku/build/jam/packages/Haiku ?

comment:16 by waddlesplash, 5 months ago

It's already there. On the few systems where the legacy BIOS supports NVMe (e.g. VMware), you can already boot off NVMe drives.

comment:17 by waddlesplash, 5 months ago

Can you try this machine with FreeBSD and see if the ethernet works there?

comment:18 by taos, 5 months ago

I'll look for the microSD card with the FreeBSD 12 image I should still have lying around somewhere from #6480. So far, I've never succeeded in booting FreeBSD with UEFI.

Last edited 5 months ago by taos (previous) (diff)

comment:19 by taos, 5 months ago

Ethernet works under FreeBSD 12 LiveCD (or let's say I can ping haiku-os.org and get an answer after ifconfig up igb0 and getting an IP address with dhclient igb0).

comment:20 by taos, 5 months ago

Just wanted to let you know that I can now boot Haiku from my NVMe drive with hrev53102. Thanks!

Regarding the I211-AT under FreeBSD, do you need any additional information?

by taos, 5 months ago

Attachment: syslog_hrev53102.txt added

Syslog from hrev53102 after booting from NVMe disk.

Note: See TracTickets for help on using tickets.