USB Device Path Node là gì?
Quicknote USB Device Path Node là gì?
USB Device Path Node mô tả vị trí của USB device trong USB topology. Nó thường xuất hiện trong device path của USB storage, USB boot media hoặc một thiết bị USB mà firmware cần quản lý trước khi OS chạy.
Khác với ổ gắn trong, USB phụ thuộc nhiều vào port, hub và thứ tự enumeration. Vì vậy cùng một USB boot stick, cắm sang port khác đôi khi có thể tạo device path khác.
USB node chứa gì?
Text form hay gặp:
Usb(ParentPort, Interface)
| Mục | Giá trị | Ghi chú |
|---|---|---|
| ParentPort | Port phía dưới parent hub/controller | Thay đổi khi cắm sang port khác hoặc qua hub khác. |
| Interface | USB interface number | Một USB device có thể có nhiều interface. |
| Ngữ cảnh | Các node trước đó | Thường cần PCI node của xHCI controller trước khi tới USB node. |
USB boot path thường đi như thế nào?
xHCI controller
Firmware tìm USB host controller qua PCI.
Usb(port, interface)
Đi tới thiết bị USB hoặc interface cụ thể.
HD / removable media
Chọn partition hoặc media trên USB storage.
BOOTX64.EFI
Load file boot mặc định hoặc loader trong ESP.
Ví dụ thực tế
Bạn tạo USB cài Windows/Linux, cắm vào cổng sau mainboard thì boot được. Sau đó bạn cắm sang hub USB-C hoặc cổng trước case thì BIOS vẫn thấy USB trong menu nhưng Boot#### cũ không còn khớp hoàn toàn.
Lúc này có hai khả năng:
- Firmware tạo boot option động mới cho removable device.
- Boot option cũ trong NVRAM vẫn trỏ tới topology cũ và bị skip.
Vì vậy khi debug boot USB, đừng chỉ hỏi “USB có file boot không?”. Hãy hỏi thêm: firmware đang thấy USB ở topology nào?
Khi USB node gây khó chịu
USB boot hay có tính “lúc được lúc không” hơn boot từ NVMe/SATA vì các yếu tố sau:
- Cắm qua hub làm topology dài hơn.
- Một số port chỉ được initialize muộn hoặc bị disable trong setup.
- USB mass storage enumerate chậm.
- Same vendor/product nhưng khác port tạo path khác.
- Legacy USB/Secure Boot/fast boot có thể ảnh hưởng timing.
Checklist debug USB Device Path
Ghi nhớ nhanh
USB node không mô tả nội dung trong USB. Nó mô tả vị trí USB device trong topology. Nội dung boot thật sự vẫn nằm ở HD/FilePath node phía sau.
Bài liên quan
Nguồn tham khảo public
Thấy nội dung này hữu ích?
Lưu lại hoặc chia sẻ cho người cũng đang học firmware, BIOS/UEFI và embedded systems.
Nội dung liên quan
Một số bài viết, ghi chú hoặc project có liên quan đến nội dung bạn vừa đọc.
USB Initialization trong DXE là gì?
Quicknote giải thích USB initialization trong DXE.
USB Device STM32 nâng cao: Vendor Request, Bulk, DMA và Debug với JTAG
USB Device STM32: xử lý vendor request và truyền qua DMA cho bulk và interrupt.
USB Descriptor: Phân tích từng field và HID Report Descriptor từ góc firmware
Phân tích USB Descriptor, HID Report Descriptor của thiết bị composite CDC+HID.
Biến note thành bài viết hoàn chỉnh
Notes là nơi ghi nhanh khái niệm.