Skip to content

Bios Update not detected #14

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

Closed
bernyAtHome opened this issue Mar 10, 2020 · 12 comments
Closed

Bios Update not detected #14

bernyAtHome opened this issue Mar 10, 2020 · 12 comments
Labels
bug Something isn't working

Comments

@bernyAtHome
Copy link

Describe the bug
When I run $updates = Get-LSUpdate, no Bios Update was detected.
When I run the System Update, new Bios Version are found

Error messages or Screenshots
If applicable, copy and paste error messages or screenshot them to help explain the problem.

Please complete the following information:

  • Computer model: (Run (gcim CIM_ComputerSystem).Model to obtain)
  • Module version used: T490 / 20N3

Additional context
Add anything else about the problem here.

@bernyAtHome bernyAtHome added the bug Something isn't working label Mar 10, 2020
@jantari
Copy link
Owner

jantari commented Mar 11, 2020

Hi, what BIOS version were you on when you searched for updates and which BIOS version was offered by System Update?

Thanks

@ekafaton
Copy link

ekafaton commented Jun 4, 2020

Hi, I have the same issue:
Lenovo P53 - 20QN000GMZ
Current BIOS: N2NET32W (1.17 )
New BIOS offered by System Update: 1.22
New BIOS offered by LSUpdate: none

Other drivers work fine but the BIOS Update does not show up using get-lsupdate.
Module version shows as 1.1.1

I will gladly help testing

@jantari
Copy link
Owner

jantari commented Jun 4, 2020

Thanks @ekafaton

When you run Get-LSUpdate -DebugLogFile "C:\path\to\logfile.txt" you should get a text file where one line is: Parsing dependencies for package: n2nuj12w and then a bunch of lines starting with dashes - could you post those lines, until the next Parsing dependencies for package: .... line here?

@ekafaton
Copy link

ekafaton commented Jun 5, 2020

`Parsing dependencies for package: n2nuj12w

  • |> Node: Dependencies
    • |> Node: And
      • |> Node: _OS
      • < Returning 1 from node _OS
      • |> Node: _CPUAddressWidth
      • < Returning 1 from node _CPUAddressWidth
      • |> Node: _EmbeddedControllerVersion
      • < Returning 0 from node _EmbeddedControllerVersion
      • |> Node: _Bios
      • < Returning 1 from node _Bios
    • Tree was AND: Results: 1 1 0 1
    • < Returning 0 from node And
  • Tree was OR: Results: 0
  • < Returning 0 from node Dependencies
  • |> Node: DetectInstall
    • |> Node: And
      • |> Node: _Bios
      • < Returning 0 from node _Bios
      • |> Node: _EmbeddedControllerVersion
      • < Returning 1 from node _EmbeddedControllerVersion
    • Tree was AND: Results: 0 1
    • < Returning 0 from node And
  • Tree was OR: Results: 0
  • < Returning 0 from node DetectInstall`

@jantari
Copy link
Owner

jantari commented Jun 5, 2020

I created a new branch with a change that should fix this, but the question is whether this causes any other packages to incorrectly be found / not found - so we'll have to do some comparisons between the stable 1.1.1 and this:

https://github.com/jantari/LSUClient/tree/exp-newversioncompare

to see if it's OK.

Please download that branch, cd to its directory and Import the module with Import-Module .\LSUClient.psd1 (or else it will use the version you already have installed) and try it out.

If there are now other packages missing or showing up unexpectedly please also report that,
because I don't have any Lenovo P-Series laptops I could use to test this on.

Thanks!

@ekafaton
Copy link

ekafaton commented Jun 5, 2020

I will do some tests next week if possible, though it will be difficult to determine if any other packages are not found (now or in the future).

@jantari
Copy link
Owner

jantari commented Jun 5, 2020

The goal is to match what System Update shows, so that's my/our reference for testing whether packages are found incorrectly. Any discrepancy there is a bug I'll try and fix

@ekafaton
Copy link

Thanks @jantari
Unfortunately I had no time to test and now I also don't have any devices left to test on. Maybe someone else with a P-Series reading this can do some testing - I won't have new devices anytime soon.

@jantari
Copy link
Owner

jantari commented Jun 15, 2020

No problem, I ran some comparisons between what available updates 1.1.1 finds versus what this new branch finds across 12 devices and it didn't cause any unwanted side effects - just a few more BIOS updates found here and there, as was intended.

I'll keep this issue open until I have ran a bunch more tests, but for now it's looking good.

@jantari
Copy link
Owner

jantari commented Jul 1, 2020

Just an update, I've ran into a regression when further testing the new branch - so it's not the proper solution. I've had cases where the old behavior was more accurate / closer to System Update.

I now think this may be caused by System Update seeing a different EmbeddedController Version, possibly not getting it from WMI/CIM like I do.

@jantari
Copy link
Owner

jantari commented Jul 1, 2020

In case someone else finds this interesting; I was able to confirm my theory that the number in parentheses from
the output of (Get-CimInstance -ClassName Win32_BIOS).SMBIOSBIOSVersion is indeed not the EmbeddedController Version
like many people think, although they do align quite often on some models.

To get the actual EC Version, you'd want to get the raw SMBIOS data block with a GetSystemFirmwareTable.
According to the specification (page 31) the EC version is stored in there at offsets 0x16 and 0x17 and I found the Systeminfo powershell module already has a function for extracting such data as well.

But, while I enjoy learning about this stuff, it appears Windows also plainly surfaces this information in the registry
at HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS so for the readability of the code I've decided to just get it from there.

@jantari
Copy link
Owner

jantari commented Jul 9, 2020

The fix for this is released with version 1.1.2 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants