您好!
我一直在努力寻找无线固件更新(使用 OAD 目标)在 Windows 10 PC 上花费很长时间的原因、即使它在 Android 或 iOS 设备上运行良好。
在分析了与 BLE 监听器的连接后、我发现通过窗口将连接间隔设置为6ms、从而实现可能的最快连接速度。 但是、每个读取或写入请求最多需要一秒钟的时间才能完成。 由于固件更新需要通过无线方式发送9400个数据块、因此速度非常慢。
但我发现监听器日志中的重试次数极高。 一些写入请求正在发送数百次。 因此、这并不奇怪、它的速度非常慢、但如果同一台设备能够在 Android 或 iOS 上以非常高的速度进行更新、这种情况如何呢。
即使器件就在 PC 旁边、这看起来连接真的很糟糕。 我使用 Android 手机测试了同一台设备、即使我将手机带入另一间有多个房间和墙壁的房间、也能执行更新。
因此、我认为这不是连接问题、至少也不是外围设备本身的问题。 一切似乎都是 Windows 或 PC 的问题、但我不知道这可能是什么、如果我可以做些什么来解决它吗?
监听器日志可能有助于更好地了解这里发生的情况、以及为什么只有 Windows 才会出现此问题、但 iOS 和 Android 手机都不会出现此问题。
正如您在监听器日志窗口中看到的、可以毫无问题地发送块14、15和16。 然后,它试图将第17块发送给几百次的尝试。 这里有什么可能有用的东西吗? 我也可以提供完整日志、但这会重复使用更多的固件数据块。
您可以看到 ACK 状态重试大部分时间、但也可以看到意外的 SN。 我从未见过意外的 NESN。 我完全不知道为什么这种问题只会在 PC 上发生、而这不是一台包含廉价蓝牙软件狗的 PC。 它实际上具有一个外部天线。

