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

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

 



Enrico Mioso <mrkiko.rs@xxxxxxxxx> writes:

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

OK, that's much more verification than we usually do.  Thanks.


> 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.
> ...
> {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?

22 = EINVAL.  And looking at the driver, the likely cause is a missing
interrupt endpoint.  Which matches the lsusb output.  Interface #1
cannot be a QMI/wwan function.  3 endpoints are required for that:
interrupt in and bulk in+out.




 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)

Fascinating.  The complete lack of testing of these modem firmwares
still surprise me.  But the real wonder is that some of it sort of
works anyway.

>     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


This is most likely another serial port of some sort.  Maybe QCDM if the
"management port" speaks AT commands?


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