Intermittant connection from Raspberry Pi 4

Hi all :wave:

I’m having some issues connecting to a Raspberry Pi via/over Tailscale. The interesting part is that the connectivity is almost comically cyclical:

64 bytes from 100.104.116.96: icmp_seq=1156 ttl=64 time=248.095 ms
64 bytes from 100.104.116.96: icmp_seq=1157 ttl=64 time=283.191 ms
64 bytes from 100.104.116.96: icmp_seq=1158 ttl=64 time=405.084 ms
64 bytes from 100.104.116.96: icmp_seq=1159 ttl=64 time=434.295 ms
64 bytes from 100.104.116.96: icmp_seq=1160 ttl=64 time=240.688 ms
64 bytes from 100.104.116.96: icmp_seq=1161 ttl=64 time=245.371 ms
64 bytes from 100.104.116.96: icmp_seq=1162 ttl=64 time=312.361 ms
64 bytes from 100.104.116.96: icmp_seq=1163 ttl=64 time=370.464 ms
64 bytes from 100.104.116.96: icmp_seq=1164 ttl=64 time=261.624 ms
64 bytes from 100.104.116.96: icmp_seq=1165 ttl=64 time=337.640 ms
64 bytes from 100.104.116.96: icmp_seq=1166 ttl=64 time=226.220 ms
64 bytes from 100.104.116.96: icmp_seq=1167 ttl=64 time=301.609 ms
64 bytes from 100.104.116.96: icmp_seq=1168 ttl=64 time=418.427 ms
64 bytes from 100.104.116.96: icmp_seq=1169 ttl=64 time=223.658 ms
64 bytes from 100.104.116.96: icmp_seq=1170 ttl=64 time=221.252 ms
64 bytes from 100.104.116.96: icmp_seq=1171 ttl=64 time=269.527 ms
64 bytes from 100.104.116.96: icmp_seq=1172 ttl=64 time=264.748 ms
64 bytes from 100.104.116.96: icmp_seq=1173 ttl=64 time=222.451 ms
64 bytes from 100.104.116.96: icmp_seq=1174 ttl=64 time=265.850 ms
64 bytes from 100.104.116.96: icmp_seq=1175 ttl=64 time=447.360 ms
64 bytes from 100.104.116.96: icmp_seq=1176 ttl=64 time=270.848 ms
64 bytes from 100.104.116.96: icmp_seq=1177 ttl=64 time=254.811 ms
64 bytes from 100.104.116.96: icmp_seq=1178 ttl=64 time=422.580 ms
64 bytes from 100.104.116.96: icmp_seq=1179 ttl=64 time=290.059 ms
64 bytes from 100.104.116.96: icmp_seq=1180 ttl=64 time=380.117 ms
64 bytes from 100.104.116.96: icmp_seq=1181 ttl=64 time=250.093 ms
64 bytes from 100.104.116.96: icmp_seq=1182 ttl=64 time=280.160 ms
64 bytes from 100.104.116.96: icmp_seq=1183 ttl=64 time=393.632 ms
64 bytes from 100.104.116.96: icmp_seq=1184 ttl=64 time=288.861 ms
64 bytes from 100.104.116.96: icmp_seq=1185 ttl=64 time=253.263 ms
64 bytes from 100.104.116.96: icmp_seq=1186 ttl=64 time=248.667 ms
64 bytes from 100.104.116.96: icmp_seq=1187 ttl=64 time=234.823 ms
64 bytes from 100.104.116.96: icmp_seq=1188 ttl=64 time=264.934 ms
64 bytes from 100.104.116.96: icmp_seq=1189 ttl=64 time=246.987 ms
64 bytes from 100.104.116.96: icmp_seq=1190 ttl=64 time=308.492 ms
64 bytes from 100.104.116.96: icmp_seq=1191 ttl=64 time=243.816 ms
64 bytes from 100.104.116.96: icmp_seq=1192 ttl=64 time=287.697 ms
64 bytes from 100.104.116.96: icmp_seq=1193 ttl=64 time=254.932 ms
64 bytes from 100.104.116.96: icmp_seq=1194 ttl=64 time=239.809 ms
64 bytes from 100.104.116.96: icmp_seq=1195 ttl=64 time=382.575 ms
64 bytes from 100.104.116.96: icmp_seq=1196 ttl=64 time=233.108 ms
64 bytes from 100.104.116.96: icmp_seq=1197 ttl=64 time=242.795 ms
64 bytes from 100.104.116.96: icmp_seq=1198 ttl=64 time=403.094 ms
64 bytes from 100.104.116.96: icmp_seq=1199 ttl=64 time=394.850 ms
64 bytes from 100.104.116.96: icmp_seq=1200 ttl=64 time=223.586 ms
Request timeout for icmp_seq 1201
Request timeout for icmp_seq 1202
Request timeout for icmp_seq 1203
Request timeout for icmp_seq 1204
Request timeout for icmp_seq 1205
Request timeout for icmp_seq 1206
Request timeout for icmp_seq 1207
Request timeout for icmp_seq 1208
Request timeout for icmp_seq 1209
Request timeout for icmp_seq 1210
Request timeout for icmp_seq 1211
Request timeout for icmp_seq 1212
Request timeout for icmp_seq 1213
Request timeout for icmp_seq 1214
Request timeout for icmp_seq 1215
64 bytes from 100.104.116.96: icmp_seq=1216 ttl=64 time=278.502 ms
64 bytes from 100.104.116.96: icmp_seq=1217 ttl=64 time=258.335 ms
64 bytes from 100.104.116.96: icmp_seq=1218 ttl=64 time=462.055 ms
64 bytes from 100.104.116.96: icmp_seq=1219 ttl=64 time=278.809 ms
64 bytes from 100.104.116.96: icmp_seq=1220 ttl=64 time=428.929 ms
64 bytes from 100.104.116.96: icmp_seq=1221 ttl=64 time=264.870 ms
64 bytes from 100.104.116.96: icmp_seq=1222 ttl=64 time=244.458 ms
64 bytes from 100.104.116.96: icmp_seq=1223 ttl=64 time=276.029 ms
64 bytes from 100.104.116.96: icmp_seq=1224 ttl=64 time=440.509 ms
64 bytes from 100.104.116.96: icmp_seq=1225 ttl=64 time=253.807 ms
64 bytes from 100.104.116.96: icmp_seq=1226 ttl=64 time=298.475 ms
64 bytes from 100.104.116.96: icmp_seq=1227 ttl=64 time=292.248 ms
64 bytes from 100.104.116.96: icmp_seq=1228 ttl=64 time=403.540 ms
64 bytes from 100.104.116.96: icmp_seq=1229 ttl=64 time=323.727 ms
64 bytes from 100.104.116.96: icmp_seq=1230 ttl=64 time=241.742 ms
64 bytes from 100.104.116.96: icmp_seq=1231 ttl=64 time=293.748 ms
64 bytes from 100.104.116.96: icmp_seq=1232 ttl=64 time=236.017 ms
64 bytes from 100.104.116.96: icmp_seq=1233 ttl=64 time=260.664 ms
64 bytes from 100.104.116.96: icmp_seq=1234 ttl=64 time=269.745 ms
Request timeout for icmp_seq 1235
Request timeout for icmp_seq 1236
Request timeout for icmp_seq 1237
Request timeout for icmp_seq 1238
Request timeout for icmp_seq 1239
Request timeout for icmp_seq 1240
Request timeout for icmp_seq 1241
Request timeout for icmp_seq 1242
Request timeout for icmp_seq 1243
64 bytes from 100.104.116.96: icmp_seq=1244 ttl=64 time=234.092 ms
64 bytes from 100.104.116.96: icmp_seq=1245 ttl=64 time=276.635 ms
64 bytes from 100.104.116.96: icmp_seq=1246 ttl=64 time=245.393 ms
64 bytes from 100.104.116.96: icmp_seq=1247 ttl=64 time=276.879 ms
64 bytes from 100.104.116.96: icmp_seq=1248 ttl=64 time=492.560 ms
64 bytes from 100.104.116.96: icmp_seq=1249 ttl=64 time=336.217 ms
64 bytes from 100.104.116.96: icmp_seq=1250 ttl=64 time=388.861 ms
64 bytes from 100.104.116.96: icmp_seq=1251 ttl=64 time=350.202 ms
64 bytes from 100.104.116.96: icmp_seq=1252 ttl=64 time=334.540 ms
64 bytes from 100.104.116.96: icmp_seq=1253 ttl=64 time=249.030 ms
64 bytes from 100.104.116.96: icmp_seq=1254 ttl=64 time=282.900 ms
64 bytes from 100.104.116.96: icmp_seq=1255 ttl=64 time=374.137 ms
64 bytes from 100.104.116.96: icmp_seq=1256 ttl=64 time=307.212 ms
64 bytes from 100.104.116.96: icmp_seq=1257 ttl=64 time=239.865 ms
64 bytes from 100.104.116.96: icmp_seq=1258 ttl=64 time=252.498 ms
64 bytes from 100.104.116.96: icmp_seq=1259 ttl=64 time=231.829 ms
64 bytes from 100.104.116.96: icmp_seq=1260 ttl=64 time=285.013 ms
64 bytes from 100.104.116.96: icmp_seq=1261 ttl=64 time=312.541 ms
64 bytes from 100.104.116.96: icmp_seq=1262 ttl=64 time=520.753 ms
64 bytes from 100.104.116.96: icmp_seq=1263 ttl=64 time=236.989 ms
64 bytes from 100.104.116.96: icmp_seq=1264 ttl=64 time=251.989 ms
64 bytes from 100.104.116.96: icmp_seq=1265 ttl=64 time=246.721 ms
Request timeout for icmp_seq 1266
Request timeout for icmp_seq 1267
Request timeout for icmp_seq 1268
Request timeout for icmp_seq 1269
Request timeout for icmp_seq 1270
Request timeout for icmp_seq 1271
Request timeout for icmp_seq 1272
Request timeout for icmp_seq 1273
Request timeout for icmp_seq 1274
Request timeout for icmp_seq 1275
Request timeout for icmp_seq 1276
Request timeout for icmp_seq 1277
Request timeout for icmp_seq 1278
Request timeout for icmp_seq 1279
Request timeout for icmp_seq 1280
Request timeout for icmp_seq 1281
Request timeout for icmp_seq 1282
64 bytes from 100.104.116.96: icmp_seq=1283 ttl=64 time=246.090 ms
64 bytes from 100.104.116.96: icmp_seq=1284 ttl=64 time=239.943 ms
64 bytes from 100.104.116.96: icmp_seq=1285 ttl=64 time=298.907 ms
64 bytes from 100.104.116.96: icmp_seq=1286 ttl=64 time=233.877 ms
64 bytes from 100.104.116.96: icmp_seq=1287 ttl=64 time=230.769 ms
64 bytes from 100.104.116.96: icmp_seq=1288 ttl=64 time=224.136 ms
64 bytes from 100.104.116.96: icmp_seq=1289 ttl=64 time=328.374 ms
64 bytes from 100.104.116.96: icmp_seq=1290 ttl=64 time=284.400 ms
64 bytes from 100.104.116.96: icmp_seq=1291 ttl=64 time=346.007 ms
64 bytes from 100.104.116.96: icmp_seq=1292 ttl=64 time=773.809 ms
Request timeout for icmp_seq 1293
64 bytes from 100.104.116.96: icmp_seq=1294 ttl=64 time=264.466 ms
64 bytes from 100.104.116.96: icmp_seq=1295 ttl=64 time=270.187 ms
64 bytes from 100.104.116.96: icmp_seq=1296 ttl=64 time=248.977 ms
64 bytes from 100.104.116.96: icmp_seq=1297 ttl=64 time=274.971 ms
64 bytes from 100.104.116.96: icmp_seq=1298 ttl=64 time=263.686 ms
64 bytes from 100.104.116.96: icmp_seq=1299 ttl=64 time=548.241 ms
64 bytes from 100.104.116.96: icmp_seq=1300 ttl=64 time=534.611 ms
64 bytes from 100.104.116.96: icmp_seq=1301 ttl=64 time=241.124 ms
64 bytes from 100.104.116.96: icmp_seq=1302 ttl=64 time=248.350 ms
64 bytes from 100.104.116.96: icmp_seq=1303 ttl=64 time=239.503 ms
64 bytes from 100.104.116.96: icmp_seq=1304 ttl=64 time=255.913 ms
64 bytes from 100.104.116.96: icmp_seq=1305 ttl=64 time=270.315 ms
64 bytes from 100.104.116.96: icmp_seq=1306 ttl=64 time=356.772 ms
64 bytes from 100.104.116.96: icmp_seq=1307 ttl=64 time=242.996 ms
64 bytes from 100.104.116.96: icmp_seq=1308 ttl=64 time=239.853 ms
64 bytes from 100.104.116.96: icmp_seq=1309 ttl=64 time=229.318 ms
64 bytes from 100.104.116.96: icmp_seq=1310 ttl=64 time=248.259 ms
64 bytes from 100.104.116.96: icmp_seq=1311 ttl=64 time=253.582 ms
64 bytes from 100.104.116.96: icmp_seq=1312 ttl=64 time=250.967 ms
64 bytes from 100.104.116.96: icmp_seq=1313 ttl=64 time=408.069 ms
64 bytes from 100.104.116.96: icmp_seq=1314 ttl=64 time=326.818 ms
64 bytes from 100.104.116.96: icmp_seq=1315 ttl=64 time=263.359 ms
64 bytes from 100.104.116.96: icmp_seq=1316 ttl=64 time=274.861 ms
64 bytes from 100.104.116.96: icmp_seq=1317 ttl=64 time=304.305 ms
Request timeout for icmp_seq 1318
Request timeout for icmp_seq 1319
Request timeout for icmp_seq 1320
Request timeout for icmp_seq 1321
Request timeout for icmp_seq 1322
Request timeout for icmp_seq 1323
Request timeout for icmp_seq 1324
Request timeout for icmp_seq 1325
Request timeout for icmp_seq 1326
Request timeout for icmp_seq 1327
Request timeout for icmp_seq 1328
Request timeout for icmp_seq 1329
Request timeout for icmp_seq 1330
Request timeout for icmp_seq 1331
Request timeout for icmp_seq 1332
Request timeout for icmp_seq 1333
64 bytes from 100.104.116.96: icmp_seq=1334 ttl=64 time=244.598 ms
64 bytes from 100.104.116.96: icmp_seq=1335 ttl=64 time=471.387 ms
64 bytes from 100.104.116.96: icmp_seq=1336 ttl=64 time=270.871 ms
64 bytes from 100.104.116.96: icmp_seq=1337 ttl=64 time=225.677 ms
64 bytes from 100.104.116.96: icmp_seq=1338 ttl=64 time=268.853 ms
64 bytes from 100.104.116.96: icmp_seq=1339 ttl=64 time=278.563 ms
64 bytes from 100.104.116.96: icmp_seq=1340 ttl=64 time=240.697 ms
64 bytes from 100.104.116.96: icmp_seq=1341 ttl=64 time=249.271 ms
64 bytes from 100.104.116.96: icmp_seq=1342 ttl=64 time=255.560 ms
64 bytes from 100.104.116.96: icmp_seq=1343 ttl=64 time=262.857 ms
64 bytes from 100.104.116.96: icmp_seq=1344 ttl=64 time=284.436 ms
64 bytes from 100.104.116.96: icmp_seq=1345 ttl=64 time=231.988 ms
64 bytes from 100.104.116.96: icmp_seq=1346 ttl=64 time=388.367 ms
64 bytes from 100.104.116.96: icmp_seq=1347 ttl=64 time=239.082 ms
64 bytes from 100.104.116.96: icmp_seq=1348 ttl=64 time=238.937 ms
64 bytes from 100.104.116.96: icmp_seq=1349 ttl=64 time=259.110 ms
64 bytes from 100.104.116.96: icmp_seq=1350 ttl=64 time=508.586 ms
64 bytes from 100.104.116.96: icmp_seq=1351 ttl=64 time=414.009 ms
64 bytes from 100.104.116.96: icmp_seq=1352 ttl=64 time=516.492 ms
64 bytes from 100.104.116.96: icmp_seq=1353 ttl=64 time=388.176 ms
64 bytes from 100.104.116.96: icmp_seq=1354 ttl=64 time=273.300 ms
64 bytes from 100.104.116.96: icmp_seq=1355 ttl=64 time=296.724 ms
64 bytes from 100.104.116.96: icmp_seq=1356 ttl=64 time=236.661 ms
64 bytes from 100.104.116.96: icmp_seq=1357 ttl=64 time=399.330 ms
64 bytes from 100.104.116.96: icmp_seq=1358 ttl=64 time=271.234 ms
64 bytes from 100.104.116.96: icmp_seq=1359 ttl=64 time=290.670 ms
64 bytes from 100.104.116.96: icmp_seq=1360 ttl=64 time=526.183 ms
...

mtr looks like this:

Host                               Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 100.104.116.96                 25.2%  1833  454.6 295.4 206.2 1814. 113.9

Basically, on … off … on … off. The set up of the Raspberry Pi is behind a Comcast XFi (?) router/modem combo. I’ve observed the same things happening whether my client device is using my home network or tethered via mobile.

Curious in this scenario what are the things I should be looking at first to try and diagnose the issue? I’m thinking there is some sort of issue with STUN?

Happy as well to share logs from my tailscale.service

You’re running 0.94-236, from Jan 14th. That is the oldest build that any Tailscale user is running. :trophy:

There have been thousands of fixes and improvements since then. :slight_smile:

So the first thing I’d do is update to the latest stable version.

1 Like

But props on being an early adopter! You were using Tailscale before I joined the company a ~week later. :joy:

1 Like

Haha cheers :+1: and congrats on joining!

So the first thing I’d do is update to the latest stable version.

I did check this and forgot to mention:

 $ tailscale --version
1.2.8
  tailscale commit: cde3a23b6649ed448a9a94bd776043fb09e966d5
  other commit: 1f7ecb611d82fb6f95f6a65fd61fc2265f98dc37
  go version: go1.15.4-tsf9db43b

I thought I may have mistakenly had two services running (one from the OG way to install on Raspberry Pi and a second from the fancy new apt package) but unsure if I need both these things? It appears I have both a tailscale.service and tailscaled.service I assume the tailscaled creates the .sock file that the tailscale.service listens on.

$ ps -ef | grep tailscale
root      2116     1  2 Nov20 ?        02:17:26 /usr/sbin/tailscaled --state=/var/lib/tailscale/tailscaled.state --socket=/run/tailscale/tailscaled.sock --port 41641
root      7003     1 10 Nov22 ?        05:56:52 /usr/sbin/relaynode.arm --config=/var/lib/tailscale/relay.conf --tun=wg0 --derp

Also was just looking at the Perkeep project the other day which I think I saw your name attached to? Had never seen ~‘self-hosted uniquely addressable block storage’ work so seamlessly before other than IPFS.

Yup that was my problem. Doing a bit of history digging I found I had curl'd relaynode.arm back in March and then installed Tailscale via apt later on which was causing the conflict.

Here’s the steps I took to get back in good shape.

  • Disabled both tailscale.service and tailscaled.service
  • sudo apt remove tailscale --purge
  • sudo rm /usr/sbin/relayode.arm
  • sudo apt install tailscale
  • Then re-enabled tailscaled.service
  • Ran tailscale up -force-reauth (tailscale up would just hang forever)

And I was then good to go :+1: – now seeing no disconnects now as expected.

2 Likes