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  */

综上内容自己纯手打,参考了其他博主的方法,其实也就是算一个总结。针对其他部分的引用或者部分类似,本人十分抱歉,这原本是我自己弄完后做的一个总结,想的发出来让可供小白参考。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值