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

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

 



Ok. so I will prepare a patch for option instead. Thank you!



On Thu, 27 Jun 2013, Dan Williams wrote:

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