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