jantari / LSUClient

Orchestrate driver, BIOS/UEFI and firmware updates for Lenovo computers 👨‍💻
https://jantari.github.io/LSUClient-docs/
MIT License
208 stars 21 forks source link

Intel Chipset Device Software failing on X1 Yoga gen 7 #83

Open swoonhusker1 opened 1 year ago

swoonhusker1 commented 1 year ago

Version

1.5.3

Computer Model

21CES50100

Problem

Running a get-lsupdate finds the following: n3aic04w "Intel Chipset Device Software - 10 (20H2 or Later)/11 (21H2 or Later)" 9/19/22 release date

When installing the failure reason is INSTALLER_EXITCODE

I'm attaching logs of the get-lsupdate -verbose -debug and also install-lsupdate. install-lsupdate debug.log get-lsupdate debug.log

Additional context

No response

jantari commented 1 year ago

It appears that driver might already be installed and is falsely returned by LSUClient as an available update.

If you have Lenovo System Update installed too, does it show the same driver as an available update or no?

swoonhusker1 commented 1 year ago

When I check Lenovo system update it does not show any available updates. Sorry I didn't include that before

jantari commented 1 year ago

Thanks, so the cause for the driver showing up again is in here:

``` VERBOSE: Detecting install status of package: n3aic04w (Intel Chipset Device Software - 10 (20H2 or Later)/11 (21H2 or Later)) DEBUG: - |> Node: DetectInstall DEBUG: - - |> Node: And DEBUG: - - - |> Node: _Driver DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_467D&SUBSYS_22E617AA&REV_01' with required 'PCI\VEN_8086&DEV_467D' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_467D&SUBSYS_22E617AA' with required 'PCI\VEN_8086&DEV_467D' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_467D&CC_118000' with required 'PCI\VEN_8086&DEV_467D' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_467D&CC_1180' with required 'PCI\VEN_8086&DEV_467D' (WILDCARD) DEBUG: - - - Adding device - HardwareIDs matched only when using wildcards DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_464D&SUBSYS_22E617AA&REV_02' with required 'PCI\VEN_8086&DEV_464D' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_464D&SUBSYS_22E617AA' with required 'PCI\VEN_8086&DEV_464D' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_464D&CC_060400' with required 'PCI\VEN_8086&DEV_464D' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_464D&CC_0604' with required 'PCI\VEN_8086&DEV_464D' (WILDCARD) DEBUG: - - - Adding device - HardwareIDs matched only when using wildcards DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_4621&SUBSYS_22E617AA&REV_02' with required 'PCI\VEN_8086&DEV_4621' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_4621&SUBSYS_22E617AA' with required 'PCI\VEN_8086&DEV_4621' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_4621&CC_060000' with required 'PCI\VEN_8086&DEV_4621' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_4621&CC_0600' with required 'PCI\VEN_8086&DEV_4621' (WILDCARD) DEBUG: - - - Adding device - HardwareIDs matched only when using wildcards DEBUG: - - - Matched devices: 0 exact, 3 wildcard DEBUG: - - - Testing PCI\VEN_8086&DEV_467D&SUBSYS_22E617AA&REV_01\3&11583659&0&50 DEBUG: - - - Device 'Performance Monitor' DriverRank is 0x00FF2001 VERBOSE: Device 'Performance Monitor' may currently be using a generic or inbox driver DEBUG: - - - Trying to match driver based on Version DEBUG: - - - [Got: 10.0.19041.1202, Expected: 10.1.45.4^] DEBUG: - - - Failed DriverVersion test DEBUG: - - - Testing PCI\VEN_8086&DEV_464D&SUBSYS_22E617AA&REV_02\3&11583659&0&30 DEBUG: - - - Device 'Intel(R) PEG60 - 464D' DriverRank is 0x00FF2001 VERBOSE: Device 'Intel(R) PEG60 - 464D' may currently be using a generic or inbox driver DEBUG: - - - Trying to match driver based on Version DEBUG: - - - [Got: 10.1.45.4, Expected: 10.1.45.4^] DEBUG: - - - Passed DriverVersion test DEBUG: - - - Testing PCI\VEN_8086&DEV_4621&SUBSYS_22E617AA&REV_02\3&11583659&0&00 DEBUG: - - - Device 'Intel(R) Host Bridge/DRAM Registers - 4621' DriverRank is 0x00FF2001 VERBOSE: Device 'Intel(R) Host Bridge/DRAM Registers - 4621' may currently be using a generic or inbox driver DEBUG: - - - Trying to match driver based on Version DEBUG: - - - [Got: 10.1.45.4, Expected: 10.1.45.4^] DEBUG: - - - Passed DriverVersion test DEBUG: - - - < Returning 0 from node _Driver DEBUG: - - - |> Node: _Driver DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_51A3&SUBSYS_22E617AA&REV_01' with required 'PCI\VEN_8086&DEV_51A3' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_51A3&SUBSYS_22E617AA' with required 'PCI\VEN_8086&DEV_51A3' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_51A3&CC_0C0500' with required 'PCI\VEN_8086&DEV_51A3' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_51A3&CC_0C05' with required 'PCI\VEN_8086&DEV_51A3' (WILDCARD) DEBUG: - - - Adding device - HardwareIDs matched only when using wildcards DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_51B8&SUBSYS_22E617AA&REV_01' with required 'PCI\VEN_8086&DEV_51B8' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_51B8&SUBSYS_22E617AA' with required 'PCI\VEN_8086&DEV_51B8' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_51B8&CC_060400' with required 'PCI\VEN_8086&DEV_51B8' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_51B8&CC_0604' with required 'PCI\VEN_8086&DEV_51B8' (WILDCARD) DEBUG: - - - Adding device - HardwareIDs matched only when using wildcards DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_51EF&SUBSYS_22E617AA&REV_01' with required 'PCI\VEN_8086&DEV_51EF' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_51EF&SUBSYS_22E617AA' with required 'PCI\VEN_8086&DEV_51EF' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_51EF&CC_050000' with required 'PCI\VEN_8086&DEV_51EF' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_51EF&CC_0500' with required 'PCI\VEN_8086&DEV_51EF' (WILDCARD) DEBUG: - - - Adding device - HardwareIDs matched only when using wildcards DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_51A4&SUBSYS_22E617AA&REV_01' with required 'PCI\VEN_8086&DEV_51A4' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_51A4&SUBSYS_22E617AA' with required 'PCI\VEN_8086&DEV_51A4' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_51A4&CC_0C8000' with required 'PCI\VEN_8086&DEV_51A4' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_51A4&CC_0C80' with required 'PCI\VEN_8086&DEV_51A4' (WILDCARD) DEBUG: - - - Adding device - HardwareIDs matched only when using wildcards DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_5182&SUBSYS_22E617AA&REV_01' with required 'PCI\VEN_8086&DEV_5182' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_5182&SUBSYS_22E617AA' with required 'PCI\VEN_8086&DEV_5182' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_5182&CC_060100' with required 'PCI\VEN_8086&DEV_5182' (WILDCARD) DEBUG: - - - Matched device 'PCI\VEN_8086&DEV_5182&CC_0601' with required 'PCI\VEN_8086&DEV_5182' (WILDCARD) DEBUG: - - - Adding device - HardwareIDs matched only when using wildcards DEBUG: - - - Matched devices: 0 exact, 5 wildcard DEBUG: - - - Testing PCI\VEN_8086&DEV_51A3&SUBSYS_22E617AA&REV_01\3&11583659&0&FC DEBUG: - - - Device 'Intel(R) SMBus - 51A3' DriverRank is 0x00FF2001 VERBOSE: Device 'Intel(R) SMBus - 51A3' may currently be using a generic or inbox driver DEBUG: - - - Trying to match driver based on Version DEBUG: - - - [Got: 10.1.36.6, Expected: 10.1.36.6^] DEBUG: - - - Passed DriverVersion test DEBUG: - - - Testing PCI\VEN_8086&DEV_51B8&SUBSYS_22E617AA&REV_01\3&11583659&0&E0 DEBUG: - - - Device 'Intel(R) PCI Express Root Port #1 - 51B8' DriverRank is 0x00FF2001 VERBOSE: Device 'Intel(R) PCI Express Root Port #1 - 51B8' may currently be using a generic or inbox driver DEBUG: - - - Trying to match driver based on Version DEBUG: - - - [Got: 10.1.36.6, Expected: 10.1.36.6^] DEBUG: - - - Passed DriverVersion test DEBUG: - - - Testing PCI\VEN_8086&DEV_51EF&SUBSYS_22E617AA&REV_01\3&11583659&0&A2 DEBUG: - - - Device 'Intel(R) Shared SRAM - 51EF' DriverRank is 0x00FF2001 VERBOSE: Device 'Intel(R) Shared SRAM - 51EF' may currently be using a generic or inbox driver DEBUG: - - - Trying to match driver based on Version DEBUG: - - - [Got: 10.1.36.6, Expected: 10.1.36.6^] DEBUG: - - - Passed DriverVersion test DEBUG: - - - Testing PCI\VEN_8086&DEV_51A4&SUBSYS_22E617AA&REV_01\3&11583659&0&FD DEBUG: - - - Device 'Intel(R) SPI (flash) Controller - 51A4' DriverRank is 0x00FF2001 VERBOSE: Device 'Intel(R) SPI (flash) Controller - 51A4' may currently be using a generic or inbox driver DEBUG: - - - Trying to match driver based on Version DEBUG: - - - [Got: 10.1.36.6, Expected: 10.1.36.6^] DEBUG: - - - Passed DriverVersion test DEBUG: - - - Testing PCI\VEN_8086&DEV_5182&SUBSYS_22E617AA&REV_01\3&11583659&0&F8 DEBUG: - - - Device 'Intel(R) LPC Controller - 5182' DriverRank is 0x00FF2001 VERBOSE: Device 'Intel(R) LPC Controller - 5182' may currently be using a generic or inbox driver DEBUG: - - - Trying to match driver based on Version DEBUG: - - - [Got: 10.1.36.6, Expected: 10.1.36.6^] DEBUG: - - - Passed DriverVersion test DEBUG: - - - < Returning 1 from node _Driver DEBUG: - - Tree was AND: Results: 0 1 DEBUG: - - < Returning 0 from node And DEBUG: - Tree was OR: Results: 0 DEBUG: - < Returning 0 from node DetectInstall ```

The first _Driver test fails because the device PCI\VEN_8086&DEV_467D doesn't use this driver. It's one of three device IDs Lenovo tests for and the other two do pass the test.

Currently I require all hardware IDs listed in a _Driver test to pass which is why this package comes back as not installed yet. I'm going to have to take some time to look into this case and if the behavior can be tweaked to match System Update but without regressing on another end.

swoonhusker1 commented 1 year ago

Okay, thanks for looking at it Jantari.

jantari commented 1 year ago

I have run some comparisons of the results when passing _Driver tests if just one found device passes the test vs all like it is currently. Most of the time it does not make a difference but I found a system where it did:

Results with current behavior - all matched devices have to pass tests ``` AUSFÜHRLICH: Detecting install status of package: r02ia10w (Intel(R) Chipset Device Software - 10 [64]) DEBUG: - |> Node: DetectInstall DEBUG: - - |> Node: _Driver DEBUG: - - Matched device 'PCI\VEN_8086&DEV_9D48&SUBSYS_505317AA&REV_21' with required 'PCI\VEN_8086&DEV_9D48' (WILDCARD) DEBUG: - - Matched device 'PCI\VEN_8086&DEV_9D48&SUBSYS_505317AA' with required 'PCI\VEN_8086&DEV_9D48' (WILDCARD) DEBUG: - - Matched device 'PCI\VEN_8086&DEV_9D48&CC_060100' with required 'PCI\VEN_8086&DEV_9D48' (WILDCARD) DEBUG: - - Matched device 'PCI\VEN_8086&DEV_9D48&CC_0601' with required 'PCI\VEN_8086&DEV_9D48' (WILDCARD) DEBUG: - - Adding device - HardwareIDs matched only when using wildcards DEBUG: - - Matched device 'PCI\VEN_8086&DEV_9D23&SUBSYS_505317AA&REV_21' with required 'PCI\VEN_8086&DEV_9D23' (WILDCARD) DEBUG: - - Matched device 'PCI\VEN_8086&DEV_9D23&SUBSYS_505317AA' with required 'PCI\VEN_8086&DEV_9D23' (WILDCARD) DEBUG: - - Matched device 'PCI\VEN_8086&DEV_9D23&CC_0C0500' with required 'PCI\VEN_8086&DEV_9D23' (WILDCARD) DEBUG: - - Matched device 'PCI\VEN_8086&DEV_9D23&CC_0C05' with required 'PCI\VEN_8086&DEV_9D23' (WILDCARD) DEBUG: - - Adding device - HardwareIDs matched only when using wildcards DEBUG: - - Matched devices: 0 exact, 2 wildcard DEBUG: - - Testing PCI\VEN_8086&DEV_9D48&SUBSYS_505317AA&REV_21\3&21436425&0&F8 DEBUG: - - Device 'Intel(R) 100 Series Chipset Family LPC Controller/eSPI Controller - 9D48' DriverRank is 0x00FF2001 AUSFÜHRLICH: Device 'Intel(R) 100 Series Chipset Family LPC Controller/eSPI Controller - 9D48' may currently be using a generic or inbox driver DEBUG: - - Trying to match driver based on Version DEBUG: - - [Got: 10.1.1.9, Expected: 10.1.5.2^] DEBUG: - - Failed DriverVersion test DEBUG: - - Testing PCI\VEN_8086&DEV_9D23&SUBSYS_505317AA&REV_21\3&21436425&0&FC DEBUG: - - Device 'Synaptics SMBus Driver' DriverRank is 0x00800003 DEBUG: - - Trying to match driver based on Version DEBUG: - - [Got: 19.3.4.228, Expected: 10.1.5.2^] DEBUG: - - Passed DriverVersion test DEBUG: - - < Returning 0 from node _Driver DEBUG: - Tree was OR: Results: 0 DEBUG: - < Returning 0 from node DetectInstall ```
Results with tested behavior - only one matched device has to pass ``` AUSFÜHRLICH: Detecting install status of package: r02ia10w (Intel(R) Chipset Device Software - 10 [64]) DEBUG: - |> Node: DetectInstall DEBUG: - - |> Node: _Driver DEBUG: - - Matched device 'PCI\VEN_8086&DEV_9D48&SUBSYS_505317AA&REV_21' with required 'PCI\VEN_8086&DEV_9D48' (WILDCARD) DEBUG: - - Matched device 'PCI\VEN_8086&DEV_9D48&SUBSYS_505317AA' with required 'PCI\VEN_8086&DEV_9D48' (WILDCARD) DEBUG: - - Matched device 'PCI\VEN_8086&DEV_9D48&CC_060100' with required 'PCI\VEN_8086&DEV_9D48' (WILDCARD) DEBUG: - - Matched device 'PCI\VEN_8086&DEV_9D48&CC_0601' with required 'PCI\VEN_8086&DEV_9D48' (WILDCARD) DEBUG: - - Adding device - HardwareIDs matched only when using wildcards DEBUG: - - Matched device 'PCI\VEN_8086&DEV_9D23&SUBSYS_505317AA&REV_21' with required 'PCI\VEN_8086&DEV_9D23' (WILDCARD) DEBUG: - - Matched device 'PCI\VEN_8086&DEV_9D23&SUBSYS_505317AA' with required 'PCI\VEN_8086&DEV_9D23' (WILDCARD) DEBUG: - - Matched device 'PCI\VEN_8086&DEV_9D23&CC_0C0500' with required 'PCI\VEN_8086&DEV_9D23' (WILDCARD) DEBUG: - - Matched device 'PCI\VEN_8086&DEV_9D23&CC_0C05' with required 'PCI\VEN_8086&DEV_9D23' (WILDCARD) DEBUG: - - Adding device - HardwareIDs matched only when using wildcards DEBUG: - - Matched devices: 0 exact, 2 wildcard DEBUG: - - Testing PCI\VEN_8086&DEV_9D48&SUBSYS_505317AA&REV_21\3&21436425&0&F8 DEBUG: - - Device 'Intel(R) 100 Series Chipset Family LPC Controller/eSPI Controller - 9D48' DriverRank is 0x00FF2001 AUSFÜHRLICH: Device 'Intel(R) 100 Series Chipset Family LPC Controller/eSPI Controller - 9D48' may currently be using a generic or inbox driver DEBUG: - - Trying to match driver based on Version DEBUG: - - [Got: 10.1.1.9, Expected: 10.1.5.2^] DEBUG: - - Failed DriverVersion test DEBUG: - - Testing PCI\VEN_8086&DEV_9D23&SUBSYS_505317AA&REV_21\3&21436425&0&FC DEBUG: - - Device 'Synaptics SMBus Driver' DriverRank is 0x00800003 DEBUG: - - Trying to match driver based on Version DEBUG: - - [Got: 19.3.4.228, Expected: 10.1.5.2^] DEBUG: - - Passed DriverVersion test DEBUG: - - < Returning 1 from node _Driver DEBUG: - Tree was OR: Results: 1 DEBUG: - < Returning 1 from node DetectInstall ```

This is also an Intel Chipset Driver package but a different one. This was on a Lenovo 20FN (T460). In this example I don't think the IsInstalled test should've passed. The package version is 10.1.5.2 which is clearly an update to the 10.1.1.9 used by the first device, and the Synaptics driver being used for an Intel device feels more like another problem than intentional.

But, another idea is that System Update might be failing what it considers inbox drivers. The current driver version in your log is 10.0.19041.1202 which is most likely a windows inbox driver as it corresponds to a Windows version. I can do some more tests around that.