Re: Gobi 3000 (1199:901F)

2015-01-29 Thread Jeremy Moles

On 01/28/2015 01:23 PM, Dan Williams wrote:

On Wed, 2015-01-28 at 11:43 -0500, Jeremy Moles wrote:

On 01/12/2015 12:50 PM, Dan Williams wrote:

On Mon, 2015-01-12 at 12:44 -0500, Jeremy Moles wrote:

On 01/12/2015 12:42 PM, Dan Williams wrote:

On Mon, 2015-01-12 at 12:39 -0500, Jeremy Moles wrote:

On 01/12/2015 12:34 PM, Dan Williams wrote:

On Mon, 2015-01-12 at 11:04 -0500, Jeremy Moles wrote:

On 01/12/2015 10:46 AM, Dan Williams wrote:

On Mon, 2015-01-12 at 10:12 -0500, Jeremy Moles wrote:

On 01/09/2015 02:24 PM, Dan Williams wrote:

On Fri, 2015-01-09 at 12:14 -0500, Jeremy Moles wrote:

On 01/09/2015 12:01 PM, Jeremy Moles wrote:

Hey everyone! I'm not entirely sure where else to ask this, and I'm
somewhat desperate at this point having tried everything I'm capable of.

We have a machine here with the card listed in the subject. It shows
up in lsusb as:

1199:901f Sierra Wireless, Inc.

It will work in Linux so far if--and ONLY IF--you boot into Windows
first and then soft reboot into Linux. it appears that Windows does
something to the modem that Linux (currently) does not, and I was
wondering if anyone here had any advice on what I might try.

What I've done so far:

1) There is a knob in the sysfs hierarchy for this device that lets me
change the config (or something like that, I'm actually working on
this machine remotely and the customer isn't available right now!)
from 1 to 0, or 0 to 1. This ends up being necessary in fact, as after
doing so the tty's appear and the device is ready to be perturbed. It
responds to ATI commands and whatnot, but again, won't work properly
unless booted in Windows first. I should mention I found this knob
entirely by accident while hacking on qcserial and trying to accept
different port numbers as they enumerated themselves...

2) I downloaded the CodeAurora GobiSerial driver (which, according to
the changelog has a fix for powering on a device) and modified it to
work with 3.17 and 3.18 kernels (essentially, this involved
re-exporting usb-serial.c symbols like usb_serial_probe the code
relied on). However, I haven't had a chance to try this yet, and I'm
not entirely convinced (after looking through the code) it really does
anything qcserial doesn't.

Anyways, if anyone has any advice, please let us know!
___
networkmanager-list mailing list
networkmanager-list@gnome.org
https://mail.gnome.org/mailman/listinfo/networkmanager-list


I should also mention I JUST found this thread:

http://lists.freedesktop.org/archives/modemmanager-devel/2014-June/001301.html

Which explains exactly what I was seeing when talking about my #1
attempt (the config option in sysfs; again, it's miraculously I found
that at all).

I can't piece together everything the thread is talking about, but it
may job someone's memory. I can also try e-mailing the author of that
thread directly.

When it's cold-booted under Linux, can you grab 'lsusb -v -d 1199:901F'?
Also grab 'dmesg' output to see what driver messages there are.  Next,
if you have mbimcli installed, run 'sudo mmcli --firmware-list -m 0' and
lets see what we have.

Next warm-boot from Windows to Linux and run 'sudo mmcli --firmware-list
-m 0' in case the previous one didn't work.

Dan


Thank you for your reponse, Dan. I've attached the information you asked
for to this e-mail, formatted in a way it can be easily diff'd/vimdiff'd
at your leisure.

You'll notice how the 'power-state' differs depending on the boot type.
Also, the --firmware-list command failed to run, saying:

  error: modem has no firmware capabilities

Yeah, I see now that the  modem is using QMI instead of MBIM.  So
instead, try these twice, once under Linux and once after rebooting from
Windows:

For the time being, I can only provide the information with the machine
being directly booted into Linux. When I have additional access later
today, I will provide the results of these commands after having booted
into Windows first. For now, however, read on...

# qmicli -d /dev/cdc-wdm0 --dms-list-stored-images
error: couldn't list stored images: QMI protocol error (71):
'InvalidQmiCommand'

# qmicli -d /dev/cdc-wdm0 --dms-get-operating-mode
[/dev/cdc-wdm0] Operating mode retrieved:
 Mode: 'low-power'
 HW restricted: 'no'

# qmicli -d /dev/cdc-wdm0 --dms-lget-revision
[/dev/cdc-wdm0] Device revision retrieved:
 Revision: 'SWI9X15C_05.05.16.03 r22385 carmd-fwbuild1
2014/06/04 15:01:26'


qmicli -d /dev/cdc-wdm0 --dms-list-stored-images
qmicli -d /dev/cdc-wdm0 --dms-get-operating-mode
qmicli -d /dev/cdc-wdm0 --dms-get-revision

THe other possibility is that the machine's rfkill handling isn't known
to Linux, but since Windows knows, when you warm-boot to Linux the WWAN
rfkill is disabled.  What model laptop is this?  (if it's a laptop)

This is a Lenovo W540 with the Gobi 5000 Lenovo-certified card installed.

Under Linux, can you use 'sudo minicom -D /dev/ttyUSBx' where x is 

Re: Gobi 3000 (1199:901F)

2015-01-29 Thread Dan Williams
On Thu, 2015-01-29 at 10:24 -0500, Jeremy Moles wrote:
 On 01/28/2015 01:23 PM, Dan Williams wrote:
  On Wed, 2015-01-28 at 11:43 -0500, Jeremy Moles wrote:
  On 01/12/2015 12:50 PM, Dan Williams wrote:
  On Mon, 2015-01-12 at 12:44 -0500, Jeremy Moles wrote:
  On 01/12/2015 12:42 PM, Dan Williams wrote:
  On Mon, 2015-01-12 at 12:39 -0500, Jeremy Moles wrote:
  On 01/12/2015 12:34 PM, Dan Williams wrote:
  On Mon, 2015-01-12 at 11:04 -0500, Jeremy Moles wrote:
  On 01/12/2015 10:46 AM, Dan Williams wrote:
  On Mon, 2015-01-12 at 10:12 -0500, Jeremy Moles wrote:
  On 01/09/2015 02:24 PM, Dan Williams wrote:
  On Fri, 2015-01-09 at 12:14 -0500, Jeremy Moles wrote:
  On 01/09/2015 12:01 PM, Jeremy Moles wrote:
  Hey everyone! I'm not entirely sure where else to ask this, and 
  I'm
  somewhat desperate at this point having tried everything I'm 
  capable of.
 
  We have a machine here with the card listed in the subject. It 
  shows
  up in lsusb as:
 
  1199:901f Sierra Wireless, Inc.
 
  It will work in Linux so far if--and ONLY IF--you boot into 
  Windows
  first and then soft reboot into Linux. it appears that Windows 
  does
  something to the modem that Linux (currently) does not, and I 
  was
  wondering if anyone here had any advice on what I might try.
 
  What I've done so far:
 
  1) There is a knob in the sysfs hierarchy for this device that 
  lets me
  change the config (or something like that, I'm actually 
  working on
  this machine remotely and the customer isn't available right 
  now!)
  from 1 to 0, or 0 to 1. This ends up being necessary in fact, 
  as after
  doing so the tty's appear and the device is ready to be 
  perturbed. It
  responds to ATI commands and whatnot, but again, won't work 
  properly
  unless booted in Windows first. I should mention I found this 
  knob
  entirely by accident while hacking on qcserial and trying to 
  accept
  different port numbers as they enumerated themselves...
 
  2) I downloaded the CodeAurora GobiSerial driver (which, 
  according to
  the changelog has a fix for powering on a device) and 
  modified it to
  work with 3.17 and 3.18 kernels (essentially, this involved
  re-exporting usb-serial.c symbols like usb_serial_probe the code
  relied on). However, I haven't had a chance to try this yet, 
  and I'm
  not entirely convinced (after looking through the code) it 
  really does
  anything qcserial doesn't.
 
  Anyways, if anyone has any advice, please let us know!
  ___
  networkmanager-list mailing list
  networkmanager-list@gnome.org
  https://mail.gnome.org/mailman/listinfo/networkmanager-list
 
  I should also mention I JUST found this thread:
 
  http://lists.freedesktop.org/archives/modemmanager-devel/2014-June/001301.html
 
  Which explains exactly what I was seeing when talking about my #1
  attempt (the config option in sysfs; again, it's miraculously I 
  found
  that at all).
 
  I can't piece together everything the thread is talking about, 
  but it
  may job someone's memory. I can also try e-mailing the author of 
  that
  thread directly.
  When it's cold-booted under Linux, can you grab 'lsusb -v -d 
  1199:901F'?
  Also grab 'dmesg' output to see what driver messages there are.  
  Next,
  if you have mbimcli installed, run 'sudo mmcli --firmware-list -m 
  0' and
  lets see what we have.
 
  Next warm-boot from Windows to Linux and run 'sudo mmcli 
  --firmware-list
  -m 0' in case the previous one didn't work.
 
  Dan
 
  Thank you for your reponse, Dan. I've attached the information you 
  asked
  for to this e-mail, formatted in a way it can be easily 
  diff'd/vimdiff'd
  at your leisure.
 
  You'll notice how the 'power-state' differs depending on the boot 
  type.
  Also, the --firmware-list command failed to run, saying:
 
error: modem has no firmware capabilities
  Yeah, I see now that the  modem is using QMI instead of MBIM.  So
  instead, try these twice, once under Linux and once after rebooting 
  from
  Windows:
  For the time being, I can only provide the information with the 
  machine
  being directly booted into Linux. When I have additional access later
  today, I will provide the results of these commands after having 
  booted
  into Windows first. For now, however, read on...
 
  # qmicli -d /dev/cdc-wdm0 --dms-list-stored-images
  error: couldn't list stored images: QMI protocol error (71):
  'InvalidQmiCommand'
 
  # qmicli -d /dev/cdc-wdm0 --dms-get-operating-mode
  [/dev/cdc-wdm0] Operating mode retrieved:
   Mode: 'low-power'
   HW restricted: 'no'
 
  # qmicli -d /dev/cdc-wdm0 --dms-lget-revision
  [/dev/cdc-wdm0] Device revision retrieved:
   Revision: 'SWI9X15C_05.05.16.03 r22385 carmd-fwbuild1
  2014/06/04 15:01:26'
 
  qmicli -d /dev/cdc-wdm0 --dms-list-stored-images
  qmicli -d /dev/cdc-wdm0 --dms-get-operating-mode
  qmicli -d /dev/cdc-wdm0 --dms-get-revision
 
  THe other possibility is that the 

Re: Gobi 3000 (1199:901F)

2015-01-29 Thread Bjørn Mork
Dan Williams d...@redhat.com writes:
 On Thu, 2015-01-29 at 10:24 -0500, Jeremy Moles wrote:
 I'm working on testing this patch, but something else funny is 
 occurring. I can no longer actually query the device using qmicli 
 anymore under any condition... every attempt times out or returns:
 
 [29 Jan 2015, 10:23:06] -Warning ** [/dev/cdc-wdm0] QMI framing error 
 detected
 
 I will try and resolve these and get you an answer.
 
 Also: the code you added in qmi_wwan never even gets evaluated AT ALL 
 until I switch the device into the mode (via the sysfs echo) that 
 exposes the serial ports; does that sound backwards to you, too?

 That sounds odd; is your device driven by MBIM or QMI here?  At least on
 most Sierra devices with either DirectIP or QMI support, they will also
 expose a couple serial ports too.  Which mode are you in to start with,
 and which mode are you switching too, and how are you doing that via
 sysfs?

Note that if this device is like the MC77xx, then it will switch control
protocol based on protocol snooping and *not* the selected USB
descriptors.  So if you probe it as MBIM then it becomes MBIM,
regardless of whether it is driven by cdc_mbim or qmi_wwan.  It does not
really support switching modes without being completely reset.  You
should let udev select a mode as soon as it is discovered and stick with
that.


BJørn


___
networkmanager-list mailing list
networkmanager-list@gnome.org
https://mail.gnome.org/mailman/listinfo/networkmanager-list