Re: [PATCH] USB: serial: option: adding support for YUGA CLM920-NC5
On Tue, Dec 19, 2017 at 07:14:17AM +0100, Bjørn Mork wrote: > "SZ Lin (林上智)"writes: > >> Johan Hovold writes: > >> > >> >> +static const struct option_blacklist_info yuga_clm920_nc5_blacklist = { > >> >> + .reserved = BIT(0) | BIT(1) | BIT(4), }; > >> > > >> > Do you really need to blacklist the first interface? > >> > >> Good question. Interface #0 does look a lot like a Qualcomm DM/DIAG > >> function, based on two bulk endpoints, no additional descriptors > >> and the fact that it is the first interface. If so, then we do > >> want a serial driver for it. There is a basic libqcdm > >> implementation in ModemManager if you want to test it out. > > > >I have confirmed that interface #0 is QCDM/DIAG port in this module, > >and thus I will remove this from reserved list in next patch. Thanks to both of you for confirming. > >Furthermore, interface #1 is ADB port. Should I also remove this from > >reserved list? > > No. ADB is handled by userspace tools using libusb. It should not be > bound to any serial driver, so you will need to blacklist it. But you > need to keep the blacklist anyway to include the QCDM/DIAG port > > I assume Johan's alternative was to match class/subclass/protocol > against ff/00/00, which would have worked if you only wanted to include > interfaces 2 and 3. Indeed. Johan -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] USB: serial: option: adding support for YUGA CLM920-NC5
"SZ Lin (林上智)"writes: >> Johan Hovold writes: >> >> >> +static const struct option_blacklist_info yuga_clm920_nc5_blacklist = { >> >> + .reserved = BIT(0) | BIT(1) | BIT(4), }; >> > >> > Do you really need to blacklist the first interface? >> >> Good question. Interface #0 does look a lot like a Qualcomm DM/DIAG >> function, based >> on two bulk endpoints, no additional descriptors and the fact that it is the >> first interface. >> If so, then we do want a serial driver for it. There is a basic libqcdm >> implementation in >> ModemManager if you want to test it out. >> > > I have confirmed that interface #0 is QCDM/DIAG port in this module, >and thus I will remove this from reserved list in next patch. >Furthermore, interface #1 is ADB port. Should I also remove this from >reserved list? No. ADB is handled by userspace tools using libusb. It should not be bound to any serial driver, so you will need to blacklist it. But you need to keep the blacklist anyway to include the QCDM/DIAG port I assume Johan's alternative was to match class/subclass/protocol against ff/00/00, which would have worked if you only wanted to include interfaces 2 and 3. >> And I expect interface #4 is QMI/rmnet? Feel free to confirm that >> assumption with a >> patch against qmi_wwan :-) >> > Yes, it is. I will send qmi_wwan patch by all means. Thanks Bjørn -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH] USB: serial: option: adding support for YUGA CLM920-NC5
> -Original Message- > From: Bjørn Mork [mailto:bj...@mork.no] > Sent: Tuesday, December 19, 2017 2:44 AM > To: SZ Lin (林上智) > Cc: Johan Hovold; Taiyi TY Wu (吳泰毅); Greg Kroah-Hartman; > linux-usb@vger.kernel.org; linux-ker...@vger.kernel.org > Subject: Re: [PATCH] USB: serial: option: adding support for YUGA CLM920-NC5 > > Johan Hovold <jo...@kernel.org> writes: > > >> +static const struct option_blacklist_info yuga_clm920_nc5_blacklist = { > >> + .reserved = BIT(0) | BIT(1) | BIT(4), }; > > > > Do you really need to blacklist the first interface? > > Good question. Interface #0 does look a lot like a Qualcomm DM/DIAG function, > based > on two bulk endpoints, no additional descriptors and the fact that it is the > first interface. > If so, then we do want a serial driver for it. There is a basic libqcdm > implementation in > ModemManager if you want to test it out. > I have confirmed that interface #0 is QCDM/DIAG port in this module, and thus I will remove this from reserved list in next patch. Furthermore, interface #1 is ADB port. Should I also remove this from reserved list? > And I expect interface #4 is QMI/rmnet? Feel free to confirm that assumption > with a > patch against qmi_wwan :-) > Yes, it is. I will send qmi_wwan patch by all means. > > Bjørn SZ
Re: [PATCH] USB: serial: option: adding support for YUGA CLM920-NC5
Johan Hovoldwrites: >> +static const struct option_blacklist_info yuga_clm920_nc5_blacklist = { >> +.reserved = BIT(0) | BIT(1) | BIT(4), >> +}; > > Do you really need to blacklist the first interface? Good question. Interface #0 does look a lot like a Qualcomm DM/DIAG function, based on two bulk endpoints, no additional descriptors and the fact that it is the first interface. If so, then we do want a serial driver for it. There is a basic libqcdm implementation in ModemManager if you want to test it out. And I expect interface #4 is QMI/rmnet? Feel free to confirm that assumption with a patch against qmi_wwan :-) Bjørn -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] USB: serial: option: adding support for YUGA CLM920-NC5
[ +CC: Bjørn ] On Fri, Dec 15, 2017 at 06:32:03PM +0800, SZ Lin wrote: > This patch adds support for YUGA CLM920-NC5 PID 0x9625 USB modem to option > driver. Could you specify what each interface is used for here? > Signed-off-by: Taiyi Wu> Signed-off-by: SZ Lin Is SZ your legal name? > --- > > Please refer to following lsusb output: > > Bus 001 Device 003: ID 05c6:9625 Qualcomm, Inc. > Device Descriptor: > bLength18 > bDescriptorType 1 > bcdUSB 2.00 > bDeviceClass0 (Defined at Interface level) > bDeviceSubClass 0 > bDeviceProtocol 0 > bMaxPacketSize064 > idVendor 0x05c6 Qualcomm, Inc. > idProduct 0x9625 > bcdDevice3.18 > iManufacturer 1 Shanghai Yuge > iProduct2 YUGA Incorporated > iSerial 3 0123456789ABCDEF > bNumConfigurations 1 > Configuration Descriptor: > bLength 9 > bDescriptorType 2 > wTotalLength 183 > bNumInterfaces 5 > bConfigurationValue 1 > iConfiguration 0 > bmAttributes 0xa0 > (Bus Powered) > Remote Wakeup > MaxPower 500mA > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber0 > bAlternateSetting 0 > bNumEndpoints 2 > bInterfaceClass 255 Vendor Specific Class > bInterfaceSubClass255 Vendor Specific Subclass > bInterfaceProtocol255 Vendor Specific Protocol > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes2 > Transfer TypeBulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0200 1x 512 bytes > bInterval 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x01 EP 1 OUT > bmAttributes2 > Transfer TypeBulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0200 1x 512 bytes > bInterval 0 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber1 > bAlternateSetting 0 > bNumEndpoints 2 > bInterfaceClass 255 Vendor Specific Class > bInterfaceSubClass 66 > bInterfaceProtocol 1 > iInterface 6 ADB Interface > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x02 EP 2 OUT > bmAttributes2 > Transfer TypeBulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0200 1x 512 bytes > bInterval 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x82 EP 2 IN > bmAttributes2 > Transfer TypeBulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0200 1x 512 bytes > bInterval 0 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber2 > bAlternateSetting 0 > bNumEndpoints 3 > bInterfaceClass 255 Vendor Specific Class > bInterfaceSubClass 0 > bInterfaceProtocol 0 > iInterface 0 > ** UNRECOGNIZED: 05 24 00 10 01 > ** UNRECOGNIZED: 05 24 01 00 00 > ** UNRECOGNIZED: 04 24 02 02 > ** UNRECOGNIZED: 05 24 06 00 00 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x84 EP 4 IN > bmAttributes3 > Transfer TypeInterrupt > Synch Type None > Usage Type Data > wMaxPacketSize 0x000a 1x 10 bytes > bInterval 9 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x83 EP 3 IN > bmAttributes2 > Transfer TypeBulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0200 1x 512 bytes > bInterval 0 > Endpoint Descriptor: >
[PATCH] USB: serial: option: adding support for YUGA CLM920-NC5
This patch adds support for YUGA CLM920-NC5 PID 0x9625 USB modem to option driver. Signed-off-by: Taiyi WuSigned-off-by: SZ Lin --- Please refer to following lsusb output: Bus 001 Device 003: ID 05c6:9625 Qualcomm, Inc. Device Descriptor: bLength18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize064 idVendor 0x05c6 Qualcomm, Inc. idProduct 0x9625 bcdDevice3.18 iManufacturer 1 Shanghai Yuge iProduct2 YUGA Incorporated iSerial 3 0123456789ABCDEF bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 183 bNumInterfaces 5 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 500mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass255 Vendor Specific Subclass bInterfaceProtocol255 Vendor Specific Protocol iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes2 Transfer TypeBulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes2 Transfer TypeBulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 66 bInterfaceProtocol 1 iInterface 6 ADB Interface Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes2 Transfer TypeBulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes2 Transfer TypeBulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber2 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 ** UNRECOGNIZED: 05 24 00 10 01 ** UNRECOGNIZED: 05 24 01 00 00 ** UNRECOGNIZED: 04 24 02 02 ** UNRECOGNIZED: 05 24 06 00 00 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes3 Transfer TypeInterrupt Synch Type None Usage Type Data wMaxPacketSize 0x000a 1x 10 bytes bInterval 9 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes2 Transfer TypeBulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes2 Transfer TypeBulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Interface Descriptor: bLength 9