بررسی پشتیبانی کابلهای USB-C از Alt-Mode در هسته لینوکس ۷.۳

تغییرات مربوط به پورتهای USB و تاندربولت (Thunderbolt) سرانجام در لینوکس ۷.۳ ادغام شدند. در میان کدهای زیرسیستم USB در آپدیت لینوکس ۷.۳، دو تغییر بسیار مهم و هیجانانگیز به چشم میخورد. اول اینکه کرنل بالاخره و بعد از مدتها تاخیر، قابلیت کابلهای USB-C را برای پشتیبانی از حالتهای جایگزین (Alt-modes) بررسی میکند. دومین تغییر هم اضافه شدن یک گزینه جدید با تاخیر بسیار پایین (Low-Latency) به نام USB4STREAM برای انتقال سریعتر دادهها بین سیستمهای متصل به شبکه USB4 است.
پایان خطاهای ناشناخته در اتصال تایپسی
با شروع کار لینوکس ۷.۳، کدهای مربوط به USB Type-C به طور دقیق و سختگیرانه پشتیبانی کابل از Alt-mode را چک میکنند. تا پیش از این، لینوکس در واقع ظرفیتهای سختافزاری کابل را برای ویژگیهایی مثل DisplayPort یا تاندربولت بررسی نمیکرد. این ضعف باعث میشد سیستم اطلاعات غلطی از وضعیت اتصال نشان دهد یا زمانی که میخواستید از یک کابلِ غیرپشتیبان برای حالتهای ویژه استفاده کنید، با خطای راهاندازی (Initialization Failures) مواجه شوید.
کدهای جدید در لینوکس ۷.۳ اکنون هدر شناسه (Identity Header) را بررسی میکنند تا بفهمند آیا با یک کابل پسیو (Passive) با سرعت USB 2.0 سروکار دارند یا اینکه کابلهای اکتیو، پلاگینهای متناسبی با نیاز سیستم دارند. جالب است بدانید که این سیستم بررسی هوشمندِ کابلهای USB-C توسط آندری کوچینسکی (Andrei Kuchynski) از تیم توسعه سیستمعامل کرومِ گوگل (Chrome OS) به کرنل اضافه شده است.
انتقال داده با کمترین تاخیر در USB4
کدهای USB در این آپدیت شامل یک گزینه جدید به نام busy_poll برای سیستم USB4STREAM نیز میشود. این قابلیت، تاخیر (Latency) شبکه را به شدت کاهش میدهد، اما در عوض فشار بیشتری به پردازنده (CPU) وارد میکند. شرکت اینتل قبلاً ساختار USB4STREAM را در نسخه ۷.۲ برای ارسال بستههای داده بین سیستمهای متصل به USB4 یا تاندربولت اضافه کرده بود. حالا با فعال کردن گزینه busy_poll، سرعت و پایداری انتقال دیتا به طرز چشمگیری بهبود پیدا میکند.
از دیگر تغییرات این نسخه میتوان به اتصالهای Device Tree برای کنترلر ASpeed AST2700 DWC3 و یک سری بهینهسازیهای کوچک دیگر اشاره کرد.



