Skip to main content

SparkLAN WPEQ-261ANCI(BT)

WPEQ-261ACNI(BT)

WPEQ-261ACNI(BT) is high performance 802.11ac/a/b/g/n dual band 2T2R Industrial-Grade (-40°C ~85°C) Wi-Fi combo mini PCI-e module, multiple output (MU-MIMO) with two spatial streams IEEE802.11 ac/a/b/g/n WLAN standards, designed to deliver superior integration of WLAN and low energy technology. (WiFi 5)

  • Support Module List:

  • Ensure DIP switch status is 'ON' status on target slot, on the following models:

    • V2406C-KL
    • V2406C-WL
    • V2403C-KL
    • MC-1220-KL
    • MC-3201-TL
    • V3000

Build atheros-ath-driver

info

Due to the performance issue, it should build the driver as below.

If the kernel verison is v5.x, it can skip this step.

apt update && apt install build-essential linux-headers-`uname -r`
cd moxa-atheros-ath-driver
make -C /lib/modules/$(uname -r)/build M=$(pwd)/ath modules
cp ath/ath10k/ath10k_core.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/ath/ath10k/
cp ath/ath10k/ath10k_pci.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/ath/ath10k/
depmod -a
  • Check ath10k driver is built-in
$ modinfo ath10k_pci
filename: /lib/modules/5.10.0-9-amd64/kernel/drivers/net/wireless/ath/ath10k/ath10k_pci.ko
firmware: ath10k/QCA9377/hw1.0/board.bin
firmware: ath10k/QCA9377/hw1.0/firmware-5.bin
firmware: ath10k/QCA9377/hw1.0/firmware-6.bin
firmware: ath10k/QCA6174/hw3.0/board-2.bin
firmware: ath10k/QCA6174/hw3.0/board.bin
firmware: ath10k/QCA6174/hw3.0/firmware-6.bin
firmware: ath10k/QCA6174/hw3.0/firmware-5.bin
firmware: ath10k/QCA6174/hw3.0/firmware-4.bin
firmware: ath10k/QCA6174/hw2.1/board-2.bin
firmware: ath10k/QCA6174/hw2.1/board.bin
firmware: ath10k/QCA6174/hw2.1/firmware-5.bin
firmware: ath10k/QCA6174/hw2.1/firmware-4.bin
firmware: ath10k/QCA9887/hw1.0/board-2.bin
firmware: ath10k/QCA9887/hw1.0/board.bin
firmware: ath10k/QCA9887/hw1.0/firmware-5.bin
firmware: ath10k/QCA988X/hw2.0/board-2.bin
firmware: ath10k/QCA988X/hw2.0/board.bin
firmware: ath10k/QCA988X/hw2.0/firmware-5.bin
firmware: ath10k/QCA988X/hw2.0/firmware-4.bin
firmware: ath10k/QCA988X/hw2.0/firmware-3.bin
firmware: ath10k/QCA988X/hw2.0/firmware-2.bin
license: Dual BSD/GPL
description: Driver support for Qualcomm Atheros 802.11ac WLAN PCIe/AHB devices
author: Qualcomm Atheros
...
  • Check ath10k driver is loaded
$ dmesg | grep ath
[ 6.704652] ath10k_pci 0000:03:00.0: irq 134 for MSI/MSI-X
[ 6.704664] ath10k_pci 0000:03:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[ 6.931468] ath10k_pci 0000:03:00.0: qca6174 hw3.2 target 0x05030000 chip_id 0x00340aff sub 168c:3363
[ 6.931471] ath10k_pci 0000:03:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 0 testmode 0
[ 6.931841] ath10k_pci 0000:03:00.0: firmware ver WLAN.RM.4.4.1-00140-QCARMSWPZ-1 api 6 features wowlan,ignore-otp,mfp crc32 29eb8ca1
[ 6.999859] ath10k_pci 0000:03:00.0: board_file api 2 bmi_id N/A crc32 4ac0889b
[ 7.569153] ath10k_pci 0000:03:00.0: Unknown eventid: 3
[ 7.585056] ath10k_pci 0000:03:00.0: Unknown eventid: 118809
[ 7.587960] ath10k_pci 0000:03:00.0: Unknown eventid: 90118
[ 7.588799] ath10k_pci 0000:03:00.0: htt-ver 3.60 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1
[ 7.658686] ath: EEPROM regdomain: 0x6c
[ 7.658689] ath: EEPROM indicates we should expect a direct regpair map
[ 7.658692] ath: Country alpha2 being used: 00
[ 7.658693] ath: Regpair used: 0x6c
# To install firmware packages:
## For example:

### Debian 11:
### Append 'non-free' into apt source list to install firmware packages.
### `deb http://deb.debian.org/debian bullseye main non-free`
### And run the following command to install firmware package
### `apt update && apt install firmware-atheros -y`

### Ubuntu 22.04.1:
### Run the following command to install firmware package (if needed)
### `apt update && apt install linux-firmware -y`

#### For V2403C-KL/V2406C-KL
ln -s /lib/firmware/ath10k/QCA6174/hw3.0/board.bin /lib/firmware/ath10k/pre-cal-pci-0000:03:00.0.bin
ln -s /lib/firmware/ath10k/QCA6174/hw3.0/board.bin /lib/firmware/ath10k/pre-cal-pci-0000:04:00.0.bin
ln -s /lib/firmware/ath10k/QCA6174/hw3.0/board-2.bin /lib/firmware/ath10k/cal-pci-0000:03:00.0.bin
ln -s /lib/firmware/ath10k/QCA6174/hw3.0/board-2.bin /lib/firmware/ath10k/cal-pci-0000:04:00.0.bin
ln -s /lib/firmware/ath10k/QCA6174/hw3.0/firmware-4.bin /lib/firmware/ath10k/QCA6174/hw3.0/firmware-5.bin

#### For MC-1220-KL
ln -s /lib/firmware/ath10k/QCA6174/hw3.0/board.bin /lib/firmware/ath10k/pre-cal-pci-0000:02:00.0.bin
ln -s /lib/firmware/ath10k/QCA6174/hw3.0/board.bin /lib/firmware/ath10k/pre-cal-pci-0000:03:00.0.bin
ln -s /lib/firmware/ath10k/QCA6174/board-2.bin /lib/firmware/ath10k/cal-pci-0000:02:00.0.bin
ln -s /lib/firmware/ath10k/QCA6174/board-2.bin /lib/firmware/ath10k/cal-pci-0000:03:00.0.bin
ln -s /lib/firmware/ath10k/QCA6174/hw3.0/firmware-4.bin /lib/firmware/ath10k/QCA6174/hw3.0/firmware-5.bin

#### For MC-3201-TL
ln -s /lib/firmware/ath10k/QCA6174/hw3.0/board.bin /lib/firmware/ath10k/pre-cal-pci-0000:09:00.0.bin
ln -s /lib/firmware/ath10k/QCA6174/hw3.0/board-2.bin /lib/firmware/ath10k/cal-pci-0000:09:00.0.bin
ln -s /lib/firmware/ath10k/QCA6174/hw3.0/firmware-4.bin /lib/firmware/ath10k/QCA6174/hw3.0/firmware-5.bin

#### For V3000
ln -s /lib/firmware/ath10k/QCA6174/hw3.0/board.bin /lib/firmware/ath10k/pre-cal-pci-0000:11:00.0.bin
ln -s /lib/firmware/ath10k/QCA6174/hw3.0/board-2.bin /lib/firmware/ath10k/cal-pci-0000:11:00.0.bin
ln -s /lib/firmware/ath10k/QCA6174/hw3.0/firmware-4.bin /lib/firmware/ath10k/QCA6174/hw3.0/firmware-5.bin

Dial up with wpa_supplicant

https://wiki.centos.org/zh-tw/HowTos/Laptops/WpaSupplicant

  • Install necessary packages:

    • For [Ubuntu 20.04] / [Debian 9/10/11]
    apt-get install net-tools wpasupplicant -y
    • For [CentOS 7.9]
    yum install net-tools wpasupplicant -y
  • Edit config for wpasupplicant

# check Wi-Fi module interface name, e.g. 'wlp3s0'
ip a | grep wlp
# 4: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
# inet 192.168.126.241/24 brd 192.168.126.255 scope global dynamic wlp3s0

# edit /etc/wpa_supplicant/wpa_supplicant.conf, e.g.
vim /etc/wpa_supplicant/wpa_supplicant.conf

network={
ssid="SSID"
psk="12345678"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
}

# then start wpa_supplicant and use dhclient to get ip
ifconfig wlp3s0 up
wpa_supplicant -B -i wlp3s0 -Dnl80211 -c /etc/wpa_supplicant/wpa_supplicant.conf
dhclient -v wlp3s0

Last updated on 2023-02-01 by Elvis Yao