Hướng dẫn Mapping USB port hackintosh dễ dàng đơn giản nhất 2021

Welcome to Vietnam iTX
Tham gia cộng đồng Vietnam iTX, khoe góc máy itx, review case mini-itx PC, chia sẻ, học hỏi kinh nghiệm build case mini-itx sff pc, nguồn flex, atx module flex 1u.
Đăng ký ngay | 7145 member đã tham gia
SSVIPer
Mình buid xong chỉ được 1 file UTBmap.kext còn file USBToolBox.kext không thấy đâu cả
KyoNamK làm theo đúng hướng dẫn r bạn, ngay từ bước đầu bảo bạn tải cái usbtoolbox.kext bạn tải chưa mà bảo k có?
 
Advertisement

uxramdk

Bố làm to
SVIPer
Mình buid xong chỉ được 1 file UTBmap.kext còn file USBToolBox.kext không thấy đâu cả
KyoNamTôi cũng bó tay mấy bác, ad họ hd kỹ như vậy r k làm đủ các bước lại bảo thiếu file:)))
 
Registered
máy em Dell 3543 cài win11 cũng k thấy driver USB 3.0 đâu, trang chủ cũng k có, ngưng support từ win 7, giờ qua hackintosh chiụ k map đc port 3.0 :(
 
Registered

[HƯỚNG DẪN] Cách Mapping USB trên Windows.

Như các bạn đã biết Mapping USB là cần thiết đối với tất cả các máy đang chạy Hackintosh, giúp các cổng usb 2.0, 3.0, type-c nhận đầy đủ, giúp chúng ta fix các lỗi liên quan đến vấn đề Sleep,... Và tất cả OS nên Mapping USB.

Chuẩn bị: Bạn cần tải tool và kext sau

  • Tool: https://github.com/USBToolBox/tool/releases/tag/0.0.9 (Tải file window.exe)
  • Kext: https://github.com/USBToolBox/kext/releases/tag/1.1.0 (bản release)
  • Một chiếc USB 3.0 / 2.0 hoặc Type-C

Cách thực hiện:

1. Các bạn mở Windows.ese vừa down, chọn 'D' để discover (phát
hiện) các cổng usb.
2. Tiếp theo, tại cửa sổ mới sau khi bấm 'D' các bạn có thể thấy
các port trên đó, chúng ta bắt đầu:
  • Cắm USB 3.0/2.0 vào lần lượt vào từng cổng trên máy với thời gian delay là 5s (cắm vô -> đợi 5s -> rút ra -> cắm vô .... cứ thế đến khi cắm hết các cổng thì thôi), sau đó nếu muốn Mapping Type-C thì cũng cắm Type-C vô luôn (cắm vô -> đợi 5s -> rút ra)
  • Sau khi cắm và tool đã phát hiện hết port các bạn bấm 'B' để quay trở lại.
3. Tiếp đó, bấm 'S' chỉnh sửa và build kext
  • Hãy quan sát kỹ xem các port có đuôi "operating at USB 1.1", camera đã có "Type 255" hay chưa, nếu chưa các bạn gõ như sau: T:số port:255 rồi enter. (ví dụ: mình có bluetooth ở port 10 thì mình sẽ gõ như sau: T:10:255) Khi đó, các port đó đã có Type 255.
  • Đối với các port 2.0,3.0, tool đã tự set type, chúng ta có thể bỏ qua.
  • Đối với các port Type-c, tool cũng đã tự set tyoe, cũng có thể bỏ qua.
4. Sau khi làm xong bước 3, các bạn bấm 'D' để tắt những port
trống rồi sau đó bấm 'K' để build kext.
5. Bấm 'K' xong thì tại thư mục chứa Windows.exe sẽ tạo ra một
kext tên UTBMap.kext, chúng ta copy nó và bỏ vào thư mục
Kexts của Opencore/Clover
6. Các bạn giải nén kext đã down ở bước chuẩn bị ra
(USBToolBox-1.0.1-RELEASE.zip) và copy USBToolBox.kext
cũng copy vào thư mục Kexts của Opencore/Clover.

7. Nếu các bạn đang sử dụng USBInjectAll.kext hoặc
USBPort.kext
hoặc SSDT-UIAC.aml thì hãy xoá rồi đến bước
tiếp theo
8. Copy cả 2 kext trên xong thì các bạn mở Config.plist bằng
Propertree và bấm tổ hợp phím Ctrl + R (chọn đường dẫn
EFI/OC rồi chọn Select folder để snap lại nhé. (lưu vào config)
9. Hãy chắc chắn 'xhciportlimit' trong config = False
(xhciportlimit = False)
10. Bài hướng dẫn này có lẽ hơi dài và khó hiểu, mong các
bạn thông cảm, rất mong nó sẽ hữu ích với các bạn.

Update chi tiết cách mapping usb hackintosh cho bác nào chưa làm được nhé.
 
SSVIPer

Update cách map usb port hackintosh bằng hình ảnh cho ae nhé​

Type port

Các conector type của usb được thể hiện dưới dạng decimal nhưng khi các bạn viết ssdt-uiac (hay ssdt-usb,..) thì cần chuyển nó về dạng hex

Usb type A​

USB type A 2.0 connector type:0
1.jpg
usb type A 3.0 connector: 3
2.jpg

Usb type Mini​

Usb type mini-ab connector type: 1
3.jpg

Usb type B​

Usb 3 type B connector type: 4
4.jpg

Usb Type Micro​

USB 3 Type Micro-B có connector type: 5
5.jpg
USB 3 Type Micro-AB có connector type: 6
6.jpg

USB Type Power-B​

USB 3 Type Power-B có connector type: 7
7.jpg

USB Type C​

8.jpg
USB Type C – USB 2 có connector type: 8
USB Type C -switch có connector type: 9
USB Type C – without switch có connector type: 10

Special:

ExpressCard có connector type: 2
Internal (cam, bluetooth,…) có connector type: 255
 
SSVIPer

Bắt đầu tiến hành map usb port​

Usb toolbox version windows:

B1: các bạn tải usbtoolbox

Usb toolbox version windows.jpg

B2: các bạn tải và cài đặt USBToolBox.kext

tải và cài đặt USBToolBox.kext.jpg

B3: các bạn cài python

B4: Các bạn chạy tool lên và nhấn D​

chạy tool lên và nhấn D.jpg

B5: Các bạn cắm lần lượt usb vào hết các cổng (cổng nào nhận sẽ hiện màu xanh và không nhận sẽ hiện màu trắng)​

cắm lần lượt usb vào hết các cổng.jpg

B6: nhấn B​

B7: Nhấn S​

Ta sẽ dùng cú pháp T:port:type (đọc ở phần tìm hiểu chung để biết type port ở decimal là gì)​

dùng cú pháp Tporttype.jpg

Ta thấy port 2 là 2.0 nhưng nhận dạng lại là 3.0 ta sẽ cần set nó lại thành 2.0 T:1:0​

Tiếp đó là port 3 ta thấy usb 2.0 nhận dạng là type A tức 2.0 --> đúng không cần sửa​

  • Port 4 là 2.0 nhận dạng là 2.0 --> đúng
  • Port 5 là card mạng nhận dạng internal --> đúng
  • Port 7 là bluetooth nhận dạng internal --> đúng
  • Port 8 là web cam nhận dạng internal --> đúng
  • Port 14 usb 3.0 nhận dạng là 3.0 --> đúng
Ở đây mình hướng dẫn cho các bạn biết các đọc và sửa type port usb cho đúng. Tuy nhiên ở trên windows usbtoolbox có khả năng tiên đoán port nên hầu hết các trường hợp bạn không cần thiết phải sửa type port ở windows

B8: nhấn K​

B9: các bạn sẽ copy kext UTBmap.kext và Usbtoolbox.kext vào EFI --> OC --> kext sau đó snaps (hoặc EFI --> clover --> kext --> other)​

B10: reboot​

Usb toolbox version macos

B1: tải usbtoolbox

tải usbtoolbox.jpg

B2: tải và cài đặt USBToolBox.kext và UTBDefault.kext

tải và cài đặt USBToolBox.kext và UTBDefault.kext.jpg

B3: chạy tool vừa tại về và nhấn D

chạy tool vừa tại về và nhấn D.jpg

B4: các bạn cắm lần lược usb vào các cổng (các cổng nhận sẽ hiện màu xanh)

các bạn cắm lần lược usb vào các cổng.jpg

B5: nhấn B​

Bắt đầu tiến hành map usb port.jpg

B6: nhấn S​

sử dụng cú pháp T:port:type để chọn type cho port (xem ở phần tìm hiểu chung để biết type phù hợp)
sử dụng cú pháp Tporttype để chọn type cho port.jpg

Do mình không kiếm được 1 máy chưa map usb nên các bạn xem cú pháp và áp dụng vào máy các bạn
  • Port 1 là 1 hub device nhận dạng internal --> đúng
  • Port 2 là cam và bluetooth nhận dạng là internal --> đúng
  • Port 3 là usb 2.0 nhận dạng type A tức 2.0 --> đúng
  • Port 4 là usb 3.0 nhận dạng là 3.0 --> đúng

B7: nhấn K​

20.jpg

21.jpg

B8: Bỏ kext UTBmap.kext và xóa kext UTBDefault.kext sau đó snaps​

B9: save và reboot​

Map by hackintool with uia_include

B1: tải kext usbinjectall

B2: add các patch rename vào config.plist (các bạn có thể không cần add patch rename nếu controller của bạn trong DSDT đã nhận đúng là XHC hoặc XHCI)​

B3: reboot​

B4: Các bạn cắm usb vào port usb 2.0​

22.jpg

B5: add boot-arg -uia_exclude_ss uia_include=XX (thay XX bằng các port usb 2.0)​

-uia_exclude_ss uia_include=PR11,PR21,HP21,HP23,HS01,HS02​

B6: reboot​

B7: cắm tiếp usb 2.0 vào các port 2.0 sau đó xóa hết những port không xanh (các usb khi đã nhận có màu xanh)​

B8: add boot-arg -uia_exclude_hs và xóa boot-arg -uia_exclude_ss​

B9: reboot​

B10: cắm các port usb 3.0 và type C vào sau đó tiếp tục xóa các port không xanh​

B11: điều chỉnh type các port​

  • Bluetooth và web cam set là internal
  • usb 2.0 set là 2.0
  • Usb 3.0 set là 3.0
    • type C nếu mà nhận cùng là HSxx/SSxx(hs03/ss03) thì set là TypeC+Sw
    • Ngược lại nếu 2 port nhận khác thì set là TypeC

B12: ấn export​

Có thể sử dụng ssdt-uiac kèm usb injectall.kext Hoặc usbport.kext

B13: copy ssdt-uiac vào EFI --> OC --> ACPI (EFI --> Clover --> ACPI --> Patched) hoặc usbport.kext vào EFI --> OC --> kext (EFI --> Clover --> kext --> other)​

B14: snaps nếu là OC và reboot​

Map by hackintool with uia_exclude

B1: Cắm 1 thiết bị USB 2.0 vào tất cả cổng trong hệ thống (mở Hackintool, chọn tab USB)​

B2: Ở đây các cổng thực sẽ hiện màu xanh các bạn hãy ghi nhớ phần name của các cổng ko hiện xanh ( có thể gh‌i tên các cổng đây ra )​

B3: các bạ‌n thêm đoạn code sau vào boot-arg​

uia_exclude=“tên các cổng không hiện xanh” ( khi viết code không có dấu “ ”)​

Đây là đoạn code của mình sau khi viết ra các bạn nhớ thêm vào boot-arg nhé
23.jpg

B4: Restart​

B5: Các bạn cắm 1 thiết bị USB 3.0 và USB Type-C vào tất cả cá‌c cổng trên hệ thống​

B6: Các bạn sửa lại đoạn code trên theo đúng với hiện tại ( loại bỏ 1 số cổng vừa hiện xanh trong code ) tiếp các bạn xóa đoạn code ở phần 1 đi và dán đoạn code mới vào boot-arg​

B7: Restart​

B8: mở và cắm các usb 2.0 vào các cổng 2.0 usb 3.0 vào các cổng 3.0 sau đó ấn dấu​


để loại bỏ các port không xanh (port rỗng)

B9: Sau khi các bạn đã làm xong cả 2 phần trên thì hãy điều chỉnh lại loại cổng trong hackintool cho đúng nhé​

  • Bluetooth và web cam set là internal
  • usb 2.0 set là 2.0
  • Usb 3.0 set là 3.0
    • type C nếu mà nhận cùng là HSxx/SSxx(hs03/ss03) thì set là TypeC+Sw
    • Ngược lại nếu 2 port nhận khác thì set là TypeC
Đây là của mình sau khi điều chỉnh xong:
24.jpg

B10: ấn export​

  • Có thể sử dụng ssdt-uiac kèm usb injectall.kext
  • Hoặc usbport.kext

B11: copy ssdt-uiac vào EFI --> OC --> ACPI (EFI --> Clover --> ACPI --> Patched) hoặc usbport.kext vào EFI --> OC --> kext (EFI --> Clover --> kext --> other)​

B12: snaps nếu là OC và reboot​

Lưu ý: USB 3.0 type A và USB type C xuất ra 2 port là 2.0 và 3.0. Lưu ý cắm usb 2.0 và usb 3.0 lần lược vào USB 3.0 type A và USB type C
Lưu ý 2: Sau khia add file đã xuất từ hackintool các bạn có thể xóa code ở boot-arg
Lưu ý 3: đối với usbtoolbox ở mac thì sẽ không có khả năng tiên đoán port các bạn phải tự set bằng tay. Còn đối với windows có khả năng tiên đoán port các bạn có thể bỏ qua bước set port bằng tay và trực tiếp build kext
Lưu ý 4: Khi map usb bằng usbtoolbox 1 số controller có thể sẽ không nhận. Biện pháp khắc phục là bạn sẽ cần load kext chung với kext usb vừa map
Lưu ý 5: các bạn hoàn toàn có thể dựa vào cấu trúc của ssdt-uiac để tự map usb bằng ssdt manual (mình thấy nó không cần thiết nên sẽ không hướng dẫn)
Source tham khảo: | | |
 
Registered

Bắt đầu tiến hành map usb port​

Usb toolbox version windows:

B1: các bạn tải usbtoolbox

View attachment 2610

B2: các bạn tải và cài đặt USBToolBox.kext

View attachment 2611

B3: các bạn cài python

B4: Các bạn chạy tool lên và nhấn D​

View attachment 2612

B5: Các bạn cắm lần lượt usb vào hết các cổng (cổng nào nhận sẽ hiện màu xanh và không nhận sẽ hiện màu trắng)​

View attachment 2613

B6: nhấn B​

B7: Nhấn S​

Ta sẽ dùng cú pháp T:port:type (đọc ở phần tìm hiểu chung để biết type port ở decimal là gì)​

View attachment 2614

Ta thấy port 2 là 2.0 nhưng nhận dạng lại là 3.0 ta sẽ cần set nó lại thành 2.0 T:1:0​

Tiếp đó là port 3 ta thấy usb 2.0 nhận dạng là type A tức 2.0 --> đúng không cần sửa​

  • Port 4 là 2.0 nhận dạng là 2.0 --> đúng
  • Port 5 là card mạng nhận dạng internal --> đúng
  • Port 7 là bluetooth nhận dạng internal --> đúng
  • Port 8 là web cam nhận dạng internal --> đúng
  • Port 14 usb 3.0 nhận dạng là 3.0 --> đúng
Ở đây mình hướng dẫn cho các bạn biết các đọc và sửa type port usb cho đúng. Tuy nhiên ở trên windows usbtoolbox có khả năng tiên đoán port nên hầu hết các trường hợp bạn không cần thiết phải sửa type port ở windows

B8: nhấn K​

B9: các bạn sẽ copy kext UTBmap.kext và Usbtoolbox.kext vào EFI --> OC --> kext sau đó snaps (hoặc EFI --> clover --> kext --> other)​

B10: reboot​

Usb toolbox version macos

B1: tải usbtoolbox

View attachment 2615

B2: tải và cài đặt USBToolBox.kext và UTBDefault.kext

View attachment 2616

B3: chạy tool vừa tại về và nhấn D

View attachment 2617

B4: các bạn cắm lần lược usb vào các cổng (các cổng nhận sẽ hiện màu xanh)

View attachment 2618

B5: nhấn B​

View attachment 2619

B6: nhấn S​

sử dụng cú pháp T:port:type để chọn type cho port (xem ở phần tìm hiểu chung để biết type phù hợp)
View attachment 2620
Do mình không kiếm được 1 máy chưa map usb nên các bạn xem cú pháp và áp dụng vào máy các bạn
  • Port 1 là 1 hub device nhận dạng internal --> đúng
  • Port 2 là cam và bluetooth nhận dạng là internal --> đúng
  • Port 3 là usb 2.0 nhận dạng type A tức 2.0 --> đúng
  • Port 4 là usb 3.0 nhận dạng là 3.0 --> đúng

B7: nhấn K​

View attachment 2621
View attachment 2622

B8: Bỏ kext UTBmap.kext và xóa kext UTBDefault.kext sau đó snaps​

B9: save và reboot​

Map by hackintool with uia_include

B1: tải kext usbinjectall

B2: add các patch rename vào config.plist (các bạn có thể không cần add patch rename nếu controller của bạn trong DSDT đã nhận đúng là XHC hoặc XHCI)​

B3: reboot​

B4: Các bạn cắm usb vào port usb 2.0​

View attachment 2623

B5: add boot-arg -uia_exclude_ss uia_include=XX (thay XX bằng các port usb 2.0)​

-uia_exclude_ss uia_include=PR11,PR21,HP21,HP23,HS01,HS02​

B6: reboot​

B7: cắm tiếp usb 2.0 vào các port 2.0 sau đó xóa hết những port không xanh (các usb khi đã nhận có màu xanh)​

B8: add boot-arg -uia_exclude_hs và xóa boot-arg -uia_exclude_ss​

B9: reboot​

B10: cắm các port usb 3.0 và type C vào sau đó tiếp tục xóa các port không xanh​

B11: điều chỉnh type các port​

  • Bluetooth và web cam set là internal
  • usb 2.0 set là 2.0
  • Usb 3.0 set là 3.0
    • type C nếu mà nhận cùng là HSxx/SSxx(hs03/ss03) thì set là TypeC+Sw
    • Ngược lại nếu 2 port nhận khác thì set là TypeC

B12: ấn export​

Có thể sử dụng ssdt-uiac kèm usb injectall.kext Hoặc usbport.kext

B13: copy ssdt-uiac vào EFI --> OC --> ACPI (EFI --> Clover --> ACPI --> Patched) hoặc usbport.kext vào EFI --> OC --> kext (EFI --> Clover --> kext --> other)​

B14: snaps nếu là OC và reboot​

Map by hackintool with uia_exclude

B1: Cắm 1 thiết bị USB 2.0 vào tất cả cổng trong hệ thống (mở Hackintool, chọn tab USB)​

B2: Ở đây các cổng thực sẽ hiện màu xanh các bạn hãy ghi nhớ phần name của các cổng ko hiện xanh ( có thể gh‌i tên các cổng đây ra )​

B3: các bạ‌n thêm đoạn code sau vào boot-arg​

uia_exclude=“tên các cổng không hiện xanh” ( khi viết code không có dấu “ ”)​

Đây là đoạn code của mình sau khi viết ra các bạn nhớ thêm vào boot-arg nhé
View attachment 2624

B4: Restart​

B5: Các bạn cắm 1 thiết bị USB 3.0 và USB Type-C vào tất cả cá‌c cổng trên hệ thống​

B6: Các bạn sửa lại đoạn code trên theo đúng với hiện tại ( loại bỏ 1 số cổng vừa hiện xanh trong code ) tiếp các bạn xóa đoạn code ở phần 1 đi và dán đoạn code mới vào boot-arg​

B7: Restart​

B8: mở và cắm các usb 2.0 vào các cổng 2.0 usb 3.0 vào các cổng 3.0 sau đó ấn dấu​


để loại bỏ các port không xanh (port rỗng)

B9: Sau khi các bạn đã làm xong cả 2 phần trên thì hãy điều chỉnh lại loại cổng trong hackintool cho đúng nhé​

  • Bluetooth và web cam set là internal
  • usb 2.0 set là 2.0
  • Usb 3.0 set là 3.0
    • type C nếu mà nhận cùng là HSxx/SSxx(hs03/ss03) thì set là TypeC+Sw
    • Ngược lại nếu 2 port nhận khác thì set là TypeC
Đây là của mình sau khi điều chỉnh xong:
View attachment 2625

B10: ấn export​

  • Có thể sử dụng ssdt-uiac kèm usb injectall.kext
  • Hoặc usbport.kext

B11: copy ssdt-uiac vào EFI --> OC --> ACPI (EFI --> Clover --> ACPI --> Patched) hoặc usbport.kext vào EFI --> OC --> kext (EFI --> Clover --> kext --> other)​

B12: snaps nếu là OC và reboot​

Lưu ý: USB 3.0 type A và USB type C xuất ra 2 port là 2.0 và 3.0. Lưu ý cắm usb 2.0 và usb 3.0 lần lược vào USB 3.0 type A và USB type C
Lưu ý 2: Sau khia add file đã xuất từ hackintool các bạn có thể xóa code ở boot-arg
Lưu ý 3: đối với usbtoolbox ở mac thì sẽ không có khả năng tiên đoán port các bạn phải tự set bằng tay. Còn đối với windows có khả năng tiên đoán port các bạn có thể bỏ qua bước set port bằng tay và trực tiếp build kext
Lưu ý 4: Khi map usb bằng usbtoolbox 1 số controller có thể sẽ không nhận. Biện pháp khắc phục là bạn sẽ cần load kext chung với kext usb vừa map
Lưu ý 5: các bạn hoàn toàn có thể dựa vào cấu trúc của ssdt-uiac để tự map usb bằng ssdt manual (mình thấy nó không cần thiết nên sẽ không hướng dẫn)
Source tham khảo: | | |
VNiTX Newsmình đã thử vs usbmapper nhưng chỉ nhận mỗi cổng 3.0
Sau đó thử lại với hackintosh thì dễ hiểu, trực quan và thành công, loại bỏ all port thừa và sleep/wake ngon lành
Mình đang thử bỏ cả usballinject và xhci-unsupport kext để test!
 

Tanglianli

Còn cái nịt
Registered
mình đã thử vs usbmapper nhưng chỉ nhận mỗi cổng 3.0
Sau đó thử lại với hackintosh thì dễ hiểu, trực quan và thành công, loại bỏ all port thừa và sleep/wake ngon lành
Mình đang thử bỏ cả usballinject và xhci-unsupport kext để test!
oldman20bác làm bỏ usballinject và xhci-unsupport kext oke k bác?
 
Advertisement
Registered
1658673412488.png

Mn Cho mình hỏi chút với:
Máy mình Dell3558 i5-5200U có tổng 3 cổng USB:
1 cổng bên trái USB3.0 (A)
2 cổng bên phải USB2.0 (B)
Theo tool khi mình thử lần lượt USB3.0 và USB2.0 thì:
Ở cổng A:
  • Port 1 là USB 3.0 operate mode 2.0
  • Port 12 là USB 3.0 operate mode 3.0
  • Port 6 thì Bluetooth Intel gắn vào
Ở cổng B:
  • Cả 2 cổng khi có USB2.0 và 3.0 đều báo thuộc Port 1
  • Ngoài ra thì Wecam, CardReader đều thuộc Port 1 luôn
Như vậy theo mình hiểu thì thiết kế máy làm cụm B đều đi chung vào 1 cổng kết nối vật lý tới main?
Và ở mục Change Settings của Tool này có chỗ
Use Native Classes: Disabled
Use native Apple classes (AppleUSBHostMergeProperties) instead of the USBToolBox kext.
Cái mục này là gì và nên để mặc định hay thay đổi theo đk ntn nhỉ? Check github cũng k thấy đề cập

1658673790678.png
 
Registered
Bác dùng hackintool ấy. Clear log trước rồi cắm usb 3.0, xong rồi cắm tiếp thiết bị 2.0 vào nó sẽ nhận thêm một port XHC nữa. Export kext USBPort ra dùng thôi. Nhớ dùng USBinjectAll và XHCIunsupported. Trước khi làm
inoilishSet XhciPortLimit=True nữa chứ bác
 
Advertisement
Members Online
Telegram

Game đang FREE!