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