# mwlwifi
mac80211 driver for the Marvell 88W8x64 802.11ac chip
## Building mwlwifi With OpenWrt/LEDE
1. Modify `package/kernel/mwlwifi/Makefile`:
```
PKG_VERSION:=10.3.0.17-20160601
PKG_SOURCE_VERSION:=4bb95ba1aeccce506a95499b49b9b844ecfae8a1
```
2. Rename `package/kernel/mwlwifi/patches` to `package/kernel/mwlwifi/patches.tmp`.
3. Run the following commands:
```sh
make package/kernel/mwlwifi/clean
make V=s (-jx)
```
### Special Considerations
* After driver 10.3.0.17-20160603, [MAX-MPDU-7991] should be removed from vht_capab command of hostapd.
* Hostpad must include the following commit for 160 MHz operation:
```
commit 03a72eacda5d9a1837a74387081596a0d5466ec1
Author: Jouni Malinen <[email protected]>
Date: Thu Dec 17 18:39:19 2015 +0200
VHT: Add an interoperability workaround for 80+80 and 160 MHz channels
Number of deployed 80 MHz capable VHT stations that do not support 80+80
and 160 MHz bandwidths seem to misbehave when trying to connect to an AP
that advertises 80+80 or 160 MHz channel bandwidth in the VHT Operation
element. To avoid such issues with deployed devices, modify the design
based on newly proposed IEEE 802.11 standard changes.
This allows poorly implemented VHT 80 MHz stations to connect with the
AP in 80 MHz mode. 80+80 and 160 MHz capable stations need to support
the new workaround mechanism to allow full bandwidth to be used.
However, there are more or less no impacted station with 80+80/160
capability deployed.
Signed-off-by: Jouni Malinen [email protected]
Note: After hostapd package 2016-06-15, this commit is already included.
```
* In order to let STA mode to support 160 MHz operation, mac80211 package should be 2016-10-08 or later.
* WiFi device does not use HT rates when using TKIP as the encryption cipher. If you want to have good performance, please use AES only.
* DTS parameters for mwlwifi driver (pcie@X,0):
```sh
#Disable 2g band
marvell,2ghz = <0>;
#Disable 5g band
marvell,5ghz = <0>;
#Specify antenna number, default is 4x4. For WRT1200AC, you must set these values to 2x2.
marvell,chainmask = <4 4>;
#Specify external power table. If your device needs external power table, you must provide the power table via this parameter, otherwise the Tx power will be pretty low.
marvell,powertable
```
To see if your device needs/accepts an external power table or not, run the following:
```sh
cat /sys/kernel/debug/ieee80211/phy0/mwlwifi/info
```
You should see a line in the results which looks like the following:
```sh
power table loaded from dts: no
```
If it is "no", it does not allow you to load external power table (for newer devices due to FCC regulations). If it is "yes", you must provide power table in DTS file (for older devices).
* Changing interrupt to different CPU cores:
```sh
#Use CPU0:
echo 1 > /proc/irq/irq number of phy0 or phy1/smp_affinity
#Use CPU1:
echo 2 > /proc/irq/irq number of phy0 or phy1/smp_affinity
```
* Note for DFS of WRT3200ACM (88W8964):
All WRT3200ACM devices are programmed with device power table. Mwlwifi driver will base on region code to set country code for your device and it will not allow you to change country code. There are another wifi (phy2) on WRT3200ACM which is not mwlwifi. It will allow you to change country code. Under this case, country code setting will be conflicted and it will let DFS can't work.
There are two ways to resolve this problem:
* Please don't change country code and let mwlwifi set it for you.
* Remove phy2. Under this case, even though you change country code, mwlwifi will reject it. Because phy2 is not existed, country code setting won't be conflicted. To do this, run the following commands (for OpenWrt/LEDE):
```sh
opkg remove kmod-mwifiex-sdio
opkg remove mwifiex-sdio-firmware
reboot
```
The better way is let mwlwifi set country code for you.
## Replacing mwlwifi on a Current OpenWrt/LEDE Build
1. Establish a symbolic link to your working mwlwifi directory with current mwlwifi package name under directory "dl":
```sh
ls -l mwlwifi*
```
You should see something like the following:
```sh
lrwxrwxrwx 1 dlin dlin 48 mwlwifi-10.3.2.0-20170110 -> /home/dlin/home2/projects/github/mwlwifi
-rw-r--r-- 1 dlin dlin 4175136 mwlwifi-10.3.2.0-20170110.tar.xz
```
2. Back up original mwlwifi package and tar your working mwlwifi to replace original mwlwifi package:
```sh
tar Jcvf mwlwifi-10.3.2.0-20170110.tar.xz mwlwifi-10.3.2.0-20170110/.
```
3. You can use `make V=s` to build the whole image or `make V=s package/kernel/mwlwifi/compile` to build mwlwifi package. The generated whole image or mwlwifi package can be found under directory "bin".
Due to package version being the same as previous one, you need to add option `--force-reinstall` when you use `opkg` to update mwlwifi package on your device.
## Monitor interface for debug
1. Create moinitor interface mon0:
```sh
iw wlan0/wlan1 interface add mon0 type monitor
ifconfig mon0 up
```
2. Use tcpdump to dump dhcp packets:
```sh
tcpdump -vvvi mon0 -n port 67 and port 68
```
3. Use tcpdump to dump icmp packets:
```sh
tcpdump -vvvi mon0 icmp
```
没有合适的资源?快使用搜索试试~ 我知道了~
适用于Marvell88W8864802.11ac芯片的mac80211驱动程序C_下载
共67个文件
h:18个
c:14个
open:6个
需积分: 6 0 下载量 18 浏览量
2022-08-31
10:29:14
上传
评论
收藏 884KB ZIP 举报
温馨提示
(更多详情、使用方法,请下载后细读README.md文件) mwlwifi\n适用于 Marvell 88W8x64 802.11ac 芯片的 mac80211 驱动程序\n使用 OpenWrtLEDE 构建 mwlwifi\n修改packagekernelmwlwifiMakefile:\nPKG_VERSION=10.3.0.17-20160601\nPKG_SOURCE_VERSION=4bb95ba1aeccce506a95499b49b9b844ecfae8a1\n重命名packagekernelmwlwifipatches为packagekernelmwlwifipatches.tmp.\n运行以下命令:\nmake packagekernelmwlwificlean\nmake V=s (-jx)\n特别注意事项\n在驱动程序 10.3.0.17-20160603 之后,应从 hostapd 的 vht_capab 命令中删除 [MAX-MPDU-7991]。\n对于 160 MHz 操作,Hostpad 必须包含以下提交:\n
资源详情
资源评论
资源推荐
收起资源包目录
适用于Marvell88W8864802.11ac芯片的mac80211驱动程序.zip (67个子文件)
mwlwifi-master
debugfs.c 57KB
bin
firmware
Marvell_license.txt 2KB
88W8997.bin 173KB
88W8964.bin 440KB
88W8864.bin 116KB
88W8897.bin 478KB
mu_mimo.h 818B
mu_mimo.c 814B
hif
fwcmd.h 9KB
pcie
rx.h 938B
tx_ndp.h 1KB
fwdl.c 8KB
rx_ndp.c 16KB
rx.c 14KB
tx.c 38KB
dev.h 39KB
sc4_ddr.h 6KB
tx_ndp.c 19KB
tx.h 1KB
fwdl.h 921B
rx_ndp.h 981B
pcie.c 46KB
fwcmd.c 99KB
hostcmd.h 33KB
hif.h 3KB
hif-ops.h 7KB
debugfs.h 936B
test
wpa_supplicant.conf.psk 109B
wpa_supplicant.conf.open 91B
hostapd.conf.1.multi_bssid 313B
setup_multi_bssid.sh 110B
hostapd.conf.36.wpa2pskaes.80mhz 487B
hostapd.conf.36.open 359B
hostapd.conf.36.wpa2pskaes 428B
AP+STA
README.txt 1KB
wpa_supplicant.conf.psk 109B
wpa_supplicant.conf.open 91B
hostapd.conf.36.wpa2pskaes.80mhz 529B
hostapd.conf.36.open 401B
hostapd.conf.36.wpa2pskaes 470B
hostapd.conf.1.wpa2pskaes 308B
hostapd.conf.36.open.80mhz 459B
hostapd.conf.1.open 239B
hostapd.conf.36.wpa2pskaes.40mhz 478B
hostapd.conf.36.open.40mhz 408B
hostapd.conf.dfs 460B
hostapd.conf.36.multi_bssid 462B
README 5KB
hostapd.conf.36.open.80mhz 417B
hostapd.conf.1.open 210B
setup.sh 83B
Makefile.kernel 543B
thermal.c 5KB
vendor_cmd.c 4KB
hostapd
README 1KB
700-interoperability-workaround-for-80+80-and-160-MHz-channels 1KB
vendor_cmd.h 2KB
Kconfig 913B
core.h 13KB
core.c 30KB
utils.c 14KB
utils.h 4KB
Makefile 769B
README.md 5KB
mac80211.c 23KB
sysadpt.h 2KB
thermal.h 1KB
共 67 条
- 1
m0_57781768
- 粉丝: 9839
- 资源: 402
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0