Skip to content
/ mt7668s Public

an initiative to port the Android MT7668S driver into Linux (OpenWrt ARM)

License

Unknown, GPL-2.0 licenses found

Licenses found

Unknown
LICENSE
GPL-2.0
COPYING
Notifications You must be signed in to change notification settings

yhpgi/mt7668s

Repository files navigation

MT7668S WiFi Driver for Linux

Overview

This repository is an initiative to port the Android MT7668S driver into Linux.

Installation

To install the MT7668S driver on your Linux system (as an external module), follow these steps:

  1. Clone the repository:

    git clone https://github.com/yhpgi/mt7668s.git
    cd mt7668s
  2. Edit the build files:

    • Change KERNELDIR with your actual kernel/headers path.
    • Change CONFIG_MT7668S_WIFI_MESON_G12A_PATCH=y to CONFIG_MT7668S_WIFI_MESON_G12A_PATCH=n if your target is not an Amlogic g12a.
  3. Build the driver:

    ./build.sh
  4. Install the driver:

    sudo cp mt7668s.ko /lib/modules/$(uname -r)/
  5. Copy firmware files:

    sudo cp firmware/* /lib/firmware/
  6. Load the driver:

    sudo modprobe mt7668s
    # or
    sudo insmod /lib/modules/$(uname -r)/mt7668s.ko
  7. Load driver at every reboot:

    echo mt7668s | sudo tee -a /etc/modules.d/mt7668s
    # or
    echo mt7668s | sudo tee -a /etc/modules-load.d/mt7668s
    # depends on your distro
    
    # or you can input it directly using a file manager or your favorite text editor

Compiling the Driver In-tree with Your Kernel

  1. Move working directory to linux-x.y/drivers

    cd linux-x.y/drivers
  2. Clone the repository:

    git clone https://github.com/yhpgi/mt7668s.git
  3. Edit Makefile and Kconfig in linux-x.y/drivers:

    Makefile:

    obj-y += mt7668s/

    Kconfig:

    source "drivers/mt7668s/Kconfig"
    
  4. Run menuconfig:

    cd linux-x.y
    
    make menuconfig
    # or
    make ARCH=arm64 menuconfig

    Enable this driver in the Device Driver section.

Note

You must check the MT7668S WiFi Meson G12A workaround if your target device is Amlogic g12a. DO NOT CHECK FOR OTHER TARGETS as it will degrade WiFi performance.

  1. Compile the kernel as usual.

Usage

After installing and loading the driver, you can configure the WiFi settings using standard Linux networking tools such as iwconfig or nmcli. For OpenWrt, the configuration can be done via the LuCI interface or by editing /etc/config/wireless.

Troubleshooting

If you encounter any issues, please check the following:

  • Ensure that your kernel version is compatible with the driver.
  • Check the system logs for any error messages related to the driver.

Contributing

If you find any issues or have suggestions for improvements, please submit a pull request or open an issue in the repository.

Acknowledgements

Special thanks to:

  • MediaTek Inc.
  • Amazon Inc.
  • DBAI
  • Everyone who is contributing to porting this driver to Linux
  • Everyone who is also trying to port this driver to Linux

License

  • Original FOSS code from MediaTek Ltd. is licensed under the GPLv2 License, yet firmware files are licensed under Dual License BSD/GPL.
  • This project is also licensed under the GPLv2 License.

About

an initiative to port the Android MT7668S driver into Linux (OpenWrt ARM)

Resources

License

Unknown, GPL-2.0 licenses found

Licenses found

Unknown
LICENSE
GPL-2.0
COPYING

Stars

Watchers

Forks

Languages