#87 Add ThinkPad W500 support

Closed
opened 3 years ago by GovanifY · 11 comments
GovanifY commented 3 years ago

W500 is basically the same as T500, at the exception of:

  • The motherboard ID, it needs to be added to flashrom whitelist too so that it allows pinging the flash:

DMI string system-manufacturer: "LENOVO"

DMI string system-product-name: "4063CJ5"

DMI string system-version: "ThinkPad W500"

DMI string baseboard-manufacturer: "LENOVO"

DMI string baseboard-product-name: "4063CJ5"

DMI string baseboard-version: "Not Available"

Should Abort. Press enter to continue <- I patched here to grep my flash chip ...snip...

Found Winbond flash chip "W25X64" (8192 kB, SPI).

  • GPU which seems to be a desktop model of the T500 one(afaik it's essentially the same and since we don't use it we shouldn't have to worry too much about it)

...And that's about it! I guess

I should be available to reflash my laptop if testing is needed, although I am unsure of the necessity of such a thing.

W500 is basically the same as T500, at the exception of: * The motherboard ID, it needs to be added to flashrom whitelist too so that it allows pinging the flash: ``DMI string system-manufacturer: "LENOVO"`` ``DMI string system-product-name: "4063CJ5"`` ``DMI string system-version: "ThinkPad W500"`` ``DMI string baseboard-manufacturer: "LENOVO"`` ``DMI string baseboard-product-name: "4063CJ5"`` ``DMI string baseboard-version: "Not Available"`` ``Should Abort. Press enter to continue <- I patched here to grep my flash chip`` ``...snip...`` ``Found Winbond flash chip "W25X64" (8192 kB, SPI).`` * GPU which seems to be a desktop model of the T500 one(afaik it's essentially the same and since we don't use it we shouldn't have to worry too much about it) ...And that's about it! I guess I should be available to reflash my laptop if testing is needed, although I am unsure of the necessity of such a thing.
Leah Rowe commented 3 years ago
Owner

Flash a T500 image and see it it works.

Make sure to back up the Lenovo BIOS beforehand.

Flash a T500 image and see it it works. Make sure to back up the Lenovo BIOS beforehand.
Leah Rowe commented 3 years ago
Owner

It may work as-is, without any changes in coreboot-libre or Libreboot.

Do however, before flashing, run the factory.rom backup in ich9deblob to check whether there is a GbE region present. On some Lenovo laptops, e.g. R500 (and that laptop has many bugs in Libreboot, so it's not yet supported - I halted my development effort on it, some time ago. The ethernet didn't work, nor did ACPI, and I never got back round to working on them) the GbE region is missing, and the laptop will instead use another NIC besides the Intel GIgabit NIC (e.g. R500 uses a Broadrom NIC for eth0).

Please make sure to collect tests on factory BIOS, in addition to the above test, before flashing any Libreboot or Coreboot images to it:

https://www.coreboot.org/Motherboard_Porting_Guide (there are instructions there for collecting hardware logs)

Collect these logs in factory BIOS, not libreboot/coreboot. You can compare them with factorybios hardware dumps from an existing GM45 ThinkPad that Libreboot supports, such as the ThinkPad T500.

It may work as-is, without any changes in coreboot-libre or Libreboot. Do however, before flashing, run the factory.rom backup in ich9deblob to check whether there is a GbE region present. On some Lenovo laptops, e.g. R500 (and that laptop has many bugs in Libreboot, so it's not yet supported - I halted my development effort on it, some time ago. The ethernet didn't work, nor did ACPI, and I never got back round to working on them) the GbE region is missing, and the laptop will instead use another NIC besides the Intel GIgabit NIC (e.g. R500 uses a Broadrom NIC for eth0). Please make sure to collect tests on factory BIOS, in addition to the above test, before flashing any Libreboot or Coreboot images to it: https://www.coreboot.org/Motherboard_Porting_Guide (there are instructions there for collecting hardware logs) Collect these logs in factory BIOS, not libreboot/coreboot. You can compare them with factorybios hardware dumps from an existing GM45 ThinkPad that Libreboot supports, such as the ThinkPad T500.
Leah Rowe commented 3 years ago
Owner

Especially critical is making sure that the devicetree in coreboot is correct for your board. See: src/mainboard/manufacturer/model/devicetree.cb

If working on changes to coreboot-libre, do it upstream in coreboot. Also submit your work to librecore (our future upstream).

Especially critical is making sure that the devicetree in coreboot is correct for your board. See: src/mainboard/manufacturer/model/devicetree.cb If working on changes to coreboot-libre, do it upstream in coreboot. Also submit your work to librecore (our future upstream).
GovanifY commented 3 years ago
Poster

Sorry for the delay,

Well technically knowing it is the same material, yes, it should work.

Thanks for the informations though, I'll try to flash asap, might take few weeks though. I'll publish any patches that I'll make.

Thanks again!

Sorry for the delay, Well technically knowing it is the same material, yes, it _should_ work. Thanks for the informations though, I'll try to flash asap, might take few weeks though. I'll publish any patches that I'll make. Thanks again!
GovanifY commented 3 years ago
Poster

Hey,

I just finished to flash the laptop, going to screw it back and report.

For now here is my factory BIOS just in case anyone is willing to compare it to T500's

https://govanify.com/files/W500.bios

Hey, I just finished to flash the laptop, going to screw it back and report. For now here is my factory BIOS just in case anyone is willing to compare it to T500's https://govanify.com/files/W500.bios
GovanifY commented 3 years ago
Poster

Not reassembled yet but felt obligated to share the result:

IT BOOTS

Don't close the issue yet though, gotta check if all works nicely and change the product name

Not reassembled yet but felt obligated to share the result: IT BOOTS Don't close the issue yet though, gotta check if all works nicely and change the product name

\ o /

\ o /
Leah Rowe commented 3 years ago
Owner

yes i thought that this would be the case since its the same chipset.

i guess we should add something quick to the build system then and maybe update the docs?

what rom images did you use?

did you use the t500 rom imaes?

yes i thought that this would be the case since its the same chipset. i guess we should add something quick to the build system then and maybe update the docs? what rom images did you use? did you use the t500 rom imaes?
GovanifY commented 3 years ago
Poster

I used a t500 fr rom so it should really be a matter of whitelisting to flashrom and adding a new build referencing t500 with the system product name I sent up above

All in all wifi chipset worked once I added it in the kernel(gentoo greatness) and all I can think of does too, GPU is correctly disabled etc

EDIT: I used stable to ensure I wouldn't have that to worry about too

EDIT 2: Libreboot have a different behaviour than stock kernel for backlight, it starts way too fast(like the first 2 times) and then goes very slowly on a darker shade, I guess it is a different behaviour that coreboot assumes but better telling it here.

Left side seems also a bit less lighter but I think I saw that issue on the libreboot website some time ago(only happens with non optimal backlight)

EDIT3: Welp seems like my guess was wrong. DMI seemed to have stayed consistent after flashing, it might be handled by EC or I dunno. Meaning t500 roms are 100% w500

I used a t500 fr rom so it should really be a matter of whitelisting to flashrom and adding a new build referencing t500 with the system product name I sent up above All in all wifi chipset worked once I added it in the kernel(gentoo greatness) and all I can think of does too, GPU is correctly disabled etc EDIT: I used stable to ensure I wouldn't have that to worry about too EDIT 2: Libreboot have a different behaviour than stock kernel for backlight, it starts way too fast(like the first 2 times) and then goes very slowly on a darker shade, I guess it is a different behaviour that coreboot assumes but better telling it here. Left side seems also a bit less lighter but I think I saw that issue on the libreboot website some time ago(only happens with non optimal backlight) EDIT3: Welp seems like my guess was wrong. DMI seemed to have stayed consistent after flashing, it might be handled by EC or I dunno. Meaning t500 roms are 100% w500
GovanifY commented 3 years ago
Poster
https://notabug.org/libreboot/libreboot/pulls/127
GovanifY commented 3 years ago
Poster

Pull request got merged; closing this issue

Pull request got merged; closing this issue
Sign in to join this conversation.
Loading...
Cancel
Save
There is no content yet.