FS#34700 - [linux] 3.8.6 breaks efibootmgr on ASUS P8Z77 WS

Attached to Project: Arch Linux
Opened by David J. Haines (dhaines) - Tuesday, 09 April 2013, 14:01 GMT
Last edited by Jan de Groot (JGC) - Saturday, 13 April 2013, 18:57 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Tobias Powalowski (tpowa)
Thomas Bächler (brain0)
Architecture x86_64
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

On the ASUS P8Z77 WS, in the 3.8.5 kernel, efibootmgr worked; it allowed you to view and change the NVRAM variables. In 3.8.6, however, it does not print the boot variables when called without arguments, and when it is used to change the boot variables, it acts as though they aren't there, printing "boot entry X does not exist," and the like. This happens even though the UEFI "BIOS" can read the variables to boot and efibootmgr off of the Arch ISO (March 2013) can manipulate them just fine. As noted, if you downgrade the kernel to 3.8.5, it works as well.
This task depends upon

Closed by  Jan de Groot (JGC)
Saturday, 13 April 2013, 18:57 GMT
Reason for closing:  Not a bug
Additional comments about closing:  See last comment. These issues are firmware bugs.
Comment by David J. Haines (dhaines) - Tuesday, 09 April 2013, 14:03 GMT
I decided to downgrade to see whether anything's different in the /sys/firmware/efi directory tree. There are indeed differences between the two kernels. I did an 'ls /sys/firmware/efi/data' for each kernel version and the following is the output from a diff of the two:

[dhaines@sirius ~]$ diff 3.8.5 3.8.6
4,9d3
< ASUSProfile1-f0681a2d-faed-4fd7-ac2d-6afa2c0301bf
< Boot0000-8be4df61-93ca-11d2-aa0d-00e098032b8c
< Boot0001-8be4df61-93ca-11d2-aa0d-00e098032b8c
< BootCurrent-8be4df61-93ca-11d2-aa0d-00e098032b8c
< BootFromUSB-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
< BootOrder-8be4df61-93ca-11d2-aa0d-00e098032b8c
11d4
< ConInDev-8be4df61-93ca-11d2-aa0d-00e098032b8c
13d5
< ConOutDev-8be4df61-93ca-11d2-aa0d-00e098032b8c
17d8
< DefaultBootOrder-45cf35f6-0d6e-4d04-856a-0370a5b16f53
28d18
< HiiDB-1b838190-4625-4ead-abc9-cd5e6af18fe0
34,35d23
< LangCodes-8be4df61-93ca-11d2-aa0d-00e098032b8c
< LastBoot-b540a530-6978-4da7-91cb-7207d764d262
40,42d27
< MrcS3Resume-87f22dcb-7304-4105-bb7c-317143ccc23b
< NBGopPlatformData-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
< NBPlatformData-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
47d31
< OemCpuData-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
49,50d32
< OsIndicationsSupported-8be4df61-93ca-11d2-aa0d-00e098032b8c
< PBRDevicePath-8be4df61-93ca-11d2-aa0d-00e098032b8c
52d33
< PchS3Peim-e6c2f70a-b604-4877-85ba-deec89e117eb
55d35
< PlatformLangCodes-8be4df61-93ca-11d2-aa0d-00e098032b8c
57d36
< PNP0400_0_VV-560bf58a-1e0d-4d7e-953f-2980a261e031
59d37
< PNP0501_0_VV-560bf58a-1e0d-4d7e-953f-2980a261e031
62d39
< PNP0510_0_VV-560bf58a-1e0d-4d7e-953f-2980a261e031
65,66d41
< ProfileName1-4b5b31ae-024a-412b-b2f4-5c70632605c7
< S3SS-4bafc2b4-02dc-4104-b236-d6f1b98d9e84
70d44
< SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c
72d45
< Setup-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
76,77d48
< SetupMode-8be4df61-93ca-11d2-aa0d-00e098032b8c
< SetupPlatformData-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
79d49
< SignatureSupport-8be4df61-93ca-11d2-aa0d-00e098032b8c
82,85d51
< Timeout-8be4df61-93ca-11d2-aa0d-00e098032b8c
< UsbMassDevNum-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
< UsbMassDevValid-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
< USB_POINT-c811fa38-42c8-4579-a9bb-60e94eddfb34

It looks like 3.8.6 is really off-base with respect to the efi NVRAM vars.
Comment by Jan de Groot (JGC) - Wednesday, 10 April 2013, 23:55 GMT
Can you attach dmesg output of 3.8.5?
Comment by David J. Haines (dhaines) - Friday, 12 April 2013, 14:54 GMT
Here you go, with 3.8.6 for comparison.
Comment by Jan de Groot (JGC) - Friday, 12 April 2013, 20:02 GMT
Just as I expected. Your EFI variables are broken. 3.8.6 fixes this by not handling efivars when duplicate variables exist.
Comment by David J. Haines (dhaines) - Friday, 12 April 2013, 20:27 GMT
Well that's just fantastic. Though I know that this isn't exactly the right forum, can you point me towards how to fix them?
Comment by David J. Haines (dhaines) - Saturday, 13 April 2013, 15:29 GMT
I updated my firmware and the duplicate entries have disappeared. efibootmgr now reads the boot variables, but it does not seem to be able to write to them.

Loading...