Lenovo (x260) and EM7455

Bjørn Mork bjorn at mork.no
Thu Aug 18 07:10:39 UTC 2016


Bjørnar Ness <bjornar.ness at gmail.com> writes:

> I did not even care to mention, but no rfkilled

Yes, I believe that would have shown up as *hardware* radio state in any
case.

And you didn't have any AT port we could use to debug this either?

tl;dr; I've actually wondered about the AT port defaults.  My Lenovo
EM7455 also was delivered with only an MBIM function enabled.  The odd
thing is that this doesn't match the contents of the Lenovo OEM .nvu
file.  It has

 USB_COMP => 01:00:00:00:0d:10:00:00

which maps to "AT!USBCOMP=1,1,100d" in all the experiments I've done so far.

And that means that the diag,nmea and modem ports should be enabled:

at!usbcomp?
Config Index: 1
Config Type:  1 (Generic)
Interface bitmask: 0000100D (diag,nmea,modem,mbim) 

OK

at!usbcomp=?
!USBCOMP: 
AT!USBCOMP=<Config Index>,<Config Type>,<Interface bitmask>
  <Config Index>      - configuration index to which the composition applies, should be 1

  <Config Type>       - 1:Generic, 2:USBIF-MBIM, 3:RNDIS
                        config type 2/3 should only be used for specific Sierra PIDs: 68B1, 9068
                        customized VID/PID should use config type 1

  <Interface bitmask> - DIAG     - 0x00000001,
                        NMEA     - 0x00000004,
                        MODEM    - 0x00000008,
                        RMNET0   - 0x00000100,
                        RMNET1   - 0x00000400,
                        MBIM     - 0x00001000,
  e.g.
  10D  - diag, nmea, modem, rmnet interfaces enabled
  1009 - diag, modem, mbim interfaces enabled

  The default configuration is:
  at!usbcomp=1,1,10F

OK



I expect that flashing
1102662_9905046_EM7455_02.05.07.00_00_Lenovo-Laptop_001.003_000.nvu
would reset the configuration back to 100d.  The question is
how/why/what changed it before delivery?  The other OEM settings, like
USB_APP_BOOT_PIDS and FCC_AUTH, seems to have stuck.

FWIW, I've verified the serial functions can be reenabled by using the
"Set USB Comp" QMI DMS request to select composition #8. Without any bad
effects on my X1 Carbon, at least. It would be nice to get that
properly supported in libqmi :)  On my TODO-list.

Let me know if you want to try my hackish perl script to change the
composition, so you can get an AT port. It won't help directly, but the
AT!PCINFO command is extremely useful for debugging since it summarizes
all reasons why a device can be in low power mode.  For example:


 at!pcinfo?
 State: Online
 LPM voters - Temp:0, Volt:0, User:0, W_DISABLE:0, IMSWITCH:0, BIOS:0
 LPM persistence - None
 
 OK

 # rfkill block 1

 at!pcinfo?
 State: Low Power Mode
 LPM voters - Temp:0, Volt:0, User:0, W_DISABLE:1, IMSWITCH:0, BIOS:0
 LPM persistence - None
 
 OK


I'd love to get something similar out of QMI/MBIM, but I don't know if
all that is available?  Probably is, but the lack of QMI docs makes it
hard to figure out..




Bjørn


More information about the ModemManager-devel mailing list