The raw USB bus

In some circumstances, a USB device may lack a dedicated device driver. In this case, a GNU/Linux system simply enumerates it, and then, no driver is loaded at all. In this situation, the user cannot get access to the new USB device in any usual manner, except by using raw commands directly over the bus. Simply speaking, it consists of directly sending the USB messages to the new device and then managing the answers without using any dedicated driver at all.

You should note that if this new device has no available driver, then it cannot be seen from the system as any usual device (that is, a keyboard or a storage disk), so we have no /dev/event2 or /dev/sdb entries to use! However, even if this situation may appear quite strange ...

Get GNU/Linux Rapid Embedded Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.