Any USB to Serial converters that don't need driver installation? - Page 1
Forum section: electronics / general

author: Ben321
author_rank: Frequent Contributor
timestamp: April 04, 2019, 10:53:41 pm
content: I know with webcams, as long as it follows the UVC (usb video class) standard, it will run out of the box, without installing a driver provided specifically for the camera. Same thing with USB mice and keyboards. They use a standard that lets them run without you needing to install drivers from a CD (or company website download).Is there a similar standard for USB to serial converters, that allows them to work out of the box, without installing a driver (just using the default driver that comes with Windows)? If so, can you list some decent USB to serial converters that follow this standard? Like what companies are known to make such "driverless" USB to serial converters? I'd like to know, so I can look them up by name on Amazon.

author: ataradov
author_rank: Super Contributor
timestamp: April 04, 2019, 11:06:16 pm
content: Windows will need an INF file at the very least.Otherwise any device implementing CDC ACM protocol will work with a standard usbser driver, but it will have to be referenced from an INF file.If I'm not mistaken, CH340 is one of such devices.

author: nctnico
author_rank: Super Contributor
timestamp: April 05, 2019, 09:41:09 am
content: Quote from: ataradov on April 04, 2019, 11:06:16 pmWIndows10 won't need an .inf file for a USB CDC device. The previous WIndows versions (unfortunately) do (AFAIK) but even then a USB CDC modem is your best bet because the .inf file is easy to create (it is plain text so notepad will do).

author: Ben321
author_rank: Frequent Contributor
timestamp: April 05, 2019, 09:36:27 pm
content: Quote from: blueskull on April 04, 2019, 11:05:11 pmI had been reading about FTDI. I thought that was the name of the official driverless USB-to-serial standard. I assumed all versions of Windows from XP and newer had default FTDI drivers installed.Also, I notice that Zadig (the software that lets you install generic USB drivers like WinUSB for any USB device you have connected to your computer), has an option to install "USB Serial (CDC)" as the driver for a device. The other options are WinUSB, libusb-win32, and libusbK. So by using Zadig (no need to run windows update, or install from a CD), it might be possible to use USB-to-serial converters that support the generic CDC driver (and possibly other types of usb-to-serial converters too, by installing this generic driver).

author: ataradov
author_rank: Super Contributor
timestamp: April 05, 2019, 09:42:56 pm
content: No, FTDI is a name of a shitty company that bricks their own devices. Their protocols are very similar to standard CDC ACM, but slightly different.

author: nctnico
author_rank: Super Contributor
timestamp: April 05, 2019, 09:51:55 pm
content: I agree. Stay clear from FTDI!

author: Ben321
author_rank: Frequent Contributor
timestamp: April 05, 2019, 10:07:45 pm
content: Quote from: ataradov on April 05, 2019, 09:42:56 pmWhat happens if I use Zadig to install the CDC driver for a USB-to-serial converter that isn't a generic device? Will it somehow know how to work with it? Or does Zadig installation of the CDC driver only work if the device itself is generic?Do you know of any usb2serial converters that actually are generic, and work with CDC drivers?

author: ataradov
author_rank: Super Contributor
timestamp: April 05, 2019, 10:11:23 pm
content: Zadig won't help you here at all. If you want to work with the device as with an actual COM port, then you need to install correct drivers.CH340 is a CDC ACM device as dar ad I can tell, but I don't have any real hardware to try.

author: Ben321
author_rank: Frequent Contributor
timestamp: April 05, 2019, 10:28:20 pm
content: Quote from: ataradov on April 05, 2019, 10:11:23 pmThen why does Zadig have an option to install a CDC driver?

author: Psi
author_rank: Super Contributor
timestamp: April 05, 2019, 10:32:47 pm
content: I'm pretty sure that CP2102 works in win10 without the user having to install a driver.But it's not something i've tested to confirm.Keep in mind if you want to distribute some software to support your hardware the OS they are running could be anything.WinXP, 7, 8, or 10. etc.I doubt CP2102 will work in winXP without a driver install

author: ataradov
author_rank: Super Contributor
timestamp: April 05, 2019, 10:40:15 pm
content: Quote from: Ben321 on April 05, 2019, 10:28:20 pmThis must be something new. I have not seen this.But in any case, at most it will generate the same INF file, which will reference usbser.sys driver. It should work with any CDC ACM device, but not FTDI, for sure.

author: Ben321
author_rank: Frequent Contributor
timestamp: April 05, 2019, 11:50:27 pm
content: CP2102? CH340? These are chips. I'm not looking for bare chips. I'm looking for a CDC compatible product that a company is manufacturing, that can just be plugged into your USB port and it's good to go. If those chips are CDC compatible, then can you name some products that use those chips? Like what well known companies are actually making generic USB2serial converters? Or do I need to look at cheap China stuff on eBay to find one?

author: ataradov
author_rank: Super Contributor
timestamp: April 06, 2019, 02:57:36 am
content: I'm not aware of any finished devices like that. Most of the stuff available from China uses fake versions of legitimate chips, and not always works correctly.The only way to find out is to buy a few of not the cheapest cables and check them out.

author: ataradov
author_rank: Super Contributor
timestamp: April 06, 2019, 03:05:09 am
content: Quote from: blueskull on April 06, 2019, 03:03:44 amI don't mind. I have plenty of SAM D11-based adapters. OP wants a readily available finished device.

author: NorthGuy
author_rank: Super Contributor
timestamp: April 06, 2019, 04:24:03 am
content: If you just want USB communications, not necessarily a COM port, you can use a HID USB instead of CDC. It has built-in drivers in all OSes going back many years.

author: Ben321
author_rank: Frequent Contributor
timestamp: April 06, 2019, 07:01:55 am
content: Quote from: NorthGuy on April 06, 2019, 04:24:03 amHID must configure itself as a keyboard or mouse. Keyboard and mouse will conflict with existing keyboard and mouse. If my peripheral sends a "move right" command my mouse cursor will move right on the screen. Not exactly what I want. Also HID is intended as input INTO a computer, and can't take commands going from the computer to the peripheral. What I have 10 LEDs I want to independantly control? What if I want to send a string of 8bit ascii text to an external LCD display? All of these are best done with a serial port.

author: ataradov
author_rank: Super Contributor
timestamp: April 06, 2019, 07:03:43 am
content: No, HID is a generic transfer protocol, it does not have to be a keyboard or a mouse.ARM CMSIS-DAP uses HID for all programmers/debuggers, which lets them work on all OSes without a driver.Here is example of a project that uses HID to transfer data that has nothing to do with input deviceshttps://github.com/ataradov/dgw

author: Ben321
author_rank: Frequent Contributor
timestamp: April 06, 2019, 07:10:23 am
content: Quote from: ataradov on April 06, 2019, 07:03:43 amEven so, serial ports are great (better than USB), because they have several independant lines, including 4 status (CD, RI, DSR, CTS) lines that can act like a 4-bit parallel port, or like 4 GPIO-input pins. This is great for reading up to 4 external digital signals. HID doesn't do this. It is a USB protocol, and USB only has voltage+, voltage-, data+, data- pins. So that means it's like a parallel port without the other status pins. So you can't do all the other cool stuff you can with a serial port. Instead, you would need some kind of external chip to interpret the USB commands, and export the bits to separate pins. USB by itself, is just a high speed serial port with ONLY serial data (unlike a COM port which has small amount of parallel capability). And you need a UART to convert serial to parallel.

author: ataradov
author_rank: Super Contributor
timestamp: April 06, 2019, 07:13:27 am
content: If you implement HID, you would have to use an MCU and implement whatever application-specific behavior you need. That project above has not just 4 pins, but I2C, SPI, GPIO, ADC, DAC and PWM at the same time.This is only an option if are talking about doing custom hardware. There is no standard chips (that are not generic MCUs) that would do that.

author: Ben321
author_rank: Frequent Contributor
timestamp: April 06, 2019, 07:18:22 am
content: Quote from: ataradov on April 06, 2019, 07:13:27 amWhat's MCU?Are there any existing pre-soldered devices (not kits) that have a way of outputting 8 parallel bits (not serial, and no specific standard like I2C) from input data coming into it as an HID device on a USB port? Or alternatively, can they take 8 parallel bits of input and then serialize it to transmit it via HID USB back to the host computer?

author: ataradov
author_rank: Super Contributor
timestamp: April 06, 2019, 07:22:31 am
content: Quote from: Ben321 on April 06, 2019, 07:18:22 amNot that I'm aware of.There are USB-to-FIFO chips (for example FTDI FT245) that will translate your virtual COM-port into 8 parallel I/O lines. But again, this is a bare chip, I'm not aware of any commercial devices that would do this.You want very strange things, this is what MCUs are for.

author: Ben321
author_rank: Frequent Contributor
timestamp: April 06, 2019, 07:27:22 am
content: Quote from: ataradov on April 06, 2019, 07:22:31 amWhat's an MCU?

author: ataradov
author_rank: Super Contributor
timestamp: April 06, 2019, 07:28:23 am
content: Microcontroller.

author: Ian.M
author_rank: Super Contributor
timestamp: April 06, 2019, 11:33:07 am
content: Its not *impossible* to find HID parallel I/O boards.Here's a pre-built board (using a pre-programmed PIC MCU) with eight output lines:https://www.velleman.eu/products/view/?id=404998If you go to the kit version, it tells you its a HID device. However I wouldn't recommend it as Velleman don't provide documentation on how to access it as a raw HID protocol device.