利用openwrt路由器和随身WIFI搭建CPE

背景:

最近5GCPE挺火,各种硬件层出不穷,包括DY上很多商家在推的AX3000叠加展锐RM500 5G模块,自己组装CPE,成本也在300+

看了下开源硬件,其实就是一个开源的openwrt系统,硬件上5G模块通过usb协议或者pci-e协议与openwrt相连,openwrt把5G模块识别成一个网卡,作为WAN口用,LAN口可以接网线或者关联WIFI热点

硬件改造思路

根据上面的分析,openwrt系统+4G网卡就可以组件一个CPE,笔者手头有个多年前闲置的TPLINK 703N,还有好多个薅羊毛的随身WIFI,基于这两个硬件尝试搭建CPE

步骤:

1.考虑到openwrt需要支持网卡,笔者的703N已经改8M flash了,所以可以自己编译固件支持usb网卡,需要把如下kmod包选上

复制代码
kmod-usb-net(USB 网卡基础支持)
kmod-usb-net-cdc-ether(大部分 USB 4G/5G 网卡需要)
kmod-usb-net-rndis(部分 USB 共享网络设备需要)
kmod-usb-serial(USB 串口设备支持)
kmod-usb-serial-option(大部分 4G/5G 网卡用这个)
kmod-usb-serial-wwan(用于某些 4G 模块)

编译完毕的固件保存在

2.通过luci web页面刷入新固件,也可以先把固件拷贝到tmp目录,然后通过如下命令升级

复制代码
sysupgrade -v /tmp/lede-ar71xx-generic-tl-wr703n-v1-squashfs-sysupgrade.bin

3.把随身wifi插入703N的usb口,上电开机,正常应该可以看到如下log,证明openwrt固件已经支持usb网卡

复制代码
[   17.615499] usbcore: registered new interface driver cdc_ether
[   17.624219] usbcore: registered new interface driver cdc_ncm
[   17.630923] usbcore: registered new interface driver cdc_subset
[   17.734098] usbcore: registered new interface driver rndis_host

如果看到如下log,证明usb网卡已经连接

复制代码
[    4.186030] hub 1-0:1.0: USB hub found
[    4.189058] hub 1-0:1.0: 1 port detected
[    4.194799] ehci-pci: EHCI PCI platform driver
[    4.202089] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    4.208623] ohci-platform: OHCI generic platform driver
[    4.215922] uhci_hcd: USB Universal Host Controller Interface driver
[    4.223153] ohci-pci: OHCI PCI platform driver
[    5.063064] usb 1-1: new high-speed USB device number 2 using ehci-platform

到这一步后,敲ifconfig命令,还没有看到新增网卡,说明cdc-ether驱动还未加载,还缺如下关键的步骤:1)上电脑查看随身wifi的pid/uid 2)openwrt 安装usb-modeswitch 3)修改配置,切换usbmode

4.把随身wifi插电脑的usb口,正常可以识别出来一个rndis网卡

查看硬件属性:

记录PID VID,例如

复制代码
USB\VID_19D2&PID_0536&MI_00\6&330DC382&0&0000

5.然后把随身wifi再插入openwrt上,执行lsusb命令,就发现问题了,PID不一样

复制代码
root@LEDE:~# lsusb
Bus 001 Device 003: ID 19d2:0548 ZTE WCDMA Technologies MSM
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@LEDE:~#

这时,usbmodeswitch就有用武之地了

6.安装usb-modeswitch

复制代码
opkg update
opkg install usb-modeswitch

在/etc/usb-mode.json中添加这么一段:

复制代码
                "19d2:0548": {                                                  
                        "*": {                                                  
                                "t_vendor": 6610,                              
                                "t_product": [ 1334 ],                        
                                "mode": "StandardEject",                        
                                "msg": [  ]                                    
                        }
                },

最终效果如下:

7.重启openwrt,如果看到如下log,证明cdc-ether驱动已经加载,usb网卡已经识别,

复制代码
[   15.710954] cdc_ether 1-1:1.0 eth1: register 'cdc_ether' at usb-ehci-platform-1, CDC Ethernet Device, 34:4b:50:00:00:00

查看网口,多出来一个eth1,也有可能是usb0,cdc0等

这时还不能上网,还需要新增一个wan连接,接口选新增的这个网口,协议选dhcp

8.测速环节

电脑直连随身wifi的usb口,测速用的是普通电信卡,非物联网卡

随身wifi插703N的usb口,电脑与703N通过网线连接

可见,703N中转后,网速折半,估计703N的硬件完全根本上随身wifi,测速用的随身wifi是新讯的TZ103,相对于高通410,网速已经提升了不少,发热也低。703N的硬件还不如随身WIFI,测速效果也不报太大希望。

至此,教程完毕,enjoy

相关推荐
爱研究的小梁5 小时前
乾元通渠道商中标青海省自然灾害应急能力提升工程基层防灾项目
网络·智能路由器·信息与通信
狂奔solar7 小时前
网络拓扑如何跨网段访问
智能路由器
JASON丶LI16 小时前
家庭路由器改装,搭建openwrt旁路由以及手机存储服务器,实现外网节点转发、内网穿透、远程存储、接入满血DeepSeek方案
服务器·物联网·容器·智能路由器·openwrt
尬尬_1 天前
【计算机网络】IPv6和NAT网络地址转换
网络·计算机网络·智能路由器
ssswywywht1 天前
HCIP7
网络·智能路由器
无垠的广袤1 天前
WDS 无线桥接
c++·单片机·嵌入式硬件·物联网·智能路由器
SZ1701102313 天前
交换机 路由器
网络·智能路由器
swcq_3 天前
RIP 协议实验全记录:从配置到问题解决
网络·智能路由器
hgdlip3 天前
一根网线可以有两个ip地址吗?怎么实现
网络·tcp/ip·智能路由器·网线