Việc map (ánh xạ) cổng USB là một bước quan trọng và cần thiết để đảm bảo tất cả các cổng USB trên máy tính của bạn hoạt động ổn định và đúng tốc độ trên macOS. Quá trình này giúp hệ điều hành nhận diện chính xác từng cổng, loại bỏ các cổng không cần thiết và tuân thủ giới hạn 15 cổng của Apple, tránh gây ra các lỗi như mất kết nối đột ngột, thiết bị không nhận, hoặc cổng USB 3.x chỉ chạy ở tốc độ 2.0.
Hướng dẫn này sử dụng công cụ USBToolBox trên Windows để tạo bản đồ USB và sau đó tích hợp vào bộ nạp khởi động OpenCore.
Chuẩn bị
Máy tính chạy Windows: Quá trình tạo bản đồ USB sẽ được thực hiện trên Windows.
USBToolBox: Tải phiên bản mới nhất từ trang
.GitHub của USBToolBox OCAuxiliaryTools: Tải phiên bản mới nhất từ trang GitHub của OCAT
Thiết bị USB 2.0, USB 3.x và USB cổng Type-C: Cần cả ba loại để kiểm tra và xác định đúng loại cổng.
Bộ cấu hình OpenCore: Cần truy cập được vào file
config.plist
và thư mụcEFI/OC/Kexts
.
Bước 1: Khám phá và Định danh Cổng USB trên Windows
Mục tiêu của bước này là xác định tất cả các cổng vật lý trên máy tính của bạn và cách chúng được hệ điều hành nhận diện.
- Chạy USBToolBox: Giải nén và chạy file
Windows.exe
trên Windows (Để chạy được bạn phải tắt trình diệt virus). - Vào Chế độ Khám phá (Discover Mode):
Trong giao diện chính của chương trình, nhấn phím 'D' để vào chế độ Discover Ports.
Chương trình sẽ hiển thị danh sách tất cả các bộ điều khiển USB (controllers) và các cổng tương ứng. Màn hình sẽ ở trạng thái chờ bạn cắm thiết bị.
- Cắm và Rút thiết bị USB:
Đối với cổng USB 3.x (thường có màu xanh dương hoặc đỏ):
Cắm thiết bị USB 2.0 vào cổng này. Bạn sẽ thấy một mục mới xuất hiện trong danh sách, thường được định danh là
HSxx
(High Speed). Ghi lại tên cổng này và vị trí vật lý của nó.Rút thiết bị USB 2.0 ra.
Cắm thiết bị USB 3.x vào cùng một cổng vật lý đó. Bạn sẽ thấy một mục mới khác xuất hiện, thường được định danh là
SSxx
(Super Speed). Đây chính là thành phần tốc độ cao của cùng một cổng USB 3.x.
Đối với cổng USB 2.0 (thường có màu đen):
Cắm thiết bị USB 2.0 vào. Chỉ có một mục
HSxx
xuất hiện.
Đối với cổng USB-C:
Quá trình tương tự như cổng USB 3.x, nhưng bạn cần kiểm tra cả hai chiều cắm của đầu nối USB-C. Một số cổng có thể có các định danh
SSxx
khác nhau cho mỗi chiều cắm.
- Lặp lại Quá trình: Thực hiện tuần tự cho TẤT CẢ các cổng USB vật lý trên máy tính của bạn, bao gồm cả các cổng trên case và các header USB trên bo mạch chủ. Hãy ghi chú cẩn thận cổng vật lý nào tương ứng với cặp định danh
HSxx
/SSxx
nào. - Thoát Chế độ Khám phá: Sau khi đã kiểm tra tất cả các cổng, nhấn phím 'B' để quay lại menu chính.
Bước 2: Xây dựng Kext Map USB
Bây giờ bạn sẽ sử dụng thông tin đã thu thập để tạo ra một file Kext tùy chỉnh.
- Vào Chế độ Chọn Cổng (Select Ports):
Tại menu chính, nhấn phím 'S'. Chương trình sẽ hiển thị lại danh sách tất cả các cổng đã được phát hiện.
- Chọn các Cổng Cần thiết:
Sử dụng các phím mũi tên để di chuyển và nhấn phím cách (Spacebar) để chọn (hoặc bỏ chọn) các cổng bạn muốn giữ lại.
Nguyên tắc chọn:
Chọn tất cả các cổng
HSxx
vàSSxx
tương ứng với các cổng USB vật lý mà bạn muốn sử dụng.Bỏ chọn (vô hiệu hóa) các cổng không sử dụng hoặc các header USB trên bo mạch chủ mà bạn không cắm dây.
Đối với các header Bluetooth nội bộ hoặc đầu đọc thẻ nhớ kết nối qua USB, hãy giữ lại chúng.
Quan trọng: Đảm bảo tổng số cổng bạn chọn không vượt quá 15. Mỗi mục trong danh sách (cả
HSxx
vàSSxx
) được tính là một cổng.
- Đặt Loại Cổng (Port Type):
Sau khi chọn xong, di chuyển đến một cổng và nhấn phím 'T' để thay đổi loại của nó.
Bảng quy đổi loại cổng (Type):
USB 2.0 (màu đen): Đặt là
USB2
(Type 0).USB 3.x (màu xanh/đỏ): Đặt là
USB3
(Type 3).USB-C (cổng đối xứng): Đặt là
TypeC+Sw
(Type 9) nếu có cả 2 thành phần HS và SS, hoặcTypeC
(Type 8) nếu chỉ có HS.Cổng USB nội bộ (Internal): Dành cho Bluetooth, đầu đọc thẻ... Đặt là
Internal
(Type 255).
Chỉnh sửa loại cho tất cả các cổng bạn đã chọn.
- Tạo Kext:
Sau khi đã chọn và đặt loại xong, nhấn phím 'K'. Chương trình sẽ tạo ra một file Kext có tên là
UTBMap.kext
trong cùng thư mục.
- Sao chép Kext:
Copy file
UTBMap.kext
vừa tạo.Copy file
USBToolBox.kext
từ thư mục tải về.Dán cả hai file này vào thư mục
EFI/OC/Kexts
trên phân vùng EFI của bạn.
- Cấu hình
config.plist
:Mở file
config.plist
bằng một trình chỉnh sửa phù hợp (như ProperTree, OCAT).Thực hiện OC Clean Snapshot để tự động thêm
USBToolBox.kext
vàUTBMap.kext
vào mụcKernel -> Add
. Đảm bảoUTBMap.kext
được nạp sauUSBToolBox.kext
.Vô hiệu hóa các patch liên quan đến giới hạn cổng USB cũ:
Vào
Kernel -> Quirks
.Tìm và đặt giá trị
XhciPortLimit
thànhFalse
.
Lưu lại file
config.plist
.
- Kết quả: Bên dưới là các cổng tôi đã chọn cho mainboad ASUS ROG B860-i Wifi
- Controller A:
- #1 Port 1 → TypeC+Switch (HS for Type-C)
- #1 Port 17 → TypeC+Switch (SS for Type-C)
- #5 Port 11 → TypeC+Switch (HS for TB-C)
- #3, #4 Port 10 → Internal (ASM107x HS upstream)
- #3, #4 Port 25 → Internal (ASM107x SS upstream)
- #2 Port 3 → USB2 / TypeA (HS)
- #2 Port 18 → USB3 / TypeA (SS)
- #6 Port 9 → USB2 / TypeA (HS)
- #6 Port 24 → USB3 / TypeA (SS)
- #7, #8 Port 5 → USB2 / TypeA (HS)
- #7, #8 Port 6 → USB2 / TypeA (HS)
- Port 14 → Internal (Bluetooth)
- Controller B:
- #5 Port 27 → TypeC+Switch (SS for TB-C)
Bước 3: Tích hợp vào OpenCore và Cấu hình
- Khởi động lại: Khởi động lại máy tính của bạn. macOS Sequoia sẽ sử dụng
UTBMap.kext
mới để cấu hình các cổng USB.
Kiểm tra
Sau khi khởi động vào macOS, bạn có thể kiểm tra lại bằng cách cắm các thiết bị vào từng cổng để đảm bảo chúng hoạt động đúng tốc độ và chức năng. Bạn cũng có thể dùng ứng dụng Hackintool hoặc xem trong System Information -> USB để xác nhận bản đồ cổng đã được áp dụng chính xác.
Chúc bạn thành công!