Driver for Cypress DHD PCIE-based WLAN devices
Syntax:
io-sock -d qwdi_dhd_pcie-version
mount -T io-sock qwdi_dhd_pcie-version
Description:
The devs-qwdi_dhd_pcie-version driver
supports Cypress DHD PCIE-based WLAN devices. You install it separately from other
io-sock components.
The version in the driver name indicates the WPA supplicant
version it supports. For example, devs-qwdi_dhd_pcie-2.9
supports wpa_supplicant-2.9.
Configuration file options:
You specify the driver options in either a
driver-specific configuration file (default is
/etc/qwdi_wifi.conf)
or the
io-sock configuration file (the file specified by
config when you start
io-sock).
Driver
configuration file options
The following driver configuration file entries
are available. The name and location of your board-specific files may be different than
the defaults shown here.
- fw_path=name
- The name of the firmware file. Default is
/etc/fw/firmware.cywchip_id.default.bin.
- nvram_path=name
- The name of the NVRAM file. Default is
/etc/fw/nvram.cywchip_id.default.txt.
- clm_path=name
- The name of the CLM (Country Locale Matrix) file to load. Default is
/etc/fw/cywchip_id.default.clm_blob.
- dpc_prio=number
- Set the priority of the DPC thread. Default is 21.
- wdt_ms=number
- The watchdog interval, in milliseconds. Default is 80.
- dhd_log=number
- Set the verbosity level for DHD (Dongle Host Driver) log messages.
The
recommended and default verbosity level is 0x400801, which sets
DHD_FWLOG_VAL, DHD_EVENT_VAL, and
DHD_ERROR_VAL.
- qwdi_log=number
- Change the verbosity level of the Wi-Fi driver interface (QWDI) log
messages, which are used to communicate with
wpa_supplicant. Valid values are from 0 to 11.
Default is 0.
- mpc=0|1
- Set the minimum power configuration (MPC) value in the firmware. Default is
1.
- scb_timeout=number
- Set the probe timeout value (AP mode) in the SCB (Station Control Block), in
seconds. Default is 20.
- disassoc_event=0|1
- Pass a "fake" QWDI_EVENT_DISASSOC event to
sta_deauth() and sta_disassoc()
functions. Default is 0.
- key_delay=number
- Add a delay to set_key(), in milliseconds, to make sure
the 4-way handshake packet is sent before the security key. Default is 0 (no
delay).
- disable_drvver
- Prevent the driver from printing software version information. You do not
have to specify a value.
- mchan_concur=0|1
- Enable multi-channel concurrency. Default is 0 (disabled).
- icmp_prio_boost=0|1
- Enable QoS priority boost for ICMP packets to reduce ping latency. Default
is 0 (disabled).
- cmd_send_delay=number
- Add a delay before sending commands to the firmware, in milliseconds. Valid
values are from 0 (the default) to 10. If the value is greater than 10, the
delay is 10 ms.
- deauth_delay=number
- Add the delay the Wi-Fi chip requires after the driver sends WLC_SCB_DEAUTHENTICATE_FOR_REASON with the broadcast MAC address (FF:FF:FF:FF:FF:FF), in milliseconds. Cypress recommends 400 ms. Default is 0.
- pcipm_d3
- Set the PCI Power Management state of the Wi-Fi chip to D3 when the driver
is unloaded (D3hot; the lowest PCI power state). You do not have to specify
a value. If this option is not specified, the driver sets the chip state to
PCI D0 when it is unloaded.
io-sock configuration file options
The
io-sock configuration file supports the same driver options and
option values as the driver configuration file. You can include them using the following
format:
hw.dhdpcie.fw_path="name"
hw.dhdpcie.nvram_path="name"
hw.dhdpcie.clm_path="name"
hw.dhdpcie.dpc_prio="number"
hw.dhdpcie.wdt_ms="number"
hw.dhdpcie.dhd_log="number"
hw.dhdpcie.qwdi_log="number"
hw.dhdpcie.mpc=0|1
hw.dhdpcie.scb_timeout=number
hw.dhdpcie.disassoc_event=0|1
hw.dhdpcie.key_delay=number
hw.dhdpcie.disable_drvver=
hw.dhdpcie.mchan_concur=0|1
hw.dhdpcie.icmp_prio_boost=0|1
hw.dhdpcie.cmd_send_delay=number
hw.dhdpcie.deauth_delay=number
hw.dhdpcie.pcipm_d3=
Values
specified in the driver configuration file override the ones in the
io-sock configuration file.
Changing driver options at
runtime
You can change the following driver options at runtime using the
systctl utility. Examples of changing the options using this
method are provided below.
- hw.dhdpcie.dhd_log
- hw.dhdpcie.qwdi_log
- hw.dhdpcie.mpc
- hw.dhdpcie.scb_timeout
- hw.dhdpcie.disassoc_event
- hw.dhdpcie.key_delay
- hw.dhdpcie.disable_drvver
- hw.dhdpcie.mchan_concur
- hw.dhdpcie.icmp_prio_boost
- hw.dhdpcie.cmd_send_delay
- hw.dhdpcie.eauth_delay
Examples:
The following lines in the file
qwdi_wifi.conf set the verbosity of DHD and QWDI log messages:
dhd_log=0x1f
qwdi_log=6
Adding the following entry to the
io-sock configuration file (e.g.,
/etc/iosock.conf) overrides the default driver configuration
file with the specified file:
dev.qwdi_wifi.conf="/developer/config/qwdi_wifi.conf"
The
following lines in the
io-sock configuration file set the verbosity
of DHD and QWDI log messages:
hw.dhdpcie.dhd_log="0x1f"
hw.dhdpcie.qwdi_log="6"
The following
example commands use
sysctl to display the value of the
hw.dhdpcie.dpc_prio option for a loaded driver and change it from 21 to 23:
sysctl -a | grep dpc_prio
hw.dhdpcie.dpc_prio: 21
sysctl -w hw.dhdpcie.dpc_prio=23
hw.dhdpcie.dpc_prio: 21 -> 23