Questions tagged [usb]

HARDWARE QUESTIONS ARE OFF-TOPIC. Consider https://superuser.com if you need USB hardware help. USB is an acronym for Universal Serial Bus, a standard for a serial host-to-device protocol defined by the USB Implementors Forum.

This tag should only be used for programming-related questions involving USB, and not hardware-related questions.

USB is an acronym for Universal Serial Bus, a standard for a serial host-to-device protocol defined by the USB Implementors Forum. Today, it is the most commonly used method for connecting computers to peripherals such as keyboards, printers, phones, and data storage devices.


Versions

  • USB 1 (Full Speed) -- Released in January 1996, USB 1 specified data rates of 1.5 Mbit/s (Low-Bandwidth) and 12 Mbit/s (Full-Bandwidth).
  • USB 2 (High Speed) -- USB 2.0: Released in April 2000. Added higher maximum signaling rate of 480 Mbit/s (effective throughput up to 35 MB/s or 280 Mbit/s) (now called "Hi-Speed").
  • USB 3 (Super Speed) -- USB 3.0 was released in November 2008. The standard claims a theoretical "maximum" transmission speed of up to 5 Gbit/s (625 MB/s).
  • USB 3.1 (Super Speed Plus) -- USB 3.1 was released in July 2013. The standard claims a theoretical "maximum" transmission speed of up to 10 Gbps
  • USB 3.2 (Dual lane Super Speed Plus) -- USB 3.2 was released in September 2017. The standard mainly adds dual lane support on top of USB 3.1. Dual lane can give up to 20 Gbps of speed i.e. 2x of USB 3.1

References


7960 questions
36
votes
1 answer

Android - Losing incoming (hi-speed) USB data

When using Android, I'm losing data on an incoming USB data stream that I do not lose when reading the same device/stream in Windows. (I know that Android is not a real-time OS, but neither is Windows, and Windows is having no problem 'keeping up'…
Greg
  • 839
  • 8
  • 8
35
votes
7 answers

"The semaphore timeout period has expired" error for USB connection

I'm getting this error... The semaphore timeout period has expired. On this line... ThePorts.ActivePort1.Open(); ...but I only get it from time to time. When it happens, it happens over and over again. Then the problem goes away, for hours or…
User.1
  • 2,562
  • 3
  • 33
  • 40
34
votes
5 answers

Power off an USB device in software on Windows

I would like to power cycle an USB device through software on Windows. I am doing development on a small USB power microcontroller. This chip will revert to native behavior on a power cycle and allow a code download. Since my code will crash the…
Perpetual Student
33
votes
6 answers

How to access USB ports in java

I'm trying to write a java application that accesses the usb ports to read from and write to a device connected through usb. The problem I face is that I don't know what exactly to use in java to do such a thing. I searched online and found…
Petezah
  • 1,465
  • 4
  • 26
  • 30
33
votes
10 answers

Control USB port's power?

Does anybody know how to control USB pins on a certain USB port? I think it is definately possible in assembler but what about C++ or C#? I want to be able to use USB battery as a power supply for an LED or something like that. So then a program…
Kristina
  • 15,859
  • 29
  • 111
  • 181
33
votes
4 answers

What is the minimum latency of USB 3.0

First up, I don't know much about USB, so apologies in advance if my question is wrong. In USB 2.0 the polling interval was 0.125ms, so the best possible latency for the host to read some data from the device was 0.125ms. I'm hoping for reduced…
Andrew Bainbridge
  • 4,651
  • 3
  • 35
  • 50
33
votes
11 answers

Nexus 10 - not visible to adb on Windows 7 or Linux

adb doesn't recognize my Nexus 10 on Windows 7. Here's what I've done: Installed the SDK and USB driver from Google. Windows 7 sees the tablet as an 'Android ADB Interface.' Put the tablet in developer mode by clicking on 'About tablet' and…
MatthewScarpino
  • 5,672
  • 5
  • 33
  • 47
32
votes
5 answers

Safely remove a USB drive using the Win32 API?

How do I remove a USB drive using the Win32 API? I do a lot of work on embedded systems and on one of these I have to copy my programs on a USB stick and insert it into the target hardware. Since I mostly work on the console I don't like to use the…
Nils Pipenbrinck
  • 83,631
  • 31
  • 151
  • 221
32
votes
14 answers

Could not recognize my android device on mac

I am trying to connect my android device on mac to test application I developed. First I installed USB driver, then I activated in my phone the developer option by tapping on Build Number and then tick USB debugging option. Once I did all those…
Salif
  • 992
  • 1
  • 8
  • 14
32
votes
2 answers

How do I intercept messages from a USB device on Linux?

I have a popular drawing tablet that I connect to my PC with USB. Once connected, the tablet detects hand movements and manipulates the pointer accordingly. Somewhere, the tablet is transmitting this data to my computer. My goal is to intercept…
sdasdadas
  • 23,917
  • 20
  • 63
  • 148
29
votes
5 answers

Is there an easy way to put my entire installation of Intellij on a USB stick?

I'm considering switching from Eclipse to Intellij. One thing I like about Eclipse is that the whole installation is just a folder, and I can put that on a USB stick and copy it to another computer if I want. All of my plugins, settings, and…
Kyle
  • 21,377
  • 37
  • 113
  • 200
29
votes
3 answers

Forcing driver to device match

I have a piece of usb hardware, for which I know the driver. However, the vendor id and product id do not match the VID, PID pair registered in the driver. Is there a way in linux to force a driver to be associated with a known device, that do not…
shodanex
  • 14,975
  • 11
  • 57
  • 91
29
votes
3 answers

Simulating a keyboard's output (making a computer pose as another computer's keyboard)

I want to be able to connect a computer A's USB port to computer B's USB port so as to make computer A act as computer B's keyboard. Any idea how I would go about doing that? I'm not looking for a ready-made solution (though if one already exists…
Anonymous Coward
  • 291
  • 1
  • 3
  • 3
29
votes
3 answers

Eclipse Android SDK cannot see new Samsung Galaxy S4 device via a USB connection

Using Eclipse (Juno SR2) with all the latest updates for Android (ADT plugin v21.1.0) cannot see the new Galaxy S4 as an available device via the USB connection. Per the Samsung website the correct driver software is…
BonanzaDriver
  • 6,411
  • 5
  • 32
  • 35
28
votes
3 answers

Java USB library

Is there a good Java USB API i can use? I tried JUSB but it doesn't seem to work. It's also very old, no updates since 2001.
Freculetz Mentulica