장치와 방법이 모두 정의된 경우 "AE_NOT_FOUND"가 발생할 수 있는 이유는 무엇입니까?
dmesg 오류:
[ 9.925882] ACPI Error: [WLVD] Namespace lookup failure, AE_NOT_FOUND (20160422/psargs-359)
[ 9.927455] ACPI Error: Method parse/execution failed [\_SB.WLBU._STA] (Node ffff8803ee8b40c8), AE_NOT_FOUND (20160422/psparse-542)
데이터 전송 시간:
// http://h30434.www3.hp.com/t5/Notebook-Hardware-and-Upgrade-Questions/HP-250-G2-Unknown-Device-ACPI-HPQ6001/td-p/5056511
// hp wireless button...
// hp_wmi && hp_wireless are loaded...
//
// [ 0.744110] ACPI Error: [WLVD] Namespace lookup failure, AE_NOT_FOUND (20160422/psargs-359)
// [ 0.744123] ACPI Error: Method parse/execution failed [\_SB.WLBU._STA] (Node ffff8803ee8b40c8), AE_NOT_FOUND (20160422/psparse-542)
//
Device (WLBU)
{
Name (_HID, EisaId ("HPQ6001")) // _HID: Hardware ID
Name (WLDP, 0xFF)
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((WLDP == 0xFF))
{
Local0 = Zero
OSTP ()
If ((((OSYS == 0x07DC) || (OSYS == 0x07DD)) || (OSYS == 0x07DF)))
{
If (((WLVD != Zero) && (WLVD != 0xFFFF)))
{
Local0 = 0x0F
}
}
WLDP = Local0
}
Return (WLDP) /* \_SB_.WLBU.WLDP */
}
}
답변1
좋습니다. 해결되었습니다. 오류 메시지를 찾을 수 없습니다.
"\_SB.WLBU._STA"
그런데 DSDT를 살펴보면 비슷한 범위가 두 개 있다는 것을 발견했습니다.
"\_SB"
그리고
"_SB"
장치가 뒤쪽에 정의되어 있다는 것을 알고 주석 처리하여 첫 번째 범위로 옮겼더니 오류가 사라졌습니다.
"잘못된 범위에 있는" 또 다른 것이 무엇인지, 아니면 둘 다 동일한 범위에 있는지 궁금합니다.
업데이트: 알아냈습니다.
"\_SB"
루트 디렉터리/경로이고, 반면;
"_SB"
상대 디렉터리/경로입니다.
말이 되네요... 그래서 제 문제는 dsdt와 ssdt 사이의 불일치인 것 같았습니다(현재 해결됨).