Re: I: Sierra.c USB Serial Driver FAQ/Feature Request

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Peter Hyman <pete@xxxxxxxxxxxxxx> writes:

> On 08/14/2013 01:42 PM, Bjørn Mork wrote:
> snip...
>
>> Great!  And if you can snoop on Windows trying to figure out how to
>> switch the modes, then that would also help.  I believe Wireshark with
>> usbpcap is the current state-of-the-art USB sniffer for Windows:
>> http://desowin.org/usbpcap/
>>
>>
>> Bjørn
>
> Detailed files attached.
>
> Archive:  AC250U_lsusb_pcap.zip
>  Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
> --------  ------  ------- ---- ---------- ----- --------  ----
>  6162648  Defl:N  2029329  67% 08-14-2013 15:22 14f8de80  3g.pcap
>  7015710  Defl:N  2190669  69% 08-14-2013 15:07 55ce8a54  4g.pcap
>     1565  Defl:N      478  70% 08-14-2013 15:30 9b150f7f
> sierra_driver_output_w4g_set.rpt
>     4589  Defl:N      636  86% 08-14-2013 13:59 7908a3b4
> lsusb_1199_0301_3g.rpt
>     4589  Defl:N      636  86% 08-14-2013 15:30 7908a3b4
> lsusb_1199_0301_4g.rpt
>      385  Defl:N      210  46% 08-14-2013 15:36 a7016844
> lsusb_198f_0220.diff
>     6231  Defl:N      711  89% 08-14-2013 14:15 cf018349
> lsusb_198f_0220_3g.rpt
>     6231  Defl:N      711  89% 08-14-2013 15:31 376b38d0
> lsusb_198f_0220_4g.rpt
>
>
> 3g.pcap = sniff from when unit STARTS in 3G. Sprint Software
> automatically switched to 4G and that is the last event

Thanks.  The lsusb outputs show that there are no descriptor differences
between the two modes.  The diff you see is only the device address,
which is a dynamic property and expected to change every time you plug
in a device.

Unfortunately there is a large number of vendor specific control
requests addressed to endpoint 0x00 and 0x80, which is odd by itself
IMHO.  These give a number of different values for wValue and wIndes,
and the meaning is not obvious (too me at least).  Some of this is
obviously switching mode, but it looks like it does so as part of a more
complex device setup and configuration.  So there is no easy way out
here.  We could try replaying the sequence blindly, but I fear that is
pointless without more understanding.

The data following the control requests looks mostly like a HDLC like
protocol over bulk endpoints 0x04 and 0x84 on device 3-3 (the above is
sent to device 3-4). The bulk data has a 5 byte prefix, 0x7e before and
after the frame data, and a 16 bit checksum.

Given that only the 1199:0301 device has a 0x84 endpoint, we know that
device 3-3 is the Sierra serial device (which also makes sense wrt the
serial protocol observed).  So the magic control requests are sent to
the 198f:0220 device, as expected.

Sorry, I don't know if any of this helped at all. The device mode
switching is not as simple and obvious the common usb-storage type
switching, and trying to guess the more complex vendor specific control
protocol is going to take a lot of trial and error.

> 4g.pcap = sniff from when unit STARTS in 4G. Changed to 3G using Sprint
> Software and that was the last event
> sierra_driver_output_w4g_set.rpt = sierra and usbserial driver output
> from /var/log/messages when unit inserted in 4G mode
> lsusb*.rpt = lsusb -vd for 1199 and 198f devices
> lsusb_198f_0220.diff shows one line difference when WiMAX device is 6
> when loaded in 4G and 4 when loaded in 3G
>
> Not so familiar with Wireshark or how to detect the switchover though. I
> hope this helps. ITMT, I will download Beceem driver from git and see if
> that makes a difference.

Yes, I recommend trying to get that driver going.  Googling for it will
point you to a number of howtos.

> One final note. When device is set to 4G and inserted into Linux box,
> the 3G LED lights and blinks several times before going off. It tries to
> load it, but the device firmware still knows it is 4G so it fails.

Yes, or it just indicates traffic on the AT serial port until the PPP
connection fails.


Bjørn
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux