NetGear AC1200 A6210
Topics in this section,
In this section, you are going to learn
How to load netgear wifi linux driver for NetGear AC1200 A6210-100PES USB Wi-Fi Adapter
Features |
|
---|---|
Hardware Interface |
USB 2.0 |
Compatible Devices |
Laptop, Desktop |
Data Link Protocol |
USB |
Data Transfer Rate |
1200 Megabits Per Second |
Item Weight |
0.09 Kilograms |
# |
Version |
---|---|
Ubuntu |
Ubuntu 22.04 64 bit |
Linux Kernel |
6.9.0 |
Wifi chip |
NetGear |
Chipset version |
NetGear A6210 |
Insert the wifi usb adapter to the usb port:
Check the wifi chipset by running the below command
test:~$ lsusb
Bus 002 Device 011: ID 0846:9053 NetGear, Inc. A6210
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 413c:301a Dell Computer Corp. Dell MS116 Optical Mouse
Bus 001 Device 002: ID 0461:0010 Primax Electronics, Ltd HP PR1101U / Primax PMX-KPR1101U Keyboard
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Check the dmesg output by running the below command:
test:~$ sudo dmesg
[350373.768384] usb 2-5: USB disconnect, device number 10
[350376.064380] usb 2-5: new SuperSpeed USB device number 11 using xhci_hcd
[350376.086666] usb 2-5: New USB device found, idVendor=0846, idProduct=9053, bcdDevice= 1.00
[350376.086679] usb 2-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[350376.086685] usb 2-5: Product: A6210
[350376.086690] usb 2-5: Manufacturer: NETGEAR
[350376.086693] usb 2-5: SerialNumber: 100
Stop applications by running the commands below:
test@test-V520-15IKL:~/linux-6.9$ pwd
/home/test/linux-6.9
test:~/linux-6.9$ sudo systemctl stop NetworkManager.service
test:~/linux-6.9$ sudo killall wpa_supplicant hostapd
test:~/linux-6.9$ ps -N | grep -i wpa_supplicant
test:~/linux-6.9$ ps -N | grep -i hostapd
Run lsmod commands:
test:~/linux-6.9$ lsmod | grep -i 80211
mac80211 1712128 10 mt792x_lib,mt76,mt76x2e,mt76x0e,mt76x02_lib,mt76x02_usb,mt76x0_common,mt76x2u,mt76_connac_lib,mt76x0u
lib80211_crypt_tkip 24576 0
lib80211_crypt_ccmp 16384 0
lib80211_crypt_wep 12288 0
libarc4 12288 3 lib80211_crypt_tkip,lib80211_crypt_wep,mac80211
lib80211 16384 3 lib80211_crypt_tkip,lib80211_crypt_wep,lib80211_crypt_ccmp
cfg80211 1376256 7 mt76,mt76x02_lib,mac80211,mt76x02_usb,mt76x0_common,mt76x2_common,mt76_connac_lib
test:~/linux-6.9$ lsmod | grep -i mt76
mt7663s 16384 0
mt7663u 16384 0
mt7663_usb_sdio_common 12288 2 mt7663u,mt7663s
mt7615e 28672 0
mt7615_common 143360 4 mt7663_usb_sdio_common,mt7615e,mt7663u,mt7663s
mt7603e 77824 0
mt76x2u 28672 0
mt76x2e 24576 0
mt76x2_common 28672 2 mt76x2e,mt76x2u
mt76x0e 16384 0
mt76x0u 20480 0
mt76x0_common 53248 2 mt76x0e,mt76x0u
mt76_connac_lib 106496 12 mt792x_lib,mt7921s,mt7996e,mt7663_usb_sdio_common,mt7921e,mt7915e,mt7615e,mt7663u,mt7615_common,mt7921_common,mt7663s,mt7921u
mt76x02_usb 24576 2 mt76x2u,mt76x0u
mt76x02_lib 114688 7 mt76x2e,mt76x0e,mt76x02_usb,mt76x0_common,mt76x2u,mt76x2_common,mt76x0u
mt76_sdio 32768 2 mt7921s,mt7663s
mt76_usb 40960 6 mt792x_usb,mt7663u,mt76x02_usb,mt76x2u,mt76x0u,mt7921u
mt76 139264 25 mt792x_lib,mt7921s,mt7996e,mt7663_usb_sdio_common,mt792x_usb,mt76x2e,mt76x0e,mt7921e,mt76_usb,mt7915e,mt76x02_lib,mt7615e,mt7663u,mt76x02_usb,mt7615_common,mt7921_common,mt76x0_common,mt7663s,mt76_sdio,mt76x2u,mt76x2_common,mt76_connac_lib,mt7603e,mt76x0u,mt7921u
mac80211 1712128 19 mt792x_lib,mt76,mt7996e,mt7663_usb_sdio_common,mt76x2e,mt76x0e,mt7915e,mt76x02_lib,mt7615e,mt7663u,mt76x02_usb,mt7615_common,mt7921_common,mt76x0_common,mt7663s,mt76x2u,mt76_connac_lib,mt7603e,mt76x0u
cfg80211 1376256 12 mt76,mt7996e,mt7915e,mt76x02_lib,mac80211,mt76x02_usb,mt7615_common,mt7921_common,mt76x0_common,mt76x2_common,mt76_connac_lib,mt7603e
Now, remove drivers by executing rmmod command as shown below:
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt7996e
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt7921u
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt7921s
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt7921e
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt7921-common
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt7915e
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt7663s
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt7663u
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt7663-usb-sdio-common
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt7615e
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt7615-common
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt7603e
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt76x2u
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt76x2e
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt76x2-common
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt76x0e
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt76x0u
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt76x0-common
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt792x-usb
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt792x-lib
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt76-connac-lib
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt76x02-usb
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt76x02-lib
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt76-sdio
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt76-usb
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mt76
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod mac80211
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod lib80211_crypt_tkip
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod lib80211_crypt_ccmp
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod lib80211_crypt_wep
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod libarc4
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod lib80211
test@test-V520-15IKL:~/linux-6.9$ sudo rmmod cfg80211
Follow steps from the link : <https://c-pointers.com/osp/bare_linux/x86-64/secB.html>
Move to compiled Linux folder as shown below:
$ cd /home/test/linux-6.9
Check current directory:
test@test-V520-15IKL:~/linux-6.9$ pwd
/home/test/linux-6.9
Start compilation for wireless folder:
test@test-V520-15IKL:~/linux-6.9$ sudo make -C . M=net/wireless/
make: Entering directory "/home/test/linux-6.9"
CC [M] net/wireless/core.o
LD [M] net/wireless/cfg80211.o
CC [M] net/wireless/lib80211.o
CC [M] net/wireless/lib80211_crypt_wep.o
CC [M] net/wireless/lib80211_crypt_ccmp.o
CC [M] net/wireless/lib80211_crypt_tkip.o
MODPOST net/wireless/Module.symvers
LD [M] net/wireless/cfg80211.ko
LD [M] net/wireless/lib80211.ko
LD [M] net/wireless/lib80211_crypt_wep.ko
LD [M] net/wireless/lib80211_crypt_ccmp.ko
LD [M] net/wireless/lib80211_crypt_tkip.ko
make: Leaving directory "/home/test/linux-6.9"
Run make command for mac80211 folder:
test@test-V520-15IKL:~/linux-6.9$ sudo make -C . M=net/mac80211
make: Entering directory "/home/test/linux-6.9"
CC [M] net/mac80211/main.o
LD [M] net/mac80211/mac80211.o
MODPOST net/mac80211/Module.symvers
LD [M] net/mac80211/mac80211.ko
make: Leaving directory "/home/test/linux-6.9"
Run make command for mt76 folder:
test@test-V520-15IKL:~/linux-6.9$ sudo make -C . M=drivers/net/wireless/mediatek/mt76
make: Entering directory "/home/test/linux-6.9"
CC [M] drivers/net/wireless/mediatek/mt76/mt7603/main.o
LD [M] drivers/net/wireless/mediatek/mt76/mt7603/mt7603e.o
CC [M] drivers/net/wireless/mediatek/mt76/mt7615/mmio.o
LD [M] drivers/net/wireless/mediatek/mt76/mt7615/mt7615e.o
CC [M] drivers/net/wireless/mediatek/mt76/mt7915/mmio.o
LD [M] drivers/net/wireless/mediatek/mt76/mt7915/mt7915e.o
CC [M] drivers/net/wireless/mediatek/mt76/mt7996/mmio.o
LD [M] drivers/net/wireless/mediatek/mt76/mt7996/mt7996e.o
MODPOST drivers/net/wireless/mediatek/mt76/Module.symvers
CC [M] drivers/net/wireless/mediatek/mt76/mt76.mod.o
LD [M] drivers/net/wireless/mediatek/mt76/mt76.ko
CC [M] drivers/net/wireless/mediatek/mt76/mt76-usb.mod.o
LD [M] drivers/net/wireless/mediatek/mt76/mt76-usb.ko
CC [M] drivers/net/wireless/mediatek/mt76/mt76-sdio.mod.o
LD [M] drivers/net/wireless/mediatek/mt76/mt76-sdio.ko
CC [M] drivers/net/wireless/mediatek/mt76/mt76x02-lib.mod.o
LD [M] drivers/net/wireless/mediatek/mt76/mt76x02-lib.ko
CC [M] drivers/net/wireless/mediatek/mt76/mt76x02-usb.mod.o
LD [M] drivers/net/wireless/mediatek/mt76/mt76x02-usb.ko
CC [M] drivers/net/wireless/mediatek/mt76/mt76-connac-lib.mod.o
LD [M] drivers/net/wireless/mediatek/mt76/mt76-connac-lib.ko
CC [M] drivers/net/wireless/mediatek/mt76/mt792x-lib.mod.o
LD [M] drivers/net/wireless/mediatek/mt76/mt792x-lib.ko
CC [M] drivers/net/wireless/mediatek/mt76/mt792x-usb.mod.o
LD [M] drivers/net/wireless/mediatek/mt76/mt792x-usb.ko
CC [M] drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0u.mod.o
LD [M] drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0u.ko
CC [M] drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0e.mod.o
LD [M] drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0e.ko
CC [M] drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common.mod.o
LD [M] drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common.ko
CC [M] drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common.mod.o
LD [M] drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common.ko
CC [M] drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2e.mod.o
LD [M] drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2e.ko
CC [M] drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2u.mod.o
LD [M] drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2u.ko
make: Leaving directory "/home/test/linux-6.9"
Run find command to search for “.ko” files in ./net/wireless directory:
test@test-V520-15IKL:~/linux-6.9$ find ./net/wireless/ -iname "*.ko" -print
./net/wireless/lib80211_crypt_wep.ko
./net/wireless/cfg80211.ko
./net/wireless/lib80211_crypt_ccmp.ko
./net/wireless/lib80211.ko
./net/wireless/lib80211_crypt_tkip.ko
Run find command to search for “.ko” files in ./net/mac80211 directory:
test@test-V520-15IKL:~/linux-6.9$ find ./net/mac80211/ -iname "*.ko" -print
./net/mac80211/mac80211.ko
Run find command to search for “.ko” files in ./drivers/net/wireless/mediatek/mt76/ directory:
test@test-V520-15IKL:~/linux-6.9$ find ./drivers/net/wireless/mediatek/mt76/ -iname "*.ko" -print
./drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common.ko
./drivers/net/wireless/mediatek/mt76/mt7921/mt7921u.ko
./drivers/net/wireless/mediatek/mt76/mt7921/mt7921s.ko
./drivers/net/wireless/mediatek/mt76/mt7921/mt7921e.ko
./drivers/net/wireless/mediatek/mt76/mt7603/mt7603e.ko
./drivers/net/wireless/mediatek/mt76/mt76-sdio.ko
./drivers/net/wireless/mediatek/mt76/mt76x02-lib.ko
./drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common.ko
./drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0e.ko
./drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0u.ko
./drivers/net/wireless/mediatek/mt76/mt76.ko
./drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2e.ko
./drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common.ko
./drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2u.ko
./drivers/net/wireless/mediatek/mt76/mt7615/mt7615e.ko
./drivers/net/wireless/mediatek/mt76/mt7615/mt7663s.ko
./drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common.ko
./drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common.ko
./drivers/net/wireless/mediatek/mt76/mt7615/mt7663u.ko
./drivers/net/wireless/mediatek/mt76/mt792x-usb.ko
./drivers/net/wireless/mediatek/mt76/mt76-connac-lib.ko
./drivers/net/wireless/mediatek/mt76/mt792x-lib.ko
./drivers/net/wireless/mediatek/mt76/mt76-usb.ko
./drivers/net/wireless/mediatek/mt76/mt7996/mt7996e.ko
./drivers/net/wireless/mediatek/mt76/mt7915/mt7915e.ko
./drivers/net/wireless/mediatek/mt76/mt76x02-usb.ko
Remove the following .zst files
test@test-V520-15IKL:~/linux-6.9$ find /lib/modules/6.9.0/kernel/net/wireless/ -iname "*.ko.zst*" -print
/lib/modules/6.9.0/kernel/net/wireless/lib80211_crypt_wep.ko.zst
/lib/modules/6.9.0/kernel/net/wireless/lib80211_crypt_ccmp.ko.zst
/lib/modules/6.9.0/kernel/net/wireless/lib80211.ko.zst
/lib/modules/6.9.0/kernel/net/wireless/cfg80211.ko.zst
/lib/modules/6.9.0/kernel/net/wireless/lib80211_crypt_tkip.ko.zst
test@test-V520-15IKL:~/linux-6.9$ find /lib/modules/6.9.0/kernel/net/mac80211/ -iname "*.ko.zst*" -print
/lib/modules/6.9.0/kernel/net/mac80211/mac80211.ko.zst
test@test-V520-15IKL:~/linux-6.9$ find /lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/ -iname "*.ko.zst*" -print
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt76-sdio.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt7921/mt7921u.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt7921/mt7921e.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt7921/mt7921s.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt76-usb.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt76-connac-lib.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0u.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0e.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt76x02-usb.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2u.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2e.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7663s.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7663u.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7615e.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt792x-usb.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt7996/mt7996e.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt792x-lib.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt76.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt7915/mt7915e.ko.zst
/lib/modules/6.9.0/kernel/drivers/net/wireless/mediatek/mt76/mt76x02-lib.ko.zst
You may restart your system using the command below:
$ reboot
Repeat Step 3
$ cd /home/test/linux-6.9
Repeat Step 5
test@test-V520-15IKL:~/linux-6.9$ sudo dmesg -c
sudo insmod ./net/wireless/cfg80211.ko
sudo insmod ./net/wireless/lib80211.ko
sudo insmod ./lib/crypto/libarc4.ko
sudo insmod ./net/wireless/lib80211_crypt_wep.ko
sudo insmod ./net/wireless/lib80211_crypt_ccmp.ko
sudo insmod ./net/wireless/lib80211_crypt_tkip.ko
sudo insmod ./net/mac80211/mac80211.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt76.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt76-usb.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt76-sdio.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt76x02-lib.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt76x02-usb.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt76-connac-lib.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt792x-lib.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt792x-usb.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0u.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0e.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2e.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2u.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt7603/mt7603e.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt7615/mt7615e.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt7615/mt7663u.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt7615/mt7663s.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt7915/mt7915e.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt7921/mt7921e.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt7921/mt7921s.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt7921/mt7921u.ko
sudo insmod drivers/net/wireless/mediatek/mt76/mt7996/mt7996e.ko
test@test-V520-15IKL:~/linux-6.9$ lsmod
Module Size Used by
mt7996e 200704 0
mt7921u 16384 0
mt7921s 20480 0
mt7921e 20480 0
mt7921_common 81920 3 mt7921s,mt7921e,mt7921u
mt7915e 212992 0
mt7663s 16384 0
mt7663u 16384 0
mt7663_usb_sdio_common 12288 2 mt7663u,mt7663s
mt7615e 28672 0
mt7615_common 143360 4 mt7663_usb_sdio_common,mt7615e,mt7663u,mt7663s
mt7603e 77824 0
mt76x2u 28672 0
mt76x2e 24576 0
mt76x2_common 28672 2 mt76x2e,mt76x2u
mt76x0e 16384 0
mt76x0u 20480 0
mt76x0_common 53248 2 mt76x0e,mt76x0u
mt792x_usb 16384 1 mt7921u
mt792x_lib 73728 5 mt7921s,mt792x_usb,mt7921e,mt7921_common,mt7921u
mt76_connac_lib 106496 12 mt792x_lib,mt7921s,mt7996e,mt7663_usb_sdio_common,mt7921e,mt7915e,mt7615e,mt7663u,mt7615_common,mt7921_common,mt7663s,mt7921u
mt76x02_usb 24576 2 mt76x2u,mt76x0u
mt76x02_lib 114688 7 mt76x2e,mt76x0e,mt76x02_usb,mt76x0_common,mt76x2u,mt76x2_common,mt76x0u
mt76_sdio 32768 2 mt7921s,mt7663s
mt76_usb 40960 6 mt792x_usb,mt7663u,mt76x02_usb,mt76x2u,mt76x0u,mt7921u
mt76 139264 25 mt792x_lib,mt7921s,mt7996e,mt7663_usb_sdio_common,mt792x_usb,mt76x2e,mt76x0e,mt7921e,mt76_usb,mt7915e,mt76x02_lib,mt7615e,mt7663u,mt76x02_usb,mt7615_common,mt7921_common,mt76x0_common,mt7663s,mt76_sdio,mt76x2u,mt76x2_common,mt76_connac_lib,mt7603e,mt76x0u,mt7921u
mac80211 1712128 19 mt792x_lib,mt76,mt7996e,mt7663_usb_sdio_common,mt76x2e,mt76x0e,mt7915e,mt76x02_lib,mt7615e,mt7663u,mt76x02_usb,mt7615_common,mt7921_common,mt76x0_common,mt7663s,mt76x2u,mt76_connac_lib,mt7603e,mt76x0u
lib80211_crypt_tkip 24576 0
lib80211_crypt_ccmp 16384 0
lib80211_crypt_wep 12288 0
libarc4 12288 3 lib80211_crypt_tkip,lib80211_crypt_wep,mac80211
lib80211 16384 3 lib80211_crypt_tkip,lib80211_crypt_wep,lib80211_crypt_ccmp
cfg80211 1376256 12 mt76,mt7996e,mt7915e,mt76x02_lib,mac80211,mt76x02_usb,mt7615_common,mt7921_common,mt76x0_common,mt76x2_common,mt76_connac_lib,mt7603e
test@test-V520-15IKL:~/linux-6.9$ iwconfig
lo no wireless extensions.
enp1s0 no wireless extensions.
wlx44a56e63a637 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=3 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Open below files with vim and add prints in module_init and module_exit fucntions:
test:linux-6.9$ pwd
/home/test/linux-6.9
./net/wireless/lib80211_crypt_wep.c
./net/wireless/lib80211.c
./net/wireless/lib80211_crypt_tkip.c
./net/wireless/lib80211_crypt_ccmp.c
./net/wireless/core.c
./net/mac80211/main.c
./drivers/net/wireless/mediatek/mt76/mt7603/main.c
./drivers/net/wireless/mediatek/mt76/mt7615/mmio.c
./drivers/net/wireless/mediatek/mt76/mt7996/mmio.c
./drivers/net/wireless/mediatek/mt76/mt7915/mmio.c
Open nl80211.c file with vim, add prints in all .doit functions in nl80211_small_ops
test:linux-6.9/net/wireless$ vi nl80211.c
static const struct genl_small_ops nl80211_small_ops[] = {
{
.cmd = NL80211_CMD_SET_WIPHY,
.validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
.doit = nl80211_set_wiphy,
.flags = GENL_UNS_ADMIN_PERM,
},
{
.cmd = NL80211_CMD_GET_INTERFACE,
.validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
.doit = nl80211_get_interface,
.dumpit = nl80211_dump_interface,
/* can be retrieved by unprivileged users */
.internal_flags = IFLAGS(NL80211_FLAG_NEED_WDEV),
},
{
.cmd = NL80211_CMD_SET_INTERFACE,
.validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
.doit = nl80211_set_interface,
.flags = GENL_UNS_ADMIN_PERM,
.internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV |
NL80211_FLAG_NEED_RTNL),
},
Open cfg.c file with vim, add prints in all functions in mac80211_config_ops
test:linux-6.9/net/mac80211$ vi cfg.c
const struct cfg80211_ops mac80211_config_ops = {
.add_virtual_intf = ieee80211_add_iface,
.del_virtual_intf = ieee80211_del_iface,
.change_virtual_intf = ieee80211_change_iface,
.start_p2p_device = ieee80211_start_p2p_device,
.stop_p2p_device = ieee80211_stop_p2p_device,
Open usb_main.c file with vim, add prints in all functions in mt76x2u_ops
test:linux-6.9/drivers/net/wireless/mediatek/mt76/mt76x2$ vi usb_main.c
const struct ieee80211_ops mt76x2u_ops = {
.add_chanctx = ieee80211_emulate_add_chanctx,
.remove_chanctx = ieee80211_emulate_remove_chanctx,
.change_chanctx = ieee80211_emulate_change_chanctx,
.switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
.tx = mt76x02_tx,
.start = mt76x2u_start,
.stop = mt76x2u_stop,
.add_interface = mt76x02_add_interface,
Open iface.c file with vim, add prints in all functions in ieee80211_dataif_ops
test:linux-6.9/net/mac80211$ vi ./iface.c
static const struct net_device_ops ieee80211_dataif_ops = {
.ndo_open = ieee80211_open,
.ndo_stop = ieee80211_stop,
.ndo_uninit = ieee80211_uninit,
.ndo_start_xmit = ieee80211_subif_start_xmit,
.ndo_set_rx_mode = ieee80211_set_multicast_list,
.ndo_set_mac_address = ieee80211_change_mac,
.ndo_get_stats64 = ieee80211_get_stats64,
.ndo_setup_tc = ieee80211_netdev_setup_tc,
};