es.phhsnews.com


es.phhsnews.com / ¿Hay un protocolo de comunicación USB real?

¿Hay un protocolo de comunicación USB real?


La mayoría de nosotros nunca prestamos mucha atención a nuestros dispositivos USB, simplemente los conectamos y nos olvidamos de ellos. Pero, ¿y si eres del tipo curioso que quiere saber más sobre cómo funciona el USB? La publicación de preguntas y respuestas SuperUser de hoy tiene las respuestas a las preguntas de un lector curioso.

La sesión de preguntas y respuestas de hoy nos llega cortesía de SuperUser, una subdivisión de Stack Exchange, una agrupación de sitios de preguntas y respuestas impulsada por la comunidad.

Foto cortesía de Evilelka Kowalski (Flickr).

The Question

SuperUser reader smeeb quiere saber si realmente hay un protocolo de comunicación USB real:

Según Wikipedia, USB:

  • define los cables, conectores y comunicaciones protocolos utilizados en un bus para conexión, comunicación y suministro de energía entre computadoras y dispositivos electrónicos.

¿Pero existe un Protocolo de comunicación USB ? Entiendo que:

  1. Conecta un dispositivo USB a una máquina (Ubuntu o cualquier tipo de Linux, por ejemplo).
  2. Linux encuentra el controlador del dispositivo para ese dispositivo de alguna manera ( ¡bono si lo sabe! ) y lo carga.
  3. El dispositivo ahora está conectado bajo / dev / theDevice .
  4. Las aplicaciones de espacio de usuario ahora pueden leer y escribir en / dev / theDevice y el el controlador maneja la entrada y salida de bajo nivel al dispositivo / hardware subyacente.

Hasta donde puedo decir, un Protocolo de comunicación USB no aparece en ningún lugar de este flujo. Si mi entendimiento es correcto, el USB es solo el cable y la conexión eléctrica entre la PC y el dispositivo.

¿Estoy equivocado aquí? ¿Realmente el USB implementa algún tipo de protocolo de bajo nivel que subraya el flujo anterior? Si es así, ¿qué es y cómo funciona a una vista de 30,000 pies?

¿Existe un protocolo de comunicación USB real?

Los contribuidores de SuperUser Answer #

RedGrittyBrick y projectdp tienen la respuesta para nosotros. Primero, RedGrittyBrick:

Sí (ver protocolos USB).

Según tengo entendido, la especificación USB define un complejo conjunto de protocolos en capas y perfiles de dispositivos.

Por ejemplo, los dispositivos USB pueden ajustarse a plantillas de niveles como almacenamiento masivo, teclado, dispositivo de interfaz humana, etc. y ser administradas por un controlador de dispositivo genérico. Algunos dispositivos USB se pueden comunicar a un nivel inferior, de modo que el soporte USB de bajo nivel del sistema operativo puede reconocer que se necesitan controladores de nivel superior específicos del dispositivo.

Seguido de la respuesta de projectdp:

Pregunta

¿Hay alguna bajo nivel de protocolo de comunicación USB en acción y ¿qué es?

Respuesta

Sí, lo hay. La especificación USB incluye el protocolo USB que define la forma en que se utiliza el bus a nivel de bit. Este sería el protocolo de bajo nivel que subyace en los protocolos de nivel superior (es decir, almacenamiento masivo, HID, etc.).

Para obtener información específica sobre cómo funciona el protocolo USB, este wiki de OSDev es útil. Aquí hay otra descripción interesante que usa diagramas de secuencia para describir las diversas transacciones de datos según el protocolo USB.

Pregunta de bonificación

¿Cómo encuentra Linux y carga el controlador del dispositivo para ese dispositivo?

Respuesta de bonificación

En Linux cuando se utiliza un núcleo habilitado para USB, se detectará un dispositivo USB en funcionamiento a través del hardware y el kernel debido a la especificación USB. En el lado del hardware, la detección se realiza mediante el controlador de host USB. Luego, en el kernel, el controlador del controlador de host toma el control y traduce los bits de bajo nivel en el cable a la información formateada del protocolo USB. Esta información luego se rellena en el controlador usbcore en el kernel.

Parafraseé de este excelente artículo de Opensourceforu, que tiene mucho más detalle y claridad sobre su pregunta en el contexto de Linux.

Asegúrese de revisar el resto de la animada discusión a través del enlace de hilos compartido a continuación.


¿Tiene algo que agregar a la explicación? Suena apagado en los comentarios. ¿Desea leer más respuestas de otros usuarios de Stack Exchange expertos en tecnología? Consulte el hilo de discusión completo aquí.


¿Qué es la carpeta de contactos de Windows y por qué la necesita?

¿Qué es la carpeta de contactos de Windows y por qué la necesita?

Windows tiene bastantes carpetas especiales, y si agrega almacenamiento en la nube, entonces probablemente tenga más. De todos modos, todos tienen sentido excepto la carpeta Contactos. ¿Qué es la carpeta de Contactos? ¿Tiene algún propósito? TL; DR: Si no desea leer todo el artículo, desea eliminar la carpeta Contactos y no tiene nada, puede sentirse cómodo eliminando la carpeta no causará ningún problema para la mayoría de las personas.

(how-to)

Cómo detener YouTube desde la reproducción automática del siguiente video en Chromecast

Cómo detener YouTube desde la reproducción automática del siguiente video en Chromecast

Cuando utilizas tu Chromecast para videos de YouTube, hay una característica molesta en la que los videos sugeridos hacen cola continuamente, ya sea que los quieras o no. Aquí está ahora para desactivar esa función. ¿Cuál es la oferta? RELACIONADO: Cómo evitar que YouTube se reproduzca automáticamente Videos en iOS, Android y la Web A YouTube le gusta reproducir videos sugeridos automáticamente después tu video actual ha terminado Esto es bastante fácil de desactivar en el escritorio y las aplicaciones móviles, pero la configuración está un poco más oculta cuando se trata del Chromecast.

(how-to)