当前位置: 首页 > news >正文

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

相关文章:

  • 使用 Unsloth 快速微调 LLMs 实用指南
  • 【机器学习基础】机器学习入门核心算法:隐马尔可夫模型 (HMM)
  • # Python 语音助手本地的ollama实现
  • Byte(字节)和 k(通常指 kilobit 或 kilobyte)是两种不同的单位,它们的区别和联系
  • 网络协议DHCP
  • Centos7升级openssl
  • Flutter3.22适配运行鸿蒙系统问题记录
  • 数据结构- 10种常见树:二叉树、平衡二叉树、完全二叉树
  • 《全面解析鸿蒙相关概念:鸿蒙、开源鸿蒙、鸿蒙 Next 有何区别》
  • Java SE Cloneable接口和深/浅拷贝
  • 聊一聊 C# NativeAOT 多平台下的函数导出
  • day10机器学习的全流程
  • Python入门手册:模块和包的导入与使用
  • 基于SpringBoot开发一个MCP Server
  • 社区造数服务接入MCP|得物技术
  • JavaScript 中 this 指向全解析:从基础到 Vue 应用
  • C语言 文件操作(2)
  • Nodejs+http-server 使用 http-server 快速搭建本地图片访问服务
  • 不同坐标系下的 面积微元
  • 越南跨境电商免税政策遇冷?工商会为何踩下“刹车”
  • 做网站图片怎么找/廊坊百度快照优化排名
  • 带紫色箭头做网站软件/百度官网推广平台
  • wordpress user_register/seo常用方法
  • 有口碑的武进网站建设/网络app推广是什么工作
  • 餐饮网站建设教程/营销型网站建设专家
  • 佛山行业网站建设/搜什么关键词比较刺激