Hi,
I’ve been experiencing networking issues with my M100 hub. Until recently, I just used to reset it every few months when it got “upset”, however, this time, I managed to get a good log of what was happening.
Below is a network trace from a router’s interface. The interface is dedicated for a 2.4G wifi and other devices on the network are working fine.
Here is the basic setup.
- 192.168.3.1 is the router. This has a VLAN bridge with other devices. The packet log is from here and is watching all in and out on wifi interface.
- 192.168.3.12 is a wired network device connected directly to the router and on the same vlan.
- 192.168.3.253 is the Aqara M100 hub connected via a 2.4G wifi. The router interface is on the same vlan.
Here is the raw log:
No. Time Source Destination Protocol Length Info
67246 11:17:30.348902 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
67260 11:17:31.372623 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
67299 11:17:32.395806 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
67310 11:17:32.759610 f6:1e:57:6e:cd:78 Broadcast ARP 91 Who has 192.168.3.253? Tell 192.168.3.1
67326 11:17:33.765196 f6:1e:57:6e:cd:78 Broadcast ARP 91 Who has 192.168.3.253? Tell 192.168.3.1
67331 11:17:34.348317 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
67337 11:17:34.814528 f6:1e:57:6e:cd:78 Broadcast ARP 91 Who has 192.168.3.253? Tell 192.168.3.1
67343 11:17:35.402582 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
67366 11:17:36.427018 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
67374 11:17:36.763934 f6:1e:57:6e:cd:78 Broadcast ARP 91 Who has 192.168.3.253? Tell 192.168.3.1
67409 11:17:37.842344 f6:1e:57:6e:cd:78 Broadcast ARP 91 Who has 192.168.3.253? Tell 192.168.3.1
67415 11:17:38.347665 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
67419 11:17:38.893959 f6:1e:57:6e:cd:78 Broadcast ARP 91 Who has 192.168.3.253? Tell 192.168.3.1
67421 11:17:39.375727 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
67428 11:17:39.950308 f6:1e:57:6e:cd:78 Broadcast ARP 91 Who has 192.168.3.253? Tell 192.168.3.1
67434 11:17:40.395686 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
67445 11:17:40.962392 f6:1e:57:6e:cd:78 Broadcast ARP 91 Who has 192.168.3.253? Tell 192.168.3.1
67459 11:17:42.013845 f6:1e:57:6e:cd:78 Broadcast ARP 91 Who has 192.168.3.253? Tell 192.168.3.1
67466 11:17:42.348175 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
67492 11:17:43.391285 LumiUnitedTe_80:b1:f0 f6:1e:57:6e:cd:78 ARP 91 Who has 192.168.3.1? Tell 192.168.3.253
67493 11:17:43.391333 f6:1e:57:6e:cd:78 LumiUnitedTe_80:b1:f0 ARP 91 192.168.3.1 is at f6:1e:57:6e:cd:78
67494 11:17:43.402899 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
67502 11:17:44.427217 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
67536 11:17:46.349118 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
67577 11:17:47.395734 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
67595 11:17:48.442772 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
67600 11:17:48.801870 f6:1e:57:6e:cd:78 LumiUnitedTe_80:b1:f0 ARP 91 Who has 192.168.3.253? Tell 192.168.3.1
67601 11:17:48.815689 LumiUnitedTe_80:b1:f0 f6:1e:57:6e:cd:78 ARP 91 192.168.3.253 is at 54:ef:44:80:b1:f0
67602 11:17:48.842640 LumiUnitedTe_80:b1:f0 f6:1e:57:6e:cd:78 ARP 91 192.168.3.253 is at 54:ef:44:80:b1:f0
67616 11:17:50.350321 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
67638 11:17:51.406856 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
67658 11:17:52.427940 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
67685 11:17:54.348677 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
67691 11:17:55.372962 02:42:c0:a8:03:0c Broadcast ARP 105 Who has 192.168.3.253? Tell 192.168.3.12
This is what is happening:
- The ARP cache is cleared on 192.168.3.1 and 192.168.3.12. A ping is then started form both.
- Until timestamp 67492 nothing happens and both devices show no response on the ping output. This means the hub is quite slow to be “found”.
- At timestamp 67492, the M100 decides to back query the router to get the router’s MAC address, which is acknowledged at 67493.
- On the next query from the router at timestamp 67600, the M100 responds to the router with its MAC address. There is actually two replies. At this point, the router shows the ping response.
- The M100 does not respond to try to back-query the other device (192.168.3.12). The ping output on 192.168.3.12 continues to show no output.
192.168.3.12 is actually a Home Assistant server, but this test is just doing a basic ping connectivity test.
This is quite annoying because randomly over the course of a couple of months, the M100 just needs a reset before it will talk to other network devices properly.
The only difference between the two arp requests (from 192.168.3.1 and 192.168.3.12) as far as I can see is the inclusion of a trailer on the request from 1291.68.3.12 the target is all zeros. The length shown above is 91 vs 105 bytes.
I thought about trying to replay the request without a trailer, but that’s not an easy thing to do.
Anyone else? Anyone from Aqara can look at it?
