利用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

相关推荐
智慧光迅AINOPOL3 天前
10~50 人规模办公网络组网技术分析:架构对比与选型参考
网络·架构·智能路由器
updayday8544 天前
印染产线电脑进程异常占用资源却要逐台排查 - Ping64 远程进程管理
大数据·网络·数据库·安全·智能路由器
treesforest4 天前
数据包是如何找到回家路的?
网络·智能路由器·nat·ip归属地查询
星恒讯工业路由器4 天前
5G RedCap、eRedCap与LTE Cat-1bis:中低速物联网的“三国杀“与选型指南
网络·智能路由器·工业路由器·工业物联网·5g redcap·lte cat-1bis·eredcap
Multipath7124 天前
以多链路聚合为通信底座,让低空飞行器“连得上、传得快、飞得稳、管得住”
网络·5g·安全·智能路由器·实时音视频
chengpei1475 天前
硬改斐讯K2路由器32M Flash编译适配immortalwrt固件
嵌入式硬件·智能路由器
updayday8546 天前
供应商补交资质文件时,采购难以核对缺件和新版本 - Ping64 文件收集
大数据·网络·数据库·安全·智能路由器
华允物联-HUAIOT6 天前
DTU和工业路由器有什么区别?
网络·智能路由器
wdfk_prog6 天前
LWIP教程 15:IPv4 与 IPv6——从网络层工作原理到嵌入式工程取舍
运维·开发语言·网络·笔记·学习·智能路由器·ip
烟雨醉沉浮6 天前
VLAN 网络划分与安全管控
网络·安全·智能路由器