.. include:: /keyword.rst .. _MT7663 Module: ============= MT7663 Module ============= .. contents:: General :local: :depth: 1 -------------------------------- 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 :doc:`Wi-Fi ` chapter. .. note:: Command operations and test results presented in Wi-Fi chapter are based on the |IOT-YOCTO| v23.0. -------------------------------- .. contents:: Sections :local: :depth: 2 .. _MT7663 - the Combo Connectivity Solution for Wi-Fi 5 and BT 5.2: 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. * `Turnkey Wi-Fi Driver `_ * `Turnkey BlueTooth Driver `_ * `Turnkey BlueDroid Protocol Stack `_ .. note:: Interface name in Linux OS should be **wlan0** for MT7663S SDIO module. .. _Open Source Tools iwpriv (from legacy wireless-tools) for MT7663: 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 ----------- | https://hewlettpackard.github.io/wireless-tools/Tools.html SOP --- 1. Add iwpriv tool bb file into connectivity recipe .. figure:: /_asset/iwpriv_1.jpg :width: 350 .. figure:: /_asset/iwpriv_2.jpg :width: 650 2. Executed build command to get code and build bin tool out .. figure:: /_asset/iwpriv_3.jpg :width: 480 .. figure:: /_asset/iwpriv_4.jpg :width: 570 .. figure:: /_asset/iwpriv_5.jpg :width: 680 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.) .. figure:: /_asset/iwpriv_6.jpg :width: 320 .. figure:: /_asset/iwpriv_7.jpg :width: 680 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 .. figure:: /_asset/iwpriv_8.jpg :width: 580 .. figure:: /_asset/iwpriv_9.jpg :width: 580 6. Rebuild load and all done. User can execute iwpriv wlan0 driver version to confirm whether it is OK. .. figure:: /_asset/iwpriv_10.jpg :width: 620