On 10/01/2014 05:51 PM, Paul van der Vlis wrote:
op 01-10-14 17:08, Jan-Rens Reitsma schreef:$ lsusb -vd 8087:0020 Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 Hub<cut>Deze gegevens worden tijdens de handshake door het USB-device zelf aan de USB-host verstrekt.Aha, er wordt dus meer informatie gegeven dan alleen de ID's, zoals inderdaad een DeviceClass.
Als de host de VID en PID van een device niet kent dan kan de host wel met het device communiceren. Als de host mbv de gegevens die hij tijdens de handshake van het device heeft gekregen, een geschikte driver kan vinden, dan kan de host besluiten om die driver te laden.
Maar de rest zal naar ik verwacht door het OS worden gedaan. Het lijkt me namelijk gevaarlijk als het apparaat zelf wat zou kunnen/mogen.
Klopt. De host stelt vragen en geeft opdrachten. Het device geeft antwoorden op vragen die de host aan hem stelt en voert opdrachten uit die de host hem geeft. De host is altijd de baas. Hij hoeft niet naar het device te luisteren en kan het device de mond snoeren wanneer hij maar wil. Een USB-host is een dictator en geen fatsoenlijke gastheer.
Groeten, Jan-Rens.