MC7455 in X220 with ModemManager 1.6.4

Dominik Strnad litinoveweedle at gmail.com
Fri Jun 9 22:45:12 UTC 2017


Hello Bjorn, thank you for reply

On Fri, Jun 9, 2017 at 10:28 PM, Bjørn Mork <bjorn at mork.no> wrote:

> Dan Williams <dcbw at redhat.com> writes:
>
> > On Fri, 2017-06-09 at 01:25 +0200, Dominik Strnad wrote:
> >> Hello Bjorn,
> >>
> >> thank you. I meanwhile succeeded to get car into online mode by
> >> isolating
> >> pin20 on minPCIe card. But I at least confirm, that after using
> >> ENTERCND
> >> the PCOFFEN do not report error anymore (but the card was already not
> >> in
> >> disable state because of pin isolation. But I have a question - what
> >> is
> >> better? To use your command (probably as part of some udev rule?) or
> >> keep
> >> that pin isolated? Thank you.
> >
> > Ideally figure out why BIOS isn't letting the card be enabled :)
>
> I still think this is a BIOS flag which needs to be set or cleared, but
> I don't know the exact magic spell.  Looking at the thinkpad_acpi driver
> now, I get a distinct deja vu feeling...  If I only had taken some notes
> :-(
>

I maybe remembered something.... I think the key was to:

1. reload BIOS default, save boot
2. disable WWAN or WIMAX? card in Security I/O ports, save BIOS, boot
3. enable WWAN or WIMAX? card in Security I/O ports, save BIOS, boot


> I wonder if I simply might have temporarily disabled the "HWPRESENT"
> test in the driver, and let the default wan_shutdown() just update the
> state?  In any case, I do believe the solution is hidden somewhere here:
>
>
>
> static void wan_shutdown(void)
> {
>         /* Order firmware to save current state to NVRAM */
>         if (!acpi_evalf(NULL, NULL, "\\WGSV", "vd",
>                         TP_ACPI_WGSV_SAVE_STATE))
>                 pr_notice("failed to save WWAN state to NVRAM\n");
>         else
>                 vdbg_printk(TPACPI_DBG_RFKILL,
>                         "WWAN state saved to NVRAM\n");
> }
>
> static void wan_exit(void)
> {
>         sysfs_remove_group(&tpacpi_pdev->dev.kobj,
>                 &wan_attr_group);
>
>         tpacpi_destroy_rfkill(TPACPI_RFK_WWAN_SW_ID);
>
>         wan_shutdown();
> }
>
> static int __init wan_init(struct ibm_init_struct *iibm)
> {
>         int res;
>         int status = 0;
>
>         vdbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_RFKILL,
>                         "initializing wan subdriver\n");
>
>         TPACPI_ACPIHANDLE_INIT(hkey);
>
>         tp_features.wan = hkey_handle &&
>             acpi_evalf(hkey_handle, &status, "GWAN", "qd");
>
>         vdbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_RFKILL,
>                 "wan is %s, status 0x%02x\n",
>                 str_supported(tp_features.wan),
>                 status);
>
> #ifdef CONFIG_THINKPAD_ACPI_DEBUGFACILITIES
>         if (dbg_wwanemul) {
>                 tp_features.wan = 1;
>                 pr_info("wwan switch emulation enabled\n");
>         } else
> #endif
>         if (tp_features.wan &&
>             !(status & TP_ACPI_WANCARD_HWPRESENT)) {
>                 /* no wan hardware present in system */
>                 tp_features.wan = 0;
>                 dbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_RFKILL,
>                            "wan hardware not installed\n");
>         }
>
>         if (!tp_features.wan)
>                 return 1;
>
> ..
>
>
> > But failing that, either PCOFFEN or the taping of pin20 are probably
> > fine.  PCOFFEN is likely the better solution, though that may be reset
> > on firmware updates.
>
> I don't think it will be reset. NVRAM settings are usually kept, unless
> the firmware upgrade includes a specific setting. And they normally
> don't touch PCOFFEN.
>

So it seems that time comes to remove isolation on PIN20 and test again:

- BIOS hack (Should I revert somehow PCOFFEN to previous value to be able
to see if bios enabling card now? Which value?)
- PCOFFEN only

Dominik



>
>
> Bjørn
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20170610/c0c7e44f/attachment.html>


More information about the ModemManager-devel mailing list