Mapping USB
Nhằm đảm bảo nhận đủ các ports cần dùng và tốc độ đầy đủ tương ứng với mỗi port. Việc thừa port không dùng đến có thể gây lỗi sleep không mong muốn.
Một port tương ứng với một chuẩn kết nối (2.0 hoặc 3.x) trong một cổng kết nối chứ không phải một port là một cổng kết nối. Vậy nên một cổng USB hỗ trợ 3.x sẽ có 2 ports bởi cổng đó hỗ trợ cả 2.0 lẫn 3.x.
Với mỗi USB controller, mặc định macOS chỉ hỗ trợ tối đa 15 ports. Cần sử dụng quirk XhciPortLimit
có trong config.plist - Kernel - Quirks để tăng loại bỏ giới hạn này trong một số cấu hình.
Có một số ports phổ biến cần quan tâm như sau:
Type | Chuẩn kết nối | Ghi chú |
---|---|---|
0 | USB Type A 2.0 | |
3 | USB Type A 3.x | |
8 | USB Type C 2.0 | |
9 | USB Type C (switch) | Chỉ có một port kể cả khi xoay 180 độ cắm lần hai trong cùng một cổng |
10 | USB Type C (không switch) | Tức khi cắm và xoay 180 độ rồi cắm vào sẽ hiển thị hai ports được kết nối |
255 | Internal | Các kết nối như bluetooth, webcam, cảm biến vân tay,... |
Thực hiện
Chuẩn bị
- Truy cập USBToolBox và tải phiên bản dành cho Windows từ phần Releases.
- Chuẩn bị một USB Type A bất kỳ (chuột, bàn phím, receiver,...) và thêm một USB Type C nếu máy có hỗ trợ.
Mở công cụ USBToolBox
- Chạy file
Windows.exe
đã tải về.
Thay đổi cài đặt
- Chọn Change Settings (C).
- Bật tùy chọn Use Native Classes (N).
Xác định những cổng USB được sử dụng
- Truy cập Discover Ports (D).
- Các cổng màu xanh lá là đang kết nối, còn màu xanh dương là đã từng kết nối.
Thực hiện kết nối USB
- Cắm lần lượt USB vào từng cổng USB trên máy, mỗi lần giữ 5 giây để đảm bảo USB được nhận diện.
- Chỉ cắm những cổng còn trống, không cần cắm lại những cổng đã có kết nối.
- Với USB Type C, sau khi cắm vào một cổng xong, rút ra, xoay 180 độ rồi cắm lại vào đúng cổng đó.
Kiểm tra lại các port được kết nối
- Quay trở lại (B) và truy cập Select Ports and Build Kext (S).
- Công cụ sẽ tự động chọn các port có kết nối:
- Nếu có bất kỳ port nào chưa được chọn, chọn Enable All Populated Ports (P).
- Hoặc chọn thủ công bằng cách nhập số thứ tự của port tương ứng (VD: 3,8).
- Bỏ chọn port cảm biến vân tay (nếu có) vì không cần thiết. Nhập số thứ tự port và nhấn Enter để dòng port trở thành màu trắng.
Xác định chuẩn kết nối
- Nếu có USB Wi-Fi hoặc USB Bluetooth hãy chỉnh type của các port này thành Internal.
- Các port 2.0 có thể đặt thành 3.x mà không ảnh hưởng.
- Để thay đổi chuẩn kết nối, ví dụ port 3 và port 8, nhập
T:3,8:t
vớit
là type tương ứng xuất hiện ở bảng đầu bài viết.
Build USBMap.kext
- Chọn Build USBMap.kext (K) để tạo kext USBMap.
- Tại màn hình Enter Model Identifier hãy tìm SystemProductName trong file
EFI/OC/config.plist
của OpenCore EFI đã tạo và nhập tên SMBIOS vào.Bạn có thể sử Notepad hoặc bất kỳ phần mềm nào chỉnh sửa text để mở config.plist trong bước này.
- Đường dẫn của kext được tạo sẽ nằm sau Saved to.
Thêm kext USBMap vừa tạo vào OpenCore EFI
Nếu số ports cần dùng hiển thị tại bước 6 của một USB controller lớn hơn 15, hãy bật quirk XhciPortLimit
có trong config.plist - Kernel - Quirks.