WFU

[ 精選文章 ]

自行車 入門 Escape 3 , Snap 21 , Revel

最近周末想運動 , 平日想通勤 , 想買台自行車 , 把自己找的資料跟大家分享 , 如果你是玩家級的 就不用看了 這是給跟我一樣的新新新手 參考的 騎車半年後的補充: 如果你有把握你是真的有時間有興趣會一直騎,建議還是存點錢買好一點的彎把公路車, 或是可以考慮買2手的自...

顯示具有 BIOS 標籤的文章。 顯示所有文章
顯示具有 BIOS 標籤的文章。 顯示所有文章

2016年5月3日 星期二

ASPM

http://www.mem.com.tw/article_content.asp?sn=0701020591
L0 – All PCI Express transactions and other operations are enabled.
L0s – A low resume latency, energy saving “standby” state.
L1 – Higher latency, lower power “standby” state. (optional)
L2/L3 Ready – Staging point for L2 or L3
L2 – Auxiliary powered Link deep energy saving state.
L3 – Link Off state. Zero power state.
LDn – A transitional Link Down pseudo-state prior to L0

ASPM control register 是存在PCIE Link Control Register。至於如何找到Link Control Register。
1.先找到PCIE Capability List Pointer Register ,而此Register 存在PCI Congfiguration Registers Offset 0x34

2.檢查Capability ID ( (1st byte))是否為0x10,如果不是,讀取Next Capability Pointer Register (2nd byte ),讀取下一個Capability.


2.檢查Capability ID (1st byte)是否為0x10,如果不是,讀取Next Capability Pointer Register (2nd byte ,讀取下一個Capability.

2016年2月3日 星期三

UEFI SHELL Reboot counter

Startup.nsh
========================
echo -off
set StartupDelay 0

#if Counter is not exist , set to 0
if exist %Counter% then
set Counter 0
endif


#check Counter from 0-19999
#About 13 sec in each reboot , Can cover 72 HR long run test
#if match , set myFlag , Counter will +1 in next loop

for %a run (%Counter% 19999)
    if %Counter% == %a then
        set myFlag 1
    else
        if %myFlag% == 1 then
            set myFlag 0
            set Counter %a
            goto Leave_For
        endif
    endif
endfor
:Leave_For

echo Loop Cycle = %Counter%

reset

echo -on

2015年11月12日 星期四

Windows 亮度調整 ACPI

==> BCL/BCM在WDDM1.2後就沒效了 

如果 BCL 沒被跑到 , 先檢查 VBIOS Seting 
-> Panel #x -> BackLight Control Parameters->Inverter Type 必須選為 None/External

 WDDM 的架構上是 monitor.sys會去問 WDDM video driver, 如果不 support 的話就會走標準的 ACPI standard: _BCM, _BCL, _BQC. 

在 XP或Linux等其他沒有 WDDM video driver 就會走 ACPI 標準 interface

Brightness Control in WDDM
https://msdn.microsoft.com/en-us/library/windows/hardware/Dn653987.aspx

Figure 1. WDDM Brightness Control Architecture in Windows Vista

2015年6月8日 星期一

ACPI 隱藏 USB 裝置 , Win 10 WebCam 鏡像顯示 ( Webcam Mirror )

Win10 Webcam 若為前鏡頭 須為 鏡像顯示 (跟照鏡子一樣)

(1)   CameraPosition要設為Front,而不是Back
Front代表Camera放在螢幕的前方(前置鏡頭)Back為放在螢幕的後面(後置鏡頭)
所以要Mirror的話需設為Front,如下ACPI Spec描述:

6.1.8 _PLD(Physical Location of Device) 欄位描述 bit 67~69:


也就是Code的位置:


若設為0x600110 0000 =>所以為Front (成像Mirror)
若設為0x680110 1000 =>所以為Back (不會Mirror)


(2)   Code的架構上需新增宣告一個WCam Device且需掛在USB port(PRT3)底下才會有效,而不能讓Device(WCam)Device(PRT3)平行

例如以下有效的描述:

Scope(\_SB.PCI0.EHC1)
{
    Device (RHUB)
    {
       ……
        Device (PRT3)   //EHCI1 Port3
                        {      
……
                                Device(Wcam)
              {
                  …… <=把上面的重點1修改在這邊
              }
                        }
        }
}

        例如以下無效的描述:

Scope(\_SB.PCI0.EHC1)
{
    Device (RHUB)
    {
       ……
        Device (PRT3)   //EHCI1 Port3
                        {      
……
                        }

Device(Wcam)
           {
               …… <=即使把重點1修改在這邊也不會有效,需將Wcam掛在PRT3底下,而不能與之平行
           }

        }
}

(3)   另外根據實驗,宣告_PLD欄位方式可以有下列2種,擇一宣告即可
(方式1)
Name(_PLD, Buffer(0x10) {
        …….
        })
       
(方式2)
        Method(_PLD,0,Serialized)
        {
       Name(PLDP, Package(){
           Buffer (0x10) {
           ……
           }
       })
      
       Return (PLDP)
    }

        另外Buffer大小,宣告Buffer(0x10)Buffer(0x14)都可以,不會影響


(1)   隱藏USB device: (1)USB Camera (2) USB Bluetooth
如下圖已隱藏:
Win10 -> Control Panel -> Hardware and Sound -> Devices and printers



EX,要把USB Optical Mouse在這裡hidden,則要滿足下面ACPI 2個條件


(1)   ACPI spec _UPC->connectable要設0

 (2)   ACPI spec _PLD->User Visible設為0



    Device (RHUB)
    {
       ……
        Device (PRT3)   //EHCI1 Port3
                        {      
Name(_UPC,Package(){
0x01,
0xFF,
0x00,
0x00})

               Name(PLDP, Package(){
                  Buffer (0x10) {
                  0x81,0x00,0x00,0x00,
                  0x00,0x00,0x00,0x00,
                  0x69,
                  .....
                  }                  
           }
        }
只要把紅色部分 0x01改成0x000x69改成0x68即可hidden

詳細資料請參閱 ACPI SPEC