Hey @rlkoshak , i have unfortunately exactly same issue in my setup.
My things: smarthome-openhab/things/network.things at master · petrows/smarthome-openhab · GitHub
network.cfg (i also tried with different options):
binding.network:allowSystemPings=true
binding.network:allowDHCPlisten=false
binding.network:arpPingToolPath=arping
binding.network:cacheDeviceStateTimeInMS=2000
I have tried the debug log, module configuration shows options:
2025-09-09 18:55:12.135 [DEBUG] [g.network.internal.PresenceDetection] - Sending listener final result: PresenceDetectionValue [hostAddress=10.80.0.22, latency=-1.0ms, reachableDetectionTypes=[], reachableTcpPorts=[]]
2025-09-09 18:55:13.458 [DEBUG] [twork.internal.NetworkHandlerFactory] - bundle org.openhab.binding.network:5.0.1 (314)[org.openhab.binding.network.internal.NetworkHandlerFactory(377)] : ConfigurableComponentHolder configuration updated for pid binding.network with change count 16
2025-09-09 18:55:13.459 [DEBUG] [twork.internal.NetworkHandlerFactory] - bundle org.openhab.binding.network:5.0.1 (314)[org.openhab.binding.network.internal.NetworkHandlerFactory(377)] : Querying state active
2025-09-09 18:55:13.459 [DEBUG] [twork.internal.NetworkHandlerFactory] - bundle org.openhab.binding.network:5.0.1 (314)[org.openhab.binding.network.internal.NetworkHandlerFactory(377)] : Querying state active
2025-09-09 18:55:13.459 [DEBUG] [twork.internal.NetworkHandlerFactory] - bundle org.openhab.binding.network:5.0.1 (314)[org.openhab.binding.network.internal.NetworkHandlerFactory(377)] : invoking modified: modified: parameters [org.apache.felix.scr.impl.helper.ReadOnlyDictionary]
2025-09-09 18:55:13.462 [DEBUG] [twork.internal.NetworkHandlerFactory] - Updated binding configuration to NetworkBindingConfiguration{allowSystemPings=true, allowDHCPlisten=false, cacheDeviceStateTimeInMS=2000, arpPingToolPath='arping', arpPingUtilMethod=THOMAS_HABERT_ARPING, preferResponseTimeAsLatency=false}
2025-09-09 18:55:13.462 [DEBUG] [twork.internal.NetworkHandlerFactory] - bundle org.openhab.binding.network:5.0.1 (314)[org.openhab.binding.network.internal.NetworkHandlerFactory(377)] : invoked modified: modified
2025-09-09 18:55:13.462 [DEBUG] [twork.internal.NetworkHandlerFactory] - bundle org.openhab.binding.network:5.0.1 (314)[org.openhab.binding.network.internal.NetworkHandlerFactory(377)] : No change in target property for dependency osgi.ds.satisfying.condition: currently registered: true
2025-09-09 18:55:13.462 [DEBUG] [twork.internal.NetworkHandlerFactory] - bundle org.openhab.binding.network:5.0.1 (314)[org.openhab.binding.network.internal.NetworkHandlerFactory(377)] : Querying state active
2025-09-09 18:55:13.463 [DEBUG] [twork.internal.NetworkHandlerFactory] - bundle org.openhab.binding.network:5.0.1 (314)[org.openhab.binding.network.internal.NetworkHandlerFactory(377)] : ImmediateComponentHolder Finished configuring the dependency managers for component for pid binding.network
2025-09-09 18:55:13.463 [DEBUG] [twork.internal.NetworkHandlerFactory] - bundle org.openhab.binding.network:5.0.1 (314)[org.openhab.binding.network.internal.NetworkHandlerFactory(377)] : ImmediateComponentHolder Will not enable component for pid binding.network: holder enabled state: true, metadata enabled: true
2025-09-09 18:55:15.889 [DEBUG] [g.network.internal.PresenceDetection] - All 1 detection futures for 8.8.8.8 have completed
2025-09-09 18:55:15.889 [DEBUG] [g.network.internal.PresenceDetection] - 8.8.8.8 is unreachable, invalidating destination value
2025-09-09 18:55:15.889 [DEBUG] [g.network.internal.PresenceDetection] - Sending listener final result: PresenceDetectionValue [hostAddress=8.8.8.8, latency=-1.0ms, reachableDetectionTypes=[], reachableTcpPorts=[]]
It show settings to be read. Device lookup in logs:
# Example thing: Thing network:pingdevice:backup_ext "Backup ext" [ hostname="8.8.8.8", useArpPing=false, useIcmpPing=true, retry=5, timeout=5000, refreshInterval=5000 ]
2025-09-09 18:57:40.971 [DEBUG] [g.network.internal.PresenceDetection] - Refreshing 8.8.8.8 reachability state
2025-09-09 18:57:40.971 [TRACE] [g.network.internal.PresenceDetection] - Performing 1 presence detection checks for 8.8.8.8
2025-09-09 18:57:40.971 [DEBUG] [g.network.internal.PresenceDetection] - Shutting down waitForResultExecutorService
2025-09-09 18:57:40.971 [TRACE] [g.network.internal.PresenceDetection] - Perform Java ping presence detection for 8.8.8.8
2025-09-09 18:57:40.971 [DEBUG] [g.network.internal.PresenceDetection] - Waiting for 1 detection futures for 8.8.8.8 to complete
2025-09-09 18:57:45.977 [DEBUG] [g.network.internal.PresenceDetection] - All 1 detection futures for 8.8.8.8 have completed
2025-09-09 18:57:45.977 [DEBUG] [g.network.internal.PresenceDetection] - 8.8.8.8 is unreachable, invalidating destination value
2025-09-09 18:57:45.977 [DEBUG] [g.network.internal.PresenceDetection] - Sending listener final result: PresenceDetectionValue [hostAddress=8.8.8.8, latency=-1.0ms, reachableDetectionTypes=[], reachableTcpPorts=[]]
Looks like module does not tried to use system ping and uses Java one. The allowSystemPings actually ignored. I have looked on method selection in source code and it matches against OS Name first. In my case it is not an issue, i have “Linux”:
$ docker exec -it Openhab /bin/bash
root@home:/openhab# java -XshowSettings:properties -version
Property settings:
file.encoding = UTF-8
file.separator = /
...
os.arch = amd64
os.name = Linux
os.version = 6.8.12-14-pve
...
user.language = en
user.name = root
openjdk version "21.0.8" 2025-07-15
OpenJDK Runtime Environment (build 21.0.8+9-Debian-1)
OpenJDK 64-Bit Server VM (build 21.0.8+9-Debian-1, mixed mode, sharing)
So it has expected value. I have no logs messages like “ping 127.0.0.1” failed or similar.
So, it uses Java ping for some reason, but why it failed? I have dumped traffic on machine and i don’t see any ICMP requests, looks like it tries to open TCP connection to port 7:
tcpdump -n -i eth0 -vvv host 8.8.8.8
tcpdump: listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
19:05:40.246908 IP (tos 0x0, ttl 64, id 50271, offset 0, flags [DF], proto TCP (6), length 60)
10.80.6.2.59074 > 8.8.8.8.7: Flags [S], cksum 0x2090 (incorrect -> 0xf75b), seq 3881175603, win 64240, options [mss 1460,sackOK,TS val 3997331131 ecr 0,nop,wscale 7], length 0
19:05:41.286326 IP (tos 0x0, ttl 64, id 50272, offset 0, flags [DF], proto TCP (6), length 60)
10.80.6.2.59074 > 8.8.8.8.7: Flags [S], cksum 0x2090 (incorrect -> 0xf34b), seq 3881175603, win 64240, options [mss 1460,sackOK,TS val 3997332171 ecr 0,nop,wscale 7], length 0
19:05:42.310325 IP (tos 0x0, ttl 64, id 50273, offset 0, flags [DF], proto TCP (6), length 60)
10.80.6.2.59074 > 8.8.8.8.7: Flags [S], cksum 0x2090 (incorrect -> 0xef4b), seq 3881175603, win 64240, options [mss 1460,sackOK,TS val 3997333195 ecr 0,nop,wscale 7], length 0
19:05:43.334361 IP (tos 0x0, ttl 64, id 50274, offset 0, flags [DF], proto TCP (6), length 60)
10.80.6.2.59074 > 8.8.8.8.7: Flags [S], cksum 0x2090 (incorrect -> 0xeb4b), seq 3881175603, win 64240, options [mss 1460,sackOK,TS val 3997334219 ecr 0,nop,wscale 7], length 0
^C
4 packets captured
4 packets received by filter
0 packets dropped by kernel
So, i am out of ideas:
- Option to select native ping seems to be broken
- Java “ping” seems to be tries to open TCP connection instead of ICMP and fails. Looks like this problem is pretty old.