New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Warn on machines not booted in EFI mode #1220
Comments
The devices |
How would we know that UEFI is available? When we're in compat-BIOS mode all the UEFI tables are completely invisible to us I think. Quite a few machines don't have UEFI available and I think it would be a mistake to show a warning on that kind of hardware. |
I think people using |
@superm1 do you know if there's anything we can get from DMI/SMBIOS that says "this is a UEFI-capable machine running in legacy BIOS mode"? If you reply before you get back from leave I'll shake my head disapprovingly. :) |
Is it bad to print:
|
@JohnAZoidberg
Looking over the latest SMBIOS spec, I notice that BIOS characteristics extension byte 2, bit 3 should represent this when using SMBIOS 2.3 and later. |
Given the UEFI spec can at least indicate it's UEFI capable my thought is:
Then at least Something else that I think would be useful but off topic for this project is if the OS installer could do this same check and warn someone before installing the OS to avoid people getting into this situation in the first place. |
* In startup, check BIOS characteristics for UEFI supported instead of for /sys/firmware/uefi * In coldplug check for /sys/firmware/uefi * If /sys/firwmare/uefi missing, create a dummy device telling the user it is in legacy mode
* In startup, check BIOS characteristics for UEFI supported instead of for /sys/firmware/uefi * In coldplug check for /sys/firmware/uefi * If /sys/firwmare/uefi missing, create a dummy device telling the user it is in legacy mode
* In startup, check BIOS characteristics for UEFI supported instead of for /sys/firmware/uefi * In coldplug check for /sys/firmware/uefi * If /sys/firwmare/uefi missing, create a dummy device telling the user it is in legacy mode
Thanks for the fix although I have to admit on my machine I see no change. |
@superm1 looks like something dodgy with the GError handling... |
@jankratochvil Can you please try that ^ |
I do not see much change, |
Maybe "UEFI" as a device ID isn't so good? |
I just pushed a modification to use UEFI-dummy as device ID instead, can you try that? |
Here is the new |
According to your logs, it looks like there should have been a device created now with that error titled "20KGS23S08 System Firmware", are you sure you didn't see it in |
And regarding my own testing, my development machine does not support legacy mode. |
Right, I still see only the 3 non-EFI devices and not the 2 additional EFI-only ones, the situation is the same as I originally reported in: #1220 (comment) |
Can you show the output with the current branch and this command:
# fwupdmgr get-devices --show-all-devices
|
OK, yes, with these patches and with
Still not sure if I would figure out to use |
Are you sure that device doesn't show up without show all devices and this branch? I thought we had a special case we show devices with an UpdateError. If not we can change that. |
Check that
I do not see such behavior. |
Ah, I see the problem. We're not using the right function in |
Yes, it looks good now, thanks! I will test it for real when Lenovo releases next docking station update, if any. I am a bit curious if it was really called |
Okay great thanks, as soon as CI passes I'll merge it. |
I even was installing MS-Windows (without success) to update my docking station firmware as
fwupdmgr
did not find any firmware update on it.Only after I was suggested to boot in EFI I booted from EFI flashdrive and then I could easily update my docking station firmware.
Could
fwupdmgr
print some warning that some devices may not be listed when the system is no in EFI boot mode?Please answer the following questions:
from source
,pacman
,apt-get
, etc): dnf/rpmThe text was updated successfully, but these errors were encountered: