Re: Sierra Wireless EM7455 dysfunctional

2016-10-13 Thread Hans-Peter Jansen
Dear Bjørn,

On Donnerstag, 13. Oktober 2016 12:46:49 Bjørn Mork wrote:
> On October 13, 2016 12:10:07 PM CEST, Hans-Peter Jansen  
> wrote:
> >T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  7 Spd=480 MxCh= 0
> >D:  Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
> >P:  Vendor=1199 ProdID=9079 Rev=00.06
> >S:  Manufacturer=Sierra Wireless, Incorporated
> >S:  Product=Sierra Wireless EM7455 Qualcomm Snapdragon X7 LTE-A
> >S:  SerialNumber=LF62830495041014
> >C:  #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=500mA
> >I:  If#=12 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=qmi_wwan
> >I:  If#=13 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=qmi_wwan
> 
> That's the wrong driver. Nothing is ever going to work that way.
> 
> This is NOT the result of a default configuration.  You need to start from
> scratch. Remove ever change affecting the modem and install a clean
> environment with defaults for everything.

Oops, sorry, forgot a hunk in udev.rules.d, removed it, rebooted, and:

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  7 Spd=480 MxCh= 0
D:  Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1199 ProdID=9079 Rev=00.06
S:  Manufacturer=Sierra Wireless, Incorporated
S:  Product=Sierra Wireless EM7455 Qualcomm Snapdragon X7 LTE-A
S:  SerialNumber=LF62830495041014
C:  #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#=12 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
I:  If#=13 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim

Be assured, that I'm very careful (minus this fault pas :() in system 
modifications, e.g. I never build system apps from tarballs.

I'm pretty sure, that I can reproduce this effect on another X1 Carbon 
Gen4 (type FB20), just by installing openSUSE Leap and adding my repo, 
given the same modem model is assembled.

> >I'm not that deep into the usb protocol but obviously, the kernel
> >doesn't
> >accept the interface numbers 12 and 13.

Kernel shows now:

2016-10-13T15:36:14.178364+02:00 x1carbon kernel: [  712.814653] usb 1-2: new 
high-
speed USB device number 7 using xhci_hcd
2016-10-13T15:36:14.318373+02:00 x1carbon kernel: [  712.955373] usb 1-2: 
config 1 has 
an invalid interface number: 12 but max is 1
2016-10-13T15:36:14.318402+02:00 x1carbon kernel: [  712.955374] usb 1-2: 
config 1 has 
an invalid interface number: 13 but max is 1
2016-10-13T15:36:14.318403+02:00 x1carbon kernel: [  712.955375] usb 1-2: 
config 1 has 
an invalid interface number: 13 but max is 1
2016-10-13T15:36:14.318404+02:00 x1carbon kernel: [  712.955376] usb 1-2: 
config 1 has 
no interface number 0
2016-10-13T15:36:14.318405+02:00 x1carbon kernel: [  712.955376] usb 1-2: 
config 1 has 
no interface number 1
2016-10-13T15:36:14.318406+02:00 x1carbon kernel: [  712.955884] usb 1-2: New 
USB 
device found, idVendor=1199, idProduct=9079
2016-10-13T15:36:14.318407+02:00 x1carbon kernel: [  712.955885] usb 1-2: New 
USB 
device strings: Mfr=1, Product=2, SerialNumber=3
2016-10-13T15:36:14.318408+02:00 x1carbon kernel: [  712.955886] usb 1-2: 
Product: 
Sierra Wireless EM7455 Qualcomm Snapdragon X7 LTE-A
2016-10-13T15:36:14.318409+02:00 x1carbon kernel: [  712.955886] usb 1-2: 
Manufacturer: 
Sierra Wireless, Incorporated
2016-10-13T15:36:14.318428+02:00 x1carbon kernel: [  712.955887] usb 1-2: 
SerialNumber: LF62830495041014
2016-10-13T15:36:14.338381+02:00 x1carbon kernel: [  712.978072] cdc_mbim 
1-2:1.12: 
cdc-wdm0: USB WDM device
2016-10-13T15:36:14.338392+02:00 x1carbon kernel: [  712.978295] cdc_mbim 
1-2:1.12 
wwan0: register 'cdc_mbim' at usb-:00:14.0-2, CDC MBIM, 72:55:f7:xx:yy:zz

> It does accept them. It's just a warning.  Bo need to worry about that. It's
> normal.
> 
> Yes, the warning is obviously misleading although formally correct. But I've
> not been successful getting it removed or demoted.

Understood, thanks. Unfortunately, the issue persists:

~# rcModemManager status
ModemManager.service - Modem Manager
   Loaded: loaded (/usr/lib/systemd/system/ModemManager.service; enabled)
   Active: active (running) since Thu 2016-10-13 14:22:54 CEST; 2h 28min ago
 Main PID: 869 (ModemManager)
   CGroup: /system.slice/ModemManager.service
   |- 869 /usr/sbin/ModemManager
   `-1385 /usr/lib/mbim-proxy

Oct 13 14:23:25 x1carbon.infovision ModemManager[869]:   Could not grab 
port 
(usbmisc/cdc-wdm0): 'Cannot add port 'usbmisc/cdc-wdm0', unsupported'
Oct 13 14:23:25 x1carbon.infovision ModemManager[869]:   Couldn't create 
modem for device at '/sys/devices/pci:00/:00:14.0/usb1/1-2': Failed to 
find 
primary AT port
Oct 13 15:36:07 x1carbon.infovision ModemManager[869]:   Couldn't check 
support 
for device at '/sys/devices/pci:00/:00:1c.2/:04:00.0': not 
supported by any 
plugin
Oct 13 15:36:07 x1carbon.infovision ModemManager[869]:   Couldn't check 
support 
for device at '/sys/devices/pci:00/:00:1f.6': not supported by any 
plugin
Oct 13 15:36:15 x1carbon.infovision ModemManager[869]: opening device...
Oct 13 1

Re: Sierra Wireless EM7455 dysfunctional

2016-10-13 Thread Bjørn Mork


On October 13, 2016 12:10:07 PM CEST, Hans-Peter Jansen  wrote:
>
>T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  7 Spd=480 MxCh= 0
>D:  Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
>P:  Vendor=1199 ProdID=9079 Rev=00.06
>S:  Manufacturer=Sierra Wireless, Incorporated
>S:  Product=Sierra Wireless EM7455 Qualcomm Snapdragon X7 LTE-A
>S:  SerialNumber=LF62830495041014
>C:  #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=500mA
>I:  If#=12 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=qmi_wwan
>I:  If#=13 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=qmi_wwan

That's the wrong driver. Nothing is ever going to work that way.

This is NOT the result of a default configuration.  You need to start from 
scratch. Remove ever change affecting the modem and install a clean environment 
with defaults for everything.


>I'm not that deep into the usb protocol but obviously, the kernel
>doesn't
>accept the interface numbers 12 and 13.

It does accept them. It's just a warning.  Bo need to worry about that. It's 
normal.

Yes, the warning is obviously misleading although formally correct. But I've 
not been successful getting it removed or demoted.


Bjørn
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: Sierra Wireless EM7455 dysfunctional

2016-10-13 Thread Hans-Peter Jansen
Hi Dan,

thank you for you quick response. Unfortunately, I'm lacking in this respect.
Sorry. The only way to gain access on this system is remote, and I'll have 
to arrange with the my friend for not getting in the way of each other..

On Freitag, 7. Oktober 2016 15:46:56 Dan Williams wrote:
> On Fri, 2016-10-07 at 21:12 +0200, Hans-Peter Jansen wrote:
> > [line wrapping disabled intentionally in order to improve
> > readability]
> > 
> > Hi,
> >  
> > in a Lenovo X1 Carbon Type FB20, using openSUSE 42.1, the EM7455 is 
> > unavailable, although:
> >  * a Linux 4.8 kernel is installed 
> >(build here: https://build.opensuse.org/project/monitor/home:frisp
> > ete:Kernel-current)
> >  * libmbim-1.14.0, libqmi-1.16.0, and ModemManager-1.6.0 are
> > installed 
> >(from the same repo)
> 
> What user/group are MM and the mbim proxy running as, and do you have
> anything like SELinux or AppArmor of something like that enabled?

openSUSE doesn't use SELinux (by default), AppArmor is deactivated for the 
last days:

~# rcapparmor status
apparmor module is loaded.
0 profiles are loaded.
0 profiles are in enforce mode.
0 profiles are in complain mode.
0 processes have profiles defined.
0 processes are in enforce mode.
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.
apparmor.service - LSB: AppArmor initialization
   Loaded: loaded (/etc/init.d/boot.apparmor)
   Active: inactive (dead)

The processes in question are running as root:

root   707  0.0  0.0 418752  9676 ?Ssl  10:03   0:00 
/usr/sbin/ModemManager
root  1102 99.9  0.0 189112  4972 ?Rl   10:03   7:21 
/usr/lib/mbim-proxy

mbim-proxy is spinning like hell:

[pid  1102] stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
[pid  1102] stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
[pid  1102] stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
[pid  1102] stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
[pid  1102] stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
[pid  1102] stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
[pid  1102] stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
[pid  1102] stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
[pid  1102] stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0

Stopping MM and killing mbim-proxy with SIGKILL is the only way to stop this.

> Can you run "sudo mbimcli -p -d /dev/cdc-wdm0 --query-device-caps"?

~# mbimcli -p -d /dev/cdc-wdm0 --query-device-caps
error: couldn't open the MbimDevice: Transaction timed out

This triggers another instance of mbim-proxy to spin.

The device acually exists:

~# l /dev/cdc-wdm0
crw--- 1 root root 180, 176 13. Okt 10:03 /dev/cdc-wdm0

Btw, the modem did show up yesterday once or twice, but we tried to reproduce
this today (disable all other network connections, kill switch, etc.), but
failed. 

The system is running a 4.8.1 kernel now. Here's the offending device with
some interesting logs:

2016-10-13T11:02:58.068689+02:00 x1carbon kernel: [5.396078] usb 1-2: 
config 1 has an invalid interface number: 12 but max is 1
2016-10-13T11:02:58.068691+02:00 x1carbon kernel: [5.396079] usb 1-2: 
config 1 has an invalid interface number: 13 but max is 1
2016-10-13T11:02:58.068692+02:00 x1carbon kernel: [5.396079] usb 1-2: 
config 1 has an invalid interface number: 13 but max is 1
2016-10-13T11:02:58.068692+02:00 x1carbon kernel: [5.396080] usb 1-2: 
config 1 has no interface number 0
2016-10-13T11:02:58.068692+02:00 x1carbon kernel: [5.396080] usb 1-2: 
config 1 has no interface number 1
2016-10-13T11:02:58.068693+02:00 x1carbon kernel: [5.397249] usb 1-2: New 
USB device found, idVendor=1199, idProduct=9079
2016-10-13T11:02:58.068693+02:00 x1carbon kernel: [5.397250] usb 1-2: New 
USB device strings: Mfr=1, Product=2, SerialNumber=3
2016-10-13T11:02:58.068694+02:00 x1carbon kernel: [5.397250] usb 1-2: 
Product: Sierra Wireless EM7455 Qualcomm Snapdragon X7 LTE-A
2016-10-13T11:02:58.068696+02:00 x1carbon kernel: [5.397251] usb 1-2: 
Manufacturer: Sierra Wireless, Incorporated
2016-10-13T11:02:58.068697+02:00 x1carbon kernel: [5.397251] usb 1-2: 
SerialNumber: LF62830495041014

Again, as shown from usb-devices:

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  7 Spd=480 MxCh= 0
D:  Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1199 ProdID=9079 Rev=00.06
S:  Manufacturer=Sierra Wireless, Incorporated
S:  Product=Sierra Wireless EM7455 Qualcomm Snapdragon X7 LTE-A
S:  SerialNumber=LF62830495041014
C:  #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#=12 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=qmi_wwan
I:  If#=13 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=qmi_wwan

I'm not that deep into the usb protocol but obviously, the kernel doesn't
accept the interface number

Re: Sierra Wireless EM7455 dysfunctional

2016-10-07 Thread Dan Williams
On Fri, 2016-10-07 at 21:12 +0200, Hans-Peter Jansen wrote:
> [line wrapping disabled intentionally in order to improve
> readability]
> 
> Hi,
>  
> in a Lenovo X1 Carbon Type FB20, using openSUSE 42.1, the EM7455 is 
> unavailable, although:
>  * a Linux 4.8 kernel is installed 
>    (build here: https://build.opensuse.org/project/monitor/home:frisp
> ete:Kernel-current)
>  * libmbim-1.14.0, libqmi-1.16.0, and ModemManager-1.6.0 are
> installed 
>    (from the same repo)

What user/group are MM and the mbim proxy running as, and do you have
anything like SELinux or AppArmor of something like that enabled?

Can you run "sudo mbimcli -p -d /dev/cdc-wdm0 --query-device-caps"?

Dan

> The device is shown as follows:
> 
> T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=480 MxCh= 0
> D:  Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
> P:  Vendor=1199 ProdID=9079 Rev=00.06
> S:  Manufacturer=Sierra Wireless, Incorporated
> S:  Product=Sierra Wireless EM7455 Qualcomm Snapdragon X7 LTE-A
> S:  SerialNumber=LF62830495041014
> C:  #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=500mA
> I:  If#=12 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00
> Driver=cdc_mbim
> I:  If#=13 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02
> Driver=cdc_mbim
> 
> The cdc_mbim module gets loaded:
> 
> ~# dmesg|grep mbim
> [6.377266] cdc_mbim 1-2:1.12: cdc-wdm0: USB WDM device
> [6.377407] cdc_mbim 1-2:1.12 wwan0: register 'cdc_mbim' at usb-
> :00:14.0-2, CDC MBIM, ce:03:d8:c4:d6:03
> [6.377428] usbcore: registered new interface driver cdc_mbim
> 
> but the ModemManager can't talk to the device:
> 
> ModemManager.service - Modem Manager
>    Loaded: loaded (/usr/lib/systemd/system/ModemManager.service;
> enabled)
>    Active: active (running) since Fri 2016-10-07 19:38:10 CEST; 1h
> 13min ago
>  Main PID: 983 (ModemManager)
>    CGroup: /system.slice/ModemManager.service
>    |- 983 /usr/sbin/ModemManager
>    `-1499 /usr/lib/mbim-proxy
> 
> Oct 07 19:38:11 x1carbon.infovision ModemManager[983]: opening
> device...
> Oct 07 19:38:11 x1carbon.infovision ModemManager[983]: cannot connect
> to proxy: Could not connect: Connection refused
> Oct 07 19:38:11 x1carbon.infovision ModemManager[983]: spawning new
> mbim-proxy (try 1)...
> Oct 07 19:38:11 x1carbon.infovision ModemManager[983]: [/dev/cdc-
> wdm0] Read max control message size from descriptors file: 4096
> Oct 07 19:38:12 x1carbon.infovision ModemManager[983]:
>   Couldn't check support for device at
> '/sys/devices/pci:00/:00:1c.2/:04:00.0': not supported by
> any plugin
> Oct 07 19:38:12 x1carbon.infovision ModemManager[983]:
>   Couldn't check support for device at
> '/sys/devices/pci:00/:00:1f.6': not supported by any plugin
> Oct 07 19:38:41 x1carbon.infovision ModemManager[983]: proxy
> configuration failed: closed
> Oct 07 19:38:41 x1carbon.infovision ModemManager[983]:
>   Creating modem with plugin 'Sierra' and '2' ports
> Oct 07 19:38:41 x1carbon.infovision ModemManager[983]:   Could
> not grab port (usbmisc/cdc-wdm0): 'Cannot add port 'usbmisc/cdc-
> wdm0', unsupported'
> Oct 07 19:38:41 x1carbon.infovision ModemManager[983]:
>   Couldn't create modem for device at
> '/sys/devices/pci:00/:00:14.0/usb1/1-2': Failed to find
> primary AT port
> 
> When the ModemManager is stopped, mbim-proxy is hooking the CPU,
> spinning in:
> stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
> stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
> stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
> stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2335, ...}) = 0
> 
> Hence, ~# ModemManager --debug
> ModemManager[3661]:   [1475866967.215062] [main.c:158] main():
> ModemManager (version 1.6.0) starting in system bus...
> ModemManager[3661]:  [1475866967.216244] [mm-sleep-
> monitor.c:245] mm_sleep_monitor_get(): create MMSleepMonitor
> singleton (0x22c8260)
> ModemManager[3661]:  [1475866967.219568] [main.c:83]
> bus_acquired_cb(): Bus acquired, creating manager...
> ModemManager[3661]:  [1475866967.224085] [mm-plugin-
> manager.c:1559] load_plugins(): [plugin manager] looking for plugins
> in '/usr/lib64/ModemManager'
> ModemManager[3661]:  [1475866967.224830] [mm-plugin-
> manager.c:1584] load_plugins(): [plugin manager] loaded plugin
> 'Wavecom'
> ModemManager[3661]:  [1475866967.225194] [mm-plugin-
> manager.c:1584] load_plugins(): [plugin manager] loaded plugin
> 'Iridium'
> ModemManager[3661]:  [1475866967.225516] [mm-plugin-
> manager.c:1584] load_plugins(): [plugin manager] loaded plugin 'MTK'
> ModemManager[3661]:  [1475866967.225927] [mm-plugin-
> manager.c:1584] load_plugins(): [plugin manager] loaded plugin
> 'Cinterion'
> ModemManager[3661]:  [1475866967.226239] [mm-plugin-
> manager.c:1584] load_plugins(): [plugin manager] loaded plugin
> 'Linktop'
> ModemManager[3661]:  [1475866967.226567] [mm-plugin-
> manager.c:1584] load_plugins(): [plugin manager] loaded plugin
>