ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - SPI1.SPFD.CVFD

ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - SPI1.SPFD.CVFD

Weird error displayed recorded in the system startup log:

ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - ^SPI1.SPFD.CVFD (20230331/dspkginit-438)

ACPI is Advanced Configuration and Power Interface. This is an error you may be able to ignore as there are lots of computers with substandard ACPI. Here is a guide.

Who sees this error?

Anyone with the latest version of an advanced operating system might see this error if they browse the system logs or run the dmesg command after a boot. If you are stuck with a restrictive propriety operating system from a trillion dollar company, Windows, Chrome, anything from Apple, you might not be allowed to see their equivalent message.

In fact those junk operating systems might ignore the errors because it would cost a few hundred dollars to add code to test for the errors, not something you want to do when your target is billions of dollars of profit every month.

What does it mean?

ACPI errors are typically computer brands rushing out new models without testing. They go to the big assemblers in China and discuss the decorations on the computer case than the hardware inside or just let the Chinese engineers select everything. Steve jobs said the iPhone was developed by 5,000 Chinese engineers. Apple did only some styling and software.

Here are two common ACPI errors. In both cases, the computer BIOS fails to provide a meaningful properly formed reply when asked an ACPI related question by the OS. The OS does not know what the BIOS can do because the BIOS is wrong.

ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - ^SPI1.SPFD.CVFD (20230331/dspkginit-438)
ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - ^XHCI.RHUB.HS04.VI2C (20230331/dspkginit-438)

The result is the OS decides to not use a BIOS feature because the BIOS cannot describe the feature in a useful way. AN OS like Windows might make guesses about what the BIOS means and that might help explain why Windows has strange go slow problems, a situation when the OS tries to use something missing from the BIOS or with the wrong interface.

When?

The message occurs during bootup when the OS asks the BIOS what the BIOS can do. Crashes are rare because they are fixed fast. What might happen is part of the system might run a little bit slower without the use of a feature but not as slow as the system would run if it just guessed what the BIOS could do. Ignoring faulty features is the most reliable option.

Where?

The error messages occur in computers where the BIOS is not complete. Not enough development or testing. The error messages started appearing after the Linux kernel starting asking the BIOS more questions about ACPI options. As soon as the OS kernel developers stamp out one error, the computer manufacturers rush out computers with a new untested BIOS.

Why?

BIOS development costs time and money. The CEOs of big brand computer companies have to impress shareholders every year to get their $5 million or $50 million dollar bonuses. A year is enough time to install a new CPU chip, change the decoration of the computer case, and rush out a new BIOS but not enough time to test the BIOS.

A change like matching the BIOS to the power levels of NVMe SSDs seemed like a big task many years ago when NVMe SSDs were introduced. Today, many years after the introduction. SSD manufacturers still do not match their SSDs to the commonly defined levels and BIOS writers have not yet matched the variations to ACPI. Plus the hardware brands often refuse to supply enough memory to store a decent BIOS. New features are distorted to save space. Then the brand owners refuse to pay for the development of BIOS updates to fix problems.

How can an OS kernel match up to the twenty five billion combination of errors in the many BIOS versions used throughout the world?

Take one of many examples where corporate bean counters override common sense. Way back in the past, storage was based on 256 byte blocks. The storage was upgraded to 512 blocks to make best use of bigger capacities. I wrote about moving to 1024 byte blocks and may have mentioned the upgrade on stage at conferences. At about the same time, Seagate published a report within the computer industry recommending the same upgrade. Microsoft blocked the upgrade because Microsoft ignored the 256 to 512 change and never planned for 1024 or anything bigger.

Windows was written to use a very small restrictive interface between the BIOS and the OS. Microsoft refused to change it. Linux changed ready for the upgrade and included the flexibility to go up to 4096 or more. Microsoft said no. Seagate was not big enough to change Microsoft. My message to the world was mostly ignored because I was talking to CEOs of computer using companies, not CEOs of computer manufacturing companies.

Disks have now evolved to 4096 byte physical blocks, something I predicted, but the BIOS still talks 512 blocks and the disk controller has to emulate 512 byte blocks in a 41096 bock disk with a result that the disks are often very slow. We still cannot buy retail computers designed for the 4096 byte disks. Some servers are designed for modern disks but no anything that runs Windows desktop. I never imagined Microsoft could be so pig headed because they used to be a company that helped people solve problems.

Way?

You find the error messages. Test your computer for a few days. No problems? OK, the ACPI errors are not producing problems.

Test USB devices to make sure backup disks work ok. Anything outside of that might include slightly slower disk access activity but not anything you will notice. Your computer might use sightly more power at idle because the SSDs are not switching down to the lowest power level.

Compare with other people using a similar CPU and disk combination but a different BIOS. If there is noticeable difference and you are the only one getting some of the errors, the next step is to look for a BIOS update. BIOS updates are common for machines about a year old and fix the most disastrous problems. After that the brand owners mostly refuse to spend money on BIOS updates.

If there is no BIOS update or the BIOS update does not fix the problem, the problem will never be fixed. A future update to the OS might fix the problem for the more common examples of BIOS errors. You need to work out an alternative. A slow disk might be easier to fix with an upgrade to a newer model.

Worth?

Investigating boot errors and warnings is valuable because some of the messages lead to simple changes with noticeable improvements. Everything else is not worth the effort unless you see crashes or data corruption.

Jump on crashes. Report them. Search for fixes. The OS developers need your reports to develop fixes.

Data corruption is harder. I see it with USB 3 cables because USB 3 is a really sloppy standard. The only real fix is to toss out everything USB 3 and replace with USB 3.1.

There are other causes for data corruption. Investigate. It could be software or hardware. Software problems can be the OS or the application. Hardware could be anything including voltage fluctuations in the mains power. Fixing them is more important than just restoring from a backup as your backups can have exactly the same corruption if you do not fix the problem.

investigate everything. you can then safely ignore the unimportant.

Tags