Enrico Mioso <[email protected]> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html