27c3: USB and libusb (en)
Speaker: Peter Stuge So much more than a serial port with power Learn about the benefits and limitations of Universal Serial Bus, how communication works on the bus, how and why the right (and sometimes wrong?) driver can be loaded automatically by the operating system, and find out the easiest way to add USB to your washing machine, toaster, or other favorite appliance. The talk goes under the hood of the ubiquitous standard and clarifies many concepts that are important to understand when developing either device firmware or host software for USB; host, device, hubs, low speed, full speed, high speed, super speed, bus power supply, cable lengths, transfer types, endpoints, descriptors and more. The choice between kernel mode or user mode drivers will also be discussed, and finally we'll take a look at libusb; a cross-platform (WinMacLinuxBSD) library for USB programming. There will be a workshop that builds on this talk. Check the workshop schedule if you would like to join in the building of a custom USB device on an ARM microcontroller! For more information visit:http://bit.ly/27c3_information To download the video visit: http://bit.ly/27c3_videos

William Light - Linux USB HID Interfacing in Userspace

28C3 - reverse engineering usb devices

27c3: Reverse Engineering the MOS 6502 CPU (en)

See the minimum needed for a USB device to list in Device Manager

Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)

Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025

Reverse Engineering a USB Device (Element14)

20048 USB1 - USB 2.0 Embedded Host and Device Concepts, Solutions and Traffic Capture

The Insane Genius of a Formula 1 Gearbox
![[stream] USB: Reverse Engineering and Writing Drivers](https://i.ytimg.com/vi/is9wVOKeIjQ/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAs9EOeuA5Ype4miDd5rMZKG0kv_g)
[stream] USB: Reverse Engineering and Writing Drivers

Linux Kernel Module Programming - USB Device Driver 02

Trump Attends NBA Finals, Cries Election Fraud in California & Storms Out of Interview

Debugging Usually Slightly Broken (USB) Devices and Drivers - Krzysztof Opasiak, Samsung

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup

A Tour of USB Device Controller (UDC) in Linux - Hervé Codina, Bootlin
![Build own USB device on linux-based board! [en] - Krzysztof Opasiak](https://i.ytimg.com/vi/lbmAn3b76rY/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCh0NUOvHPeOoy1aCu5d7sFWltUEw)
Build own USB device on linux-based board! [en] - Krzysztof Opasiak

28c3: Reverse Engineering USB Devices

How does a USB keyboard work?

Add USB To Your Electronics Projects! - The USB Protocol Explained

