-
Notifications
You must be signed in to change notification settings - Fork 22
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
Problem with lokal HTTP Driver Repo from "Lenovo Update Retriever" #113
Comments
Thanks for the detailed explanation of your usecase and issue! Can you please give me some examples of duplicate updates you have in your repository, and for what computer models?
I think the easiest would be to pick the package with the latest ReleaseDate.
No, there isn't and currently LSUClient doesn't respect the status of a package in an Update-Retriever repository at all - it will always find all packages. However that is something I could fix, I think the more correct behavior would be to ignore hidden updates at least. Would that be helpful, even if there is no parameter to configure this behavior? |
Hi, and thanks for your reply. _LENOVO_DRIVER_LSUClient162_20250211-112831-edit.log If LSUpdate reads the database file from the repository, I think an easy way would be to check the status to see if it is set to "active." like the Lenovo System Update and Thininstaller do? But checking the release date could also be a possible solution for multiple versions of a driver. If you need any further data, I am happy to help. |
I was just browsing to see if anyone had a similar issue and found this thread! I have a similar issue, where I maintain an offline repository for a host of Lenovo models, using ThinkVantage UpdateRetriever. I am also running LSUClient version 1.6.2 I was running LSUClient on a P1 gen 4 (20Y3) and noticed in the output it was download and installing 3 separate versions of NVIDIA Video Features Driver. According to the output it tried the following:
I went to my repository to hide the updates, then had a thought and went to see how LSUClient decides which drivers should be used from the repository, but couldn't find anything relating to status. |
Currently I'm thinking Then I also add a Thoughts? |
Sounds perfect, especially just showing the Status property so we can filter out ourselves as needed |
I have pushed a change to the develop branch that adresses this. Hidden updates are now ignored (this is logged in So for example if you want to ignore # Only 'Active' updates
Get-LSUpdate -Repository 'https://pkgs.domain.tld/lenovo-drivers' | Where-Object Status -eq 'Active' or alternatively: # All except 'Test' updates
Get-LSUpdate -Repository 'https://pkgs.domain.tld/lenovo-drivers' | Where-Object Status -ne 'Test' If you could clone/download the develop branch to test this it would be great. If there are no issues with this implementation I plan to release it as v1.7.0 soon. |
Hi, this change is awesome! |
Hi, I also had a firmware update for a camera that threw a PowerShell error.
_LENOVO_DRIVER_LSUClient170_20250225-100504-edit.log But after disabling this firmware, everything works fine now. So, disabling works, and scanning and only installing with status "active" works as well. Thanks for your work! |
I have tested a couple of times as well, and can confirm that updates with status "Hidden" now get filtered out properly when using Thank you for the quick fix! I love this module, you're saving me an insane amount of work trying to make Commercial Vantage actually work. |
Thanks for the feedback and kind words. It's going to take me a few more days to finish up 1.7.0. |
Version
1.6.2
Computer Model
many
Problem
We have tested the LSUpdate Module in our company for mass deployment on 800 ThinkPad T14 G4 and G5 devices.
However, we cannot use it over the internet to download directly from the Lenovo online repository due to too much traffic—we have up to 2000 Lenovo devices in our environment.
Instead, we have created our own repository using Lenovo Update Retriever.
Searching our local repository works fine with the following command:
$updates = Get-LSUpdate -Repository http://Servername/LenovoRepository -Verbose | Where-Object { $.Type -ne 'BIOS' -and $.Type -ne 'Firmware' }
Issue with a Large Local Repository
We maintain a large repository containing drivers for various T14 models (Gen1, Gen2, Gen4, Gen5) as well as multiple generations of ThinkStations and some other Lenovo devices and Docks.
The problem with using the LSUpdate script on a large local driver repository is that, over time, multiple versions of the same driver may accumulate in the repository.
For example, when searching for a graphics driver, the script detects and downloads all available versions instead of selecting only the latest version. It then attempts to install them in no specific order.
This results in cases where an older driver version (e.g., v1.4.1) is installed after a newer version (e.g., v1.5.0), effectively rolling back the update.
I understand that this issue only occurs with a local repository because the Lenovo online repository always provides only the latest driver version.
Question:
Would appreciate any suggestions or solutions!
Additional context
But aside from this problem, we love this driver update/install script because it clearly shows what the tool has searched for, found, and installed on a device in the logs.
It is difficult for us to keep the local repository updated with only the newest version of a specific driver.
The challenge is that for one device type, a certain driver version may be the latest, but for a newer generation device, it could already be outdated, with a newer version available.
However, if we delete the driver to keep only the latest version for the newer generation device, it also removes support for the older device, which may only be compatible with version xYz of the driver.
Thanks for your worke
The text was updated successfully, but these errors were encountered: