<div dir="ltr"><div>OK, I can confirm, that I was able to solve MC7455 being in low power mode by BIOS tweak:<br><br><div>1. reload BIOS default, save boot<br></div><div>2. disable WWAN card in Security I/O ports, save BIOS, boot<br></div><div>3. enable WWAN card in Security I/O ports, save BIOS, boot</div><br>I did removed tape on PIN20 and I did revert PCOFFEN=0, but even so after hack the card stays 'enabled'<br></div><div><br> <br>AT!PCINFO? <br> <br>State: Online <br>LPM voters - Temp:0, Volt:0, User:0, W_DISABLE:0, IMSWITCH:0, BIOS:0, LWM2M:0, 0<br>LPM persistence - None <br> <br>OK<br>AT!ENTERCND="A710"<br><br>OK <br>AT!PCOFFEN=0 <br> <br>OK<br>AT!PCOFFEN? <br> <br>0 <br> <br>OK <br> <br>AT!PCINFO?<br> <br>State: Online <br>LPM voters - Temp:0, Volt:0, User:0, W_DISABLE:0, IMSWITCH:0, BIOS:0, LWM2M:0, 0<br>LPM persistence - none<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jun 10, 2017 at 12:45 AM, Dominik Strnad <span dir="ltr"><<a href="mailto:litinoveweedle@gmail.com" target="_blank">litinoveweedle@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello Bjorn, thank you for reply<br><div><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Fri, Jun 9, 2017 at 10:28 PM, Bjørn Mork <span dir="ltr"><<a href="mailto:bjorn@mork.no" target="_blank">bjorn@mork.no</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="m_1861414902313790650gmail-">Dan Williams <<a href="mailto:dcbw@redhat.com" target="_blank">dcbw@redhat.com</a>> writes:<br>
<br>
> On Fri, 2017-06-09 at 01:25 +0200, Dominik Strnad wrote:<br>
>> Hello Bjorn,<br>
>><br>
>> thank you. I meanwhile succeeded to get car into online mode by<br>
>> isolating<br>
>> pin20 on minPCIe card. But I at least confirm, that after using<br>
>> ENTERCND<br>
>> the PCOFFEN do not report error anymore (but the card was already not<br>
>> in<br>
>> disable state because of pin isolation. But I have a question - what<br>
>> is<br>
>> better? To use your command (probably as part of some udev rule?) or<br>
>> keep<br>
>> that pin isolated? Thank you.<br>
><br>
> Ideally figure out why BIOS isn't letting the card be enabled :)<br>
<br>
</span>I still think this is a BIOS flag which needs to be set or cleared, but<br>
I don't know the exact magic spell. Looking at the thinkpad_acpi driver<br>
now, I get a distinct deja vu feeling... If I only had taken some notes<br>
:-(<br></blockquote><div><br></div></span><div>I maybe remembered something.... I think the key was to:<br><br></div><div>1. reload BIOS default, save boot<br></div><div>2. disable WWAN or WIMAX? card in Security I/O ports, save BIOS, boot<br></div><div>3. enable WWAN or WIMAX? card in Security I/O ports, save BIOS, boot</div><div><div class="h5"><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
I wonder if I simply might have temporarily disabled the "HWPRESENT"<br>
test in the driver, and let the default wan_shutdown() just update the<br>
state? In any case, I do believe the solution is hidden somewhere here:<br>
<br>
<br>
<br>
static void wan_shutdown(void)<br>
{<br>
/* Order firmware to save current state to NVRAM */<br>
if (!acpi_evalf(NULL, NULL, "\\WGSV", "vd",<br>
TP_ACPI_WGSV_SAVE_STATE))<br>
pr_notice("failed to save WWAN state to NVRAM\n");<br>
else<br>
vdbg_printk(TPACPI_DBG_RFKILL,<br>
"WWAN state saved to NVRAM\n");<br>
}<br>
<br>
static void wan_exit(void)<br>
{<br>
sysfs_remove_group(&tpacpi_pde<wbr>v->dev.kobj,<br>
&wan_attr_group);<br>
<br>
tpacpi_destroy_rfkill(TPACPI_R<wbr>FK_WWAN_SW_ID);<br>
<br>
wan_shutdown();<br>
}<br>
<br>
static int __init wan_init(struct ibm_init_struct *iibm)<br>
{<br>
int res;<br>
int status = 0;<br>
<br>
vdbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_RFKILL,<br>
"initializing wan subdriver\n");<br>
<br>
TPACPI_ACPIHANDLE_INIT(hkey);<br>
<br>
tp_features.wan = hkey_handle &&<br>
acpi_evalf(hkey_handle, &status, "GWAN", "qd");<br>
<br>
vdbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_RFKILL,<br>
"wan is %s, status 0x%02x\n",<br>
str_supported(tp_features.wan)<wbr>,<br>
status);<br>
<br>
#ifdef CONFIG_THINKPAD_ACPI_DEBUGFACI<wbr>LITIES<br>
if (dbg_wwanemul) {<br>
tp_features.wan = 1;<br>
pr_info("wwan switch emulation enabled\n");<br>
} else<br>
#endif<br>
if (tp_features.wan &&<br>
!(status & TP_ACPI_WANCARD_HWPRESENT)) {<br>
/* no wan hardware present in system */<br>
tp_features.wan = 0;<br>
dbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_RFKILL,<br>
"wan hardware not installed\n");<br>
}<br>
<br>
if (!tp_features.wan)<br>
return 1;<br>
<br>
..<br>
<span class="m_1861414902313790650gmail-"><br>
<br>
> But failing that, either PCOFFEN or the taping of pin20 are probably<br>
> fine. PCOFFEN is likely the better solution, though that may be reset<br>
> on firmware updates.<br>
<br>
</span>I don't think it will be reset. NVRAM settings are usually kept, unless<br>
the firmware upgrade includes a specific setting. And they normally<br>
don't touch PCOFFEN.<br></blockquote><div><br></div></div></div><div>So it seems that time comes to remove isolation on PIN20 and test again:<br><br></div><div>- BIOS hack (Should I revert somehow PCOFFEN to previous value to be able to see if bios enabling card now? Which value?)<br></div><div>- PCOFFEN only<br><br></div><div>Dominik<br></div><div><br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span class="m_1861414902313790650gmail-HOEnZb"><font color="#888888"><br>
<br>
Bjørn<br>
<br>
</font></span></blockquote></div><br></div></div></div>
</blockquote></div><br></div>