BACRouter版本升级记录

旧固件

4.15 2021.9.15  下载

Modbus: 更方便的主站/从站复制功能.

Modbus: 支持批量修改从站的Modbus参数.

Modbus: 多状态对象可以映射于寄存器内的部分位(不必映射于整个寄存器).

4.14 2021.8.25 下载

紧急升级功能存在一个bug导致旧的配置未被删除,如旧的配置有错误可能导致WebUI无法使用。如果旧版本固件因为配置问题无法使用,请用本固件紧急升级两次,第一次将升级固件,第二次就会删除旧的配置。

修复Modbus虚拟设备模式的bug,此bug在虚拟设备数量大于5时触发。

修复WebUI当导入的Modbus从站数量超过限制时的bug.

Modbus主站与从站的数量限制由100改为128.

修复WebUI停用“包捕捉映射”的bug.

为兼容更多的上位机系统及DDC编程软件,增加多个名称分隔符选项,修正内部对象名以避免与新增加的分隔符冲突。

4.13 2021.8.5  下载

Modbus从站设定增加“批量地址”功能。

MS/TP扩展帧支持选项移到扩展配置模式中。

4.12 2021.7.23  下载

从3.x开始的一个长期bug可能导致ms/tp端口停止工作。

4.11 2021.7.16

在4.10版本中MS/TP更新时序引入一个bug,由高等级编译优化引发。

4.10 2021.7.13

BACnet 协议版本号改为16

Polarity在Binary Value对象中是私有属性

MS/TP更新时序以兼容填充字节

Modbus 主站: 批量导入,批量实例号,批量点表

Modbus 从站: 导入点表

Modbus 主/从站: 复制与上下移动的UI.

4.09  2021.7.02  下载

兼容新硬件变更.

BTL兼容性: max_info_frames与max_master在BACnet侧可写

4.08  2021.6.22

BTL 10.2.3.6 要求路由在发送拒绝包之前先尝试查找下游路由。

修复bug。此bug当VBUS被使能时可能被触发。

4.07  2021.6.13

修正4.05版引入的bug,此bug可能造成特定情况下无法进入配置界面。(请注意在http://IP/app/upgrade有一个后备升级固件的入口)

一些UI的小修正.

4.05  2021.6.7

Modbus对象名移除最顶层的”modbus_master”.

对象名分隔符”|” 改为可配置.

值对象允许与输出对象重叠.

一些界面修正

4.04  2021.6.1

大量的Modbus网关功能的更新:多状态对象,值对象,二进制文本,编组读取,批量换算,导入导出CSV点定义

转换BASgatewayLX的CSV格式配置文件

4.03  2021.4.23

Modbus网关

离线配置

3.23  2021.3.19

包捕捉到BACnet的映射模块的Bug被修复。此Bug可能导致包捕捉功能在BACnet侧启用时,后台程序崩溃重启。

修复Bug当扩展帧支持未被启用时,在ms/tp端口发出的请求中携带的max_apdu_length_accepted参数未正确设置。

WebUI的”系统设定“页面加入更多的信息,如全部/剩余内存,启动计时。

3.21  2021.2.22

MSTP从站代理的bug修复:当从站绑定失效时守护程序崩溃与重启问题。当在其它端口发送I-Am应答时的Hop count不正确问题.

APDU应答包及网络层拒绝包同样必须遵守目的网络的忙碌状态。

3.20  2021.1.26

取消创建网络端口的限制,现在只有总网络端口数量的限制。这将大大方便用户修改与切换端口的配置。

如果root密码还未被设置,在“系统设定”页内设置root密码的按钮将以红色字体提醒用户。

3.19  2021.1.20

在3.18上可能偶然地触发一个芯片的bug造成MS/TP无法启动

3.18  2021.1.18

MS/TP配置增加”扩展帧支持”选项.

网络层拒绝包应采用单播以遵守BTL测试标准。

外部设备的存活时间应加上30秒以遵守BTL测试标准。

发往广播地址的确认服务应在应用层被丢弃以遵守BTL测试标准

BBMD应丢弃相同UDP端口且单播的本地IP子网的转发包.

“同子网多个广播管理设备”逻辑在查找BDT表时遇到不同UDP端口判断出错的Bug被修正。

3.17  2021.1.13

WebUI 增加网络层设定页面,该页面可以显示路由表。

修复一个从设备代理的bug:当收到一个发往从设备的单播who-is时,服务所携带的设备id范围参数也必须被遵守,就如同广播的who-is。

3.15  2020.10.26

MS/TP加入了从JCI的FEC2611与IOM3731地址冲突中学习到的检测算法.

3.14  2020.10.23

MS/TP加入了地址冲突检测功能,冲突的地址会用红色显示在“最近活动的其它站点”中。因为MS/TP在冲突场景下的表现非常多样复杂,该检测并不准确,只能用于参考。

修复了由3.0版本引入MS/TP底层状态机潜在bug.

3.13  2020.10.5

基于测试及用户反馈,许多(可能是大部分)设备没有遵从BACnet标准中MS/TP接收有限状态机在遇到错误时的处理方式。我们私有的 “超时中止“特性在这种情况下并不能按预期工作,甚至造成性能下降。因此”超时中止”特性被移除。

MS/TP的运行信息页面增加更多的统计信息。

从3.08版本引入的WebUI在BIP的外部设备模式下的Bug被修复。

3.11  2020.7.14

修正mstp对错误包的占用时间计算错误。

修正3.08引入的mstp从站代理的bug

一些小的UI改进。

3.10  2020.7.1

因为从2.x升级到3.x,很多配置项改变。所以在3.00~3.09版中,升级固件时,升级脚本将安装新的配置文件。在这个版本中,升级功能增加一个“保留配置”的选项。如果配置文件错误,在打开WebUI时将有一个警告。

3.09  2020.6.30

修正3.08版本引入的读取mstp运行信息时的错误。

一些小的UI改进。

3.08  2020.6.28

修正: 单跳方式的广播分布在标准中只是可选功能。从版本3.00起,如果跨网广播支持被选中,BACRouter将强制其它广播管理设备(BBMD)使用单跳方式。这是不正确的行为,在此版本中得到修正。

广播分布表(BDT)的编辑方式得到改进。当提交时,广播分布表(BDT)中的表项将得到检查,排除可能错误配置。这种检查在收到BDT BVLL包时,同样执行。

如果同子网多个广播管理设备(BBMD)未被选中,当收到未记录在本地广播分布表(BDT)中的广播管理设备(BBMD)发来的转发包时,将记录并丢弃该转发包。此功能在绝大多数场合中将有助于识别BBMD的配置问题。上一版本的“报告多个广播管理设备”功能被本功能覆盖,所以取消。

下载配置的文件名设置为IP_版本号.json,例如:192.168.100.1_3.08.json

上传配置将先读入到WebUI中进行编辑,方可保存。如此可避免潜在的版本兼容问题。

3.06  2020.5.22

因为Ethernet端口现在已很少用到,缺省将其关闭,同时如果BIP与Ethernet同时被启用,将弹出警告,提醒用户注意可能的路由回环。

将默认的捕捉缓冲区大小增加为4M。

3.05  2020.5.15

包捕捉功能映射到BACnet。 每个链路层端口都有独立的”Capture buf_size”与”Capture command” 多状态值. “Capture buf_size”可以在”64K”到”16M”之间设置。 “Capture command”可以在”Stop&Clean”, “Start”, “Stop”之间设置。

此功能应国外用户需求开发,使用场景如下:路由默认开启包捕捉。当上位机发现某设备的通讯异常时,可以停止路由对应端口的包捕捉(使用“Stop”保留捕捉数据,而不是”Stop&Clean”),然后通过邮件提醒管理员,从WebUI读取当时的包捕捉数据进行分析。

3.04  2020.4.28

增强安全性,由WebUI可修改root密码。

3.03  2020.4.23

BACRouter以Initialize-Routing-Table包查询路由表的方式, 确认其它的路由器仍然存活。但是附录135-2012AL移除了路由器对Initialize-Routing-Table的强制支持。本版本增加通过Reject-Message-To-Network包确认路由存活的方式。

BIP BVLL对转发 (Forwarded) 的NPDU的包头要比其它的包头长6个字节,老版本在较验转发的NPDU包长时有个隐蒧的Bug,本版本已得以修正。

3.02  2020.3.26

UI的小修正

3.01  2020.3.17

系统设定增加下载配置与上传配置功能

3.00  2020.3.10

增加包捕捉功能:

所有端口均支持包捕捉。

因为Wireshark不支持MSTP扩展帧解析,扩展帧在下载时转为常规数据帧(幸运的是,Wireshark并不抱怨长度溢出)。

MSTP支持包间隔格式,可以在Wireshark中以5us精度显示包前的空闲时间,是时序与性能分析的利器。

支持持续化包捕捉,提供API接口,方便自动化流量记录。

MSTP移除自动地址探测功能。因为设备无法保证同一时间上线,无法完全避免地址冲突。如现场调试时,需要知道可用MAC地址及最大扫描地址,可以采用下述方式:开启侦听模式,从运行信息得到“当前最大扫描地址”及“最近活动站点”。

MSTP增加最大扫描地址实时分析功能,在运行信息中显示,如与配置值不符,将提示“不匹配”

MSTP增加侦听模式,可以在不干涉总线运行的前提下,检测总线运行情况。

MSTP的Web配置界面,提供简单模式与扩展模式选择。

MSTP的所有超时改为浮点数,方便精确定义。

MSTP从设备代理前版只支持广播的Who-Is查询,现版本增加支持单播的Who-Is查询

MSTP从设备代理前版应答I-Am采用网内广播,现版本采用单播

MSTP从设备代理功能修正前版中分析Who-Is查询的路由来源的漏洞。

BBMD增加选项在发现内网有多个BBMD时错误报警。

对2.17版提供功能的修正,增加“接受不匹配的目标地址”选项,如果启用,仅打印报警信息,如果未启用,打印错误信息并丢弃。

很多的WebUI小改进。

2.18  2019.4.16

提高了IP与以太网口的性能

在Unconfirmed COV通知中的进程0保留给未订阅的COV通知,当没找到进程0时不再报告错误。

2.17  2019.4.2

在前版中,当从单播地址接收到Original-broadcast BVLL包或从广播地址接收到Original-unicast BVLL包,认为是个错误而丢包。有客户报告江森的CCT用单播地址发送Original-broadcast BVLL包,所以此版中仅打印报警信息。

2.16  2019.2.25

从版本2.0.8起,  仅支持转发私有的网络层包,其它不认识的网络层包将被拒绝。此行为不利于支持标准的升级。本版本中所有不认识的网络层包均支持转发。

2.15  2017.10.19

重定向 URL “/” 到 “/?” 以支持Edge 浏览器 (否则将不停地要求认证)

修正MSTP标准状态机中的Bug: 令牌重复可能导致转发令牌给自身.

MSTP标准状态机中,当设备处于单主机模式下,其开始查询一个主站后,发送max_info_frames * Npoll 个帧。修改为更合理的行为:当结束查询所有主站后发送max_info_frames * Npoll 个帧.

2.14  2017.10.13

修复从2.0引入的Bug,当MSTP发送Expecting reply请求到255地址时,不必等待回应。

2.13  2017.9.19

当MSTP自动地址分配与波特率强制功能同时启用时,隐藏的bug可能(极其罕见的条件下)引发。

2.12  2017.7.10

优化路由表项保护功能: 来自下一跳的删除将跳过保护.

支持采用6.5.3中查找网络路由地址的方法1与4的设备。

2.11  2017.6.16

此次更新有助于在大型BACnet互联网络中快速建立路由表。

当BACRouter启动时, 广播一个无目标网络号的Who_Is_Router_To_Network以学习其它路由的信息.

当收到无目标网络号的Who_Is_Router_To_Network/Router_Busy_To_Network/Router_Available_To_Network, BACRouter回复的网络号最多可达1120个(对比前版本的112个).

2.10  2017.6.13

错误修下: ReadRange在读取property_list不应返回以下三个属性: object_identifier; object_name; object_type.

启动时延时1秒发送Network_Number_Is,因为如果路由器做为BIP的外部设备,此时注册流程尚未完成。

2.09  2017.6.10

保护路由表项从最后活动计起60秒,避免路由回环时的广播风暴。

2.08  2017.6.7

错误修正: 正确转发私有的网络层包.

转发Reject-Message-To-Network(原因4,包太长)时,使用单播地址.

修改后台的最大apdu重试为10,与WebUI一致。

2.07  2017.6.5

遵从BACnet Router与BBMD的设备描述.

如果没有收到Who_Is_Router_To_Network或Initializing_Routing_Table包的回应, 删除无效的路由. 此特性有助于从错误的网络配置中恢复.

在网络回环时(当配置错误时), 避免发送过多的I_Am_Router_To_Network.

减少复杂网络下的内存消耗.

2.06  2017.6.1

避免BBMD广播风暴.

广播发送转发的Reject-Message-To-Network包(只针对拒绝理由1,2,4).

抛弃含有错误路由信息的Reject-Message-To-Network包.

检查NPDU包头的源网络.(对Initializing-Routing-Table包特别处理)

2.05  2017.5.23

修正全局广播的initializing-routing-table请求未执行的错误.

修正WebUI BIP的模式选择未提交即生效的错误.

限制运行信息页面的路表项个数,以避免在大型互联网络中的请求失败。

2.04  2017.5.11

修正WebUI较验BDT时的错误.

当收到reinitialize-device服务请求时保存配置重启。

2.03  2017.5.7

BIP BBMD NAT模式支持端口号修改。

BIP BBMD NAT模式不监听本地广播地址及发送本地广播

BIP BBMD 外部设备模式不监听本地广播地址

2.02  2017.5.5

当收到Who-Is-Router-To查询时,假定源设备没有该路由(从路由表中删除)

当Initializing-Routing-Table修改了网络号,重新发送I-Am-Routr-To-Network以报告新网络号

修正v2.0引入的错误:保存BVLL Write-Broadcast-Distribution-Table修改的BDT表时出错

2.01  2017.5.3

增加后备的升级入口 http://ip/app/upgrade

更直觉的日志信息

改进网络层拒绝行为

修正发送I-Am-Routr-To-Network时的溢出(当报告的网络数量超过1476/2时)

以动态时间间隔发送I-Am-Routr-To-Network.

2.0  2017.4.19

提供选项启用路由内的设备对象。.

允许从BACnet端修改配置

支持What_is_Network_Number and Network_Number_Is 网络包

提供MSTP max_info_frames的by occupy time选项

实现新的MSTP自动/强制波特率机制.

MSTP包最大延迟保证(10 seconds).

WebUI界面更智能.

1.22  2016.10.26

将路由表项的数目由1024增加到65534(即没有限制).

1.21  2016.10.18

从设备代理: 如果对方是快速设备加快ReadProperty(Multiple)的发送速率.

BVLL回应NAK当收到BBMD相关的请求,但BBMD未使能. (附录135-2012ax-5)

BVLL回应NAK当收到Distribute-Broadcast-To-Network请求,但源设备未注册为外部设备. (附录135-2010ad-10)

1.20  2016.10.8

BIP提供选项接受发往255.255.255.255的广播报文

BIP外设设备模式的注册时间间隔的最小值从30秒减少到15秒。

1.19  2016.9.23

webui如果IP/掩码/网关/DHCP没有改动,采用快速重启

MSTP加入快速设备超时中止功能

MSTP快速设备最小超时改为0ms(实际是收发切换后1.5bits加上50us)

MSTP快速设备令牌传递超时最小值设为20ms

MSTP运行信息显示最近10秒活动的设备

1.18  2016.9.13

BIP BBMD 支持NAT,增加两个参数”接受BDT表写入“与”接受外部设备注册”

在“配置”页面显示以太网地址

1.17  2016.9.8

应某些OEM用户需求,登录认证的域名可以由用户定制。

1.16  2016.9.7

修正从站代理应答Who-is但查询到的设备并没有在该入口代理。

修正写远程BBMD的BDT表错误

许多的界面改进

1.15  2016.9.1

加入了从设备代理功能.

MSTP加入了无切换延时桢计数及带填充字节桢计数

一些界面改进。

修正无切换延时桢紧跟带填充字节桢时的解码错误

1.14  2016.8.24

这是一次大升级,比较多的修订:

MSTP增加令牌超时、回应超时配置项。

MSTP增加快速设备功能,允许指定设备使用小至1毫秒的令牌超时与回应超时。

MSTP增加运行诊断信息含地址冲突,发送冲突、令牌冲突、令牌丢失,令牌转发失败、无应答、包错误。

MSTP增强对不遵守40bit发送切换要求的设备的兼容性

MSTP修正发送扩展桢的编码错误

MSTP修正特定条件下应答测试桢的CRC错误

1.13  2016.8.16

底层api改动,对本软件无影响

1.12  2016.8.12

加入系列号

1.11  2016.8.10

固件文件名带版本号及校验字串。

左边树型菜单处显示版本号。

重启及升级固件后,自动刷新。

修复一些界面bug

CCN网关版本升级记录

2.9 2017.5.30

兼容一台不规范的30RQ固件。

移除2.2引入的特性,以与CCN控制网络并存。

2.8 2016.10.26

修正转换unicode字符串到utf8编码时的缓冲溢出缺陷。

2.7 2016.10.3

WebUI采用basic认证方式

修正WebUI的表格索引溢出错误(感谢Nitin的报告)

2.6 2016.9.13

WebUI 显示Ethernet地址

2.5 2016.9.13

处理字符串时忽略0-9/a-z/A-Z以外的字符

2.4 2016.8.26

可选择0.001,0.01,0.1,10,100,1000倍的映射倍数

BACnet部分合并了BACnet路由器的修订。

2.3 2016.8.16

底层API变动,为后续产品作准备

修复2.1版引入的Bug,通讯失败后持续错误

2.2 2016/8/12

某些原厂技术人员为竞争项目故意用CCN服务工具软件将一些重要的数据点强制锁定,无法写入。在初始化时检测并解锁。

2.1 2016/8/10

固件文件名带版本号及校验字串。

左边树型菜单处显示版本号。

重启及升级固件后,自动刷新。

修复一些界面bug

发表在 CCN