ACPI thức dậy có 4 chữ cái có nghĩa là gì?


19

Tôi phải vô hiệu hóa một số sự kiện để tránh đánh thức ngay lập tức sau khi tạm dừng trong máy tính để bàn của mình và tôi đã thực hiện bằng cách dùng thử và lỗi (hoạt động tốt, vì vậy đó không phải là vấn đề). Nhưng tôi tự hỏi ... ví dụ trong máy tính xách tay của tôi, tôi có một danh sách dài trong /proc/acpi/wakeup:

[...]
RP03      S4    *disabled
PXSX      S4    *disabled
RP04      S4    *disabled  pci:0000:00:1c.3
PXSX      S4    *enabled   pci:0000:03:00.0
RP06      S4    *disabled
[...]

Tôi đã tìm kiếm xung quanh và tôi không thể tìm thấy một nơi mà một danh sách với ý nghĩa của mã 4 chữ cái trong cột đầu tiên được giải thích. Tôi tưởng tượng rằng các sự kiện có tên thiết bị theo sau chúng được liên kết / tạo bởi thiết bị đó, nhưng tôi cảm thấy hụt hẫng với hầu hết các phần còn lại ... trừ những phỏng đoán hoang dã.

Làm thế nào tôi có thể biết những gì, ví dụ, sự kiện RP06là gì? Có nơi nào một danh sách? Hoặc là các mã nhà cung cấp cụ thể?

Câu trả lời:


24

Các mã đến từ DSDT (Bảng mô tả hệ thống khác biệt) của BIOS của bạn. "Bảng" này mô tả các thiết bị tích hợp trên bo mạch chính của bạn, các phụ thuộc và chức năng quản lý năng lượng của chúng.

Các thiết bị trong DSDT được sắp xếp trong một cây và mỗi thành phần đường dẫn được giới hạn trong 4 ký tự. Các mã trong /proc/acpi/wakeuplà các thành phần đường dẫn cuối cùng (còn gọi là tên) của các thiết bị mà nhà cung cấp sử dụng cho các thiết bị.

Chúng vốn là dành riêng cho nhà cung cấp, vì nhà cung cấp có thể đặt tên cho bất kỳ thiết bị nào theo ý muốn. Nhưng có một số tên phổ biến giữa nhiều nhà cung cấp, vì chúng được sử dụng làm ví dụ trong đặc tả ACPI hoặc vì chúng là chữ viết tắt rõ ràng:

  • Bàn phím PS2K: PS / 2
  • PS2M: chuột PS / 2
  • PWRB hoặc PBTN: Nút nguồn
  • LID: Nắp máy tính xách tay
  • RP0x hoặc EXPx: Khe cắm PCIE #x (còn gọi là Cổng gốc PCI Express #x)
  • EHCx hoặc USBx: chip USB 2.0 (EHCI)
  • XHC: chip USB 3.0 (XHCI)
  • PEGx: PCI Express cho khe cắm đồ họa #x
  • GLAN: Gigabit Ethernet

2
Câu trả lời chính xác! Cảm ơn. Còn IGBE và HDEF thì sao? ;-)
Monah Tuk 17/03/2017

3
Chà, chúng vốn dĩ là dành riêng cho nhà cung cấp, vì vậy bạn không thể quá chắc chắn. Nhưng HDEF rất có thể có nghĩa là "Độ phân giải cao", do đó, nó có thể là thiết bị âm thanh tích hợp và IGBE có thể là viết tắt của "Intel Gigabit Ethernet" hoặc "Gigabit Gigabit tích hợp", do đó, nó phải là bộ điều khiển Ethernet LAN.
cg909

Thế còn PXSX?
BuZZ-dEE

1
@ BuZZ-dEE PXSXdường như là một tên chung cho các thiết bị sử dụng PCI Express. Ít nhất trên máy tính của tôi có một thiết bị PXSX tương ứng với mỗi thiết bị RP0x. Bạn có thể nhận thêm thông tin bằng cách đọc DSDT của máy tính của bạn . Nếu có id PCI ở phía bên phải trong /proc/acpi/wakeupđầu ra, bạn có thể tương quan nó với đầu ra củalspci
cg909

2

Tài liệu nhân linux trên không gian tên acpi đưa ra một số gợi ý trêu ngươi về những từ viết tắt này có thể là gì, ví dụ "Phạm vi (RP03): phạm vi năng lượng PCI0" và nguồn kernel cho tệp / Proc nói rằng đó là một dev->pnp.bus_id, nhưng điều đó không Cứu giúp.

Acpi spec 5.0 958 trang rất thú vị, nhưng cũng không giúp được gì cho những cái tên này.


2

Bạn có thể trích xuất và dịch ngược bảng ACPI cho máy tính của mình.

Bằng cách sử dụng trình biên dịch ASL của Intel, bạn có thể biến bảng DSDT hệ thống của mình thành mã nguồn.

Bạn sẽ cần cài đặt acpica-tools:

  • Ubuntu: sudo apt-get install acpica-tools
  • Arch Linux: sudo pacman -S --needed acpica

Đây là các bước:

  1. Trích xuất các bảng ACPI (với quyền root): # cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
  2. Dịch ngược : iasl -d dsdt.dat, chúng tôi nhận được tệp đầu radsdt.dsl
  3. Tìm thiết bị được xác định trong /proc/acpi/wakeupvà so sánh nó vớidsdt.dsl

Tài liệu tham khảo

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.