openwrt-MT7688 拨号上网(亲身经历)
Openwrt-MT76S-WMD7688A总结
一、环境的搭建
本次实践操作的核心板采用的是无涯科技独立研发的WKA-M76S-WMD7688A开发板,此开发板已烧录带有串口传输、网络传输、烧写Flash功能的U-Boot,不建议自己重新烧写U-Boot。官网还提供了openwrt最新版本的系统源码,可直接编译即可生成可烧录的.bin文件,下载链接如下:
链接:百度网盘
提取码:9z9z
本开发套件已经板载CP2014芯片,Type-C接口可作为调试串口也可作为供电串口,PC端需要搭载有CP210x驱动,上方下载的开发环境配套软件已包含(/开发环境/开发工具/相关驱动),驱动下载安装成功后,在电脑设备管理器中查看对应的端口号。
二、SecureCRT的使用
SecureCRT 是一款终端仿真程序,支持 SSH(SSH1 和 SSH2)以及 Telnet 和 rlogin 协议。因此我们用 SecureCRT 来打开 Ubuntu 的控制台,也可以用来作为调试串口的超级终端。我们这里先讲解,如何让SecureCRT 打开 Ubuntu 的控制台。用 SecureCRT 打开 Ubuntu 的控制台,其实就是用 SecureCRT 的 serial 协议访问串口控制台。
(1)如图所示,在电脑设备管理器中查看到串口对应的串口号;
(2)运行“SecureCRT”并选择端口、波特率、数据位等,一定不要勾选流控,然后点“连接”,如图1所示:
图1:串口设置
三、openwrt源码的编译
1.FileZilla的使用(因为我使用的是老版本的ubuntu,没有设置共享文件夹这些)
打开FileZilla软件,主机输入你的Ubuntu的ifconfig的ip地址,用户名:wooya,密码:123456,端口:22,即可建立连接,软件示意图如下:
图2:软件示意图
成功建立连接后,将PC端上的openwrt源码拷贝至虚拟机中(注:在PC机与虚拟机之间进行文件传输时,为避免部分文件造成损坏,需先将文件转为压缩包形式传输进虚拟机再进行解压),接下来变可以进行源码的编译。
2.源码的配置与编译
(1)在虚拟机中解压源码,进入源码目录
$ cd openwrt-hiwooya/
(2)将设备对应的配置文件拷贝为 .config
cp 01-config-WMD-76X8-12816 .config
(3)在编译时,我们只需要关心Target System、Subtarget、Target、Profile 即可,只要这 3 个选项配置正确,系统就能正常启动,选中Package the OpenWrt-based Toolchain会编译过程中生成此开发板的交叉编译工具(后续编译quectel-CM)。
$ make menuconfig
进入内核模块后应选择调配至如下图所示(后续需要其他功能可重新添加选项重新编译烧录即可):
图3:系统配置
更多配置(建议勾选):
Kernel modules >>
USB Support >>
<*> Kmod -usb-core
-*-Kmod -usb-net
-*- kmod-usb-net-cdc-ether
<*> kmod-usb-net-cdc-mbim
-*- kmod-usb-net-cdc-ncm
<*> kmod-usb-net-cdc-subset
<*>kmod-usb-net-qmi-wwan
<*>Kmod-usb-ohci //这个选项一定要勾选,否则可能无法在系统中查看设备
<*>Kmod-usb-serial
<*>Kmod-usb-serial-option
<*>Kmod-usb-serial-wwan
<*>kmod-usb-uhci
<*>Kmod-usb2
NetWork >>
<*> wwan
<*>chat
<*>ppp
<*>uqmi
Utilities >>
-*- comgt
<*> comgt-ncm
<*>usb-modeswitch
Luci >> //方便web LuCi界面控制
Collections
<*> luci
Applications
<*> luci-app-multiwan (optional to support multiple 3g dongles)
<*> luci-app-qos (optional to provide QOS support)
Protocols
<*> luci-proto-3g
-*- luci-proto-ppp
(4)将openwrt整个文件目录赋予make执行权限,chown -R wooya:wooya openwrt-21.02(亲身实践,使用sudo make 编译过程可能会出错,反正我是这样,给予权限后直接make就能顺利编译了),接着输入make编译(首次编译时间较长),可执行 make V=s -j 12,此条命令指动用多少核心一起编译,具体数量看自己虚拟机配置,可大大提高编译速度。
(5)编译完成后固件生成在源码目录openwrt-21.02/bin/targets/ramips/mt76X8(编译的主控类型)/openwrt-ramips-7688A-squashfs-sysupgrade.bin
注:如果中途编译失败,一定记得进行make clean,需要删除之前中途编译生成的东西,可参考https://github.com/coolsnowwolf/lede
二次编译:
./scripts/feeds update -a
./scripts/feeds install -a
make defconfig
make download -j8
make V=s -j$(nproc) //nproc虚拟机配置的核心数量
如需重新配置:
rm -rf ./tmp && rm -rf .config //若不删除文件,重新编译后的.bin文件可能没有变化
make menuconfig
make V=s -j$(nproc)
四、拨号上网
注:我自己当时不知道,我使用的源码配置可以直接通过fournet &,执行拨号上网操作,所以在网上搜寻了移远拨号的代码和具体配置环境情况如下(相比之下那是相当麻烦),我后面自己重新烧录后都直接使用fournt上网测试。
开发板采用的Quectel-EC20 Mini PCIe-CE 4G模块,7688A开发板连接天线是wifi作用,Quectel-EC20 Mini PCle-CE连接天线为4G上网使用(注:一定不要忘记连接天线),拨号上网使用的是移远提供的quectel-CM(
链接:https://pan.baidu.com/s/1PlCGpDocDSIfrBdA 提取码:1234),这是一个4G连接管理程序,使用需要将上面编译完成后的生成的交叉编译工具链(与编译出的.bin在同一目录)解压至 /opt 目录下,qucetel-CM源码需放置在/openwrt-21.02/package/中,
(1)$cd /openwrt-21.02/bin/targets/ramips/mt76x8
(2)sudo tar xjvf openwrt-toolchain-ramips-mt76x8_gcc-8.4.0_musl.Linux-x86_64.tar.bz2 -C /opt
(3)设置环境变量
sudo vi /etc/bash.bashrc
最后一行添加:
export PATH=/opt/openwrt-toolchain-ramips-mt76x8_gcc-8.4.0_musl.Linux-x86_64 / toolchain-mipsel_24kc_gcc-8.4.0_musl/bin:$PATH
export STAGING_DIR=/home/wooya/openwrt-21.02/staging_dir //保存并退出
$ source /etc/bash.bashrc
(4)交叉编译
$ mipsel-openwrt-linux- musl-gcc *.c -o quectel-CM -lpthread –ldl
编译结束会生成quectel-CM可执行文件,将其通过WinSCP(包含在配套开发工具中)传入开发板中,(注:进行此步骤时,最好断掉所有网络,一根网线连接PC主机与开发板,此时在串口控制面板中ifconfig查看板子IP地址才能顺利连接,避免部分网络网关可能会发生占用无法连接)
(5)执行文件
插入EC20 4G模块后,
$ ls /dev/ 正常情况将会看到USB转串口设备及cdc-wdm0,若不存在,则可能驱动编写有问题,未能读出USB设备,如图4所示:
图4:dev设备图
$ chmod 777 quectel-CM
$ quectel-CM & 即可拨号成功且分配一个IP地址,如图5所示也可使用fournet & 进行拨号,每次重新拨号后分配的IP地址并不相同。
图5:成功拨号
因为我是执行的插卡拨号,注意,有的板子SM卡可能不支持热拔插,需要断电重新插卡再重启。
补充点:自己经常使用的是使用Secuer-CRT和Xshell 7 进行SSH连接来操控Ubuntu和板子,每次在重新烧录后可能会导致连接不上板子,也用不了scp传输文件,是因为Ubuntu在连接一次后会有密钥,记录在/users/wooya/.ssh/known_hosts(你自己主机的名称哈)当下次访问相同子机服务器时,会核对公钥。如果公钥不同,会发出警告,此时删除known_hosts即可
wooya@ubuntu:~/gw1302s-change$ ssh root@192.168.2.15
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:PB3TrZA29BhySWBGV2HjGleJ5h0cKZcw3tgv3kCznVo.
Please contact your system administrator.
Add correct host key in /home/wooya/.ssh/known_hosts to get rid of this message.
Offending ED25519 key in /home/wooya/.ssh/known_hosts:2
remove with:
ssh-keygen -f "/home/wooya/.ssh/known_hosts" -R 192.168.2.15 //重点
ED25519 host key for 192.168.2.15 has changed and you have requested strict checking.
Host key verification failed.
//解决方法:此时执行 ssh-keygen -R 192.168.2.15 //IP地址输入你要连接的地址,接着再执行SSH
ssh root@192.168.2.15
/*************************scp问题*******************************/
usr@usr-virtual-machine:~$ sudo scp test.c root@192.168.2.15:~/
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:PB3TrZA29BhySWBGV2HjGleJ5h0cKZcw3tgv3kCznVo.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ED25519 key in /root/.ssh/known_hosts:4
remove with:
ssh-keygen -f "/root/.ssh/known_hosts" -R "192.168.2.15"
ED25519 host key for 192.168.2.15 has changed and you have requested strict checking.
Host key verification failed.
lost connection
rm -r /home/usr/.ssh/known_hosts
scp test.c root@192.168.2.15:~/
scp libloragw416.tgz root@192.168.2.15:~/
root@192.168.2.15's password:
libloragw416.tgz 100% 1154KB 155.7KB/s 00:07 */
综上内容自己纯手打,参考了其他博主的方法,其实也就是算一个总结。针对其他部分的引用或者部分类似,本人十分抱歉,这原本是我自己弄完后做的一个总结,想的发出来让可供小白参考。
openwrt-MT7688 拨号上网(亲身经历)相关推荐
- 4g模块注册上网 移远_移远EC20(4G模块)通过openwrt路由器拨号上网
移远EC20是一个兼容性比较强的4G模块.我入手的这个是EC20 R2.1版本,pcie接口的,这个版本是增强版,支持最高150Mbps的下载速率,而普通的EC20只有100Mbps下载速率.这个是全 ...
- Openwrt 3G拨号上网
一.添加VID.PID 在linux_src/drivers/usb/serial/option.c 文件中的 static const struct usb_device_id option_ids ...
- 移远EC20设置RNDIS模式拨号上网
背景 4G模块原本使用QMI方式拨号上网,客户反馈某种定制卡不能上网,切换下拨号模式看下设备能不能正常上网: 过程 openwrt中如果使用RNDIS模式上网需要在kernel配置中使能以下项: Km ...
- 【笔记】openwrt - 单线复用(VLAN):拨号上网、局域网、IPTV
参考 家庭组网深入玩法:单线复用(VLAN) ── 拨号上网+局域网+IPTV - https://www.bilibili.com/video/BV1qV4y147TF OpenWRT 中 vlan ...
- openwrt 使用 usb 实现4G拨号上网功能
上班一年了,最近才觉得应该把学到的东西好好用博客展示出来,而不是排的整整齐齐的放在浏览器收藏夹里!也开始从头发一些博客,但是觉得手头上的工作,也应该及时总结,这篇文章是关于 openwrt 拨号上网的 ...
- OpenWrt下通过EC20 R2.0 4G模块实现qmi拨号上网
OpenWrt下通过EC20R2.0 4G模块实现qmi拨号上网 1.本文档参考资料为Quectel_WCDMA<E_Linux_USB_Driver_User_Guide_V1.6.pd ...
- 单臂软路由实现(二) 新版OpenWrt实现VLAN划分 结合交换机进行拨号上网
若想使用只有一个网口的设备搭建软路由(如电脑),则可以通过划分虚拟局域网VLAN,将WAN.LAN的数据分别划分至不同的广播域.利用一根网线连接交换机与电脑,交换机和电脑对Tag标签进行解析,并将两个 ...
- openwrt拨号上网设置
1.首先确定板子LAN 口,挨个用ping进行试验,刷好的路由器默认IP 为192.168.1.1,ping通则为LAN口 2.进入路由器后台管理页面,点击网络,选中其中界面选项 按照下图所示进行WA ...
- iptv直播源m3u_Padavan 单线复用实现拨号上网加IPTV 操作记录
前文:其实这篇文章算是日记了吧,因为基本就是把前人的经验复现而已. 注意!!!实验地区在广东,故其他地区可能不能复现,需要自行修正. 开始之前需要如下: 1.知晓光猫的超级账号密码 2.一台刷好了Pa ...
最新文章
- 困了。还得背课文。变词型
- 你会给别人提反馈吗?
- python程序扩展名主要有-python文件的后缀名都有哪些?
- select选中值传递到后台action中
- mysql temp table_新特性解读 | MySQL 8.0 Temptable 引擎介绍
- java的四种取整方法
- 社交礼仪与口才艺术 艾跃进
- 个税计算公式excel_财务不会做工资表?全函数统计查询、自动个税计算模板送你,给力...
- 金蝶K3系统参数年结不能配置利润科目
- 突然断电对oracle的影响吗,当ORACLE突然断电,重新启动过程发生了哪些事?
- zigzag走线原理及应用
- 固态硬盘比机械硬盘快的原因(科普篇)
- 10个降低PCB成本的技巧!PCB采购必须掌握!
- 支付宝福卡破解——居中的ViewPager
- vue 点击加载更多
- Access 窗体实现用户名及密码验证登录
- Access提示“操作必须使用一个可更新的查询”的解决办法
- 酷狗歌曲资源最新版权保护和反爬机制
- win11系统安装oracle11g时遇到INS-13001环境不满足最低要求解决办法
- 智慧农业发展,商业计划书撰写,商业模式,ppt亮点
热门文章
- 直迈云-研发的【贝乐美】 多商户电商平台/多商户系统
- Angular7编译通过typescript报错:找不到模块“@src/environments/environment”。ts(2307)”
- 如何将CSV文件快速存入数据库MYSQL中
- 天线的最佳长度及计算方法
- Java程序设计——Swing UI 高级组件(三)
- k8s(Kubernetes)中Pod,Deployment,ReplicaSet,Service之间关系分析
- 7779 - KKT基本算法304保龄球340
- 要求输入月份,判断该月所处的季节并输出季节(假设:12、1、2 月为冬季,依次类推)
- 图片的align属性
- 计算机操作系统第八章测试题及答案,《计算机基础》第八章练习题