Tengo un dispositivo OTG que expone una interfaz de red a través de USB-C, proporcionando un servidor DHCP (piensa en una raspberry pi o similar). Cuando lo conecto a mi ordenador Linux (USB-A en el ordenador, USB-C en el dispositivo), entonces Linux muestra una nueva interfaz con una IP, y puedo SSH en el dispositivo.
En un Macbook (donde el Macbook también tiene conectores USB-C), no siempre funciona:
- Si cojo un cable usb-c a usb-c y lo uso para conectar el Macbook al dispositivo, parece que no lo reconoce (la interfaz de red no aparece en
ifconfig
). - Si conecto un adaptador USB al Macbook (uno de esos concentradores USB que exponen 3 tomas USB-A), y luego conecto un cable usb-a a usb-c entre el concentrador y el dispositivo (por lo que es usb-c <--> usb-a <--> concentrador usb <--> usb-c), entonces se reconoce.
Lo primero que pensé fue que el concentrador era sin duda un dispositivo/aparato USB, y tal vez eso ayudó porque tanto el Macbook como el dispositivo eran hosts USB. Pero estoy bastante seguro de que el dispositivo es OTG, y el hecho de que el dispositivo pueda conectarse directamente a Linux demuestra que puede funcionar como un gadget (y seguro que el Macbook puede funcionar como un host).
¿Cuál podría ser la razón de este problema? Y opcionalmente: ¿es correcto pensar que los puertos USB del Macbook no son OTG sino siempre host (nunca he oído hablar de un puerto OTG en un ordenador, no estoy seguro de que eso exista)?
Nota: parece similar a esta vieja pregunta sin respuesta .
EDIT: como se requiere, el System Report
cuando funciona. Cuando no lo hace (es decir, con el cable usb-c-only), entonces la línea simplemente no aparece en "USB 3.0 Bus"...
0 votos
Por lo que entiendo estás usando un MacBook Pro y estás conectando esto al puerto USB-C del mismo. En este caso, ya no se denomina "OTG" (On-The-Go), sino que se trata de puertos DRD (Dual-Role-Data). El MacBook Pro definitivamente soporta DRD en todos los puertos, así que ese no es el problema. Cuando hayas conectado el dispositivo, abre el Informe del Sistema y haz una captura de pantalla de la parte correspondiente de la sección USB. Hazlo para ambos escenarios (conectado directamente y conectado a través de un hub), y añade esas capturas de pantalla a esta pregunta).
0 votos
Por otro lado, existen varios estándares para hacer ethernet sobre USB como este. Algunos son soportados por MacOS por defecto, y otros no. Lo mismo puede decirse de Linux, por ejemplo. ¿Puedes detallar cuál de estos métodos estás utilizando? (ECM, EEm, NCM, RNDIS, etc.) ¿Es tu dispositivo OTG realmente un dispositivo Linux? o algún hardware embebido?
0 votos
Gracias por los comentarios. He añadido una imagen del
System Report
ya, necesito comprobar qué módulo se utiliza en el dispositivo. El dispositivo es un hardware embebido personalizado que ejecuta Linux.