Re:Re: [PATCH] [V2,1/1]USB: serial: option: add Foxconn T77W175 composition 0x901d

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

 


















At 2021-08-16 17:04:00, "Reinhard Speyerer" <rspmn@xxxxxxxx> wrote:
>On Mon, Aug 16, 2021 at 11:54:04AM +0800, Slark Xiao wrote:
>> Foxconn SDX55 T77W175 device is working in PCIe mode normally.
>> You can find the PCIe support in drivers/bus/mhi/pci_generic.c file.
>> But in some scenario, we need to capture the memory dump once it crashed.
>> So a diag port under USB driver is needed.
>> 
>> Only interface 0 is used:
>> jbd@jbd-ThinkPad-P1-Gen-4:~$ lsusb | grep 05c6
>> Bus 003 Device 010: ID 05c6:901d Qualcomm, Inc. Generic Mobile Broadband Adapter
>> jbd@jbd-ThinkPad-P1-Gen-4:~$ lsusb -t | grep "Dev 10"
>>     |__ Port 7: Dev 10, If 0, Class=Vendor Specific Class, Driver=option, 480M
>> 
>> Signed-off-by: Slark Xiao <slark_xiao@xxxxxxx>
>> ---
>>  drivers/usb/serial/option.c | 1 +
>>  1 file changed, 1 insertion(+)
>> 
>> diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
>> index 039450069ca4..c275f489c1cc 100644
>> --- a/drivers/usb/serial/option.c
>> +++ b/drivers/usb/serial/option.c
>> @@ -2068,6 +2068,7 @@ static const struct usb_device_id option_ids[] = {
>>  	  .driver_info = RSVD(0) | RSVD(1) | RSVD(6) },
>>  	{ USB_DEVICE(0x0489, 0xe0b5),						/* Foxconn T77W968 ESIM */
>>  	  .driver_info = RSVD(0) | RSVD(1) | RSVD(6) },
>> +	{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x901d) },				/* Foxconn T77W175 PCIE+USB mode*/
>>  	{ USB_DEVICE(0x1508, 0x1001),						/* Fibocom NL668 (IOT version) */
>>  	  .driver_info = RSVD(4) | RSVD(5) | RSVD(6) },
>>  	{ USB_DEVICE(0x2cb7, 0x0104),						/* Fibocom NL678 series */
>> -- 
>> 2.25.1
>> 
>> 
>
>Hi Slark,
>
>since this entry uses the Qualcomm USB VID it would be a good idea to make
>the option driver only bind to the DIAG interface in case other UE vendors
>have the ADB interface provided by this composition enabled:
>
>$ sed 30q 901D
>#!/bin/sh
>#
># Copyright (c) 2014,2017-2018, The Linux Foundation. All rights reserved.
>#
># Redistribution and use in source and binary forms, with or without
># modification, are permitted provided that the following conditions are met:
>#     * Redistributions of source code must retain the above copyright
>#       notice, this list of conditions and the following disclaimer.
>#     * Redistributions in binary form must reproduce the above copyright
>#       notice, this list of conditions and the following disclaimer in the
>#       documentation and/or other materials provided with the distribution.
>#     * Neither the name of The Linux Foundation nor the names of its
>#       contributors may be used to endorse or promote products derived from
>#       this software without specific prior written permission.
>#
># THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
># INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
># FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED.  IN NO
># EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
># INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
># (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
># LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
># ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
># SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>
># DESCRIPTION: DIAG + ADB
>
>echo "Switching to composition number 0x901D"  > /dev/kmsg
>
>
>[Ideally these compositions would also be available via kernel.org and/or
> codeaura.org but so far I have been unable to find them there.]
>
>Regards,
>Reinhard

Hi Reinhard,
  So should I use USB_DEVICE_INTERFACE_NUMBER(QUALCOMM_VENDOR_ID, 0x901d, 0x00) to bind Diag port only?

Thanks




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux