Recording observations about the behavior of different devices.
Testing done 7/9/2021 with two AXIS M2026-LE MkII cameras running firmware version 8.40.3.
What do we learn from this testing?
At times, the AXIS Device Manager doesn't properly detect one or more cameras connected to the network. The AXIS IP Utility so far has not failed in detecting cameras. There are alternate ways to detect and access these cameras.
Behavior on boot
- The netd service manages assigning IP addresses to the Ethernet interface:
- If the device is configured to use DHCP, the IP address 192.168.0.90/24 is assigned to the Ethernet interface and the DHCP client is started. If a DHCP response is received from a DHCP server, the IP address received is replaces the 192.168.0.90/24 address, along with all other DHCP options received from the server. If no DHCP response is received from a DHCP server, the 192.168.0.90/24 IP address remains instantiated on eth0 and the DHCP client continues to send DHCP requests.
- If the device is configured with a specified static IP address, that static IP address is instantiated on the Ethernet interface eth0.
- The zeroconf-ip service claims a link-local IP address in the range 169.254.0.0/16 and instructs the netd service to add this as a secondary IP address on the Ethernet interface eth0. This IP address is always accessible on the device, unless the ZeroConf service gets disabled.
AXIS IP Utility
The AXIS IP Utility uses MDNS requests to discover cameras on the network. These MDNS requests are responded to by the Bonjour service running on the camera. If the Bonjour service is disabled, no response will be given.
Multiple UDP requests with different PTR queries are sent to the multicast address 126.96.36.199. The following requests were sent from the test computer to the diagnostic network with two cameras attached.
10.77.69.2 188.8.131.52 MDNS Standard query 0x0000 PTR _axis-nvr._tcp.local, "QM" question
10.77.69.2 184.108.40.206 MDNS Standard query 0x0000 PTR _axis-bwsc._tcp.local, "QM" question PTR _axis-video._tcp.local, "QM" question
Cameras respond to the queries by sending an MDNS response to the 220.127.116.11 multicast address. The following are the responses from the two cameras connected to the diagnostic test network:
169.254.93.22 18.104.22.168 MDNS Standard query response 0x0000 PTR AXIS M2026-LE Mk II - B8A44F0A98A1._axis-video._tcp.local TXT, cache flush A, cache flush 169.254.93.22 A, cache flush 192.168.0.91 SRV, cache flush 0 0 80 axis-b8a44f0a98a1.local NSEC, cache flush AXIS M2026-LE Mk II - B8A44F0A98A1._axis-video._tcp.local NSEC, cache flush axis-b8a44f0a98a1.local
169.254.190.127 22.214.171.124 MDNS Standard query response 0x0000 PTR AXIS M2026-LE Mk II - B8A44F1136E5._axis-video._tcp.local TXT, cache flush A, cache flush 169.254.190.127 A, cache flush 10.77.69.198 SRV, cache flush 0 0 80 axis-b8a44f1136e5.local NSEC, cache flush AXIS M2026-LE Mk II - B8A44F1136E5._axis-video._tcp.local NSEC, cache flush axis-b8a44f1136e5.local
You can see that both camera responses shown above list all of the IP addresses instantiated on the camera.
AXIS Device Manager (ADM)
The AXIS Device Manager uses MDNS requests and SSDP requests to discover cameras on the network.
Using the ADM to configure a device makes more changes than just assigning the IP address. I believe multiple services are disabled, but this is still to be tested.
- more content to come
Alternate detection methods
Windows ARP Cache
Running "arp -a" on a Windows computer will display the arp cache. The link-local IP addresses instantiated by the ZeroConf service of recently booted cameras should be visible in the ARP list.
Packet sniffing using Wireshark
Wireshark can be used to observe broadcast/multicast traffic generated by cameras (especially prevalent during the initial boot) as well as ongoing DHCP requests if the camera is connected to a network lacking a DHCP server.