Framework 16 (Ryzen 9 7940HS) and FreeBSD 14.0-RELEASE

Hi,

I just received the new model from Frame.work and tried to boot 14.0-RELEASE.

It makes it to the Install FREEBSD screen, I selected the Verbose Boot option, and it makes it to

ppc0 failed to probe at irq7 on isa0

and freezes.

As a note, you have to turn off the Secure Boot in the BIOS or it will not even try to boot.

if someone wants to dive deeper into this, I’ll be happy to provide whatever additional information/assistance is needed. I know this is brand new hardware, and right now I am just seeing what will run on it.

Edit: movie of boot up in verbose mode linked below.it runs pretty fast, but it has pretty much everything from the initial install menu on.

Video here

you can somewhat scrub the video if you download it to your device, but the scrolling is so fast it is still hard to read everything. I’ll take any suggestions as to how to better capture this!
 
I also ordered one and planned to use it as new daily driver with FreeBSD (later batch though, will probably not get it before end of Q1), so I am very curious about your progress!
 
Hi gerry, have you made any further progress beyond this point?

My Framework 16 arrived yesterday and I tried 13.3, 14-STABLE and the latest 15-CURRENT snapshot and they all stop at the same point (what you wrote above, "ppc0 failed to probe at irq7 on isa0")
 
Following up on my own post -

Assuming that the problem is ppc probing from the boot message, I tried again with 14.0-RELEASE and disabled ppc probing by adding

Code:
hint.ppc.0.disabled=1

to /boot/loader.conf on the installation media.

Now booting stops at:

Code:
ppc0: not probed (disabled)

That means the problem very likely is whatever comes after parallel port probing...
 
That means the problem very likely is whatever comes after parallel port probing...
Maybe it's uart*.

See https://lists.freebsd.org/archives/freebsd-current/2024-February/005672.html
Code:
Unable to boot -CURRENT on Thinkpad P16s G2
...
ppc0: cannot reserve I/O port range
ppc0 failed to probe at irq 7 on isa0
uart0 failed to probe at port 0x3f8 irq 4 on isa0
...

Reply: https://lists.freebsd.org/archives/freebsd-current/2024-March/005693.html
Code:
...
Short follow-up: disabling uart0 and uart1 at the loader prompt allowed 
us to boot and install FreeBSD (the -CURRENT snapshot from 2024-02-29 in 
case it matters).
...

Reply: https://lists.freebsd.org/archives/freebsd-current/2024-March/005696.html
Code:
...
UARTS on AMD can be a bit different.  Some BIOS implementations seem
to set them up to work like legacy ports others do not.  On a Naples
platform I helped add support for them since they were not setup
in the legacy configuration.  The AMD servers I'm using now have them
setup in legacy mode and just work like on other systems.

If I remember right those UARTS were defined in ACPI.  On a laptop they
probably don't have serial ports and the probe is getting stuck on
something.  It might be good to instrument it to see what.
...
 
Aaaaand one more follow up -

This is the solution:

https://codeberg.org/grahamperrin/freebsd-src/issues/8

I.e. adding

Code:
hint.uart.0.disabled=1
hint.uart.1.disabled=1

...is enough to boot and install FreeBSD14-RELEASE.

Did not yet check anything beyond basic installation like Xorg, WIFI etc of course.
Disabling uart.0 and uart.1 has stopped the freeze/lockup using the FreeBSD-14.0-RELEASE-amd64-memstick install, but it does reboot with a "Page Fault while in kernel mode page not present" that I am going to try to capture but it happens so fast.

Do you have the Ryzen 9 motherboard?

On mine it makes it past:
Identifying the Framework Numpad Module and Keypad module

iichid1: Interrupt setup failed, Fallback to sampling
hidbus1: <HID bus> on iichid1
ng_hci_process_command_timeout: ubt0hci - unable to complete HCI command OGF=0x3, OCF=0x3. Timeout
and in the blurry screen I can read:
some references to Bluetooth stack for device ubt0
HMS0: <PIXA3854:06 093A 0274 Mouse> on hidbus1 although some of that was blurry
and I think it says:
fault virtual address = 0xffffff80c05b3eb40

I may try to find time to redirect the console to a USB port and try to capture the boot via a serial port on another computer.
 
Disabling uart.0 and uart.1 has stopped the freeze/lockup using the FreeBSD-14.0-RELEASE-amd64-memstick install, but it does reboot with a "Page Fault while in kernel mode page not present" that I am going to try to capture but it happens so fast.

Do you have the Ryzen 9 motherboard?

I guess so, from my dmesg:

CPU: AMD Ryzen 9 7940HS w/ Radeon 780M Graphics (3992.67-MHz K8-class CPU) Origin="AuthenticAMD" Id=0xa70f41 Family=0x19 Model=0x74 Stepping=1 Features=0x178bfbff Features2=0x7ef8320b AMD Features=0x2e500800 AMD Features2=0x75c237ff Structured Extended Features=0xf1bf97a9 Structured Extended Features2=0x405fde Structured Extended Features3=0x10000000 XSAVE Features=0xf AMD Extended Feature Extensions ID EBX=0x791ef257 SVM: NP,NRIP,VClean,AFlush,DAssist,NAsids=32768 TSC: P-state invariant, performance statistics

The uart hints were the only things I had to change, after that, everything worked smoothly...

I remember I had a fault once or twice on boot as well though, but then the second time booting worked fine each time, so maybe a race condition somewhere or so.

You also might try to remove the pluggable port modules to see if it has something to do with them?

I don't use the separate Numpad keyboard module btw, maybe this one interferes?
 
I guess so, from my dmesg:

CPU: AMD Ryzen 9 7940HS w/ Radeon 780M Graphics (3992.67-MHz K8-class CPU) Origin="AuthenticAMD" Id=0xa70f41 Family=0x19 Model=0x74 Stepping=1 Features=0x178bfbff Features2=0x7ef8320b AMD Features=0x2e500800 AMD Features2=0x75c237ff Structured Extended Features=0xf1bf97a9 Structured Extended Features2=0x405fde Structured Extended Features3=0x10000000 XSAVE Features=0xf AMD Extended Feature Extensions ID EBX=0x791ef257 SVM: NP,NRIP,VClean,AFlush,DAssist,NAsids=32768 TSC: P-state invariant, performance statistics

The uart hints were the only things I had to change, after that, everything worked smoothly...

I remember I had a fault once or twice on boot as well though, but then the second time booting worked fine each time, so maybe a race condition somewhere or so.

You also might try to remove the pluggable port modules to see if it has something to do with them?

I don't use the separate Numpad keyboard module btw, maybe this one interferes?
Thanks for the information!

I just removed the numpad and all port modules except 1 usb-c that is where the memstick is plugged in and it endless reboots. I see it recognized the keyboard, but shortly thereafter it faults and reboots.

I’ll see if I have luck redirecting console to a usb port and capturing that on another computer to get the exact details.
 
As a follow-up for those who wish to know, here is the output from the lspci -vv command under Debian on the Framework 16 with all of the port modules I have installed:

lspci -vv output attached
 

Attachments

  • lspci.framework16.output.txt
    79.2 KB · Views: 9
  • lshw.txt
    36.4 KB · Views: 26
Thanks for the information!

I just removed the numpad and all port modules except 1 usb-c that is where the memstick is plugged in and it endless reboots. I see it recognized the keyboard, but shortly thereafter it faults and reboots.

I’ll see if I have luck redirecting console to a usb port and capturing that on another computer to get the exact details.
So I am not convinced you can redirect console during an initial installation boot, but I will keep digging. I have tried recording the boot sequence via my phone, but the scroll is so fast, especially just before the crash that the video is nothing but a blur of overlaid text.
 
So I am not convinced you can redirect console during an initial installation boot, but I will keep digging. I have tried recording the boot sequence via my phone, but the scroll is so fast, especially just before the crash that the video is nothing but a blur of overlaid text.
A few more thoughts:

You should be able to enable crash dumping to the USB stick, no? Then you should be able to read the crash dump on another system...

Second: My Framework is from a later batch and has a BIOS version from 24 January or so I think (which I have not updated myself), maybe you might want to check that as well and possibly update it.

Also, if you want to compare your PCI devices:

Code:
$ pciconf -lv
hostb0@pci0:0:0:0:    class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14e8 subvendor=0xf111 subdevice=0x0005
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = bridge
    subclass   = HOST-PCI
amdiommu0@pci0:0:0:2:    class=0x080600 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14e9 subvendor=0xf111 subdevice=0x0005
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = base peripheral
    subclass   = IOMMU
hostb1@pci0:0:1:0:    class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14ea subvendor=0x0000 subdevice=0x0000
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = bridge
    subclass   = HOST-PCI
hostb2@pci0:0:2:0:    class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14ea subvendor=0x0000 subdevice=0x0000
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = bridge
    subclass   = HOST-PCI
pcib1@pci0:0:2:2:    class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x14ee subvendor=0x1022 subdevice=0x1453
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = bridge
    subclass   = PCI-PCI
pcib2@pci0:0:2:4:    class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x14ee subvendor=0x1022 subdevice=0x1453
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = bridge
    subclass   = PCI-PCI
hostb3@pci0:0:3:0:    class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14ea subvendor=0x0000 subdevice=0x0000
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = bridge
    subclass   = HOST-PCI
pcib3@pci0:0:3:1:    class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x14ef subvendor=0x1022 subdevice=0x1453
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Family 19h USB4/Thunderbolt PCIe tunnel'
    class      = bridge
    subclass   = PCI-PCI
none0@pci0:0:3:2:    class=0x000000 rev=0x00 hdr=0x00 vendor=0x0000 device=0x0000 subvendor=0x0000 subdevice=0x0000
    class      = old
    subclass   = non-VGA display device
none1@pci0:0:3:3:    class=0x000000 rev=0x00 hdr=0x00 vendor=0x0000 device=0x0000 subvendor=0x0000 subdevice=0x0000
    class      = old
    subclass   = non-VGA display device
none2@pci0:0:3:4:    class=0x000000 rev=0x00 hdr=0x00 vendor=0x0000 device=0x0000 subvendor=0x0000 subdevice=0x0000
    class      = old
    subclass   = non-VGA display device
hostb4@pci0:0:4:0:    class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14ea subvendor=0x0000 subdevice=0x0000
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = bridge
    subclass   = HOST-PCI
pcib4@pci0:0:4:1:    class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x14ef subvendor=0x1022 subdevice=0x1453
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Family 19h USB4/Thunderbolt PCIe tunnel'
    class      = bridge
    subclass   = PCI-PCI
hostb5@pci0:0:8:0:    class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14ea subvendor=0x0000 subdevice=0x0000
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = bridge
    subclass   = HOST-PCI
pcib5@pci0:0:8:1:    class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x14eb subvendor=0x0005 subdevice=0xf111
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = bridge
    subclass   = PCI-PCI
pcib6@pci0:0:8:2:    class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x14eb subvendor=0x0005 subdevice=0xf111
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = bridge
    subclass   = PCI-PCI
pcib7@pci0:0:8:3:    class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x14eb subvendor=0x0005 subdevice=0xf111
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = bridge
    subclass   = PCI-PCI
intsmb0@pci0:0:20:0:    class=0x0c0500 rev=0x71 hdr=0x00 vendor=0x1022 device=0x790b subvendor=0xf111 subdevice=0x0005
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'FCH SMBus Controller'
    class      = serial bus
    subclass   = SMBus
none3@pci0:0:20:3:    class=0x060100 rev=0x51 hdr=0x00 vendor=0x1022 device=0x790e subvendor=0xf111 subdevice=0x0005
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'FCH LPC Bridge'
    class      = bridge
    subclass   = PCI-ISA
hostb6@pci0:0:24:0:    class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14f0 subvendor=0x0000 subdevice=0x0000
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = bridge
    subclass   = HOST-PCI
hostb7@pci0:0:24:1:    class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14f1 subvendor=0x0000 subdevice=0x0000
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = bridge
    subclass   = HOST-PCI
hostb8@pci0:0:24:2:    class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14f2 subvendor=0x0000 subdevice=0x0000
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = bridge
    subclass   = HOST-PCI
hostb9@pci0:0:24:3:    class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14f3 subvendor=0x0000 subdevice=0x0000
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = bridge
    subclass   = HOST-PCI
hostb10@pci0:0:24:4:    class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14f4 subvendor=0x0000 subdevice=0x0000
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = bridge
    subclass   = HOST-PCI
hostb11@pci0:0:24:5:    class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14f5 subvendor=0x0000 subdevice=0x0000
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = bridge
    subclass   = HOST-PCI
hostb12@pci0:0:24:6:    class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14f6 subvendor=0x0000 subdevice=0x0000
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = bridge
    subclass   = HOST-PCI
hostb13@pci0:0:24:7:    class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14f7 subvendor=0x0000 subdevice=0x0000
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = bridge
    subclass   = HOST-PCI
none4@pci0:1:0:0:    class=0x028000 rev=0x00 hdr=0x00 vendor=0x14c3 device=0x0616 subvendor=0x14c3 subdevice=0xe616
    vendor     = 'MEDIATEK Corp.'
    device     = 'MT7922 802.11ax PCI Express Wireless Network Adapter'
    class      = network
nvme0@pci0:2:0:0:    class=0x010802 rev=0x01 hdr=0x00 vendor=0x15b7 device=0x5030 subvendor=0x15b7 subdevice=0x5030
    vendor     = 'Sandisk Corp'
    device     = 'WD Black SN850X NVMe SSD'
    class      = mass storage
    subclass   = NVM
vgapci0@pci0:193:0:0:    class=0x030000 rev=0xc1 hdr=0x00 vendor=0x1002 device=0x15bf subvendor=0xf111 subdevice=0x0005
    vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
    device     = 'Phoenix1'
    class      = display
    subclass   = VGA
hdac0@pci0:193:0:1:    class=0x040300 rev=0x00 hdr=0x00 vendor=0x1002 device=0x1640 subvendor=0xf111 subdevice=0x0005
    vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
    device     = 'Rembrandt Radeon High Definition Audio Controller'
    class      = multimedia
    subclass   = HDA
none5@pci0:193:0:2:    class=0x108000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15c7 subvendor=0xf111 subdevice=0x0005
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Family 19h (Model 74h) CCP/PSP 3.0 Device'
    class      = encrypt/decrypt
xhci0@pci0:193:0:3:    class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15b9 subvendor=0xf111 subdevice=0x0005
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = serial bus
    subclass   = USB
xhci1@pci0:193:0:4:    class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15ba subvendor=0xf111 subdevice=0x0005
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = serial bus
    subclass   = USB
none6@pci0:193:0:5:    class=0x048000 rev=0x63 hdr=0x00 vendor=0x1022 device=0x15e2 subvendor=0xf111 subdevice=0x0005
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'ACP/ACP3X/ACP6x Audio Coprocessor'
    class      = multimedia
hdac1@pci0:193:0:6:    class=0x040300 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15e3 subvendor=0xf111 subdevice=0x0005
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Family 17h/19h HD Audio Controller'
    class      = multimedia
    subclass   = HDA
none7@pci0:194:0:0:    class=0x130000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14ec subvendor=0xf111 subdevice=0x0005
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = non-essential instrumentation
none8@pci0:194:0:1:    class=0x118000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1502 subvendor=0xf111 subdevice=0x0005
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'AMD IPU Device'
    class      = dasp
none9@pci0:195:0:0:    class=0x130000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14ec subvendor=0xf111 subdevice=0x0005
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = non-essential instrumentation
xhci2@pci0:195:0:3:    class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15c0 subvendor=0xf111 subdevice=0x0005
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = serial bus
    subclass   = USB
xhci3@pci0:195:0:4:    class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15c1 subvendor=0xf111 subdevice=0x0005
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    class      = serial bus
    subclass   = USB
none10@pci0:195:0:5:    class=0x0c0340 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1668 subvendor=0xf111 subdevice=0x0005
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Pink Sardine USB4/Thunderbolt NHI controller'
    class      = serial bus
    subclass   = USB
none11@pci0:195:0:6:    class=0x0c0340 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1669 subvendor=0xf111 subdevice=0x0005
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Pink Sardine USB4/Thunderbolt NHI controller'
    class      = serial bus
    subclass   = USB
 
I have installed the BIOS update and still end up in a crash/reboot cycle. I’ll see what I need to do to enable the crash dump to the memstick this weekend. I’ll also compare the pci info to see if there are any differences, which there shouldn’t be. Thanks again for your patience and help!
 
Back
Top