btmrvl 驱动¶
所有命令都通过 debugfs 接口使用。
设置/获取驱动配置¶
路径:/debug/btmrvl/config/
- gpiogap=[n], hscfgcmd
这些命令用于配置主机睡眠参数::位 8:0 -- 间隔 位 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/