Al contrario que su predecesor PS/2, en que cada pulsación de tecla tenía una respuesta eléctrica inmediata, el protocolo USB y también los teclados, son mucho más complejos. Un teclado USB conectado directamente a un osciloscopio no "hace nada" cuando se pulsa una tecla. ¿Por qué? En USB la conexión la maneja el maestro: Los dispositivos por sí mismos no inician ningún intercambio de información. Ben Eater explica con su habitual forma didáctica las bases de un teclado USB, y del protocolo base en general.
|
etiquetas: ben eater , usb , teclado
Por contra en el USB es el ordenador que le pide al teclado si hay alguna tecla pulsada, de los teclados que prueba en el vídeo en uno el ordenador lo pide cada 16 ms y en otro lo pide cada 1 ms. Con ésta última velocidad de petición el tiempo de respuesta del PS2 y USB son equiparables, el PS2 empieza a transmitir inmediatamente cuando se pulsa la tecla pero va lento a hacerlo, el USB no dice nada hasta que el PC pregunta pero responde muy rápido cuando es preguntado.
La latencia del USB es infumable, todo retrojugador lo sabe.
Las interrupciones de la CPU desde el PS2 son a nivel del 8259.
La latencia del USB es infumable, todo retrojugador lo sabe.
En el vídeo se demuestra que depende del teclado, que hay teclados de baja velocidad a 16ms de polling y teclados de alta velocidad a 1ms de polling. Es con éstos que se compite en latencia con el PS2.
En el vídeo lo tienes a partir del minuto 30:25 : www.youtube.com/watch?v=wdgULBpRoXk&t=30m25s
es.wikipedia.org/wiki/Intel_8259
Sobre lo de depurar un SO con PS2 lo se de sobra (kernel panics en BSD).
Y es más, los teclados y ratones USB abren la puerta a los espionajes realizados mediante patitos de goma, que básicamente es un dispositivo USB que dice ser un teclado, y cuando lo conectas a una torre empieza a ejecutar guiones a toda velocidad y te permite descargar en el propio dispositivo (también es una memoria) toda la información interesante de ese ordenador en pocos segundos (lo que se tarde en ejecutar). Antes eso requería de teclear, buscar... con un #patito_de_goma es enchufar y listo. Por supuesto, antes tienes que programar el patito de goma, si no lo programas no funciona. Otra es que requiere de un acceso físico al ordenador, aunque lo mismo inventan los teclados por cable de red y entonces os podéis imaginar.
www.youtube.com/results?search_query=patito+de+goma+usb
www.youtube.com/results?search_query=rubber+ducky+usb
Un patito de goma te puede pwnear en pocos segundos.
www.youtube.com/watch?v=9gocQFl6mWI
Esta herramienta te pwnea un ordenador en pocos segundos.
Aunque como digo, si se populariza eso sacarían una versión especial del Rubber Ducky con un cable adicional PS2.
www.youtube.com/watch?v=kRlSFm519Bo
Ya podrían ser así muchos profesores universitarios...
¿Verdad, Antena 3, Telecinco...?
¿Es realista poder hacer eso con los sistemas operativos actuales?
Tu comprueba la latencia de entrada de DOS + teclado USB junto a un sistema de ventanas con un compositor y teclado USB.
twitter.com/gravislizard/status/927593460642615296
Si no bloqueas los puertos USB te da igual donde esté conectado el teclado y de que formato sea, te viene el usuario te enchufa una memoria USB infectada y el sistema operativo se traga el ataque como si nada.
Si no conoces cual es el tiempo de respuesta del teclado no puedes saber cual es el cuello de botella.
Si existen teclados con tiempos de respuesta de 16ms y no sabes si estás usando uno de esos tus resultados no pueden extrapolarse a los teclados con tiempo de respuesta de 1ms, y quién sabe si los hay con tiempos de respuesta inferiores.
cc: #32
Antanyo si quitabas un teclado/raton USB en caliente podias colgar el equipo.
Por cierto, muchas placas de PS2 en esos PC's son PS2 con un convertidor hacia un bus USB.
Por que tu discurso es idéntico sean cuales sean las evidencias que se te presenten.
Un dia descubriras que el disenyo de los specs del USB es una puta pesadilla.
Tu hipótesis ha sido falsada. Un teclado USB puede responder más rápido que uno PS2. Y es que el puerto PS2 usa una velocidad de transmisión muy inferior al puerto USB y eso lo penaliza por muchas interrupciones que utilice.
Si fuera una carrera siempre saldría antes que el contrincante pero iría más lento.
El controlador 8259 siempre va a procesar los datos de forma inmediata y con el USB no te aseguras dicha inmediatez.
Cuando el controlador escucha al raton PS2, la CPU obedece al controlador por sus cojones, quiera o no.
Y un teclado PS2 puede perder contra un teclado USB en cuanto a latencia real.
Eso son especulaciones.
En los experimentos que sí conocemos, donde sí se han hecho mediciones, el teclado USB puede ganar al teclado PS2.
Da todo igual. Te lo van a tirar todo por tierra porque sus sentimientos son más importantes que todo lo demás. Viva el puto método científico.