QCA9531烧录固件方法

 

  1. 硬件连接,需要接收上串口与网口。如下图所示:

 

编程器不拆线刷bios 编程器改bios_Network

 

注意: 波特率115200,3.3V不用接,如果连接 失败,建议TX和RX交换一下。

 

编程器不拆线刷bios 编程器改bios_IP_02

  1. 板子一通电,在串口终端按回车,进入UBOOT的命令模式,输入httpd或者http,如下图所示:

 

 

编程器不拆线刷bios 编程器改bios_编程器不拆线刷bios_03

  1. 把PC机的IP修改成:10.10.18.100,掩码:255.255.255.0。打开PC机的IE输入10.10.18.1,如下图所示:

 

编程器不拆线刷bios 编程器改bios_固件_04

 

  1. 点击“选择文件”后,然后点击“Update firmware”,

 

编程器不拆线刷bios 编程器改bios_固件_05

串口终端会出现下图所示:

 

 

编程器不拆线刷bios 编程器改bios_编程器不拆线刷bios_06

  1. 固件升级成功后,会直接自动重启进入系统。

设置ip:192.168.1.1

子网掩码:255.255.255.0

从192.168.1.1进openwrt管理界面

 

一些配置:

         network-firewall设置general settings 和port Forwards

         general settings:改成accept

         port Forwards 添加 ssh 22 22

         http 80 80

 

 

QCA固件生成过程

下面讲解如何通过openwrt的路由器搭建batman网络,包括通过有线接入batman网络。本文假定路由器已经成功安装了openwrt系统,由于安装系统的较多,本文不再赘述。

1 batman-adv的安装

首先需要确保自己的路由器安装了batman-adv安装方法有很多种,这里推荐2种。通过以下命令可以查看是否安装了batman-adv

opkg list | grep kmod-batman-adv

如果常规安装了通常会有以下输出:

kmod-batman-adv - 4.9.172+2018.1-7

1.2  okpg安装法

输入opkg install kmod-batman-adv即可安装batman-adv

输入opkg install batctl可以安装一个batman-adv的管理工具,虽然不是必须,但是推荐安装一下

1.3  编译安装

此方法类似于重新编译openwrt,因此需要参考内核编译的相关内容,这里以qca9531为例讲解,以下操作在Linux中进行,作者采用的是ubunt18

  1. 下载Openwrt源码,然后进入源码的根目录
  2. 更新安装包:
    ./scripts/feeds update –a
  3. 安装软件包到feeds文件夹:
    ./scripts/feeds install –a       
  4. 添加Batman源码和Batman调试工具batctl

             scripts/feeds install kmod-batman-adv
             scripts/feeds install batctl

  5.通过输入下文进入配置:
  make menuconfig

  6.根据自己的路由器型号选择型号:

编程器不拆线刷bios 编程器改bios_固件_07

  7.将Batman源码添加进编译选项中
  Kernel modules ---> other modules ---> kmod-batman-adv

  8.添加Batman的调试工具batctl
  Network --->batctl

  9.添加iperf带宽测试工具。
  Network - - - >iperf

  10.为OpenWrt系统添加LuCI,方便通过网络界面控制
  LuCI ---> Collections ---> luci

  11.(可选)为例方便控制我们可以添加以下服务

  Network  ---> SSH ---> openssh-client
  Network  ---> SSH ---> openssh-client-utils
  Network  ---> SSH ---> openssh-keygen
  Network  ---> SSH ---> openssh-server
  Network  ---> SSH ---> openssh-sftp-client
  Network  ---> SSH ---> openssh-sftp-server

  12.开始编译,其中V=s表示显示详细信息,-jx表示x个线程(推荐与核心数相同):
  make V=s -j1

 

 

第一次编译的时间较长,由电脑的CPU确定。

完成上述工作后,需要将编译好的系统植入路由器。读者根据当前路由器情况选择一种更新固件的办法:

1.已经烧录好了openwrt,想换成本文刚刚编译好的系统:固件在openwrt_project/openwrt/bin/targets/ar71xx/generic

把openwrt-ar71xx-generic-ap147-010-squashfs-sysupgrade.bin这个文件通过上面烧录方法进行烧录,可以通过xshell的xtfp工具移到桌面,然后进行烧录。

编译的时候出现这个,openssh-server-pam取消就正常了

 

编程器不拆线刷bios 编程器改bios_固件_08

 

 

本文主要基于batman官网说明书:https://www.open-mesh.org/projec ... -adv-Openwrt-config 先说点基本概念
802.11s只是无线的mesh。通过batman才可以实现有线回传。
batman不同版本配置不一样,这里适用的是2019.0-3以后的版本。

 

编程器不拆线刷bios 编程器改bios_固件_09

batman的原理如上图所示,即把多个接口(interface)合并为一个batman格式的虚拟接口,然后该接口可以像eth0(lan口)一样并入br-lan中,实现batman网桥。
也就是说,我们需要构建了一个batman的虚拟接口,这个接口包含了802.11s的无线接口,某些有线网口(见文章后面的有线回传设置)。

 

先添加一个802.11s的wifi,要注意所有节点信道要一致。可以通过网页添加,也可以直接修改/etc/config/wireless(如下配置)。

2      组建无线batman网络

这一步主要是使得各个路由器可以通过batman网络互联。

下面会涉及到对许多文件的修改,可以使用ssh连接路由器后用vim命令打开文件并且修改,也可以通过fts或者sftp等方式把文件下载到电脑中然后修改并上传。

----无线设备的设置

下面进行修改:

config wifi-device 'radio0'                             //网卡的内置标识符

      option type 'mac80211'                         //该接口使用的驱动或芯片类型。

  option channel '9'                             //wifi信道;作为sta,可使用auto,作为AP,必须指明信道值channel应该根据自己的要求设置,应该选择一个干扰比较少的信道。

      option hwmode '11g'                             //选择无线协议,这里表示是802.11g

      option path 'platform/ar934x_wmac'

      option htmode 'HT40'                            //value:HT20 HT40 or HT40+

      option country 'US'                                //国家代码用来指名规定设置,影响可用的通道和传输功率

    option disabled '0'                                  //记得改为0

2、然后将2.4G的网络配置修改如下,本设置相当于是对网络中协议相关的部分进行设置,标红的部分下文会有讲解:

---无线接口设置,每个适配器至少包含一个

config wifi-iface 'wmesh'                                     //指定使用的无线适配器,2.4G网段

      option device 'radio0'                                     //表明设定设备为'radio0'

      option ifname 'adhoc0'                                   //将设备的接口设定为adhoc0

    option network 'batnet'                                  //设定使用是batnet网络,桥接到batnet

      option mode 'adhoc'               //选择无线网络的操作模式,ap,sta,adhoc,wds,monitor,表明2.4G的网络工作在adhoc模式

      option ssid 'mesh'                                  //将wifi名称设置为mesh,

      option mcast_rate '18000'

      option bssid '02:CA:FE:CA:CA:40'       //将wifi的bssid设置成02:CA:FE:CA:CA:40

      option encryption 'none'

 

ssid: 就作用上来讲,SSID看起来就像是无线接入点(AP)MAC地址,所以无线局域网上的所有无线设备必须使用相同的SSID才能进行互相沟通。SSID就是一个WiFi网络的网络名称,我们平时连接WiFi网络的时候,能够看到一些TP-LINK_XXXX的网络,这个TP-LINK_XXXX就是该网络该路由的ssid.

bssid: WIFI MAC指的是你无线网卡的mac地址,BSSID来自于设备的的虚拟mac。要了解BSSID,首先得知道BSS的概念,BSS叫基础服务集,也就是提供独立WIFI服务的概念,那么BSSID就是设备虚拟的MAC地址,这个MAC可以和设备的实际MAC一样,也可以是在实际MAC基础上末尾数字有所变动,不同厂家实现方式不一样。

注意:在同一个网络中的所有Batman节点,应满足以下几个条件:(1)Wifi的频率相同,channel相同;(2)MAC地址不同,如果MAC地址相同的话,就不能够组网,这是当所有自组网不能组网的时候首先应该被排除的一个条件(3)bssid相同。:

可能会有一个“”的选项,见到了记得改成0

然后检查一下连接上了没有:
可以通过网页查看,如下图就是连上了

 

之后开始配置batman
首先建立batman虚拟接口,这里只能通过修改/etc/config/network来做,在里面添加下面内容

这里我们首先保证路由器直接可以ping通,之后再做桥接

1、添加如下

config interface 'batnet'                                           //这里我们定义的batman接口名为bat0

        option mtu '1560'              

        option proto 'batadv'                                          //该接口使用batadv协议

        option mesh 'bat0'                                                // mesh网络为名为bat0

        option routing_algo 'BATMAN_V'                        // 使用BATMAN_V路由算法

 

然后把之前创建的802.11s无线接口配置一下,同样是修改/etc/config/network文件,添加下面几行

2、添加如下

config interface 'bat'

      option ifname 'bat0'

      option type 'bridge'

      option proto 'static'

      option mtu '1560'

      option ipaddr '10.0.0.1'

      option netmask '255.0.0.0'

这里设置了一个桥接以及路由器在btaman网络中的IP地址

config interface 'bat':添加一个网络接口,名为bat

option ifname 'bat0':选择一个物理层的接口名为bat0,实际上bat0就是batman-adv对应的物理接口,向该接口发包就会在batman网络中转发

option type 'bridge':设定此网络接口为桥接

option proto 'static':静态IP协议

option ipaddr '10.0.0.1':这里就是设置路由器自己的IP地址,不同路由器应该要有不同的IP,可以根据需要选择合适的网段,通常可以作为内网的网段10.0.0.0~10.255.255.255,172.16.0.0~172.31.255.255,192.168.0.0~192.168.255.255。

option netmask '255.0.0.0':这是根据网段选择的掩码

2.3       测试

所有节点配置之后重启一下,应该无线mesh就配置好了,可以用登录路由器后输入batctl o或batctl n查看,像下面那样就成功了(我一共有三个mesh无线节点,所有batctl n能看到链接了两个节点)使用ping命令检查是否可以通过IP连同对应的路由器

 

编程器不拆线刷bios 编程器改bios_Network_10

 

 

 

在做有线回传的时候遇到的一个问题:

两台电脑ping不了,没有打开DHCP

 

编程器不拆线刷bios 编程器改bios_编程器不拆线刷bios_11