Hi all, Days ago the coreboot port for Thinkpad X230s ( https://review.coreboot.org/c/coreboot/+/41390 ) for one of my friends got merged. Most stuffs on this laptop proves to work fine, but the interaction between its EC and cellular modem installed in its internal M.2 socket is detected to be a bit weird, and because of this the cellular modem installed internally becomes hardly usable:
If the laptop is connected to AC power, the cellular modem is disabled and cannot be enabled with software. (e.g. Modem manager ) as if there were a hardware switch set to flight mode; if the AC power is absent, whether the cellular modem is usable depends on the operating system.
The detailed testing result table collected by my friend is attached, in html format.
The direct cause of this phenomenon may be that the EC erroneously pull down the GPIO pin for rfkill (Pin 8 of the M.2 socket with key B) when the AC power gets present, but I cannot confirm whether the main board of this X230s is faulty, or the EC firmware is buggy, or the EC of X230s should be treated differently as the EC of X230, which I did not implement in my work.
Currently, this problem is walked around by blocking the Pin with a small piece of insulating tape.
Since I have experienced only one X230s, I cannot tell which one is the real case. Could ye help me to confirm and/or improve this if ye have a chance to access your own Thinkpad X230s?
Regards, Persmule
Hi Persmule,
I don't own any Thinkpads so I can't test anything. Still, here's my two cents about the issue at hand.
On Thu, Jul 16, 2020 at 1:43 PM Persmule persmule@hardenedlinux.org wrote:
Hi all, Days ago the coreboot port for Thinkpad X230s ( https://review.coreboot.org/c/coreboot/+/41390 ) for one of my friends got merged. Most stuffs on this laptop proves to work fine, but the interaction between its EC and cellular modem installed in its internal M.2 socket is detected to be a bit weird, and because of this the cellular modem installed internally becomes hardly usable:
I know there's some workaround for broken BDC detection. Maybe something similar is needed for the X230s.
If the laptop is connected to AC power, the cellular modem is disabled and cannot be enabled with software. (e.g. Modem manager ) as if there were a hardware switch set to flight mode; if the AC power is absent, whether the cellular modem is usable depends on the operating system.
The detailed testing result table collected by my friend is attached, in html format.
The direct cause of this phenomenon may be that the EC erroneously pull down the GPIO pin for rfkill (Pin 8 of the M.2 socket with key B) when the AC power gets present, but I cannot confirm whether the main board of this X230s is faulty, or the EC firmware is buggy, or the EC of X230s should be treated differently as the EC of X230, which I did not implement in my work.
I suspect that reusing the H8 EC code for the xx30 series Thinkpads is a source of bugs. There isn't any H8 EC on those mainboards anymore, the EC was replaced with a completely different SMSC MEC1619. The T440p port seems to have a few bugs which might be due to the different EC.
Currently, this problem is walked around by blocking the Pin with a small piece of insulating tape.
Since I have experienced only one X230s, I cannot tell which one is the real case. Could ye help me to confirm and/or improve this if ye have a chance to access your own Thinkpad X230s?
Regards, Persmule _______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org
Best regards, Angel Pons
Hi Angel Pons,
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, July 16, 2020 2:47 PM, Angel Pons th3fanbus@gmail.com wrote:
I suspect that reusing the H8 EC code for the xx30 series Thinkpads is a source of bugs. There isn't any H8 EC on those mainboards anymore, the EC was replaced with a completely different SMSC MEC1619. The T440p port seems to have a few bugs which might be due to the different EC.
Is the EC on the xx20 series Thinkpads (e.g. X220) an H8 EC or not?
Hi Persmule,
On Thu, Jul 16, 2020 at 5:02 PM Persmule persmule@hardenedlinux.org wrote:
Hi Angel Pons,
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, July 16, 2020 2:47 PM, Angel Pons th3fanbus@gmail.com wrote:
I suspect that reusing the H8 EC code for the xx30 series Thinkpads is a source of bugs. There isn't any H8 EC on those mainboards anymore, the EC was replaced with a completely different SMSC MEC1619. The T440p port seems to have a few bugs which might be due to the different EC.
Is the EC on the xx20 series Thinkpads (e.g. X220) an H8 EC or not?
AFAIK, yes. The specific H8S model used varies, but they are similar. I re-checked the T440p and it uses a different SMSC MEC1633L EC. That would explain why only the T440p had some weird issues regarding EC stuff.
Best regards, Angel
Hi Angel Pons,
It seems that we may copy ec/lenovo/h8 to ec/lenovo/mec16xx ( or separate directory for different chips ) to start dedicated support to them, since though they are different, their behavior are so similar that code for ec/lenovo/h8 can work on them, though buggy.
Best regards, Persmule
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, July 16, 2020 5:10 PM, Angel Pons th3fanbus@gmail.com wrote:
Hi Persmule,
On Thu, Jul 16, 2020 at 5:02 PM Persmule persmule@hardenedlinux.org wrote:
Hi Angel Pons, ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, July 16, 2020 2:47 PM, Angel Pons th3fanbus@gmail.com wrote:
I suspect that reusing the H8 EC code for the xx30 series Thinkpads is a source of bugs. There isn't any H8 EC on those mainboards anymore, the EC was replaced with a completely different SMSC MEC1619. The T440p port seems to have a few bugs which might be due to the different EC.
Is the EC on the xx20 series Thinkpads (e.g. X220) an H8 EC or not?
AFAIK, yes. The specific H8S model used varies, but they are similar. I re-checked the T440p and it uses a different SMSC MEC1633L EC. That would explain why only the T440p had some weird issues regarding EC stuff.
Best regards, Angel
Hi Persmule,
On Thu, Jul 16, 2020 at 5:17 PM Persmule persmule@hardenedlinux.org wrote:
Hi Angel Pons,
It seems that we may copy ec/lenovo/h8 to ec/lenovo/mec16xx ( or separate directory for different chips ) to start dedicated support to them, since though they are different, their behavior are so similar that code for ec/lenovo/h8 can work on them, though buggy.
Nope. While it happens rather often, copying code to support a new chip is a terrible approach. Things get duplicated and get patched up independently, and then there are five copies of some file which only differ in cosmetics.
If one wants to properly support the different ECs Lenovo uses on the Thinkpads, it's better to reverse engineer each platform again and add fresh code that is tested and known working. One also needs to remember that ECs are made of both hardware and software, and I doubt that any distinction is made in the case of ec/lenovo/h8. In case the software interface is the exact same for Lenovo laptops with different ECs, it should not go into either EC folder.
Best regards, Persmule
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, July 16, 2020 5:10 PM, Angel Pons th3fanbus@gmail.com wrote:
Hi Persmule,
On Thu, Jul 16, 2020 at 5:02 PM Persmule persmule@hardenedlinux.org wrote:
Hi Angel Pons, ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, July 16, 2020 2:47 PM, Angel Pons th3fanbus@gmail.com wrote:
I suspect that reusing the H8 EC code for the xx30 series Thinkpads is a source of bugs. There isn't any H8 EC on those mainboards anymore, the EC was replaced with a completely different SMSC MEC1619. The T440p port seems to have a few bugs which might be due to the different EC.
Is the EC on the xx20 series Thinkpads (e.g. X220) an H8 EC or not?
AFAIK, yes. The specific H8S model used varies, but they are similar. I re-checked the T440p and it uses a different SMSC MEC1633L EC. That would explain why only the T440p had some weird issues regarding EC stuff.
Best regards, Angel
Regards, Angel