Re: [PATCH / RFC] qcserial: Add support for ONYX 3G (Alfa network)

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

 



On Thu, 2013-06-27 at 16:12 +0200, Enrico Mioso wrote:
> Hi Bjorn and thank you very much for your kindness, attention and reply!
> 
> Yes - I tested the all three ports of the device, even because my understanding 
> of the Windows INF files is very primitive!
> And yes - I have verified that the device doesn't correspond to any of the goby 
> layouts, even if I would like more opinions on this. I', a newbie in USB 
> reverse engineering, if we can define it this way! :)
> 
> both the true MODEM and management ports are working as expected, and also the 
> NMEA is. Infact, I got voice audio from that port. You can also empirically get 
> the signal with aplay and some exoteric settings.
> 
> then the next topic - QMI. I was already thinking of it, but wanted to try to 
> do the work in a different time frame.
> So: we're mapping interfaces 0, 2, 3 and 4. The missing interface 1 remains
> out, and I was thinking it's QMI, as is the case of Huawei E173.
> This doesn't impress me so much, since you can see traces of a primitive Huawei 
> design looking at the command-set and in some comments in the inf files. 
> another thing that makes me think it would be QMI, is the following answer from 
> the device:
> Command: at+msmtype
> Answer: MSM90VO  1  [Feb 04 2008 05:00:00]
> 
> And I remember QMI was adopted in MSM series. So I tried modifying the 
> qmi_wwan.c driver in a rudimentary way to test this out.

Not quite, MSM is just the generic prefix for Qualcomm modem chips
(Mobile Station Modem).  Some chips support QMI and some don't, it
really depends on the device and the specific firmware that's being
used.

If the device doesn't appear to be an actual Gobi device, the it
probably shouldn't go into qcserial.  It should go into Option (or
qcaux) like other devices that support QMI but don't have a Gobi-style
layout (eg, Novatel USB551L for example).

Dan

> {QMI_FIXED_INTF(0x05c6, 0x0023, 1)},
> ...
> 
> But, the driver probe fails with the following error:
> 
> [272967.950680] qmi_wwan: probe of 2-2:1.1 failed with error -22 
> [272967.951911] usbcore: registered new interface driver qmi_wwan
> 
> And I don't know how to move on. What is the meaning of the -22 error? I was 
> remembering somehow a "Resource is busy" kind of error, but, looking at what 
> libusb tells:
> bus=2, addr=15, idVendor=05c6, idProduct=0023
>   interface 0: kernel driver active  //qcserial
>   interface 1: no active driver
>   interface 2: kernel driver active //qcserial
>   interface 3: kernel driver active //qcserial
>   interface 4: kernel driver active //usb-storage (mmc + cd-rom)
> 
> Might be this is not QMI? I don't think it's CDC, but I send here the lsusb -vv 
> output:
> 
> Bus 002 Device 015: ID 05c6:0023 Qualcomm, Inc. 
> Device Descriptor:
>   bLength                18
>   bDescriptorType         1
>   bcdUSB               1.10
>   bDeviceClass            0 (Defined at Interface level)
>   bDeviceSubClass         0 
>   bDeviceProtocol         0 
>   bMaxPacketSize0        64
>   idVendor           0x05c6 Qualcomm, Inc.
>   idProduct          0x0023 
>   bcdDevice            0.00
>   iManufacturer           1 3G USB Modem        ??
>   iProduct                2 (error)
>   iSerial                 4 000000000002
>   bNumConfigurations      1
>   Configuration Descriptor:
>     bLength                 9
>     bDescriptorType         2
>     wTotalLength          131
>     bNumInterfaces          5
>     bConfigurationValue     1
>     iConfiguration          0 
>     bmAttributes         0xa0
>       (Bus Powered)
>       Remote Wakeup
>     MaxPower              500mA
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        0
>       bAlternateSetting       0
>       bNumEndpoints           3
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass    255 Vendor Specific Subclass
>       bInterfaceProtocol    255 Vendor Specific Protocol
>       iInterface              3 3G Devices    
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x81  EP 1 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0010  1x 16 bytes
>         bInterval             128
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x82  EP 2 IN
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0040  1x 64 bytes
>         bInterval               0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x02  EP 2 OUT
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0040  1x 64 bytes
>         bInterval               0
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        1
>       bAlternateSetting       0
>       bNumEndpoints           2
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass    255 Vendor Specific Subclass
>       bInterfaceProtocol    255 Vendor Specific Protocol
>       iInterface              3 3G Devices    
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x84  EP 4 IN
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0040  1x 64 bytes
>         bInterval               0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x04  EP 4 OUT
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0040  1x 64 bytes
>         bInterval               0
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        2
>       bAlternateSetting       0
>       bNumEndpoints           2
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass    255 Vendor Specific Subclass
>       bInterfaceProtocol    255 Vendor Specific Protocol
>       iInterface              3 3G Devices    
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x86  EP 6 IN
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0040  1x 64 bytes
>         bInterval               0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x06  EP 6 OUT
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0040  1x 64 bytes
>         bInterval               0
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        3
>       bAlternateSetting       0
>       bNumEndpoints           2
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass    255 Vendor Specific Subclass
>       bInterfaceProtocol    255 Vendor Specific Protocol
>       iInterface              3 3G Devices    
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x89  EP 9 IN
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0040  1x 64 bytes
>         bInterval               0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x09  EP 9 OUT
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0040  1x 64 bytes
>         bInterval               0
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        4
>       bAlternateSetting       0
>       bNumEndpoints           2
>       bInterfaceClass         8 Mass Storage
>       bInterfaceSubClass      6 SCSI
>       bInterfaceProtocol     80 Bulk-Only
>       iInterface              3 3G Devices    
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x83  EP 3 IN
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0040  1x 64 bytes
>         bInterval               0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x08  EP 8 OUT
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0040  1x 64 bytes
>         bInterval               0
> Device Status:     0x0000
>   (Bus Powered)
> 
> 
> --
> 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


--
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