Re: [PATCH] USB: option: Add USB ID for Novatel Ovation MC551

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

 



Hi Bjørn,

On Fri, Jun 22, 2012 at 11:53:12AM +0200, Bjørn Mork wrote:
> Dan Williams <dcbw@xxxxxxxxxx> writes:
> 
> > This was just a comment to let others (Bjorn!) know that we'll *also*
> > probably need some more ids in cdc_wdm.  I'm not 100% certain the device
> > does QMI, but I'm 95% sure.
> 
> Thanks for the confidence, but I don't see how I can guess this at
> all. The only way to know for sure is if one of you with the device can
> test it.
> 
> I am attaching my perl example of how QMI support can be tested without
> any driver support or other QMI utilities. It creates a CDC embedded
> QMI_CTL "Get Version" request and sends that using libusb to all possible
> interfaces on a device.  No magic.  If we get a response, then the
> interface supports QMI.  Otherwise it doesn't.

I guess this indicates no QMI support?  Or is there some other problem?

# ./qmiver.pl --device=1410:b001
Debugging: off
Device: 1410:b001
Candidate: ifnum=0
control_msg() failed (-32): Broken pipe
Unsupported endpoint configuration on ifnum=1
Unsupported endpoint configuration on ifnum=2
Unsupported endpoint configuration on ifnum=4
Candidate: ifnum=6
control_msg() failed (-108): Cannot send after transport endpoint shutdown
Unsupported endpoint configuration on ifnum=7

Debug output is attached.

Thanks,
Forest
-- 
Forest Bond
http://www.alittletooquiet.net
http://www.rapidrollout.com
usb_set_debug: Setting debugging level to 1 (on)
skipping descriptor 0xB
skipping descriptor 0xFF
Device: 1410:b001
$VAR1 = [
          [
            bless( {
                     'bInterfaceSubClass' => 255,
                     'bNumEndpoints' => 3,
                     'endpoints' => [
                                      bless( {
                                               'bmAttributes' => 3,
                                               'wMaxPacketSize' => 64,
                                               'bSynchAddress' => 0,
                                               'bRefresh' => 0,
                                               'bEndpointAddress' => 129,
                                               'bInterval' => 5,
                                               'bDescriptorType' => 5
                                             }, 'Device::USB::DevEndpoint' ),
                                      bless( {
                                               'bmAttributes' => 2,
                                               'wMaxPacketSize' => 512,
                                               'bSynchAddress' => 0,
                                               'bRefresh' => 0,
                                               'bEndpointAddress' => 130,
                                               'bInterval' => 32,
                                               'bDescriptorType' => 5
                                             }, 'Device::USB::DevEndpoint' ),
                                      bless( {
                                               'bmAttributes' => 2,
                                               'wMaxPacketSize' => 512,
                                               'bSynchAddress' => 0,
                                               'bRefresh' => 0,
                                               'bEndpointAddress' => 1,
                                               'bInterval' => 32,
                                               'bDescriptorType' => 5
                                             }, 'Device::USB::DevEndpoint' )
                                    ],
                     'bInterfaceProtocol' => 255,
                     'iInterface' => 0,
                     'bInterfaceNumber' => 0,
                     'bDescriptorType' => 4,
                     'bAlternateSetting' => 0,
                     'bInterfaceClass' => 255
                   }, 'Device::USB::DevInterface' )
          ],
          [
            bless( {
                     'bInterfaceSubClass' => 255,
                     'bNumEndpoints' => 2,
                     'endpoints' => [
                                      bless( {
                                               'bmAttributes' => 2,
                                               'wMaxPacketSize' => 512,
                                               'bSynchAddress' => 0,
                                               'bRefresh' => 0,
                                               'bEndpointAddress' => 131,
                                               'bInterval' => 32,
                                               'bDescriptorType' => 5
                                             }, 'Device::USB::DevEndpoint' ),
                                      bless( {
                                               'bmAttributes' => 2,
                                               'wMaxPacketSize' => 512,
                                               'bSynchAddress' => 0,
                                               'bRefresh' => 0,
                                               'bEndpointAddress' => 2,
                                               'bInterval' => 32,
                                               'bDescriptorType' => 5
                                             }, 'Device::USB::DevEndpoint' )
                                    ],
                     'bInterfaceProtocol' => 255,
                     'iInterface' => 0,
                     'bInterfaceNumber' => 1,
                     'bDescriptorType' => 4,
                     'bAlternateSetting' => 0,
                     'bInterfaceClass' => 255
                   }, 'Device::USB::DevInterface' )
          ],
          [
            bless( {
                     'bInterfaceSubClass' => 255,
                     'bNumEndpoints' => 2,
                     'endpoints' => [
                                      bless( {
                                               'bmAttributes' => 2,
                                               'wMaxPacketSize' => 512,
                                               'bSynchAddress' => 0,
                                               'bRefresh' => 0,
                                               'bEndpointAddress' => 132,
                                               'bInterval' => 32,
                                               'bDescriptorType' => 5
                                             }, 'Device::USB::DevEndpoint' ),
                                      bless( {
                                               'bmAttributes' => 2,
                                               'wMaxPacketSize' => 512,
                                               'bSynchAddress' => 0,
                                               'bRefresh' => 0,
                                               'bEndpointAddress' => 3,
                                               'bInterval' => 32,
                                               'bDescriptorType' => 5
                                             }, 'Device::USB::DevEndpoint' )
                                    ],
                     'bInterfaceProtocol' => 255,
                     'iInterface' => 0,
                     'bInterfaceNumber' => 2,
                     'bDescriptorType' => 4,
                     'bAlternateSetting' => 0,
                     'bInterfaceClass' => 255
                   }, 'Device::USB::DevInterface' )
          ],
          [
            bless( {
                     'bInterfaceSubClass' => 255,
                     'bNumEndpoints' => 2,
                     'endpoints' => [
                                      bless( {
                                               'bmAttributes' => 2,
                                               'wMaxPacketSize' => 512,
                                               'bSynchAddress' => 0,
                                               'bRefresh' => 0,
                                               'bEndpointAddress' => 133,
                                               'bInterval' => 32,
                                               'bDescriptorType' => 5
                                             }, 'Device::USB::DevEndpoint' ),
                                      bless( {
                                               'bmAttributes' => 2,
                                               'wMaxPacketSize' => 512,
                                               'bSynchAddress' => 0,
                                               'bRefresh' => 0,
                                               'bEndpointAddress' => 4,
                                               'bInterval' => 32,
                                               'bDescriptorType' => 5
                                             }, 'Device::USB::DevEndpoint' )
                                    ],
                     'bInterfaceProtocol' => 255,
                     'iInterface' => 0,
                     'bInterfaceNumber' => 4,
                     'bDescriptorType' => 4,
                     'bAlternateSetting' => 0,
                     'bInterfaceClass' => 255
                   }, 'Device::USB::DevInterface' )
          ],
          [
            bless( {
                     'bInterfaceSubClass' => 6,
                     'bNumEndpoints' => 1,
                     'endpoints' => [
                                      bless( {
                                               'bmAttributes' => 3,
                                               'wMaxPacketSize' => 64,
                                               'bSynchAddress' => 0,
                                               'bRefresh' => 0,
                                               'bEndpointAddress' => 134,
                                               'bInterval' => 5,
                                               'bDescriptorType' => 5
                                             }, 'Device::USB::DevEndpoint' )
                                    ],
                     'bInterfaceProtocol' => 0,
                     'iInterface' => 0,
                     'bInterfaceNumber' => 6,
                     'bDescriptorType' => 4,
                     'bAlternateSetting' => 0,
                     'bInterfaceClass' => 2
                   }, 'Device::USB::DevInterface' )
          ],
          [
            bless( {
                     'bInterfaceSubClass' => 0,
                     'bNumEndpoints' => 0,
                     'endpoints' => [],
                     'bInterfaceProtocol' => 0,
                     'iInterface' => 0,
                     'bInterfaceNumber' => 7,
                     'bDescriptorType' => 4,
                     'bAlternateSetting' => 0,
                     'bInterfaceClass' => 10
                   }, 'Device::USB::DevInterface' ),
            bless( {
                     'bInterfaceSubClass' => 0,
                     'bNumEndpoints' => 2,
                     'endpoints' => [
                                      bless( {
                                               'bmAttributes' => 2,
                                               'wMaxPacketSize' => 512,
                                               'bSynchAddress' => 0,
                                               'bRefresh' => 0,
                                               'bEndpointAddress' => 135,
                                               'bInterval' => 32,
                                               'bDescriptorType' => 5
                                             }, 'Device::USB::DevEndpoint' ),
                                      bless( {
                                               'bmAttributes' => 2,
                                               'wMaxPacketSize' => 512,
                                               'bSynchAddress' => 0,
                                               'bRefresh' => 0,
                                               'bEndpointAddress' => 5,
                                               'bInterval' => 32,
                                               'bDescriptorType' => 5
                                             }, 'Device::USB::DevEndpoint' )
                                    ],
                     'bInterfaceProtocol' => 0,
                     'iInterface' => 0,
                     'bInterfaceNumber' => 7,
                     'bDescriptorType' => 4,
                     'bAlternateSetting' => 1,
                     'bInterfaceClass' => 10
                   }, 'Device::USB::DevInterface' )
          ]
        ];
Candidate: ifnum=0
control_msg() returned -32
control_msg() failed (-32): Broken pipe
control_msg() returned 0
control_msg() returned 0
control_msg() returned 0
control_msg() returned 0
control_msg() returned 0
control_msg() returned 0
control_msg() returned 0
control_msg() returned 0
control_msg() returned 0
control_msg() returned 0
Unsupported endpoint configuration on ifnum=1
Unsupported endpoint configuration on ifnum=2
Unsupported endpoint configuration on ifnum=4
Candidate: ifnum=6
unbinding interface 6 from kernel driver "cdc_ether"
control_msg() returned -108
control_msg() failed (-108): Cannot send after transport endpoint shutdown
control_msg() returned -19
Unsupported endpoint configuration on ifnum=7
Debugging: on
libusb_get_driver_np( 0 )
libusb_claim_interface( 0 )
libusb_control_msg( 0x21, 0000, 0000, 0000, 0x98e0788, 12, 1000 )
	 => -32
libusb_control_msg( 0xa1, 0x01, 0000, 0000, 0x98e1aa8, 512, 1000 )
	 => 0
libusb_control_msg( 0xa1, 0x01, 0000, 0000, 0x98e1aa8, 512, 1000 )
	 => 0
libusb_control_msg( 0xa1, 0x01, 0000, 0000, 0x98e1aa8, 512, 1000 )
	 => 0
libusb_control_msg( 0xa1, 0x01, 0000, 0000, 0x98e1aa8, 512, 1000 )
	 => 0
libusb_control_msg( 0xa1, 0x01, 0000, 0000, 0x98e1aa8, 512, 1000 )
	 => 0
libusb_control_msg( 0xa1, 0x01, 0000, 0000, 0x98e1aa8, 512, 1000 )
	 => 0
libusb_control_msg( 0xa1, 0x01, 0000, 0000, 0x98e1aa8, 512, 1000 )
	 => 0
libusb_control_msg( 0xa1, 0x01, 0000, 0000, 0x98e1aa8, 512, 1000 )
	 => 0
libusb_control_msg( 0xa1, 0x01, 0000, 0000, 0x98e1aa8, 512, 1000 )
	 => 0
libusb_control_msg( 0xa1, 0x01, 0000, 0000, 0x98e1aa8, 512, 1000 )
	 => 0
libusb_release_interface( 0 )
libusb_get_driver_np( 6 )
libusb_detach_kernel_driver_np( 6 )
libusb_claim_interface( 6 )
libusb_control_msg( 0x21, 0000, 0000, 0x06, 0x98e1aa8, 12, 1000 )
	 => -108
libusb_control_msg( 0xa1, 0x01, 0000, 0x06, 0x98e1aa8, 512, 1000 )
	 => -19
libusb_release_interface( 6 )

Attachment: signature.asc
Description: Digital signature


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

  Powered by Linux