At 2022-08-10 14:55:42, "Bjørn Mork" <bjorn@xxxxxxx> wrote: >Slark Xiao <slark_xiao@xxxxxxx> writes: > >> There are 2 models for MV32 serials. MV32-W-A is designed >> based on Qualcomm SDX62 chip, and MV32-W-B is designed based >> on Qualcomm SDX65 chip. So we use 2 different PID to separate it. >> >> Test evidence as below: >> T: Bus=03 Lev=01 Prnt=01 Port=02 Cnt=03 Dev#= 3 Spd=480 MxCh= 0 >> D: Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 >> P: Vendor=1e2d ProdID=00f3 Rev=05.04 >> S: Manufacturer=Cinterion >> S: Product=Cinterion PID 0x00F3 USB Mobile Broadband >> S: SerialNumber=d7b4be8d >> C: #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=500mA >> I: If#=0x0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=50 Driver=qmi_wwan >> I: If#=0x1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option >> I: If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option >> I: If#=0x3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option > >The patch looks nice, but I have a couple of questions since you're one >of the first pushing one of these SDX6x modems. > >Is that protocol pattern fixed on this generation of Qualcomm chips? It >looks like an extension of what they started with the SDX55 generation, >where the DIAG port was identified by ff/ff/30 across multiple vendors. > Seems yes. I checked some different usb_compositions and found that diag port is using protocol '30' always. >Specifically wrt this driver and patch, I wonder if we can/should match >on ff/ff/50 instead of interface number here? I note that the interface I checked all our edited usb_compositions and all QC default usb compositions(9025, 90db, 9067,90d5,9084,9091,90ad,90b8,90e5), ff/ff/50 is rmnet used only. >numbers are allocated sequentionally. Probably in the order these >function are enabled by the firmware? If so, are we sure this is static? This needs more time to confirm. I will keep you updated. >Or could we risk config variants where the RMNET/QMI function have a >different interface number for the same PIDs? > >And another possibility you might consider. Assuming that ff/ff/50 >uniquely identifies RMNET/QMI functions regardless of PID, would you >consider a VID+class match to catch all of them? This would not only >support both the PIDs of this patch in one go, but also any future PIDs >without the need for further driver patches. > > >Bjørn I have a concern, if Cinterion or other Vendors, like Quectel, use other chip (such as intel, mediateck and so on), this methods may won't work, because they share a same VID. Also this may be changed once Qualcomm update the protocol patterns for future chip.