Opened 5 years ago

Closed 5 years ago

Last modified 5 years 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:
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 years ago.
KDL when booting with USB 3.0 card reader.
syslog_ryzen5.txt (212.7 KB ) - added by taos 5 years ago.
Syslog of successful Ryzen 5 boot.
drivers.txt (1.6 KB ) - added by taos 5 years ago.
listimage | grep drivers
ifconfig.txt (643 bytes ) - added by taos 5 years ago.
ifconfig
liistusb.txt (812 bytes ) - added by taos 5 years ago.
listusb
listdev.txt (4.9 KB ) - added by taos 5 years ago.
listdev
listimage.txt (50.5 KB ) - added by taos 5 years ago.
listimage
syslog_old+new.txt (740.6 KB ) - added by taos 5 years ago.
combined syslog from hrev53047 64 bit
syslog_timestamp.txt (1.4 MB ) - added by taos 5 years 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 years ago.
Syslog from hrev53075 after initial nvme support.
syslog_hrev53090.txt (1019.8 KB ) - added by taos 5 years ago.
Syslog from hrev53090.
syslog_hrev53102.txt (819.7 KB ) - added by taos 5 years ago.
Syslog from hrev53102 after booting from NVMe disk.

Change History (32)

comment:1 by taos, 5 years 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 years ago

Attachment: Ryzen5_usb3_hrev529xx.jpg added

KDL when booting with USB 3.0 card reader.

comment:2 by waddlesplash, 5 years 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 years 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 years 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 years ago

Attachment: syslog_ryzen5.txt added

Syslog of successful Ryzen 5 boot.

by taos, 5 years ago

Attachment: drivers.txt added

listimage | grep drivers

by taos, 5 years ago

Attachment: ifconfig.txt added

ifconfig

by taos, 5 years ago

Attachment: liistusb.txt added

listusb

by taos, 5 years ago

Attachment: listdev.txt added

listdev

by taos, 5 years ago

Attachment: listimage.txt added

listimage

in reply to:  3 comment:5 by taos, 5 years 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 years 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 years 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 years 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 years ago

Attachment: syslog_old+new.txt added

combined syslog from hrev53047 64 bit

comment:9 by waddlesplash, 5 years 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 years 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 years ago

Attachment: syslog_timestamp.txt added

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

by taos, 5 years ago

Attachment: syslog_hrev53075.txt added

Syslog from hrev53075 after initial nvme support.

comment:11 by waddlesplash, 5 years 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 years ago

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

comment:13 by taos, 5 years 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 years ago

Attachment: syslog_hrev53090.txt added

Syslog from hrev53090.

comment:14 by diver, 5 years ago

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

in reply to:  14 comment:15 by taos, 5 years 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 years 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 years ago

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

comment:18 by taos, 5 years ago

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

Version 0, edited 5 years ago by taos (next)

comment:19 by taos, 5 years 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 years 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 years ago

Attachment: syslog_hrev53102.txt added

Syslog from hrev53102 after booting from NVMe disk.

Note: See TracTickets for help on using tickets.