Comment 21 for bug 1956885

Revision history for this message
Loic Yhuel (lyhuel) wrote :

Hi Andy,

The package date, including the files inside, seems wrong : "Fri, 12 Aug 2022", it should be September.

This update contains both a new library, and new firmware files (which might help for other issues, in my case updating to newer firmware from the Windows driver fixed most of the cases where the sensor would disappear after suspend/resume and require a power cycle to appear again).

But seems not all firmware files have the correct version :
 - bcmCitadel_1.otp, bcmsbiCitadelA0_1.otp : new, perhaps the correct versions, but not used on my machine
 - bcmsbiCitadelA0_7.otp : SBI 137 (same as Windows driver Dell-ControlVault3-Driver-and-Firmware_88J36_WIN_5.9.8.17_A20.EXE)
 - bcmCitadel_7.otp : AAI 5.9.13.0 (same as Windows driver Dell-ControlVault3-Driver-and-Firmware_88J36_WIN_5.9.8.17_A20.EXE)

On my Dell Latitude 5521, it uses the "_7" firmwares, maybe there are others which use the "_1" ones, and which wouldn't have any issue with the update.

The new bcm_cv_current_version.txt contains :
01020000_512004_0
version: 5.12.004.0
SBI_VERSION: 172

With this, the library tries to update the firmware over and over, because :
Current AAI Version = 5.9.13.0
Current SBI Version = 137
AAI version available for upgrade = 5.12.4.0
SBI version available for upgrade = 172

It's the bcm_cv_current_version.txt which tells it the available versions.
After update it reads 5.9.13.0 and 137 from the device (since it's what is in the firmware files), so it restarts...

As a workaround, I modified bcm_cv_current_version.txt to :
01020000_509013_0
version: 5.9.013.0
SBI_VERSION: 137
(note that the Windows driver had 01020000_59013_0, but the new library parses it as version 0.59.13.0, which doesn't work).

With this change, the new library works (even if the firmwares might be older than what the library was designed to use), and seems to fix the issue.

If there is hardware using the "_1" firmwares instead of the "_7" like me, I suppose the included bcm_cv_current_version.txt would be correct.
So either the bcmsbiCitadelA0_7.otp and bcmCitadel_7.otp need to be upgraded to the correct versions, or the bcm_cv_current_version.txt needs to be modified and the bcmCitadel_1.otp and bcmsbiCitadelA0_1.otp probably need to be downgraded.