MT7663 Module


This chapter describes module-dependent information and instructions. For example, you will get different benchmark results on different module on different platforms.

For general usage of Wi-Fi, such as command to configure DHCP or static IP and so on, please refer to Wi-Fi chapter.

Note

Command operations and test results presented in Wi-Fi chapter are based on the IoT Yocto v23.0.


MT7663 - the Combo Connectivity Solution for Wi-Fi 5 and BT 5.2

The MediaTek MT7663 solution supports various kinds of form factors. Currently IoT Yocto supports MT7663S (SDIO) combo modules made by Azurewave. Both solutions are high-performance wireless modules that provide robust Wi-Fi and Bluetooth connectivity. MT7663S supports the latest Wi-Fi 5 standard, offering faster and more reliable connections compared to previous Wi-Fi standards. It also supports the latest Bluetooth 5.2 standard for fast and reliable connections to a wide range of Bluetooth devices.

Important

There is only 1 of the MT7663S modules made by Azurewave tested with Genio 350-EVK board.
  • AW-CB451NF: a MT7663S module where both Wi-Fi and Bluetooth share the SDIO interfaces.

The pin assignment of MT7663S M.2 module AW-CB451NF is not compatible with the standard M.2 E Key. Please double check the customized hardware schematic and DTS assignment with hardware engineer very carefully.

Kernel Configurations for MT7663

IoT Yocto applies kernel configurations of MT7663 families as a common setting for supporting platform: Genio 350-EVK. User can find the 3 Kernel configurations file mt7663.cfg, mt76xx-tk-wifi.cfg and mt76xx-tk-bt.cfg in meta-mediatek-bsp layer.

Configuration for MT7663S in DTS

You can refer to the DTS configurations of the Genio 350-EVK for guidance. However, only basic Wi-Fi and Bluetooth functions are supported. Advanced system related functions such as module reset, BT SCO, and wake on wireless are not supported for IoT Yocto v23.1.

Note

The functionalities of module reset, BT SCO, and wake on wireless are not included in the scope of the IoT Yocto v23.1 release. However, it’s important to reserve the circuits and pin definitions in your design in advance for these features.

The provided DTS nodes for the MT7663S SDIO module are used to configure the hardware settings of the module. Here’s a brief explanation of each node:

  • mmc2_pins_default and mmc2_pins_uhs: These nodes are used to configure the MMC interface for the SDIO module in different speed.

  • pins_wifi_pwr_en: This property within the MMC nodes sets the pinmux for the Wi-Fi power enable line, which is set to output high.

  • pins_sysrstb_en: This property within the MMC nodes sets the pinmux for the system reset enable line, which is also set to output high.

Proprietary Software Stack for MT7663S

There are no usable open-source drivers and software stacks for the MT7663S module. Proprietary software is necessary to operate the MT7663S module. Access to these software stacks requires an NDA agreement. Below is a brief list of these software stacks.

Note

Interface name in Linux OS should be wlan0 for MT7663S SDIO module.

Open Source Tools iwpriv (from legacy wireless-tools) for MT7663

The primary purpose of iwpriv is to allow users to configure and manage wireless network interfaces at a low level. It provides access to private (driver-specific) wireless extensions, including various advanced settings and features. The iwpriv tool has been deprecated and replaced by newer tools and frameworks. Most advanced settings can now be configured using wifitest (an NDA tool) for mass production. However, some tests still require iwpriv to pass.

Project URL

SOP

  1. Add iwpriv tool bb file into connectivity recipe

    ../../../../_images/iwpriv_1.jpg
    ../../../../_images/iwpriv_2.jpg
  2. Executed build command to get code and build bin tool out

    ../../../../_images/iwpriv_3.jpg
    ../../../../_images/iwpriv_4.jpg
    ../../../../_images/iwpriv_5.jpg
  3. Modify tool source code to enlarge the MAX size that allowed for driver ioctl and rebuild tool (without this step, the tool will print “no private iotcl” error message.)

    ../../../../_images/iwpriv_6.jpg
    ../../../../_images/iwpriv_7.jpg
  4. After above steps, iwpriv tool is available.

  5. Then we need to modify kernel configuration to let iwpriv tool available for all commands used in mt76-tk-driver. (Without this step, iwpriv driver command cannot be used)

  • Set config WIRELESS_EXT to def_bool y

  • Set config WEXT_PRIV to def_bool y

../../../../_images/iwpriv_8.jpg
../../../../_images/iwpriv_9.jpg
  1. Rebuild load and all done. User can execute iwpriv wlan0 driver version to confirm whether it is OK.

../../../../_images/iwpriv_10.jpg