El kernel de Linux comienza a completar el soporte Thunderbolt para dispositivos Apple M M1/M2/M3 toman la delantera en el soporte del protocolo USB4

📅 2026-09-01

Resumen:

Gracias al trabajo de los desarrolladores del proyecto Asahi Linux, el kernel de Linux pronto admitirá el protocolo USB4 en dispositivos con chips M1/M2/M3. Este conjunto de funciones existía anteriormente en el código posterior mantenido por Asahi Linux. El significado de esta presentación es principalmente promover que los controladores relevantes ingresen oficialmente a la línea principal de Linux.

La arquitectura USB4 de Apple es diferente a la de los PC normales:

El protocolo USB4 proporcionado por Apple en dispositivos equipados con chips M es diferente al de las PC normales. Cada interfaz Apple USB4 Type-C contiene un módulo de hardware llamado ACIO, que integra el coprocesador Cortex-M3, el enrutamiento del host USB4, el plano de control del host nativo y DART IOMMU.

Este hardware no está expuesto continuamente al procesador principal. El procesador principal solo puede acceder a los dispositivos internos a través de la ventana MMIO de 16MiB después de que se esté ejecutando el coprocesador ACIO. Por lo tanto, el controlador debe encender el módulo ACIO de acuerdo con el estado de conexión de la interfaz, iniciar el coprocesador RTKit y luego crear dinámicamente dispositivos DART y NHI.

Cuando se desconecta la interfaz, el dispositivo debe destruirse y apagarse en orden inverso. Esta es también la razón principal por la que durante mucho tiempo ha sido difícil para los dispositivos Apple equipados con chips M obtener soporte ascendente de Linux.

Los controladores NHI requieren mucho procesamiento específico de Apple:

El parche presentado por los ingenieros de Asahi Linux agrega más de 1000 líneas de código de controlador para el protocolo Apple Thunderbolt. El parche también modifica el núcleo Thunderbolt existente del kernel de Linux. Apple NHI permite que cada Ring tenga un diseño de interrupción independiente, y su diseño de registro, configuración de Ring y manejo de terminal son diferentes del controlador USB4 universal.

En M3, Apple implementa una gestión más estricta y proporciona hasta 24 entradas IOMMU para diferentes anillos TX/RX para mejorar el aislamiento entre diferentes canales de datos. El hardware de Apple tampoco implementa algunos de los registros de asignación de ancho de banda USB3 esperados por el código USB4 existente de Linux, por lo que el parche enviado por los ingenieros de Asahi Linux agregó específicamente Quirk para evitar el proceso relacionado.

Aún no es completamente compatible con Thunderbolt:

El primer lote de código actualmente solo admite conexiones de host a host de XDomain y túneles USB3 sobre USB4. La tunelización de dispositivos PCIe y la tunelización de vídeo DP aún no están completas. Por lo tanto, aún no se garantiza que escenarios como estaciones de acoplamiento Thunderbolt, tarjetas gráficas externas, dispositivos PCIe de alta velocidad y monitores conectados a través del protocolo Thunderbolt funcionen correctamente.

El parche enviado por los ingenieros de Asahi Linux ha sido desarrollado y probado en la plataforma M1/M2/M3, pero actualmente se encuentra en la etapa de revisión de la lista de correo del kernel de Linux y aún no se ha fusionado oficialmente con el kernel de Linux.

Etiquetas relacionadas

Artículos relacionados

Comentarios

0/500
Captcha (click to refresh)
Sin comentarios