Duplicate IP address 10.0.0.5

@DrCWO

My router complains ± 1 / day about rooExtend having a duplicate ip address. It seems to use 10.0.0.5 for WiFi setup, despite rooExtend having a wired connection.

My network is on 10.0.0.0/8 and there is already a device taking up that ip address. The rooExtend is leaking the hardcoded 10.0.0.5 across its ethernet interface. Is there any way I can turn that off?

Let me know if you need more info.

I just did this and no leak at all :+1: I have no idea where you trouble comes from. The WiFi is disabled if rooExtend sees ethernet at bootup.

root@DEVELOP:/home/pi# ifconfig -a
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:d2:73:84:88  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.193  netmask 255.255.255.0  broadcast 192.168.0.255
        ether e4:5f:01:85:e7:28  txqueuelen 1000  (Ethernet)
        RX packets 5525955  bytes 715469772 (682.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3365091  bytes 333348445 (317.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
#        loop  txqueuelen 1000  (Local Loopback)
        RX packets 949718  bytes 135279226 (129.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 949718  bytes 135279226 (129.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether e4:5f:01:85:e7:29  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

My router warns about the duplicate ip address the moment I boot up the rooExtend and stops the moment I shut it down. It’s pretty obvious :sweat_smile:

The logs mentions stopping WiFi when ethernet is connected. I suspect the detection of the duplicate ip address happens somewhere in that window that ethernet and WiFi are enabled?

Wouldn’t it make more sense to enable WiFi when it doesn’t detect ethernet, rather than the opposite?

I also notice it’s trying to timesync for about a minute, but fails to do so. Maybe that extends the window where both are enabled?

    -- Journal begins at Fri 2026-05-22 23:25:44 +08, ends at Sat 2026-05-23 00:44:24 +08. --
    May 22 23:25:52 isis systemd[1]: Started rooExtend service.
    May 22 23:25:53 isis rooExtend[669]: Verifying archive integrity...
    May 22 23:25:54 isis rooExtend[753]: [202B blob data]
    May 22 23:25:54 isis rooExtend[669]:  MD5 checksums are OK. All good.
    May 22 23:25:54 isis rooExtend[669]: Uncompressing rooExtend
    May 22 23:25:56 isis rooExtend[834]: [202B blob data]
    May 22 23:25:56 isis rooExtend[1033]: --------------------------------------------------
    May 22 23:25:56 isis rooExtend[1033]: rooExtend 3.5.3 started...
    May 22 23:25:56 isis rooExtend[1033]: Config Path:   /config.json
    May 22 23:25:56 isis rooExtend[1033]: Config Path:   /config.json
    May 22 23:25:56 isis rooExtend[1033]: Hostname:      isis
    May 22 23:25:56 isis rooExtend[1033]: Restarted:     false
    May 22 23:25:56 isis rooExtend[1033]: RTS-Control:   Check RTS-Control...
    May 22 23:25:56 isis rooExtend[1033]: RTS-Control:   Installed
    May 22 23:25:56 isis rooExtend[1033]: RoonCmdLine:   Check for RoonCommandLine...
    May 22 23:25:56 isis rooExtend[1033]: RoonCmdLine:   Installed
    May 22 23:25:56 isis rooExtend[1033]: Diskusage:     13%
    May 22 23:25:56 isis rooExtend[1033]: Timesync:      started...
    May 22 23:25:56 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:25:57 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:25:58 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:25:59 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:00 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:01 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:02 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:04 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:05 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:06 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:07 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:08 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:09 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:10 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:11 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:12 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:13 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:14 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:15 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:16 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:17 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:18 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:19 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:20 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:21 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:22 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:23 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:24 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:25 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:26 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:27 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:28 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:29 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:30 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:31 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:32 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:33 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:34 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:35 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:37 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:38 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:39 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:40 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:41 isis rooExtend[1033]: Timesync:      ongoing...
    May 22 23:26:42 isis rooExtend[1033]: Timesync:      expired
    May 22 23:26:42 isis rooExtend[1033]: Ethernet:      connected, stop WiFi
    May 22 23:26:43 isis rooExtend[1033]: Got language:  SG
    May 22 23:26:44 isis rooExtend[1033]: Got timezone:  Asia/Singapore
    May 22 23:26:44 isis rooExtend[1033]: Set timezone:  Asia/Singapore Success
    May 22 23:26:44 isis rooExtend[1033]: ***** Cannot aquire datetime for: Asia/Singapore
    May 22 23:26:44 isis rooExtend[1033]: Command: wget --timeout=20 -q -O - https://www.worldtimeserver.com/handlers/GetData.ashx?action=GCTData
    May 22 23:26:44 isis rooExtend[1033]: Error: Command failed: wget --timeout=20 -q -O - https://www.worldtimeserver.com/handlers/GetData.ashx?action=GCTData
    May 22 23:26:44 isis rooExtend[1033]: stdout:
    May 22 23:26:44 isis rooExtend[1033]: stderr:
    May 22 23:26:46 isis rfkill[1303]: block set for id 1
    May 22 23:26:46 isis rooExtend[1033]: Has Bluetooth: true hci0 UART D8:3A:DD:0F:49:4D
    May 22 23:26:46 isis rfkill[1305]: unblock set for id 1
    May 22 23:26:46 isis rooExtend[1033]: TV name:       --
    May 22 23:26:46 isis rooExtend[1033]: Found:         Raspberry Pi 4 Model B Rev 1.5
    May 22 23:26:46 isis rooExtend[1033]: Production:    true
    May 22 23:26:46 isis rooExtend[1033]: Interface:     eth0
    May 22 23:26:46 isis rooExtend[1033]: Has WiFi:      true
    May 22 23:26:46 isis rooExtend[1033]: Is NanoPi:     false
    May 22 23:26:46 isis rooExtend[1033]: Is rooSpot:    false
    May 22 23:26:46 isis rooExtend[1033]: Has Linux 64:  true
    May 22 23:26:46 isis rooExtend[1033]: Has GPIO:      true
    May 22 23:26:46 isis rooExtend[1033]: Has RME-ADI:   false
    May 22 23:26:46 isis rooExtend[1033]: Has ComandLine true
    May 22 23:26:46 isis rooExtend[1033]: --------------------------------------------------
    May 22 23:26:46 isis rooExtend[1033]: ##### Start: License Manager
    May 22 23:26:47 isis rooExtend[1033]: ***** Started HTTP-Server at Port 10.0.0.13:80
    May 22 23:26:47 isis rooExtend[1033]: ***** rooExtend got paired with CORE
    May 22 23:27:05 isis rooExtend[1033]: ----- License Manager initialized...
    May 22 23:27:05 isis rooExtend[1033]: ##### Stop: Network Audio
    May 22 23:27:05 isis rooExtend[1033]: ##### Stop: Roon Bridge
    May 22 23:27:05 isis rooExtend[1476]: ***** set HighSpeed 0
    May 22 23:27:05 isis rooExtend[1476]: ##### Start: rooDial 1.5.7
    May 22 23:27:05 isis rooExtend[1476]: ***** events disconnected
    May 22 23:27:05 isis rooExtend[1476]: ***** rooDial got paired with CORE
    May 22 23:33:42 isis rooExtend[1476]: ***** startEventCapture
    May 22 23:33:43 isis rooExtend[1476]: ***** set HighSpeed 1
    May 22 23:33:43 isis rooExtend[1476]: ***** set HighSpeed 1

Hi Bart,
I see, this is a possible glitch at startup only.
So you don’t run into issues during normal operation :wink:

Please let’s look at the time server issue first.
I have two mechanisms getting the time:

  • First is the default NTP protocol Linux uses. It times out as there is no timeserver that can be reached. Either there is no time server in your region (I know this from china only until now) or NTP is blocked in your firewall.

  • After that I try to get the time from worldtimeserver.com. This also seems to fail. Maybe also a firewall problem or is Signapore behind a great firewall like China?? Please try this URL in your browser:
    worldtimeserver.com/handlers/GetData.ashx?action=GCTData
    It should send back something like this:
    {"LocIDDescription":"Germany - ","LocIDLocationID":"DE","CountryCode":"DE","CountryName":"Germany","State":"Schleswig-Holstein","City":"Fehmarn","TimeZone":"Europe/Berlin","DstZoneName":"Central European Summer Time","DstZoneAbbrev":"CEST","StdZoneName":"Central European Time","StdZoneAbbrev":"CET","IsInDST":true,"ThisTime":"2026-05-27T10:18:39.9211725Z","DateTime_12HR":"10:18 AM","DateTime_24HR":"10:18:39","FormattedDate":"Wednesday, May 27, 2026","Lat":54.4378,"Lng":11.1935,"ErrorMsg":null,"serverTimeStamp":1779877119921.1724,"dataFrom":"IP"}

Please make sure that one of these time synchronizations work for you. I’m really interested why http://worldtimeserver.com did not work for you. It even works in China and I included it as there is a massive problem with NTP. Please let me know.

Regarding your idea about enabling WiFi only if there is no Ethernet I will think about it and hopefully can include it in the next release.

Best DrCWO

I get the notification once per day. Does rooExtend restart some services every day by itself?

I suspect that rooExtend never relinquishes the 10.0.0.5 ip address, as I see the device with that mac address / ip address in my firewall logs.

There are no issues with ntp here in Singapore, or any other traffic for that matter. Here’s a succesful ntp sync done from my mac:

My firewall also records ntp requests from rooExtend directly (with 10.0.0.5):

The request is blocked by worldtimeserver / cloudflare:

Apparently it does:

    May 27 17:11:09 isis rooExtend[1033]: ***** rooExtend got unpaired by CORE
    May 27 17:11:09 isis rooExtend[1033]: ===== Aborted by unpairing rooExtend =====
    May 27 17:11:09 isis rooExtend[1476]: ***** Stop: bluetooth
    May 27 17:11:09 isis rooExtend[1033]: ***** rooDial got unpaired by CORE
    May 27 17:11:09 isis rooExtend[1476]: ***** events disconnected
    May 27 17:11:09 isis rooExtend[1033]: ##### Terminated: rooDial with code: 3
    May 27 17:11:13 isis rooExtend[1033]: Terminated successfull
    May 27 17:11:13 isis systemd[1]: rooExtend.service: Succeeded.
    May 27 17:11:13 isis systemd[1]: rooExtend.service: Consumed 20min 55.552s CPU time.
    May 27 17:11:23 isis systemd[1]: rooExtend.service: Scheduled restart job, restart counter is at 1.
    May 27 17:11:23 isis systemd[1]: Stopped rooExtend service.
    May 27 17:11:23 isis systemd[1]: rooExtend.service: Consumed 20min 55.552s CPU time.
    May 27 17:11:23 isis systemd[1]: Started rooExtend service.

Apparently not only from my computer, but also from a droplet hosted on DigitalOcean:

wget --verbose --timeout=20 -O - https://www.worldtimeserver.com/handlers/GetData.ashx?action=GCTData
--2026-05-27 17:23:30--  https://www.worldtimeserver.com/handlers/GetData.ashx?action=GCTData
Resolving www.worldtimeserver.com (www.worldtimeserver.com)... 104.26.8.217, 104.26.9.217, 172.67.69.199, ...
Connecting to www.worldtimeserver.com (www.worldtimeserver.com)|104.26.8.217|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2026-05-27 17:23:30 ERROR 403: Forbidden.

Maybe it’s the DNS-Server. Try 1.1.1.1 or 9.9.9.9 if this solved the issue. Without time the updates can’t be delivered at night.

I’m on 9.9.9.9 and 1.1.1.1 :joy:

I wouldn’t focus on the time much. rooExtend logs show that the device has the right time.

Greeat, whereever it get it :slight_smile:

I will see what can be done with enabling WiFi ONLY if no ethernet was found. If I do it it will appear in the next release.

Best DrCWO

Edit:
Ever tested if you can ping worldtimeserver.com? You see the same IP as I do. Here it works…

Thanks. Much appreciated!

The 403 error indicates that it succesfully reach worldtimeserver.com but that the server actively refuses to reply (as also evident from the cloudflare page I shared).

I’ve tested from:

  • my home isp provider → fails
  • my 5G telecom provider → fails
  • digitalocean singapore node → fails
  • mullvad vpn singapore node → fails
  • mullvad vpn belgium node → succeeds
  • @wizardofoz home isp provider → fails

And to answer your question, yes I can ping the domain just fine (it resolves to 172.67.69.199).

Strange. The IP is the same resolved here.
I learned from Gemini that sites are blocked in Singapore with explicit content. But worldtimeserver :face_with_spiral_eyes: I have no explanation.

Despite all the negative aspects that this entails, I am still glad to live in a country that has a free internet.

Best DrCWO

Unfortunately, Gemini is feeding you half truths.

While it may be true that Singapore sometimes blocks website with illegal content (whatever that may be), that almost always happens on the level of the DNS server of the ISP. And as you know, I am using a third-party DNS.

Being Belgian myself, I hate to break it to you: European countries also block very specific websites with illegal content.

In fact, sometimes Belgian banks and government websites, seemingly randomly, block entire regions (especially non-EU ones). Until I report the issue and they unblock it.

In this case, I very much doubt that the website is blocked by Singapore. Probably just cloudflare infrastructure blocking the region (for whatever reason).

You might be in for a surprise when EU enforces age verification, or finally passes legislation for chat control. There’s no such thing as free internet :slight_smile:

:sleepy_face: