btmrvl 驅動

所有命令都透過 debugfs 介面使用。

設定/獲取驅動配置

路徑: /debug/btmrvl/config/

gpiogap=[n], hscfgcmd

這些命令用於配置主機睡眠引數:: 位 8:0 -- Gap 位 16:8 -- GPIO

其中 GPIO 是用於喚醒主機的 GPIO 引腳號。 它可以是任何有效的 GPIO 引腳號(例如 0-7)或 0xff(將改用 SDIO 介面喚醒)。

其中 Gap 是喚醒訊號和喚醒事件之間的毫秒間隔,或者 0xff 用於特殊的主機睡眠設定。

用法

# Use SDIO interface to wake up the host and set GAP to 0x80:
echo 0xff80 > /debug/btmrvl/config/gpiogap
echo 1 > /debug/btmrvl/config/hscfgcmd

# Use GPIO pin #3 to wake up the host and set GAP to 0xff:
echo 0x03ff >  /debug/btmrvl/config/gpiogap
echo 1 > /debug/btmrvl/config/hscfgcmd
psmode=[n], pscmd

這些命令用於啟用/停用自動睡眠模式

選項是

1       -- Enable auto sleep mode
0       -- Disable auto sleep mode

用法

# Enable auto sleep mode
echo 1 > /debug/btmrvl/config/psmode
echo 1 > /debug/btmrvl/config/pscmd

# Disable auto sleep mode
echo 0 > /debug/btmrvl/config/psmode
echo 1 > /debug/btmrvl/config/pscmd
hsmode=[n], hscmd

這些命令用於啟用主機睡眠或喚醒韌體

選項是

1       -- Enable host sleep
0       -- Wake up firmware

用法

# Enable host sleep
echo 1 > /debug/btmrvl/config/hsmode
echo 1 > /debug/btmrvl/config/hscmd

# Wake up firmware
echo 0 > /debug/btmrvl/config/hsmode
echo 1 > /debug/btmrvl/config/hscmd

獲取驅動狀態

路徑: /debug/btmrvl/status/

用法

cat /debug/btmrvl/status/<args>

引數是

curpsmode

此命令顯示當前自動睡眠狀態。

psstate

此命令顯示省電狀態。

hsstate

此命令顯示主機睡眠狀態。

txdnldrdy

此命令顯示 Tx 下載就緒標誌的值。

發出原始 hci 命令

使用 hcitool 發出原始 hci 命令,請參考 hcitool 手冊

用法

Hcitool cmd <ogf> <ocf> [Parameters]

介面控制命令

hcitool cmd 0x3f 0x5b 0xf5 0x01 0x00    --Enable All interface
hcitool cmd 0x3f 0x5b 0xf5 0x01 0x01    --Enable Wlan interface
hcitool cmd 0x3f 0x5b 0xf5 0x01 0x02    --Enable BT interface
hcitool cmd 0x3f 0x5b 0xf5 0x00 0x00    --Disable All interface
hcitool cmd 0x3f 0x5b 0xf5 0x00 0x01    --Disable Wlan interface
hcitool cmd 0x3f 0x5b 0xf5 0x00 0x02    --Disable BT interface

SD8688 韌體

映象

  • /lib/firmware/sd8688_helper.bin

  • /lib/firmware/sd8688.bin

映象可以從以下位置下載

git.infradead.org/users/dwmw2/linux-firmware.git/libertas/