PureOS stops booting with firmware error

My Librem 13 v4 laptop from Purisim stops booting after the decryption of the SSD. That’s what is written on the screen:

[    0.334631] DMAR: DRHD: handling fault status reg 3
[    0.334647] DMAR: [DMA Read] Request device [00:02.0] fault addr 7c412000 [fault reason 06] PTE Read access is not set
[    0.335724] DMAR: DRHD: handling fault status reg 3
[    0.335745] DMAR: [DMA Read] Request device [00:02.0] fault addr 7c432000 [fault reason 07] Next page table ptr is invalid
[    0.336810] DMAR: DRHD: handling fault status reg 3
[    0.336829] DMAR: [DMA Read] Request device [00:02.0] fault addr 7c4a1000 [fault reason 07] Next page table ptr is invalid
[    0.336838] DMAR: DRHD: handling fault status reg 3
[    1.401717] i915 0000:00:02.0: firmware: failed to load i915/kbl_dmc_ver1_04.bin (-2)
[    1.401720] firmware_class: See https://wiki.debian.org/firmware for information about missing firmware

BusyBox v1.30.1 (Debian 1:1.30.1-4) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs) _

There ate thread in this forum with similar problems, but they seem not to fit for my problem. In Failed to load DMC firmware (more info requested) it is just a “blob-warning” and can be ignored. Hm, but I can not boot… And in Firmware failed to load it seems to be an SSD issue. But the last post suggest to start a rescue Linux from an USB-stick and install an ISO-image of PureOS. Could that really the solution for my problem?

Has this computer ever booted? If so, when it booted, did it produce the blob-warning?

It is possible that the blob-warning is a red herring and the blob-warning message just happens to be the last message output before something went wrong.

I wouldn’t install anything at this stage. However whenever any computer has a problem booting, it is always a good idea to do a test boot from known good external media (such as a USB flash drive that you have booted from previously). That may then fault isolate.

@MrChromebox ^^

these are IOMMU related, but not fatal – are you running the latest Purism firmware? (4.12-Purism-4)

these are spurious, and due to the fact that PureOS does not include (nor load) load driver blobs.

Neither of these errors would explain a failure to boot. So question time:

  • what did you do or change recently?
  • any OS updates installed?
  • running latest coreboot firmware?

MrChromebox:

Purism-Firmware-Version?

I’m not sure, where to find it. In the boot options menu I can select PureOS_GNU/Linux_[/vmlinuz-4.19.0-5-amd64]. In the PureBoot menu I can’t find any version- or system-information

kieran / MrChromebox:

Has this computer ever booted? / what did you do or change recently? / any OS updates installed?

I got the laptop from the it department of my employer. It was ordered by a former colleague. First there was a small screen problem (a stripe), and the laptop was send back to Purism. As the laptop came back the screen was ok, but the colleague left in between the company. The IT department tried to make a factory reset / reinstalling PureOS - but with no luck.
Yes, once it booted. But I do not know exactly what happened since then.

kieran:

However whenever any computer has a problem booting, it is always a good idea to do a test boot from known good external media (such as a USB flash drive that you have booted from previously). That may then fault isolate.

I can boot from a USB flash drive with a Lubuntu. There I checked the partitions with fsck: Everything is ok.

MrChromebox:

running latest coreboot firmware?

I was just before to do a firmware update with coreboot_util.sh (Firmware update with coreboot_util.sh: Error adding serial number). But I stopped due to Your suggestion, that it might no firmware issue. Should I continue to do it anyway?

sudo dmidecode

then

cd to /path/where/cbmem.sh-is

sudo ./cbmem.sh -t > cbmem-t.log

dmidecode tells me (shortened):

# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
7 structures occupying 358 bytes.
[...]
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
    Vendor: coreboot
    Version: 4.8.1-Pureboot-beta-9
    Release Date 01/01/1970
    [...]
    BIOS Revision: 4.0
    Firmware Revision: 0.0
Handle 0x0001, DMI type 1, 27 bytes
    Manufacturer: Purism
    Product Name: Librem 13 v4
    Version: 4.0
    Serial Number: [...]
    UUID: Not Settable
    [...]
    Family: Librem 13
[...]
Handle 0x0005, DMI type 32, 11 bytes
System Boot Information
    Status: No errors detected
[...]

Something unusual?

And here is the result of cbmem -f:

This seems to me ok. But I do not know what “selfboot jump” at the end means.

Anyway I’d like to thank all of You for the comments and suggestions so far - even my problem is not solved :slight_smile:

then it’s pretty old. I would update for sure and then see if the issue persists. There’s no need to persist the serial via the script, since it’s done automatically when updating via the Pureboot menu option. But the script shouldn’t be failing either, so I’ll take a look at that

Now I updated the firmware (with corboot_util.sh I got pureboot-librem_13v4-Release-15.rom). I applied it successfully. But still the boot is interrupted: Now I have two more lines:

[    0.935811] DMAR: [DMA Read] Request device [00:02.0] fault addr 85c4db000 [fault reason 06] PTE Read access is not set
[    0.952456] DMAR: DRHD: handling fault status reg 3
[    1.589397] i915 0000:00:02.0: firmware: failed to load i915/kbl_dmc_ver1_04.bin (-2)
[    1.589400] firmware_class: See https://wiki.debian.org/Firmware for information about missing firmware
[    3.043477] sd 3:0:0:0: [sdc] No Caching mode page found
[    3.043503] sd 3:0:0:0: [sdc] Assuming drive cache: write through

BusyBox v1.30.1 (Debian 1:1.30.1-4) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs) _

So just the two lines with [sdc] are new … but are they any useful information?

Three additional notes:

  • After a second boot, the [sdc] lines are vanished.
  • Before the firmware update the boot stops at first always in the BIOS menu of PureBoot. But now the boot goes through - unless I interrupt by pressing a key.
  • The BIOS has now a “System Info” entry :slight_smile: :
Librem 13 v4
FW_VER: PureBoot-Release-15
Kernel: Linux 5.4.69-PureBoot
CPU: Intel Core i7-7500U @ 2.70GHz
RAM: 32 GB
Disk /dev/sda: 233 GB
Disk /dev/sdb: 233 GB

With the Lubuntu-System from USB I tried to find hints in the system logs. My Idea: If there is a firmware- or hardware-problem, there should also Lubuntu have problems - even it can handle them obviously better, since it can boot.
I found “things”, but I am not sure that they are related. Better would be to access the system logs of PureOS - but as far as I see, they are hidden in the crypted SSD. Is there a way to access them?

Here is what I found in the Lubuntu-logs:

kern.log:

Dec  7 21:37:51 lubuntu kernel: [   74.286670] i915 0000:00:02.0 [drm] *ERROR* CPU pipe A FIFO underrun

syslog:

Dec  7 21:37:14 lubuntu pipewire[1597]: #033[1;31m[E][00000037.906696] [core.c:71 core_event_error()] core 0x55e19a377920: proxy 0x55e19a3537e0 id:4: seq:4 res:-2 (No such file or directory) msg:"can't create device: No such file or directory"#033[0m
Dec  7 21:37:14 lubuntu pipewire[1597]: #033[1;31m[E][00000037.906710] [media-session.c:1935 core_error()] id:4: seq:4 res:-2 (No such file or directory): can't create device: No such file or directory#033[0m
Dec  7 21:37:14 lubuntu pipewire[1581]: #033[1;31m[E][00000037.936945] [alsa-pcm.c:33 spa_alsa_open()] 'dront:0': playback open failed: Device or resource busy#033[0m
Dec  7 21:37:14 lubuntu pipewire[1597]: #033[1;31m[E][00000037.937383] [core.c:71 core_event_error()] core 0x55e19a377920: proxy 0x55e19a47b640 id:39: seq:125 res:-16 (Device or resource busy) msg:"enum params id:3 (Spa:Enum:ParamId:EnumFormat) failed"#033[0m
Dec  7 21:37:14 lubuntu pipewire[1597]: #033[1;31m[E][00000037.937392] [media-session.c:1935 core_error()] id:39: seq:125 res:-16 (Device or resource busy): enum params id:3 (Spa:Enum:ParamId:EnumFormat) failed#033[0m

Any more ideas what to do, to get the laptop running again? Send it back to Purism?

Email support@puri.sm for formal support?

please update the Pureboot firmware as I asked previously, you’re running a pretty old version and best to rule that out