Teclado USB HID: ¿por qué se generan 4 URB para una pulsación de tecla en lugar de 2?

0

Este es el registro del sistema cuando el teclado está conectado:

usb 5-1: new low-speed USB device number 7 using uhci_hcd
usb 5-1: New USB device found, idVendor=04f3, idProduct=0103
usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
input: HID 04f3:0103 as /devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0/0003:04F3:0103.000D/input/input23
hid-generic 0003:04F3:0103.000D: input,hidraw0: USB HID v1.10 Keyboard [HID 04f3:0103] on usb-0000:00:1d.0-1/input0
input: HID 04f3:0103 as /devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.1/0003:04F3:0103.000E/input/input24
hid-generic 0003:04F3:0103.000E: input,hidraw1: USB HID v1.10 Device [HID 04f3:0103] on usb-0000:00:1d.0-1/input1

Luego ejecuto wireshark y presiono una tecla. Pero en lugar de 2 URB, hay 4. ¿Qué parte de la URB contiene el código de la tecla presionada y para qué hay dos URB adicionales? Aquí está la seguimiento .

Estas son imágenes, una por paquete:

    
pregunta Igor Liferenko

1 respuesta

2

Se muestran dos tipos de paquetes:

URB type: URB_COMPLETE : Esto se envía claramente desde el dispositivo y contiene los datos clave.

URB type: URB_SUBMIT : este es el host (controlador hid) que solicita el paquete de datos next . Tenga en cuenta que la fuente es el host y el destino es el dispositivo, que de lo contrario no sería válido para un paquete de tipo IN en el bus USB.

    
respondido por el Turbo J

Lea otras preguntas en las etiquetas