![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Update: Patches to fix this have been posted
There's a story going round that Lenovo have signed an agreement with Microsoft that prevents installing free operating systems. This is sensationalist, untrue and distracts from a genuine problem.
The background is straightforward. Intel platforms allow the storage to be configured in two different ways - "standard" (normal AHCI on SATA systems, normal NVMe on NVMe systems) or "RAID". "RAID" mode is typically just changing the PCI IDs so that the normal drivers won't bind, ensuring that drivers that support the software RAID mode are used. Intel have not submitted any patches to Linux to support the "RAID" mode.
In this specific case, Lenovo's firmware defaults to "RAID" mode and doesn't allow you to change that. Since Linux has no support for the hardware when configured this way, you can't install Linux (distribution installers will boot, but won't find any storage device to install the OS to).
Why would Lenovo do this? I don't know for sure, but it's potentially related to something I've written about before - recent Intel hardware needs special setup for good power management. The storage driver that Microsoft ship doesn't do that setup. The Intel-provided driver does. "RAID" mode prevents the Microsoft driver from binding and forces the user to use the Intel driver, which means they get the correct power management configuration, battery life is better and the machine doesn't melt.
(Why not offer the option to disable it? A user who does would end up with a machine that doesn't boot, and if they managed to figure that out they'd have worse power management. That increases support costs. For a consumer device, why would you want to? The number of people buying these laptops to run anything other than Windows is miniscule)
Things are somewhat obfuscated due to a statement from a Lenovo rep:
The real problem here is that Intel do very little to ensure that free operating systems work well on their consumer hardware - we still have no information from Intel on how to configure systems to ensure good power management, we have no support for storage devices in "RAID" mode and we have no indication that this is going to get better in future. If Intel had provided that support, this issue would never have occurred. Rather than be angry at Lenovo, let's put pressure on Intel to provide support for their hardware.
There's a story going round that Lenovo have signed an agreement with Microsoft that prevents installing free operating systems. This is sensationalist, untrue and distracts from a genuine problem.
The background is straightforward. Intel platforms allow the storage to be configured in two different ways - "standard" (normal AHCI on SATA systems, normal NVMe on NVMe systems) or "RAID". "RAID" mode is typically just changing the PCI IDs so that the normal drivers won't bind, ensuring that drivers that support the software RAID mode are used. Intel have not submitted any patches to Linux to support the "RAID" mode.
In this specific case, Lenovo's firmware defaults to "RAID" mode and doesn't allow you to change that. Since Linux has no support for the hardware when configured this way, you can't install Linux (distribution installers will boot, but won't find any storage device to install the OS to).
Why would Lenovo do this? I don't know for sure, but it's potentially related to something I've written about before - recent Intel hardware needs special setup for good power management. The storage driver that Microsoft ship doesn't do that setup. The Intel-provided driver does. "RAID" mode prevents the Microsoft driver from binding and forces the user to use the Intel driver, which means they get the correct power management configuration, battery life is better and the machine doesn't melt.
(Why not offer the option to disable it? A user who does would end up with a machine that doesn't boot, and if they managed to figure that out they'd have worse power management. That increases support costs. For a consumer device, why would you want to? The number of people buying these laptops to run anything other than Windows is miniscule)
Things are somewhat obfuscated due to a statement from a Lenovo rep:
This system has a Signature Edition of Windows 10 Home installed. It is locked per our agreement with Microsoft.It's unclear what this is meant to mean. Microsoft could be insisting that Signature Edition systems ship in "RAID" mode in order to ensure that users get a good power management experience. Or it could be a misunderstanding regarding UEFI Secure Boot - Microsoft do require that Secure Boot be enabled on all Windows 10 systems, but (a) the user must be able to manage the key database and (b) there are several free operating systems that support UEFI Secure Boot and have appropriate signatures. Neither interpretation indicates that there's a deliberate attempt to prevent users from installing their choice of operating system.
The real problem here is that Intel do very little to ensure that free operating systems work well on their consumer hardware - we still have no information from Intel on how to configure systems to ensure good power management, we have no support for storage devices in "RAID" mode and we have no indication that this is going to get better in future. If Intel had provided that support, this issue would never have occurred. Rather than be angry at Lenovo, let's put pressure on Intel to provide support for their hardware.
Shared blame
Date: 2016-09-21 06:09 pm (UTC)So they should be blamed for choosing an hardware with windows-only drivers.
They could also have added an option in the BIOS/UEFI that, once the secure boot has been disabled, allows the user to also disable this RAID mode.
Re: Shared blame
Date: 2016-09-21 07:06 pm (UTC)And when exactly did you discover you were a pre-cog?
Re: Shared blame
From: (Anonymous) - Date: 2016-09-21 08:33 pm (UTC) - ExpandRe: Shared blame
From: (Anonymous) - Date: 2016-09-23 10:06 pm (UTC) - ExpandRe: Shared blame
From: (Anonymous) - Date: 2016-09-21 10:49 pm (UTC) - ExpandRe: Shared blame
From: (Anonymous) - Date: 2016-09-24 10:29 pm (UTC) - ExpandRe: Shared blame
From:RAID level?
Date: 2016-09-21 06:31 pm (UTC)All that said, I think Intel absolutely should be held responsible, they certainly push themselves as a Linux friendly company, and disk controllers should be a basic device I should always be able to access.
Re: RAID level?
Date: 2016-09-21 10:52 pm (UTC)Re: RAID level?
From: (Anonymous) - Date: 2016-09-22 01:56 pm (UTC) - Expandno subject
Date: 2016-09-21 06:47 pm (UTC)But then you insist that it's not Lenovo trying to lock out other operating systems. How do you know that? Did they give you the scoop?
Even if the device would get worse battery life (which we don't know that it would, and nobody who booted up Linux on the ISK model or Live on the ISK2 reported their laptop "melting"), it should be up to the user.
You say that if your guess is right, it's a cheap hack to work around crappy power management in Windows. Do we know Linux has crappy power management like Windows does?
no subject
Date: 2016-09-21 07:02 pm (UTC)The change only prevents Linux being installed because Linux doesn't support modern hardware. It's easier to fix that than it is to get a vendor to push a firmware update.
> But then you insist that it's not Lenovo trying to lock out other operating systems. How do you know that? Did they give you the scoop?
Because they're not locking out other operating systems? Linux boots fine.
> Even if the device would get worse battery life (which we don't know that it would, and nobody who booted up Linux on the ISK model or Live on the ISK2 reported their laptop "melting"), it should be up to the user.
Why should it be up to the user? Should the user be able to program every memory timing option, even if by doing so they introduce occasional crashes? Should they be able to set every thermal threshold, even if by doing so they're reducing their hardware life expectancy? All hardware vendors restrict the options available to users.
> You say that if your guess is right, it's a cheap hack to work around crappy power management in Windows. Do we know Linux has crappy power management like Windows does?
It's a hack to work around the fact that Intel won't tell anyone else how to make power management work properly on Intel platforms, including Microsoft. Linux certainly does the wrong thing here.
Linux certainly does the wrong thing here.
From: (Anonymous) - Date: 2016-09-21 07:38 pm (UTC) - Expandeasy answer
From: (Anonymous) - Date: 2016-09-22 02:37 am (UTC) - Expand(no subject)
From: (Anonymous) - Date: 2016-09-22 05:17 am (UTC) - Expand(no subject)
From: (Anonymous) - Date: 2016-09-23 12:51 am (UTC) - Expand(no subject)
From: (Anonymous) - Date: 2016-09-23 02:05 am (UTC) - Expand(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From: (Anonymous) - Date: 2016-09-24 08:41 pm (UTC) - Expand(no subject)
From:Powering the secret: secret powers
From: (Anonymous) - Date: 2016-09-23 01:17 pm (UTC) - Expandno subject
Date: 2016-09-21 06:55 pm (UTC)If it was to prevent a clueless user from ending up in that situation where Windows wouldn't boot if they toggled it to AHCI mode, then why did Lenovo write code to make sure that if you used an EFI variable to set it, that it would switch it back to RAID? Is a user that doesn't know what they're doing likely to be in the EFI shell?
no subject
Date: 2016-09-21 07:04 pm (UTC)Emergent Evil
From: (Anonymous) - Date: 2016-09-22 06:43 am (UTC) - Expandno subject
Date: 2016-09-21 07:37 pm (UTC)You forgot another interpretation where Lenovo has signed an agreement with Microsoft that prevents installing free operating systems.
no subject
Date: 2016-09-21 07:46 pm (UTC)DIY support
From: (Anonymous) - Date: 2016-09-21 10:56 pm (UTC) - ExpandRe: DIY support
From: (Anonymous) - Date: 2016-09-21 11:42 pm (UTC) - ExpandRe: DIY support
From: (Anonymous) - Date: 2016-09-22 03:31 am (UTC) - ExpandRe: DIY support
From: (Anonymous) - Date: 2016-09-22 06:32 am (UTC) - Expand(no subject)
From: (Anonymous) - Date: 2016-09-22 03:54 am (UTC) - Expand(no subject)
From: (Anonymous) - Date: 2016-09-22 05:20 am (UTC) - Expand(no subject)
From: (Anonymous) - Date: 2016-09-22 07:58 am (UTC) - Expand(no subject)
From: (Anonymous) - Date: 2016-11-12 09:19 am (UTC) - ExpandStop getting hung up on 'RAID mode'
From: (Anonymous) - Date: 2016-09-22 02:52 pm (UTC) - Expand(no subject)
From:Liar.
Date: 2016-09-21 07:41 pm (UTC)This is a lie, you're obviously a schill.
Non-RAID settings were intentionally removed from the BIOS, and the RAID format used is non-standard.
Re: Liar.
Date: 2016-09-21 07:55 pm (UTC)This does not have a malicious intent. It's probably an oversight by engineering that didn't realistically see this as a plausible scenario on a consumer system, especially an ultrabook. Heck, I even install linux in VMs now rather than overwrite the host OS / dual-boot.
Re: Liar.
From: (Anonymous) - Date: 2016-09-22 01:01 am (UTC) - ExpandRe: Liar.
From:Re: Liar.
From: (Anonymous) - Date: 2016-09-21 10:58 pm (UTC) - ExpandRe: Liar.
From: (Anonymous) - Date: 2016-09-21 08:04 pm (UTC) - ExpandRe: Liar.
From:Microsoft's Secure Boot requirements
Date: 2016-09-21 10:27 pm (UTC)Re: Microsoft's Secure Boot requirements
Date: 2016-09-22 02:57 pm (UTC)Re: Microsoft's Secure Boot requirements
From: (Anonymous) - Date: 2016-09-23 04:33 am (UTC) - ExpandDell XPS 15 InfinityEdge
Date: 2016-09-21 10:29 pm (UTC)Re: Dell XPS 15 InfinityEdge
Date: 2016-09-23 02:14 pm (UTC)no subject
Date: 2016-09-21 10:53 pm (UTC)This seems a little extreme. As hardware vendors go, Intel do more to get their hardware supported upstream than a lot of others. Sure, there are areas they could do better, but still.
Lenovo's decision to disable the standard BIOS/UEFI options that allow changing the disk controller mode is the real blocker to having the hardware work. Few people would want to use fakeraid on Linux given the choice anyway.
not sure
Date: 2016-09-23 11:26 am (UTC)no subject
Date: 2016-09-22 02:47 am (UTC)> [..] due to a statement from a Lenovo rep [..] It's unclear what this is meant to mean. [..]
Thanks for the insight in the mechanics of the problem,
but as you state yourself your explanation of Lenovo's intent
is also just an assumption.
Therefore we can't know for sure the real reason for Lenovo's
actions.
> [..] That increases support costs. For a consumer device, why would you want to? [..]
Then Lenovo should switch to selling bricks. They have even less support costs.
How far to fake it?
Date: 2016-09-22 04:43 am (UTC)Which part is it that is not being understood?
Date: 2016-09-22 06:23 am (UTC)So which part of RAID is it that is not being understood? RAID by definition REQUIRES 2 or more drives/disks. You can not have a RAID set up with out 2 or more. RAID is ment to be/is a way of securing/backing up data on a computer.
Is this single disk/drive computer set up to use RAID? No! So what other purpose could it serve? Other then to "lock" someone, or something out?
So tell me if it is not a "RAID" setup, which by definition it isn't, just what is it? And why if it is not ment to lock out" is it there at all?
Re: Which part is it that is not being understood?
Date: 2016-09-22 07:15 am (UTC)The issue is that Intel have not told anybody how to properly-manage power in their hardware; instead, they have released a binary-blob driver for Windows that just does it right. However, for the driver to do things right, Microsoft's driver mustn't bind to the hardware first. The easiest way for Lenovo to achieve this is to put the hardware into RAID mode, and not to let it come out. That means the MS driver examines the hardware, decides it can't deal with it, and ignores it, leaving the Intel driver to come along and claim it.
Presumably the Intel driver is perfectly happy to run in single-disc JBOD mode, but it does it with the right power management. The end result, according to Matthew, is "correct power management configuration, battery life is better and the machine doesn't melt".
I'm not saying it's a good thing, and I don't think Matthew is either. It's just the easiest way for Lenovo to deal with Intel's stupid secret-sauce power management, in a Windows context.
Re: Which part is it that is not being understood?
From: (Anonymous) - Date: 2016-09-22 07:26 am (UTC) - Expandcomplete BS
Date: 2016-09-22 06:51 am (UTC)Lenovo are the biggest PC laptop vendor in the world. Laptops don't have RAID.
Intel support for Linux is generally excellent.
Re: complete BS
Date: 2016-09-22 01:52 pm (UTC)They don't?
Mine do (Sony VPCZ1, 2 or 4 striped SSD's).
Re: complete BS
From: (Anonymous) - Date: 2016-09-22 02:59 pm (UTC) - ExpandStorm in a teacup
Date: 2016-09-22 09:17 am (UTC)Such patches are unnecessary, as mdadm already supports Intel Rapid Storage Technology (RST - http://www.intel.co.uk/content/www/uk/en/architecture-and-technology/rapid-storage-technology.html ) for simple RAID (e.g. levels 0, 1, 10) arrays, allowing them to be assembled as md or dmraid devices under Linux.
However, it would appear that the version of mdadm in shipping versions of Ubuntu (at least - maybe other distros too) doesn't support the Smart Response Technology (SRT - http://www.intel.com/content/www/us/en/architecture-and-technology/smart-response-technology.html ) feature that's a part of RST and is used by Lenovo to build a hybrid one-stripe RAID0 device from the HDD with a cache on the SSD (I'm sure Lenovo have a good reason for not using a SSHD). Dan Williams of Intel submitted a series of patches to mdadm to support SRT back in April 2014: https://marc.info/?l=linux-raid&r=1&b=201404&w=2 . Perhaps now there's shipping hardware that requires them, there'll be the impetus for distro vendors to get them integrated into mdadm, and their auto-detection in their installers to use the functionality provided sanely.
Re: Storm in a teacup
Date: 2016-09-22 10:23 am (UTC)The main issue here is, a user who doesn't even see a disk, probably wouldn't know to go as far as installing mdadm. IMHO, given the broadening diffusion of NVMe and RAID devices, Debian, Canonical, REDHAT, Fedora etc. might wish to make mdadm part of their live images by default (and eventually strip it from the installed system if it's unnecessary).
Re: Storm in a teacup
From: (Anonymous) - Date: 2016-09-22 12:49 pm (UTC) - ExpandRe: Storm in a teacup
From:Re: Storm in a teacup
From:just imagine...
Date: 2016-09-22 12:07 pm (UTC)The real problem here is that AHCI firmwares are crap, and RAID will not solve problems with overheating, neither make better power consumption counters. RAID is doing the right thing in this specific case, because a lot of companies create AHCI firmware with no optimizations at all, so forcing a "default sane" for power consumption makes the sensation that RAID mode is a better standard.
Until proven wrong, this is still a move to let Linux out of the market, and if Lenovo is not the one to blame, is the one guilty of colluding with Intel to delay Linux support on this equipment.
What does "RAID" actually do?
Date: 2016-09-23 01:50 am (UTC)--luto
Re: What does "RAID" actually do?
Date: 2016-09-23 03:46 am (UTC)Re: What does "RAID" actually do?
From: (Anonymous) - Date: 2016-09-23 04:41 am (UTC) - ExpandRe: What does "RAID" actually do?
From: (Anonymous) - Date: 2016-09-23 04:42 am (UTC) - Expandno subject
Date: 2016-09-23 03:00 am (UTC)no subject
Date: 2016-09-23 05:23 am (UTC)Is this an option? Sorry if this is obviously not an answer.
As for the power management thing, Dell lets you turn off the same "RAID" mode and boot Linux. What kind of runtime loss are we talking here? Can't be that bad or someone would have said something. SSDs use like 2 watts? Even if it never goes into power saving mode, it's about like turning your backlight up 5%, right?
no subject
Date: 2016-09-23 05:26 am (UTC)The power management thing isn't about the SSD itself, it's about ensuring that the controller is programmed correctly so that the entire CPU package can enter deep sleep states. Modern systems should idle at around 4W at most, so small amounts make abig difference here.
(no subject)
From: (Anonymous) - Date: 2016-09-23 05:32 am (UTC) - Expand(no subject)
From:(no subject)
From: (Anonymous) - Date: 2016-09-23 05:36 am (UTC) - Expand(no subject)
From:(no subject)
From: (Anonymous) - Date: 2016-09-23 05:39 am (UTC) - Expandinstalled Linux on about 15 laptops, only one failed: a Lenovo
Date: 2016-09-23 07:26 am (UTC)The first laptop I installed Linux on was about 15 odd years ago - while I had some trouble I got it going eventually. Most follow up laptops where from a variety of suppliers (dell, toshiba, acer etc) and I never had a problem to get any of the hardware working.
The last two laptops are two rather new laptops, both with UEFI/LEGACY, both with AHCI, both with INTEL hardware and all INTEL hardware known to work.
One is a Lenovo Yoga, the other one is a Dell XPS 12.
It took me about 1 hour to get it to go on the Dell, I did that in a number of steps. I first made some space at the end of the drive creating a 30GB space, then tried Fedora 23 without UEFI in Legacy mode - it worked first go.
I then wiped that partition again, changed back to full UEFI, installed Fedora 23 with full UEFI enabled. Grub has taken over and I can easily switch between Linux and Windows 10, all hardware working albeit the touch pad being touchy - but that's the case too in Win10.
Not so the Lenovo - I tried everything for a week. I did RTFM, I read so many articles on the web, I followed every trick of the trade I have learned with myriads of kernel switches, debugging - you name it. I tried.
I have given up, my first failure to ever get a computer to work with Linux.
Luckily there is VmWare and Kali Linux.
Sorry, Lenovo sucks.
Re: installed Linux on about 15 laptops, only one failed: a Lenovo
Date: 2017-03-23 09:22 pm (UTC)i.e. the UEFI interface is not even accessible. Lenovo has been configuring this way for some time. It does not seem to be a faithful production of the EFI standard, IMHO.
Lenovo Thnikpad x250 boots fine with at least 8 distro and power is fine
Date: 2016-09-23 03:08 pm (UTC)Anyway I have very little idea how to resolve that...
Lenovo.....
Date: 2016-09-23 06:49 pm (UTC)Re: Lenovo.....
Date: 2016-09-23 07:55 pm (UTC)Last year's machine had a significantly slower graphics chip. The HD 520 isn't really good for much more than displaying a spreadsheet. Especially not at the high resolutions the screen is capable of. The Iris 540 graphics chip...I've seen benchmarks that suggest it's about 60% faster.
So you could run the older model on Linux, if you never wanted to run anything more complicated than a web browser.
Any news regarding the patch?
Date: 2016-09-23 09:47 pm (UTC)I just became an unhappy new owner of the laptop in question (through no fault of my own, it was batch-bought by my company...), and I'd really like to install Fedora on it.
I know next to nothing about programming, though. If you ever make that patch work, would you also provide step-by-step instructions how to perform an actual install with it? Please please please?
Anyway, thanks for the effort!
Re: Any news regarding the patch?
Date: 2016-09-23 11:11 pm (UTC)Re: Any news regarding the patch?
From: (Anonymous) - Date: 2016-09-24 09:31 am (UTC) - Expandno subject
Date: 2016-09-24 09:58 pm (UTC)Matthew's stuff about the PCH power states is interesting. Taking his numbers (which might not be for Skylake) the change in 'idle time' for a 66Wh battery (like in the Yoga 900) between 5W and 8.5W is 13.2 hours and 7.7 hours. Going to go out on a limb here and say that Skylake is probably more efficient.
Any activity on the machine will of course make it use more power.
I've had mine running all week with Ubuntu and off the charger for several days... so sleep works obviously. I'm not noticing any thermal issues which would worry me more. I'm about to start compiling kernels on it so we'll see how that goes... if anything is going to push the thermal management it's that.
I guess what annoys me about all of this is that Lenovo could have just stated this up front; made the patched BIOS available and with the disclaimer it might negatively affect battery performance and cause more thermal throttling. I would be perfectly happy with that... I don't do many eight hour solid sessions on a laptop away from power. YMMV.
What's more annoying is that if you go and read the Intel forums they say go and talk to the Linux kernel developers... and then the kernel developers say Intel doesn't provide the details. Intel have been doing some great work with Linux lately but obviously this isn't one of those areas...
"support" is toxic
Date: 2016-09-26 08:24 pm (UTC)Free Operating systems need information. By using the word "support", confusion is introduced. We need to know how to program the hardware we buy. No organization wants to sign up for support. The word is toxic. The business folks will never understand so long as this word is used.
Please don't use it. Please ask, "How do I program the hardware you want me to buy?". "I'm not telling" means I keep shopping. It has nothing to do with support organizations or special intellectual property. If I can't program it, I don't own it, so why would I pay for it?
why isn't it hackable?
Date: 2016-10-15 02:55 pm (UTC)So, I'm not a hardware specialist but...
If windows uses intel binary blob driver, why can't linux too?
It's already doesn't recognize the ssd, just like with windows,
so the next step should be binding to the intel driver somehow?
Re: why isn't it hackable?
Date: 2016-10-24 02:44 pm (UTC)Because if it works wrong, you screwed? Because you can't hack into it? Because blob updates to kernel releases would lag behind? And, for that matter, because you can't rely at all on a company to update a binary blob for every kernel release?
> It's already doesn't recognize the ssd, just like with windows
Patches been posted, as the update mentioned. Though they seem stuck a bit — peoples in the mailing list saying like it needs a review by commity, because such behavior might be undefined in some cases.