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 拨号上网(亲身经历)相关推荐

  1. 4g模块注册上网 移远_移远EC20(4G模块)通过openwrt路由器拨号上网

    移远EC20是一个兼容性比较强的4G模块.我入手的这个是EC20 R2.1版本,pcie接口的,这个版本是增强版,支持最高150Mbps的下载速率,而普通的EC20只有100Mbps下载速率.这个是全 ...

  2. Openwrt 3G拨号上网

    一.添加VID.PID 在linux_src/drivers/usb/serial/option.c 文件中的 static const struct usb_device_id option_ids ...

  3. 移远EC20设置RNDIS模式拨号上网

    背景 4G模块原本使用QMI方式拨号上网,客户反馈某种定制卡不能上网,切换下拨号模式看下设备能不能正常上网: 过程 openwrt中如果使用RNDIS模式上网需要在kernel配置中使能以下项: Km ...

  4. 【笔记】openwrt - 单线复用(VLAN):拨号上网、局域网、IPTV

    参考 家庭组网深入玩法:单线复用(VLAN) ── 拨号上网+局域网+IPTV - https://www.bilibili.com/video/BV1qV4y147TF OpenWRT 中 vlan ...

  5. openwrt 使用 usb 实现4G拨号上网功能

    上班一年了,最近才觉得应该把学到的东西好好用博客展示出来,而不是排的整整齐齐的放在浏览器收藏夹里!也开始从头发一些博客,但是觉得手头上的工作,也应该及时总结,这篇文章是关于 openwrt 拨号上网的 ...

  6. OpenWrt下通过EC20 R2.0 4G模块实现qmi拨号上网

    OpenWrt下通过EC20R2.0 4G模块实现qmi拨号上网 1.本文档参考资料为Quectel_WCDMA&LTE_Linux_USB_Driver_User_Guide_V1.6.pd ...

  7. 单臂软路由实现(二) 新版OpenWrt实现VLAN划分 结合交换机进行拨号上网

    若想使用只有一个网口的设备搭建软路由(如电脑),则可以通过划分虚拟局域网VLAN,将WAN.LAN的数据分别划分至不同的广播域.利用一根网线连接交换机与电脑,交换机和电脑对Tag标签进行解析,并将两个 ...

  8. openwrt拨号上网设置

    1.首先确定板子LAN 口,挨个用ping进行试验,刷好的路由器默认IP 为192.168.1.1,ping通则为LAN口 2.进入路由器后台管理页面,点击网络,选中其中界面选项 按照下图所示进行WA ...

  9. iptv直播源m3u_Padavan 单线复用实现拨号上网加IPTV 操作记录

    前文:其实这篇文章算是日记了吧,因为基本就是把前人的经验复现而已. 注意!!!实验地区在广东,故其他地区可能不能复现,需要自行修正. 开始之前需要如下: 1.知晓光猫的超级账号密码 2.一台刷好了Pa ...

最新文章

  1. 困了。还得背课文。变词型
  2. 你会给别人提反馈吗?
  3. python程序扩展名主要有-python文件的后缀名都有哪些?
  4. select选中值传递到后台action中
  5. mysql temp table_新特性解读 | MySQL 8.0 Temptable 引擎介绍
  6. java的四种取整方法
  7. 社交礼仪与口才艺术 艾跃进
  8. 个税计算公式excel_财务不会做工资表?全函数统计查询、自动个税计算模板送你,给力...
  9. 金蝶K3系统参数年结不能配置利润科目
  10. 突然断电对oracle的影响吗,当ORACLE突然断电,重新启动过程发生了哪些事?
  11. zigzag走线原理及应用
  12. 固态硬盘比机械硬盘快的原因(科普篇)
  13. 10个降低PCB成本的技巧!PCB采购必须掌握!
  14. 支付宝福卡破解——居中的ViewPager
  15. vue 点击加载更多
  16. Access 窗体实现用户名及密码验证登录
  17. Access提示“操作必须使用一个可更新的查询”的解决办法
  18. 酷狗歌曲资源最新版权保护和反爬机制
  19. win11系统安装oracle11g时遇到INS-13001环境不满足最低要求解决办法
  20. 智慧农业发展,商业计划书撰写,商业模式,ppt亮点

热门文章

  1. 直迈云-研发的【贝乐美】 多商户电商平台/多商户系统
  2. Angular7编译通过typescript报错:找不到模块“@src/environments/environment”。ts(2307)”
  3. 如何将CSV文件快速存入数据库MYSQL中
  4. 天线的最佳长度及计算方法
  5. Java程序设计——Swing UI 高级组件(三)
  6. k8s(Kubernetes)中Pod,Deployment,ReplicaSet,Service之间关系分析
  7. 7779 - KKT基本算法304保龄球340
  8. 要求输入月份,判断该月所处的季节并输出季节(假设:12、1、2 月为冬季,依次类推)
  9. 图片的align属性
  10. 计算机操作系统第八章测试题及答案,《计算机基础》第八章练习题