前言
本设备固件分享链接:
通过百度网盘分享的文件:同华_美hame mpr-a2硬件
链接:https://pan.baidu.com/s/1_-EWytQoSz5Pjw7GiiS1pQ?pwd=lrvy
提取码:lrvy
背景是我从网上淘到hame mpr-A2一样的设备,发现其中使用了breed web控制台,可以刷机,该设备拥有一个rj45网口,一个usb接口以及有wifi功能,而且该设备有openwrt现成的工程文件,我的目标是在原有固件当中加入usb-serial驱动及minicom,这样,配合我手机上的ssh终端,可以实现通过无线连接交换机及路由器等设备的console进行调试,首先openwrt编译环境搭建略过
下载源码
由于lede与openwrt合并,目前可由github下载源码
git clone git://github.com/openwrt/openwrt.git
配置menuconfig,编辑固件
下载后进入openwrt文件夹大体如下
bin feeds.conf.default Makefile tmp
BSDmakefile include package toolchain
build_dir key-build README tools
config key-build.pub rules.mk version
Config.in key-build.ucert scripts version.date
dl key-build.ucert.revoke staging_dir
feeds LICENSE target
由于源码本身没有LUCI,故需要使用feeds添加;
第一坑:
由于源码下载链接发生改变,需要修改feeds.conf.default文件源,我的方法是将原有源注释掉,在网上复制的新源
src-git packages https://github.com/openwrt/packages.git
src-git luci https://github.com/openwrt/luci.git
src-git routing https://github.com/openwrt-routing/packages.git
src-git telephony https://github.com/openwrt/telephony.git
src-git management https://github.com/openwrt-management/packages.git
修改文件.config(隐藏文件),在其中添加
CONFIG_FEED_luci=y
保存后退出,在openwrt文件夹下执行以下命令使用feeds更新安装
./scripts/feeds update -a
./scripts/feeds install -a
配置menuconfig,输入命令make menuconfig如下图已包含luci
因我这刷的是华美Hame mpr-A2的设备,target system,subtarget以及target profile如上图选择,这3项选择后就可以编译出可用固件,但是(BUT),我需要添加usb串口设备,需要增加几个选项,libusb库及常见的usb转串口芯片是ch340和cp2101,需加入驱动如下图选择:
加入minicom,如下图:
如果没有minicom,则保存退出输入以下命令:
./scripts/feeds install minicom
再进入配置。
至此,我所需要的功能都添加完毕了,保存退出后输入以下命令编译
make V=99
第一次编译时间会很长,编译完成后会在openwrt目录下./bin/targets目录下生成相应文件夹,其中会有刷机用的xxx.bin文件。
刷机安装openwrt
按住设备复位件后开机,当指示灯闪烁后松开,若正常,则进入breed web控制台(没有breed web控制台的可能需要拆机线刷,该情况不在本文涉及范围),IP 192.168.1.1。
如图选择:固件更新-常规固件-固件-选择文件,选择刚刚编译好的固件
点击上传,上传完成后,点击更新,更新完成后如下图完成
配置openwrt网络设置
因openwrt默认将设备设置为ap模式,即将rj45有线网口与wifi桥接,且wifi功能未打开,openwrt默认ip为192.168.1.1掩码24位,将电脑ip设置为同网段ip,浏览器登陆192.168.1.1,如下图:
默认无密码,点击login直接登陆
选择network-wireless选项,进入无线设置,点击第二项的edit按钮,进入无线设置,根据需要修改wifi名称即SSID,添加密码,完成后保存,回到wireless页面点击第二项的enable开启wifi,成功后如下图:
选择network-interfaces选项,此时只有一个桥接接口lan(此处忘记截图)
在此处点击add new interfaces,填写名称,协议选择dchp客户端,interface选择eth0,不要勾选桥接接口!点击create interface创建
进入firewall setting选项,选择防火墙配置,openwrt默认配置好两种防火墙陪置,即wan,lan,这里选择wan,点击save保存,此时不要应用配置,保存即可
回到interfaces选项,选择lan的edit,因为默认ip192.168.1.1与我家路由网段冲突,修改为合适网段,
进入physical settings选项,因为该设备默认将wifi与网口桥接,将interface中eth0勾选去掉,桥接选项不用更改,如下图:
此时,保存设置后应用
注意,注意,注意,因修改设置是用网线连接rj45接口,现已将该接口设置为wan口,会导致电脑与路由器失联,luci有一个回滚机制,即在应用配置后规定时间内设备无法与luci连接,会触发回滚至之前连接时的配置,从而导致配置失败,具体情况具体分析,此处,我的方法是用wifi快速连接到路由器,并输入之前配置的192.168.100.1登陆openwrt luci界面即可.
成功后,设置密码,其网络配置就完成了.
最后,通过SSH连接,使用minicom,操作usb-serial
最后就很简单了,直接上图
连接usb-serial线
连接交换机console口
手机ssh连接进入openwrt操作minicom