tomsom / yoga-linux

Run Linux on the Lenovo Yoga 7 14 (14ARB7) with AMD Ryzen 6800U (Rembrand).
https://github.com/tomsom/yoga-linux/wiki
56 stars 2 forks source link

BIOS update #26

Open plchldr opened 1 year ago

plchldr commented 1 year ago

Lenovo released a new BIOS (of course not via LVFS): https://pcsupport.lenovo.com/ch/en/products/laptops-and-netbooks/yoga-series/yoga-7-14arb7/downloads/ds557046-bios-update-for-windows-11-64-bit-yoga-7-14arb7 The change log is ... cryptic. TP = trusted platform? EDID Override = Freesync? (one can hope)

So if anyone is brave enough to install it, please let us know your experience :)

stuarthayhurst commented 1 year ago

I think TP is touchpad. Before the update, the touchpad registered as MSFT0001, after the update it shows as a SYNA2BA6.

EDIT: Everything works fine, forgot to mention. If you want any tests done to check FreeSync, let me know what you want done :)

lamarios commented 1 year ago

What's the best way to run those if I only have linux machines ? Windows to go or windows PE ? please share if you have good guides or images

stuarthayhurst commented 1 year ago

I used a regular Windows 11 install. When I got the laptop, I turned off the BitLocker encryption, resized the Windows partitions, then added Linux as the primary OS. I only use the Windows install for BIOS / firmware updates, like this one.

lamarios commented 1 year ago

Managed to install W11 on an external SSD using WinToUSB, but it requires another windows machine (probably doable on a VM)

soupglasses commented 1 year ago

There is a new BIOS update with the changelog:

Fix issue that the ssd will lost after doing crisis

Maybe the SSD issue is fixed?

0x9fff00 commented 1 year ago

There is a new BIOS update with the changelog:

Fix issue that the ssd will lost after doing crisis

Maybe the SSD issue is fixed?

See https://github.com/tomsom/yoga-linux/issues/9#issuecomment-1467973063

Okazakee commented 1 year ago

There is a new BIOS update with the changelog:

Fix issue that the ssd will lost after doing crisis

Maybe the SSD issue is fixed?

See #9 (comment)

Would be nice to have a confirm on that, it seems I'm the only one who tested that new update, maybe some more checks would be useful(?)

soupglasses commented 1 year ago

I dont think i can help test it. As i have a 1TB SSD which is labeled by hwinfo --disk as Micron:

  Model: "Micron MTFDKCD1T0TFK"
  Vendor: pci 0x1344 "Micron Technology Inc"
  Device: pci 0x5411 "Micron MTFDKCD1T0TFK"
  SubVendor: pci 0x1344 "Micron Technology Inc"
  SubDevice: pci 0x2100 

I do not think this device is affected by these issues?

Okazakee commented 1 year ago

I dont think i can help test it. As i have a 1TB SSD which is labeled by hwinfo --disk as Micron:

  Model: "Micron MTFDKCD1T0TFK"
  Vendor: pci 0x1344 "Micron Technology Inc"
  Device: pci 0x5411 "Micron MTFDKCD1T0TFK"
  SubVendor: pci 0x1344 "Micron Technology Inc"
  SubDevice: pci 0x2100 

I do not think this device is affected by these issues?

Nope, only samsung models :\

soupglasses commented 1 year ago

Yeah the update may be related to this issue with Microns: https://support.lenovo.com/dk/da/solutions/ht513927

soupglasses commented 1 year ago

This however would be strange, as it released as a critical update before 14ARB7's release.

0x9fff00 commented 1 year ago

There is a new BIOS update with the changelog:

Fix issue that the ssd will lost after doing crisis

Maybe the SSD issue is fixed?

See #9 (comment)

Would be nice to have a confirm on that, it seems I'm the only one who tested that new update, maybe some more checks would be useful(?)

Just tried it, issue still happens with BIOS version K5CN38WW and unpatched 6.2.8-arch1-1 kernel

stuarthayhurst commented 1 year ago

Forgot to give feedback, didn't fix the issue for me. However, this is promising for getting the SSD sorted.

stuarthayhurst commented 1 year ago

Another new update, doesn't seem particularly interesting. Just updating my Windows partition to install it, I'll report back with any fixes.

EDIT: Seems to be no change to the ACPI issues or SSD issues

stuarthayhurst commented 1 year ago

another new bios update! can't say if it fixed something, don't have the ssd issues.

Oh? I only see K5CN39WW as the latest, published on the 13th of April

jlo62 commented 1 year ago

oops, didn't see your post, and i haven't updated windows in a while

stuarthayhurst commented 1 year ago

Now there's a new BIOS, released earlier today.

Modify the priority of the sensor hub process to fix the KB lag issue when opening certain website in edge/chrome.

I can't say it's all that interesting though

GregorKopka commented 1 year ago

Modify the priority of the sensor hub process to fix the KB lag issue when opening certain website in edge/chrome.

This is in a BIOS update? What the hell is happening there, drivers that are pulled into Windows directly from EFI?

soupglasses commented 1 year ago

They might finally have fixed the keyboard lag issue! That is exciting indeed.

It primarily shows up on Windows due to the horrid driver situation that they have compared to Linux. But i have been able to reproduce the situation with certain load patterns (especially around sleep/after sleep) on Linux as well.

Great to see this hopefully fixed, but frustrating it took so long.

stuarthayhurst commented 1 year ago

I've definitely experienced this in Windows, never ran into it in Linux and assumed it was some dodgy driver in Windows. A BIOS fix is a bit surprising, but nice to see either way.

jlo62 commented 1 year ago

well now there's a new bios update: k5cn40ww. haven't installed it yet, I'll do it this afternoon.

grimthorpe commented 10 months ago

So nobody else has to track this down - there is currently no way of updating your bios inside Linux at this time, no matter what LVFS and fwupd claim. The bios update for our machines is only published as a windows executable.

As I refuse to install windows onto my machine I made a Windows-PE bootable USB drive using the image found here: https://www.hirensbootcd.org/ I then put the bios update executable onto another USB drive, booted into the Windows-PE environment and successfully installed the update.

While digging around I did find that the bios update utility extracts files to the windows/temp directory which probably includes the underlying bios update file, but having spent many hours by that point trying to work out what to do with them I gave up and went with the USB solution above.

stuarthayhurst commented 10 months ago

If you want to pick up trying to extract the BIOS update file, innoextract can crack the exe apart correctly.

Okazakee commented 10 months ago

So nobody else has to track this down - there is currently no way of updating your bios inside Linux at this time, no matter what LVFS and fwupd claim. The bios update for our machines is only published as a windows executable.

As I refuse to install windows onto my machine I made a Windows-PE bootable USB drive using the image found here: https://www.hirensbootcd.org/ I then put the bios update executable onto another USB drive, booted into the Windows-PE environment and successfully installed the update.

While digging around I did find that the bios update utility extracts files to the windows/temp directory which probably includes the underlying bios update file, but having spent many hours by that point trying to work out what to do with them I gave up and went with the USB solution above.

You might find something in efi partition under a Lenovo folder, it's been a while since I saw that, could be a Mandela effect tho, I am only sure for my girlfriend's hp laptop for this.

grimthorpe commented 10 months ago

Digging further: The UEFI firmware is made by InsydeH2O, and the update utility is built from their tools, so innoextract didn't work. I ran the installer under Wine and copied the files out of the windows/temp directory and found 'WinKCN40WW.fd', which turns out to be a UEFI executable. I placed that in my EFI partition, rebooted into a UEFI shell and tried running it. It started the bios update but complained that I didn't have power connected and aborted. Plugging in power and trying again got further - it got to 28% updated, displayed an error, then the whole machine locked up completely. Power button did nothing, reset button did nothing. In the end I had to unplug the battery.

Given those results I don't want to go any further and will be sticking to the USB method I outlined above until Lenovo get round to supporting us directly through LVFS / fwupd.

stuarthayhurst commented 10 months ago

Sorry, I misread my notes. I used innoextract to extract another exe from the exe supplied from Lenovo's website. Opened up the resulting exe file with file-roller, and pulled out the [BIOS VERSION].fd file. That's the Insyde image, so I used the InsydeImageExtractor tool to extract the UEFI image from that.

I did this before to try and find a vulnerability from a list of previous ones, to allow undervolting and enabling hidden debug settings. That ultimately led me nowhere, as all the known vulnerabilities had been patched on this laptop.

Shame your method didn't work, I keep around a small Windows dual-boot on the internal SSD, just for firmware / BIOS updates, but it would be nice to not rely on Windows at all.

stuarthayhurst commented 5 months ago

New update, now running K5CN42WW. Linux working fine, my Intel AX210 replacement card is working fine and the EFI speaker tuning data is all present in /sys/firmware/efi/efivars/.

No change on the ACPI parsing errors.

EDIT: Made as an edit for the sake of not bothering everyone, no change to anything with K5CN44WW