Skip to content
 编辑

btmrvl driver

btmrvl driver

All commands are used via debugfs interface.

Set/get driver configurations

Path: /debug/btmrvl/config/

gpiogap=[n], hscfgcmd

: These commands are used to configure the host sleep parameters:: bit 8:0 — Gap bit 16:8 — GPIO

where GPIO is the pin number of GPIO used to wake up the host. It
could be any valid GPIO pin# (e.g. 0-7) or 0xff (SDIO interface
wakeup will be used instead).

where Gap is the gap in milli seconds between wakeup signal and
wakeup event, or 0xff for special host sleep setting.

Usage:

    # 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

: These commands are used to enable/disable auto sleep mode

where the option is:

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

Usage:

    # 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

: These commands are used to enable host sleep or wake up firmware

where the option is:

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

Usage:

    # 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

Get driver status

Path: /debug/btmrvl/status/

Usage:

cat /debug/btmrvl/status/<args>

where the args are:

curpsmode

: This command displays current auto sleep status.

psstate

: This command display the power save state.

hsstate

: This command display the host sleep state.

txdnldrdy

: This command displays the value of Tx download ready flag.

Issuing a raw hci command

Use hcitool to issue raw hci command, refer to hcitool manual

Usage:

Hcitool cmd <ogf> <ocf> [Parameters]

Interface Control Command:

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 firmware

Images:

The images can be downloaded from:

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