手把手教你用i.MX8MP+QCA2076组合DIY一款简易的路由器

相信很多人对路由器的工作原理充满好奇。在这篇文章中,我们将通过使用Wi-Fi模组芯片(注意,这不是专门为路由器设计的芯片,因此在硬件功能上会有所限制)结合主控芯片的方式,演示如何实现一款简易的路由器,并揭秘其中的技术方案。这不仅帮助大家理解路由器的构建原理,也能为那些希望定制化网络设备的朋友们提供参考,同时,我们还将开放源代码。

1. 环境准备

1.1 Host环境

这里的主控我们选择了NXP平台的i.MX8MP芯片,需要自行购买,其链接如下所示:

i.MX 8M Plus | Cortex-A53/M7 | NXP Semiconductors

1.2 Wi-Fi模组

这里我们选择了高通的Wi-Fi 7芯片QCC2076作为示例,并且使用Quectel的模组FGE576Q。此芯片主要面向市场为机顶盒、游戏机等市场,主要做STA,所以做AP时,硬件功能上会有所欠缺,但是对于我们DIY已经完全够用了。

1.3 连接实物图

关于实物连接,因为我们的FGE576Q是M.2 Key-E接口的模组,并且我们的i.MX8MP有M.2 Key-E的接口,所以无需任何飞线或者转接板,直接插上去即可,具体如下图所示:

2. 软件环境

2.1 获取代码

我已经为大家准备好了相关代码SDK,无需自己从头bringup,从github上直接拉取编译即可,具体指令如下所示:

# git clone git@github.com:Qingzong-MA/Simple_Router.git  # 如果需要相关代码,请联系博主

# cd Simple_Router

# source build-quec.sh

# buildconfig FGE576QAAMD FGE576QAAMD_IMX8_5.15_LINUX_R01A01V01

# bitbake core-image-minimal

2.2 固件烧录

自行参考网上相关文档,如有相关疑问,请留言给博主即可。

2.3 安装QCA2076驱动

确认硬件识别:

# lspci | grep Qualcomm

安装QCA驱动:

# insmod /lib/modules/5.15.71+g305f6c9af2db/extra/qcc207x/wlan.ko

2.3 网络配置

配置hostapd(Wi-Fi热点):

# brctl addbr br0

# ifconfig br0 192.168.0.1

# ip link set dev br0 up

# systemctl stop dnsmasq

# dnsmasq --conf-file=/etc/dhcpd_dhcp_lan.conf &

# hostapd -B /etc/wifi/hostapd.conf -P /var/run/data/hostapd_ssid1.pid -e /var/run/entropy_file1 -dd -t -K -f /var/run/hostapd1.log

# brctl addif br0 wlan0

启动服务:

# iptables -F // 清空用户自定义规则

# echo 1 >/proc/sys/net/ipv4/ip_forward

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE --random

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值