USB, Abstracted

Modern technology builds on abstractions. Most application programmers today don’t know what a non-maskable interrupt is, nor should they have to. Even fewer understand register coloring or r…

Hackaday
🌗 給軟體開發人員的 USB 指南
➤ 擺脫核心態束縛,從使用者層級駕馭 USB 裝置
https://werwolv.net/posts/usb_for_sw_devs/
本文旨在消除軟體開發者對 USB 驅動程式開發的恐懼。作者以 Android 手機的 Bootloader 模式為例,說明開發者無需深入核心態(Kernel Mode)撰寫晦澀的程式碼,即可透過 Userspace 應用程式與硬體進行溝通。藉由介紹 `lsusb` 指令查詢設備識別碼(VID/PID),以及運用 `libusb` 函式庫實作設備熱插拔監測,開發者能更直觀地掌握 USB 設備的通訊原理,降低硬體介接的開發門檻。
+ 終於看到一篇不談複雜匯流排細節,而是以實務應用為導向的文章了,這對想進入硬體開發的軟體工程師非常有幫助。
+ 對於需要編寫自定義通訊協定的人來說,`libusb` 確實是比直接寫 Kernel 驅動更好的起點。
#硬體通訊 #USB 協定 #驅動程式開發 #libusb
USB for Software Developers: An introduction to writing userspace USB drivers | WerWolv

A basic introduction to USB for people that don't need to know what happens on the wire

WerWolv
#libusb 1.0.28 RC1 has been released (#USB / #API) https://libusb.info/
libusb

Considering the Windows editor for my #DNAfx GiT Core won't run on neither Wine nor any VM, I've spent the past few days trying to reverse engineer its USB protocol, in order to write a basic editor for Linux of my own. It's been interesting so far to play with #libusb (I can already kinda talk to the device), especially coming from the perspective of a network developer, but I have some doubts on how #USB communication works in general: is there anyone around here that can clarify a few points?

Today I discovered a pretty cool utility for listing USB devices! 🔌

🌸 **cyme**: A modern and cross-platform lsusb!

🔥 Displays manufacturer, serial number, speed, current information (mA) and more!

🦀 Written in Rust!

⭐ GitHub: https://github.com/tuna-f1sh/cyme

#rustlang #lsusb #usb #devices #utility #commandline #tool #libusb

GitHub - tuna-f1sh/cyme: List system USB buses and devices. A modern cross-platform lsusb that attempts to maintain compatibility with, but also add new features

List system USB buses and devices. A modern cross-platform lsusb that attempts to maintain compatibility with, but also add new features - tuna-f1sh/cyme

GitHub
does anyone knows a simple way to handle hotplug #usb devices with #libusb ?

I could really use some #libusb experts opinion on getting this function faster. The round trip takes 100~200 uS and is just too slow, but async read causes race conditions.
A single write takes 30 uS (async). Ive already removed all overhead on the device side code but the time stays the same. #tinyusb #rp2040

via @loudfpv

https://mastodon.social/@loudfpv/113080861770413089

Any LIBUSB Async (linux) experts here? I want to improve speed between usbsid and PC. Unfortunately I am running into race conditions causing packets from device to pc misalign, e.g. the callback gets called more then expected, or too late. Async send and sync on read is too slow.
#libusb #async
#libusb 1.0.27 has been released (#USB) https://libusb.info/
libusb

It works, but everything is hardcoded. Need to add some configuration system. #streamdeck #WriteInC #libusb