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 18:34 +0200, Bjørn Mork wrote:
> Enrico Mioso <mrkiko.rs@xxxxxxxxx> writes:
> 
> > thank you for your help and incredible knowledge. I would never have arrived to 
> > this depth of details and conclusion.
> >
> > Effectively, it looks like a firmware for such a product, is practically a 
> > collage. The complexity is so high, so many parts of the code aren't provided 
> > even to manufacturers and crutfs are all over. XD
> >
> > So - should I add the new interface to the driver?
> >
> > Thank you.
> 
> Yes, I believe so. 
> 
> Although I haven't yet managed to agree with myself whether it was a
> good idea or not so make qcserial manage such devices.  This was maybe
> what qcaux was meant for.  What do you say, Dan?

Non-Gobi devices that support QMI should go into option or qcaux or
sierra or whatever, qcserial should probably be kept to actual Gobi
devices only.

Dan

> 
> 
> Bjørn
> 
> > On Thu, 27 Jun 2013, Bj?rn Mork wrote:
> >
> > ==Date: Thu, 27 Jun 2013 17:44:46 +0200
> > ==From: Bj?rn Mork <bjorn@xxxxxxx>
> > ==To: Enrico Mioso <mrkiko.rs@xxxxxxxxx>
> > ==Cc: linux-usb@xxxxxxxxxxxxxxx,
> > ==    Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>,
> > ==    Dan Williams <dcbw@xxxxxxxxxx>, Johan Hovold <jhovold@xxxxxxxxx>,
> > ==    Richard Weinberger <richard@xxxxxx>, antony.marsico@xxxxxxxxx
> > ==Subject: Re: [PATCH / RFC] qcserial: Add support for ONYX 3G (Alfa network)
> > ==
> > ==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


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