测试发现有两个路由器连接不上,都是在获取ip地址的步骤失败
路由器型号:Tenda AX12,xiaomi R3P
加密方式:wpa/wpa2-psk
网络模式:80211b/g/n

用别的手机和WiFi设备可以连接这两个路由器都能正常连接。
对比观察发现,如果手机连接路由器的时候获取ip地址用的时间会在1s以上,然后bl602就连不上了
其他的路由器,手机连接获取ip地址会非常迅速,不会超过0.5s,bl602连接就正常

连接不上的log链接:https://pan.baidu.com/s/13ld3ZciP3tNemQqZkQjoBA 提取码:nb3h
请帮忙看下是否对某些路由器的兼容性存在问题,谢谢

    请问一下你手里面的硬件是自行设计的还是博流的板子

      博流的板子,我们自己设计的硬件,测试都是一样的

      下载bin的时候报错,如下
      [11:53:47.288] - ========= programming C:/Users/elink/Desktop/test.bin to 0x0
      [11:53:47.299] - {"ErrorCode": "0040","ErrorMsg":"BFLB FLASH CFG NOT FIT WITH BOOTHEADER"}
      [11:53:47.300] - Burn Retry
      [11:53:47.301] - 0
      [11:53:47.301] - Burn return with retry fail

        下载的时候 选择single download config 就是 single download config 下面的那个enable 勾选上 ,然后browse选择我给的bin文件
        晶体选择40M

          是按照这个上述步骤配置的,还是烧写不成功,我这边编译出来的whole bin文件也一样。
          详细log如下
          10:14:33.100] - ========= Interface is Uart =========
          [10:14:33.107] - eflash loader bin is eflash_loader_40m.bin
          [10:14:33.117] - Version: bflb_eflash_loader_v2.0.0
          [10:14:33.117] - Program Start
          [10:14:33.118] - ========= eflash loader cmd arguments =========
          [10:14:33.118] - Config file: C:\Users\elink\Desktop\flash_tool\bl602\eflash_loader/eflash_loader_cfg.ini
          [10:14:33.119] - serial port is COM5
          [10:14:33.119] - chiptype: bl602
          [10:14:33.119] - ========= Interface is Uart =========
          [10:14:33.120] - com speed: 2000000
          [10:14:33.120] - Eflash load helper file: C:\Users\elink\Desktop\flash_tool\bl602\eflash_loader/eflash_loader_40m.bin
          [10:14:33.121] - Eflash load helper file: C:\Users\elink\Desktop\flash_tool\bl602\eflash_loader/eflash_loader_40m.bin
          [10:14:33.121] - ========= load eflash_loader.bin =========
          [10:14:33.121] - Load eflash_loader.bin via uart
          [10:14:33.121] - ========= image load =========
          [10:14:33.393] - tx rx and power off, press the machine!
          [10:14:33.394] - cutoff time is 0.1
          [10:14:33.495] - power on tx and rx
          [10:14:34.225] - reset cnt: 0, reset hold: 0.005, shake hand delay: 0.1
          [10:14:34.226] - clean buf
          [10:14:34.432] - send sync
          [10:14:34.634] - ack is b'4f4b'
          [10:14:34.667] - shake hand success
          [10:14:34.679] - get_boot_info
          [10:14:34.690] - data read is b'0100000000000000030000007fe8c205b9181900'
          [10:14:34.691] - ========= ChipID: 18b905c2e87f =========
          [10:14:34.692] - sign is 0 encrypt is 0
          [10:14:34.693] - segcnt is 1
          [10:14:34.722] - segdata_len is 35744
          [10:14:34.818] - 4080/35744
          [10:14:34.915] - 8160/35744
          [10:14:35.010] - 12240/35744
          [10:14:35.106] - 16320/35744
          [10:14:35.203] - 20400/35744
          [10:14:35.298] - 24480/35744
          [10:14:35.394] - 28560/35744
          [10:14:35.491] - 32640/35744
          [10:14:35.554] - 35744/35744
          [10:14:35.570] - Run img
          [10:14:35.687] - Load helper bin time cost(ms): 2565.766845703125
          [10:14:35.789] - set flash cfg: 40000
          [10:14:35.790] - Set flash config
          [10:14:35.790] - Flash set para shake hand
          [10:14:35.794] - clean buf
          [10:14:35.898] - send sync
          [10:14:36.102] - ack is b'4f4b'
          [10:14:36.146] - Set para time cost(ms): 11.03515625
          [10:14:36.147] - ========= flash read jedec ID =========
          [10:14:36.162] - Read flash jedec ID
          [10:14:36.163] - readdata:
          [10:14:36.164] - b'ef401580'
          [10:14:36.164] - Finished
          [10:14:36.165] - Program operation
          [10:14:36.166] - Dealing Index 0
          [10:14:36.167] - ========= programming C:\Users\elink\Desktop\test.bin to 0x0
          [10:14:36.177] - {"ErrorCode": "0040","ErrorMsg":"BFLB FLASH CFG NOT FIT WITH BOOTHEADER"}
          [10:14:36.178] - Burn Retry
          [10:14:36.179] - 0
          [10:14:36.179] - Burn return with retry fail

          bob 你说的两块路由器xiaomi R3P我们测试过,你的sdk从哪里获取的。如果是github 请重新拉取一下,我们有更新

            从github更新了sdk commit b3898a520d6e5a34a5f4de8241fcc1c1d3b071b9
            编译bl602_demo_wifi测试,还是连不上这两个路由器,log还是一样的获取不到ip。
            需要从哪方面debug?

            bob 确认你的DTS硬件rf 参数是否根据你的板子适配过

              我现在都是用博流的板子测试的,sdk默认的参数是适配过的吧

              bob 你可以提供抓包文件吗,把路由器设置成没密码,方便我们看抓包的

                我这边的抓包网卡A6210没有对应的驱动,抓不到包

                Tenda路由器的配置,把ip地址分配范围默认为192.168.0.100-200,bl602连不上;改为192.168.0.50-200就可以正常连接。

                xiaomi R3P路由器用的是桥接Bridge(AP)模式,bl602连不上;改为自动获取ip DHCP模式就可以正常连接

                  9 days later

                  bob
                  BL602 发出DHCP request 目的地址是华为路由器 已经发出了

                  但是你的最后的DHCP server也就是
                  回复所是无效的IP 所以不成功。

                    我这边测试使用华为,vivo,小米和苹果手机都可以正常连上。
                    抓取了vivo的空口包,下载链接:https://pan.baidu.com/s/17BGI7LOKjWq8rL6KR1xvgQ
                    提取码:j5ct
                    可以对比看下:是否DHCP 请求的信息会影响到了DHCP SERVER判断ip地址是无效的?

                      23 days later

                      hi,这个问题有没有什么方法处理?
                      我们这边确认过多个品牌的手机,多种WiFi设备,目前只有bl602的连接不上。
                      DHCP的路由器型号是 D-Link DI-8003

                      bob 这个桥接是没有包出来,看不到细节,就如之前说的一样,是因为DHCP server回复的是无效IP,导致的。
                      细节可能是要完整的数据包,复现出来才能好分析,但是你这个应用场景基本很少吧。

                        Write a Reply...
                        @ 2025 Bouffalo Lab (Nanjing) Co., Ltd. All rights reserved.