video thumbnail 36:15
How does USB device discovery work?

2021-07-10

[public] 160K views, 12.2K likes, 30.0 dislikes audio only

channel thumbBen Eater

What happens when you first plug a USB device in? There's a whole bunch of negotiation where the computer discovers what a USB device is capable of. In this video I capture the conversation and walk through what's going on.

Support these videos on Patreon: https://www.patreon.com/beneater or https://eater.net/support for other ways to support.

------------------

Social media:

Website: https://www.eater.net

Patreon: https://patreon.com/beneater

Reddit: https://www.reddit.com/r/beneater

Special thanks to these supporters for making this video possible:

Aaron Todd, Aleksey Smolenchuk, Alexander Wendland, Andrew C. Young, Anson VanDoren, Anthanasius, anula, Armin Brauns, Ben Cochran, Ben Kamens, Ben Williams, Benny Olsson, Bill Cooksey, Binh Tran, Bouke Groenescheij, Bradley Pirtle, Bradley Stach, Brent Reusing, Brian T Hoover, Bryan Brickman, Burt Humburg, Carlos Ambrozak, Chris, Christian Carter, Christopher Blackmon, Dale Andrew Darling, Daniel Jeppsson, Daniel Tang, dans, Dave Burley, Dave Walter, David Brown, David Clark, David Cox, David House, David Sastre Medina, David Turner, David Worsham, Dean Bevan, Dean Winger, Dilip Gowda, Dissy, dko, Dmitry Guyvoronsky, Dušan Dželebdžić, Dustin Yelland, Dzevad Trumic, Eric Dynowski, Erik Broeders, Eugene Bulkin, Eveli László, George Miroshnykov, Harry McDow, hotwire33, Ingo Eble, Ivan Sorokin, James Capuder, james schaefer, Jared Dziedzic, Jason DeStefano, Jason Specland, JavaXP, Jaxon Ketterman, Jay Binks, Jayne Gabriele, Jeremy Cole, Jesse Miller, Jim Kelly, Jim Knowler, Jim Van Meggelen, Joe Beda, Joe OConnor, Joe Pregracke, Joel Miller, John Fenwick, John Meade, Jon Dugan, Joseph Portaro, Joshua King, Jurģis Brigmanis, Kai Wells, Kefen, Kenneth Christensen, Kent Collins, Kitick, Koreo, Lambda GPU Workstations, Larry, Lucky Resistor, Lukasz Pacholik, Marcos Fujisawa, Marcus Classon, Mark Day, Marko Clemente, Martin Noble, Martin Roth, Mats Fredriksson, Matt Krueger, Matthäus Pawelczyk, Matthew Duphily, melvin2001, Michael Tedder, Michael Timbrook, Michael Weitman, Miguel Ríos, mikebad, Miles Macchiaroli, Muqeet Mujahid, My Yiddishe Mama, Nicholas Counts, Nicholas Moresco, Not Yet Wise, Örn Arnarson, Paul Pluzhnikov, Paul Randal, Pete Dietl, Phil Dennis, Philip Hofstetter, Phillip Glau, PixelSergey, ProgrammerDor, Randal Masutani, Randy True, raoulvp, Renaldas Zioma, Ric King, Rick Hennigan, Rob Bruno, Robert Comyn, Robert Diaz, Robey Pointer, Roland Bobek, §çīŤøşHï ŇåĶąýŐbŕÔ, Scott Holmes, Sergey Kruk, Shelton, SonOfSofaman, Stefan Nesinger, Stefanus Du Toit, Stephen, Stephen Kovalcik, Stephen Riley, Stephen Smithstone, Steve Jones, Steven Zilberberg, Tayler Porter, TheWebMachine, Thomas Bruggink, Thomas Eriksen, Tii, Tim Walkowski, Tom, Tom Yedwab, Tommaso Palmieri, Tyler Latham, Vincent Bernat, Vladimir Solomatin, Walter Montalvo, Warren Miller, Wim Coekaerts, xisente, Yee Lam Wan


How does a USB keyboard work? by Ben Eater
/youtube/video/wdgULBpRoXk
Intro
/youtube/video/N0O5Uwc3C0o?t=0
Set Address
/youtube/video/N0O5Uwc3C0o?t=379
Set Endpoint
/youtube/video/N0O5Uwc3C0o?t=457
Device Descriptor
/youtube/video/N0O5Uwc3C0o?t=606
Saving Data
/youtube/video/N0O5Uwc3C0o?t=734
CSV File
/youtube/video/N0O5Uwc3C0o?t=777
Data Decoding
/youtube/video/N0O5Uwc3C0o?t=894
Device Decoding
/youtube/video/N0O5Uwc3C0o?t=979
Configuration
/youtube/video/N0O5Uwc3C0o?t=1197
Human Interface
/youtube/video/N0O5Uwc3C0o?t=1313
Set Configuration
/youtube/video/N0O5Uwc3C0o?t=1399
Initial Request
/youtube/video/N0O5Uwc3C0o?t=1454
Usage Page
/youtube/video/N0O5Uwc3C0o?t=1551
Keyboard Keypad
/youtube/video/N0O5Uwc3C0o?t=1628
InputOutput
/youtube/video/N0O5Uwc3C0o?t=1933
Keyboard commands
/youtube/video/N0O5Uwc3C0o?t=2055
Support this channel on Patreon patreon.com
https://patreon.com/beneater
Hacking a weird TV censoring device 1,724,381 views
/youtube/video/a6EWIh2D1NQ
Ben Eater Subscribe to see tutorial-style videos about electronics, computer architecture, networking, and various other technical subjects. If you want to see more on a particular subject, leave a comment and I'll try my best to add more. If you'd like to support my work, please do! https://www.patreon.com/beneater https://paypal.me/beneater https://cash.me/$eater bitcoin:1EaterJkmmuJWfm8hvULrMJGm7R8JgXTL8 bitcoincash:1JUjEErUjkgBVJP28GH6LKihvEUJ1RGZhx
/youtube/channel/UCS0N5baNlQWJCUrhCEo8WlA