# Sửa lỗi USB trên bo mạch chủ đời 400 Series: Cách làm thủ công

# Tìm đường dẫn ACPI

Việc tìm đường dẫn ACPI thực ra khá dễ dàng. Đầu tiên, hãy mở tệp DSDT mà bạn có được từ bước Trích lục bản sao DSDTđã được biên dịch ngược bằng MaciASL (nếu bạn sử dụng macOS) hoặc bất kỳ trình soạn thảo văn bản nào nếu bạn đang có Windows hoặc Linux (VSCode có cái phần mở rộng hỗ trợ ACPI (opens new window) khá là xịn đó).

Tiếp theo, bạn tìm kiếm từ khóa Device (RHUB).

Bạn sẽ thấy một kết quả tương tự như sau hiện ra:

Từ hình trên, chúng ta có thể thấy đường dẫn ACPI đầy đủ cho RHUB là PCI0.XHC.RHUB. Nếu kết quả của bạn kiếm được không rõ ràng như vậy, bạn cần phải tìm kiếm từng thành phần xem cái nào là đường dẫn đúng của máy tính mình:

  • Tìm đường dẫn PCI:
    • Tìm kiếm từ khóa PNP0A08 (Nếu xuất hiện nhiều kết quả, bạn chọn kết quả đầu tiên)
  • Tìm đường dẫn XHCI:
    • Tìm kiếm từ khóa XHC, XHCI hoặc XHC1, kết quả nào xuất hiện trong máy bạn thì đó chính là nó.

Sau khi có đường dẫn, hãy chuyển tới phần Chỉnh sửa tệp SSDT mẫu

# Chỉnh sửa tệp SSDT mẫu

Giờ khi đã có đường dẫn ACPI, hãy tải tệp SSDT tương ứng về và bắt đầu mổ xẻ:

Theo mặc định, tệp này sử dụng đường dẫn là PCI0.XHC1.RHUB Bạn cần đổi tên nó cho khớp với máy mình. Nếu máy bạn cùng đường dẫn với tệp mẫu thì bạn có thể biên dịch rồi.

Theo ví dụ ở trên, chúng ta sẽ đổi nó thành PCI0.XHC.RHUB:

Trước khi sửa:

External (_SB_.PCI0.XHC1.RHUB, DeviceObj) <- Đổi tên chỗ này

Scope (_SB.PCI0.XHC1.RHUB) <- Đổi tên chỗ này

Sau khi thay đổi theo đường dẫn ví dụ mà chúng ta tìm được, tệp SSDT của bạn sẽ trông như thế này:

Sau khi sửa:

External (_SB.PCI0.XHC.RHUB, DeviceObj) <- Sau khi đổi tên

Scope (_SB.PCI0.XHC.RHUB) <- Sau khi đổi tên

# Biên dịch SSDT

Sau khi chỉnh sửa xong mã nguồn, bạn đã sẵn sàng để biên dịch SSDT!

# Gần về tới đích rồi

Khi bạn đã tạo xong SSDT của mình, bạn có thể chuyển sang trang tiếp theo để tạo nốt mấy cái SSDT còn lại hoặc truy cập vào đây nếu bạn đã hoàn tất công việc: