How USB technology is used today
Universal Serial Bus (USB) technology is a protocol that allows external devices to be connected to a computer. Many devices that you use daily probably can be connected to a computer by a USB connection. Due to its widespread adoption by computer manufacturers as the de facto standard for peripheral connections, it is the most common type of connection in use today.
The standardized USB connection is found on external disk drives, keyboards, digital cameras, cell phones, printers, scanners, and many other devices. In addition to consumer products, USB technology is also used as the preferred connection method on many remote monitoring devices and pieces of scientific equipment. Devices manufactured with USB connections are almost guaranteed to be usable on any modern computer system.
How USB evolved to become an
USB technology was developed in 1994 by Ajay Bhatt of Intel and the USB-IF (USB Implementers Forum, Inc). The USB-IF is made up of industry leaders like Apple, Microsoft, and Intel. They are the governing body for USB technical specifications.
Prior to the introduction of USB technology, computer peripherals were connected through serial and parallel ports. These devices often required custom drivers and needed to have expansion cards installed in your computer to operate properly. They were plagued by incompatibilities and limited transmission speeds that were measured in kilobytes per second, leading to the search for a better solution.
USB 1.0 was introduced in 1995 and had a data transfer speed of 12 megabits per second. USB 1.1 came shortly thereafter with the same upper boundary on transmission speed but with the additional ability to transmit at speeds 1.5 megabits per second for compatibility with devices with lower bandwidths.
USB 1.1 was widely accepted by consumers and in 1998 the USB communication protocol was chosen to replace other connection types in the Apple iMac G3. This marked the beginning of market dominance by USB as its flexibility, advanced technical specifications and self-powering ability made it the overwhelming favorite of computer and external device manufacturers.
USB continued to evolve with version 2.0 coming out in 2000 and offering new capabilities including plug and play and support for USB connected power sources. Plug and play enabled devices to be connected to a computer and immediately be detected and usable by the machine. Data transfer speed was now up to 480 megabits per second. In 2011 the current version, 3.0 became available with top speeds of 4.8 gigabits per second and version 3.1 claims to double that throughput. In reality the top data transfer speed is more like 7.2 gigabits per second.
Sharing USB devices remotely
over the Internet
The Internet has brought many changes to our everyday lives. One of the most important is the impact the Internet has on our ability to connect with remote teams and share information globally. When working and sharing data in this way the need may arise to access USB devices connected to a computer by those not near the computer or device.
In some cases you may be able to remove the device and give it to another user, but usually this will not be an option. You may want to access a USB attached printer or remote monitoring device that cannot be moved. Maybe you need to control a remote security camera that is USB attached to a host hundreds of miles away from you. Perhaps your global team needs access to the same hard drive attached to a single computer. These situations can be resolved by accessing the USB devices remotely over the Internet. But how can you get that done?
A software solution exists that will allow you to access USB devices attached to a network over the Internet. USB over Ethernet (aka USB Network Gate) by Eltima Software lets you access your USB devices over any network. Physical proximity is no longer a requirement when you need to use a network attached USB device. Let’s look at some of the features of Network Gate.
- USB Network Gate runs on Windows, Mac OS and Linux platforms and offers cross platform capabilities. This means you can access a USB device attached to any computer from any other computer even if you are using different operating systems.
- Remote connection to USB devices is possible through any type of network protocol such as IP, LAN, WAN, VPN or the Internet. Access to specific devices can be restricted by assigning a password to that device.
- USB access is now possible using virtual environments. VMware, VMware ESX, Citrix XenDesktop and Microsoft Hyper-V are all supported by Network Gate. Simply install the app on your guest OS and you can immediately access USB peripheral devices.
- Network Gate eliminates the same connection problems when using Remote Desktop Protocol. Using the app lets you access local USB ports when using RDP and even will detect devices that are newly attached to the local machine.
- USB over WiFi is also supported by this USB communication software. Simply plug in a device and by using Network Gate it can be made available to all network users.
Development of USB applications, device drivers and hardware
When developing an application or device driver that interacts with a USB connection you need to be able to monitor and record traffic flow between your app and a USB device. A software solution exists to assist in tracking your USB port communication. Its called USB Analyzer and here is what it can do for you.
- Real time monitoring of USB data for any device attached to your computer. View the data in readable text or as a raw hex dump. USB Analyzer automatically detects USB devices and multiple devices can be monitored simultaneously by creating several sessions.
- Analyze the IRPs, URBs, IOCTLs and data transferred through USB hubs and save the data for later reference in a variety of formats including binary, plain text, CSV, or HTML.
- Packet information can be viewed in a simplified format with the option to display more details in Hex or ASCII.
- Dynamic filtering is available so you can only monitor the packets that are of interest to you.
- Simple switching between incoming and outgoing packets with the “Pair” option.
All in all, this tool is indispensable if you are a developer working with USB connected devices. It will make your life much easier by assisting with debugging and development in a variety of ways.