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/