Message ID | 20180609112608.2644-1-pados@pados.hu (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sat, Jun 09, 2018 at 01:26:08PM +0200, Karoly Pados wrote: > Silicon Labs defines alternative VID/PID pairs for some chips that when > used will automatically install drivers for Windows users without manual > intervention. Unfortunately, these IDs are not recognized by the Linux > module, so using these IDs improves user experience on one platform but > degrades it on Linux. This patch addresses this problem. How does this work; do these chips now come with the "windows update" PIDs, and the silabs drivers then reprogram them to use other PIDs once installed? Is this documented somewhere? > Now with mailing list in CC. This kind of revision information should go below the cut-off line (---) below. I'll just remove it this time unless there's a resend. > Signed-off-by: Karoly Pados <pados@pados.hu> > --- > drivers/usb/serial/cp210x.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c > index eb6c26cbe579..b1849f657e01 100644 > --- a/drivers/usb/serial/cp210x.c > +++ b/drivers/usb/serial/cp210x.c > @@ -143,8 +143,11 @@ static const struct usb_device_id id_table[] = { > { USB_DEVICE(0x10C4, 0x8B34) }, /* Qivicon ZigBee USB Radio Stick */ > { USB_DEVICE(0x10C4, 0xEA60) }, /* Silicon Labs factory default */ > { USB_DEVICE(0x10C4, 0xEA61) }, /* Silicon Labs factory default */ > + { USB_DEVICE(0x10C4, 0xEA63) }, /* Silicon Labs values for Windows Update support (CP2101-4/CP2102N) */ I may shorten this somewhat. > { USB_DEVICE(0x10C4, 0xEA70) }, /* Silicon Labs factory default */ > { USB_DEVICE(0x10C4, 0xEA71) }, /* Infinity GPS-MIC-1 Radio Monophone */ > + { USB_DEVICE(0x10C4, 0xEA7A) }, /* Silicon Labs values for Windows Update support (CP2105) */ > + { USB_DEVICE(0x10C4, 0xEA7B) }, /* Silicon Labs values for Windows Update support (CP2108) */ > { USB_DEVICE(0x10C4, 0xF001) }, /* Elan Digital Systems USBscope50 */ > { USB_DEVICE(0x10C4, 0xF002) }, /* Elan Digital Systems USBwave12 */ > { USB_DEVICE(0x10C4, 0xF003) }, /* Elan Digital Systems USBpulse100 */ Thanks, Johan -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hello, > How does this work; do these chips now come with the "windows update" > PIDs, and the silabs drivers then reprogram them to use other PIDs once > installed? > The way this works is that the chips still come with the standard SiLabs IDs. When the chip is integrated into an end-user product, the product manufacturer has the choice to reprogram the IDs. If they are left on the factory standard setting, the user will have to install drivers manually (go to SiLabs website, search, download, install by hand). Alternatively, the product manufacturer can reprogram the IDs to the "new" ones for Windows Update before shipping it to the customer, in which case Windows will automatically find, download, and install the drivers when plugged in the first time. More (official) info here: https://www.silabs.com/community/interface/knowledge-base.entry.html/2016/12/30/downloading_cp210xd-ek07 About the cutoff line: Sorry about that, now I know (first kernel patch for me). It seems you prefer to just adjust the commit message for now, otherwise let me know if you'd like me to resubmit. Best, Karoly -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Jun 18, 2018 at 07:26:24AM +0000, Karoly Pados wrote: > The way this works is that the chips still come with the standard > SiLabs IDs. When the chip is integrated into an end-user product, the > product manufacturer has the choice to reprogram the IDs. If they are > left on the factory standard setting, the user will have to install > drivers manually (go to SiLabs website, search, download, install by > hand). Alternatively, the product manufacturer can reprogram the IDs > to the "new" ones for Windows Update before shipping it to the > customer, in which case Windows will automatically find, download, and > install the drivers when plugged in the first time. > > More (official) info here: https://www.silabs.com/community/interface/knowledge-base.entry.html/2016/12/30/downloading_cp210xd-ek07 Thanks for the info. > About the cutoff line: Sorry about that, now I know (first kernel > patch for me). It seems you prefer to just adjust the commit message > for now, otherwise let me know if you'd like me to resubmit. Yeah, no worries. I've applied the patch for 4.17-rc with a stable tag now. Thanks, Johan -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c index eb6c26cbe579..b1849f657e01 100644 --- a/drivers/usb/serial/cp210x.c +++ b/drivers/usb/serial/cp210x.c @@ -143,8 +143,11 @@ static const struct usb_device_id id_table[] = { { USB_DEVICE(0x10C4, 0x8B34) }, /* Qivicon ZigBee USB Radio Stick */ { USB_DEVICE(0x10C4, 0xEA60) }, /* Silicon Labs factory default */ { USB_DEVICE(0x10C4, 0xEA61) }, /* Silicon Labs factory default */ + { USB_DEVICE(0x10C4, 0xEA63) }, /* Silicon Labs values for Windows Update support (CP2101-4/CP2102N) */ { USB_DEVICE(0x10C4, 0xEA70) }, /* Silicon Labs factory default */ { USB_DEVICE(0x10C4, 0xEA71) }, /* Infinity GPS-MIC-1 Radio Monophone */ + { USB_DEVICE(0x10C4, 0xEA7A) }, /* Silicon Labs values for Windows Update support (CP2105) */ + { USB_DEVICE(0x10C4, 0xEA7B) }, /* Silicon Labs values for Windows Update support (CP2108) */ { USB_DEVICE(0x10C4, 0xF001) }, /* Elan Digital Systems USBscope50 */ { USB_DEVICE(0x10C4, 0xF002) }, /* Elan Digital Systems USBwave12 */ { USB_DEVICE(0x10C4, 0xF003) }, /* Elan Digital Systems USBpulse100 */
Silicon Labs defines alternative VID/PID pairs for some chips that when used will automatically install drivers for Windows users without manual intervention. Unfortunately, these IDs are not recognized by the Linux module, so using these IDs improves user experience on one platform but degrades it on Linux. This patch addresses this problem. Now with mailing list in CC. Signed-off-by: Karoly Pados <pados@pados.hu> --- drivers/usb/serial/cp210x.c | 3 +++ 1 file changed, 3 insertions(+)