1月19日消息,据Phoronix报道,定于今晚发布的Linux 6.19-rc6内核版本修复了苹果M1 Pro、M1 Max、M1 Ultra以及M2、M2 Pro、M2 Max、Ultra机型上USB-C端口控制器无法正确识别USB 2.0和USB 3.x设备的问题。
据了解,此前USB-C端口控制器会触发多余的中断,导致USB角色反复切换到当前已处于激活状态的角色,从而引发异常。为此,Linux 6.19-rc6内核现在会在dwc3-apple已达到目标状态时忽略这些USB角色切换,确保USB-C端口控制器与dwc3-apple始终保持一致状态,其行为也与core.c中的__dwc3_set_mode()保持一致。
此外,Linux 6.19-rc6还引入了“在DWC3初始化之前提前设置USB2 PHY工作模式”的特性,主要用于解决在开机前或启动过程中已插入USB2设备时偶发的识别问题。
具体来说,在Linux启动前,USB2 PHY通常运行在设备模式下,而在某些情况下,设备模式与主机模式之间的切换并不可靠生效。为解决这一罕见问题,Linux 6.19-rc6内核现在会在更早阶段完成USB2 PHY角色配置。需要注意的是,USB3 PHY并不存在同样的问题,反而必须在dwc3启动后才能正确设置其角色。
除了上述对于苹果产品的USB修复外,Linux 6.19-rc6还加入了对PICAXE AXE027编程线缆的FTDI SIO驱动支持、提升了Elgato 4K X的兼容性,同时修复了一些小型Bug。
