PortLynq™ Drivers for USB

Hot-plug without headaches

Hot-pluggable USB devices are very convenient for users, but they’re a headache for applications that are not primarily USB related. Applications have to be modified to dynamically update menus and connections as devices arrive and depart, and must be extensively tested for all the different situations where a device might be added or removed.

On Windows, the situation is particularly complex; applications must respond to Windows plug-and-play messages immediately. If a device is removed, the application must close any handle they have open to the device, whether it’s convenient or not. Because the removal may happen completely asynchronously to other application activities, this can greatly complicate both design and test.

On Linux and macOS, the situation is not quite as complicated; because there are no plug-and-play messages to be processed. However, any existing connection to the device becomes useless; if the device is plugged back in, the application must detect the return of the device, and re-open the file handle. Again, the independent activity on the USB port complicates application design and test.

Since 2005, MCCI’s PortLynq drivers (US patent 8,346,981) have supplied a simple alternative. PortLynq drivers create a virtual device entry that remains present on the system even when the underlying device is not present. When the device is removed, the application doesn’t see any difference, because the virtual device takes on the responsibility of managing hot plug on behalf of the application.

PortLynq drivers are most commonly used with serial port emulation drivers, but they can be used with any driver class where the application communicates directly with a USB or other external device where the device can be disconnected from and connected to the system by the user.

Interested in using PortLynq drivers to simplify your application? Contact MCCI for more info!

 

 

About

For over twenty years we've been developing and licensing USB system software to be embedded into our customers’ consumer-electronics products.

Contact

Use our contact page to select an office or department to connect with. We will work with you to meet your needs.

Updates

Stay up to date with our work and get updates delivered right to your inbox.