LoRaWAN协议栈LoRaMac-Node版本变迁历史(最新4.7.0)
V4.7.0 2022年12月9日发布
简介
基于“ LoRaWAN 规范1.0.4”和“ LoR aWan 规范1.1.0+ FCntDwn 勘误表”的版本,“ LoRA WAN 区域参数2-1.0.3”
GitHub报告了问题更正
已知的限制
SAMR34平台不实现NVM存储功能。这是大于或等于1.0.4的LoRaWAN版本的要求。
维护者没有预见到关于这个主题的工作。欢迎提出实施建议。
新增
- 在更改Mac Group 2.Duty Cycle时触发NVM更新
- 从NVM恢复状态时配置无线电同步字
- 增加了A类缺少的返回状态初始化
- 增加了对GroupId的检查,以避免越界访问
- 使LBT RSSI自由信道阈值和载波侦听时间(CST)参数可配置
- LoRaMacMc*函数中的信号NVM数据更改
- Teach LoRaMacIsBusy如果MAC停止返回false
- 增加了对AS923区域下ARIB STD-T108 Ver1.4新版本的支持
- 支持LoRaWAN 1.1和ATECC608A/B安全元件
- 增加了一个重置堆栈内部状态机的函数
- 为MAC命令增加了一个选项,以验证对显式确认
- 添加了一项检查,以验证SystemMaxRxError提供的值是否在0 .. 500毫秒的范围内
修改
- 更新区域执行区域参数RP2-1.0.3
- 将AdrAckLimit和AdrAckDelay移到NVM MacGroup2
- 重构并改进了占空比的管理方式
修复
- 修复LoRaMacClassBProcessMulticastSlot()中的B类多播处理
- 在RestoreNvmData中还原RegionGroup2
- 修复ScheduleTx中与占空比相关的死锁
- 修正了LastDownFCnt更新用于LoRaWAN 1.1.x的地方
- C类激活和停用的修正
- 当无线电设置为接收模式时,不要对TX/RX缓冲区进行调整
- 固定使用错误的api作为通用密钥
- 修正和重构JoinReq,ReJoinType0Req,ReJoinType1Req,ReJoinType2Req处理
- 固定的Rx窗口定时器处理
- 修复FUOTA碎片实现
- 建议的固定时间学分检查
- 修复了ProcessRadioRxDone中潜在的缓冲区溢出-安全性
- 应用了针对空结构的CRC检查的建议修复
- 修正了对未定义回调的不一致处理
- 修正了Cortex-M0目标的HardFault_Handler
- 修复ABP连接处理类似于OTAA连接处理
- 修正了RxParamSetupReq和JoinAccept在0x0F的情况下RX2数据速率的问题
移除
- 删除无用的FoptsLen提交检查
- 删除未使用的ACTIVE_REGION预处理检查
安全
西蒙·沃纳发现的安全漏洞(@SWW 13)请参阅安全咨询-安全咨询-cve-2022-39274
v4.6.0 2022年1月11日发布
简介
- 基于“ LoRaWAN 规范1.0.4”和“ LoR aWan 规范1.1.0+ FCntDwn 勘误表”的版本,“ LoRA WAN 区域参数 2 -1.1”
- GitHub报告了问题更正。
已知的限制
- SAMR34平台不实现NVM存储功能。这是大于或等于1.0.4的LoRaWAN版本的要求。
- 维护者没有预见到关于这个主题的工作。欢迎提出实施建议。
新增
- 在JoinAccept处理下增加了NbTrans默认值重置
- 添加了缺少的B类认证命令
- 添加了缺少的类B参数。网络激活变量初始化
- 增加了B类远程多播设置支持
- 在join accept消息处理中添加了数据速率验证
- 添加了通道ID,将验证限制为DlChannelReq处理
修改
- 已将LmHandlerDeviceTimeReq API更改为可公开访问
- 改进了使用USE_LRWAN_1_1_X_CRYPTO预处理指令的方式。
- 改进了JoinNonce的检查方式
修复
- 修复了接收到DeviceTimeAns后首次信标的获取问题。
- 将LmHandlerParams_t结构体中的PingSlotPeriodicity字段类型从bool修正为uint8_t。
- 修复i2c.h文件中未包含"utilities.h"的问题。
- 修复了VSCode periodic-uplink-lpp项目默认LoRaWAN类选择的问题。
- 修复在SX127x FSK传输时,当前无线电操作模式为RX的问题。
移除
移除了不再需要的MLME_SCHEDULE_UPLINK通知