HP_Z420_Z620_Z820_BootBlock_Upgrade icon indicating copy to clipboard operation
HP_Z420_Z620_Z820_BootBlock_Upgrade copied to clipboard

Possible with Lenovo Thinkstation S30?

Open epitaxial1 opened this issue 5 years ago • 9 comments

I stumbled upon this project right after buying a Thinkstation S30. The hardware looks very similar with later BIOS revs supporting V2 processors. http://psref.lenovo.com/syspool/Sys/PDF/withdrawnbook/S30.pdf Would you be interested in seeing if this upgrade can be applied to the Lenovo hardware as well?

epitaxial1 avatar Jan 21 '20 15:01 epitaxial1

Some questions for you:

  • How much are you willing to spend on equipment to do the upgrade? (see the table in my guide)
  • How brave are you feeling?
  • What version of S30 do you have? 0568 / 0569 / 0606 (SB only) or 4351 / 4352 (IB compatible)? You can see by going to the BIOS, recording your serial number, and using it in lenovo 'parts lookup'
  • What v2 CPU are you interesting in using?

My thoughts

I did briefly investigate the S30 when I was looking at what workstation to buy. The S30 seems to have had more hardware changes made than the HP Zx20, for example the TPM chip was upgraded.

I found one thread where an attempt to upgrade an S30 went badly wrong. He was not able to restore his old BIOS either, although I can't tell if that was a mistake on his part.

Extremely interesting post by a Lenovo engineer 'psuturtle' in their forums

When the 30-series platforms initially launched, they launched on Sandy Bridge (v1) CPUs and Intel ME firmware v7.X with the C602 chipset. When Intel started providing guidance on the upcoming Ivy Bridge (v2) CPUs, there was a new requirement added (by Intel) that in order to support the v2 CPU SKU stack, ME FW v8.X was going to be required. However, Intel had a caveat in their ME FW support statements in that they would not allow/support field upgrades of firmware between generations. In other words, they were OK with end users updating ME FW from say v7.1 to v7.3 in the field (this was considered inter-generational), but they would not allow/support end users flashing from v7.x to v8.x in the field (this was considered cross-generational). This forced our hand in how we were able to support the v2 CPUs on the 30-series platforms.

For what it's worth, the last time I checked (admittedly a few years ago due to the age of these platforms), no other tier 1 OEM that launched their platforms on ME FW 7.X was supporting Xeon v2 CPUs on that platform. Doing so would have required a utility that allowed cross-generational flashing of the ME FW up to 8.x, which was not allowed by Intel. I know one of our competitors initially had a FW posted that would allow this, but it was quickly removed from their public support site.

Also note that ME FW updates != CPU microcode updates. Both were needed to support Xeon v2 . CPU microcode updates are typically included with a new BIOS flash. ME FW updates are typically not covered with a BIOS flash, but rather updated with a separate utility. Any vendor that launched their platform in time with Intel's announcement for Xeon v1 + the C602 chipset (Romley platform) likely launced with ME FW 7.X and encountered this same issue.

This also explains why HP couldn't provide a way of upgrading to v2 Xeons. I wonder what OEM had the FW tool that allowed ME v7->v8 upgrade, and if anyone still has a copy of it. I think the Lenovo engineer was thinking of HP based on an older post. Oddly, I never encountered discussion of a tool like this, even in HP forum posts from that time period.

So to upgrade to v2 Xeons you probably need a v8 ME. I don't know if the new TPM chip causes incompatibilities. The change was from 'ST19WP18' to 'ST33TPM12LPC'. The original chip was an 8 bit (proprietary STM arch?) and the latter is a 32 bit ARM CPU. If the process is similar to HP, you will need to upgrade the ME firmware on your 16MB BIOS chip. You can use ME firmware tools from winraid forums, or dump and hex edit the right region in (of course, you have to get the MEv8 region from somewhere too).

Another Lenovo engineer, erik:

that CPU is missing entirely from the A0 BIOS microcode as it was a late qualification. It's in the A2 BIOS, however. (And, no, you can't flash an A2 BIOS on an A0 system without bricking the system board.)

This statement about the A2 BIOS bricking A0 systems somewhat concerns me. There was initially a similar story from HP engineers that it was impossible to upgrade Zx20 and would simply brick the motherboard or not boot. They were being cautious, and some early Zx20 can't handle v2 CPUs, but certainly no bricks that I've heard of.

Without any examples of succesful S30/D30/C30 upgrades I can't guarantee it won't temporarily or permanently brick your motherboard.

I imagine upgrading the S30, if even possible, will be trickier than Zx20.

Probable upgrade steps

The first steps to take would be

  • Research what motherboard headers are available. If we can read from all regions of the flash chip, then intel FPT or flashrom can be used from the PC to dump the BIOS. Not required but ideally we can write to the entire flash chip (especially the ME region) too.
  • Attempt to dump the entire BIOS with Intel fpt.
  • Attempt to dump entire BIOS with programmer+clamp. See if the S30 SPI flash chip also needs a strong 3.3v supply to counter the passive drain of the board.
  • Analyze dumped BIOS in uefitool / hex editor. Figure out regions and overall format.
  • See if anyone with a v2-compatible S30 is willing to dump their BIOS

At some point, upgrading would involve

  • Get the right microcode for v2 CPUs installed
  • Get the right ME version installed
  • Get the right boot block installed

If Lenovo were nice then the microcode can be installed by BIOS update, if not it will need to be edited in. With HP Zx20 they did upgrade the microcode of the v1 workstations, but didn't update the boot block or ME firmware. It appears Lenovo split their BIOS updates into those for the v1 systems and those for the v2 systems, so they probably don't include microcode updates for v2 CPUs in the A0/A1 motherboard updates.

Some more resources I found

SuperThunder avatar Jan 21 '20 21:01 SuperThunder

Thanks for the detailed reply. I'm a hardware guy so equipment or even desoldering isn't an issue. Analyzing and editing the bios file is what I would need help with.

As for the details on the S30 its still in transit right now. It was a good eBay deal from a recycler and they only provided the basic specs. When it does arrive I will see what the flash and TPM chip numbers are along with headers.

Not sure about which v2 CPU to pick. My thoughts were whatever gives the best bang for the buck on eBay.

epitaxial1 avatar Jan 23 '20 02:01 epitaxial1

OK, that's good. I can help with analyzing and editing the BIOS file, although I may need to ask for help from the experts of the win-raid forums.

I will be experimenting with different ME versions and a v2 CPU on my Z620 in a couple of weeks so I may be able to give a better guess as to what will work with your S30.

If it looks like we can upgrade your S30 you may want to get a cheap test v2 CPU first - for example a 2603v2, 1607v2 or 2620 v2.

SuperThunder avatar Jan 23 '20 21:01 SuperThunder

Alight the S30 arrived today and turns out its a 4351, which supports v2 processors anyhow. It was advertised as a plain E5-1620. Oh well :)

epitaxial1 avatar Jan 28 '20 02:01 epitaxial1

What luck! :)

If you still want to tinker a bit (safely), see if you can do a flashrom or intel FPT dump of the SPI chip.

Otherwise, hope you enjoy your S30!

SuperThunder avatar Jan 28 '20 03:01 SuperThunder

The board has a jumper to disable the ME so here is the dump using FPT. S30.zip

epitaxial1 avatar Jan 29 '20 14:01 epitaxial1

Hey guys,

Are there any updates for the 0606 S30 Modify BIOS to support V2 CPU?

My S30 is an old 0606 version, I need to upgrade it to support the new E5-2670v2.

PS: Is there any guild for how to modify the bios and upgrade ME version?

tywtyw2002 avatar Aug 26 '21 02:08 tywtyw2002

Sad to see this S30 project got stuck here. There is a lot of S30 ME v7.X machines out there and the Sandy Bridge CPUs are pretty inefficient. I have a 0606, let me know if you need me to do anything or need files from it.

Harryols avatar Oct 29 '23 08:10 Harryols

Does s30 A2 support e5-2687w v2? I tried multiple times but couldn't start it

adsl2100e avatar Sep 19 '24 06:09 adsl2100e