Inkyshot, not updated for 14 days

Just noticed Inkyshot showing weather for April 24th, and not showing a quote.
Rebooted (power cable out/in) but no change, display still shows 24th April weather.

wifi-connect  Checking internet connectivity ...
 wifi-connect  Your device is already connected to the internet.
 wifi-connect  Skipping setting up Wifi-Connect Access Point. Will check again in 120 seconds
 inkyshot  INFO:root:Display type: InkyPHAT_SSD1608
 inkyshot  INFO:root:Display dimensions: W 250 x H 122
 inkyshot  Traceback (most recent call last):
 inkyshot    File "/usr/app/update-display.py", line 348, in <module>
 inkyshot      message = data['contents']['quotes'][0]['quote']
 inkyshot  KeyError: 'contents'
Device Health Checks:
check_networking FailedSome networking issues detected: 
test_balena_registry: Could not communicate with registry2.balena-cloud.com for authentication

The Pi is connected to my LAN and does respond to ping.

Any ideas? What else can I check to help diagnosis?

Thank you.

@Richard238 Could you please confirm if it’s working now? Did you perform any action to the device (e.g. software update, hostOS update, etc.)?

No, it’s sat here now still showing weather for 24th April.

I’ve not made any changes.

@Richard238 did you make any change on your network configuration on 24th April?

No, I haven’t touch the LAN in aeons…

1 Like

What other errors appear on the Diagnostics section? Could you please share?

Thanks

Diagnostics output too large to post here, which section are you interested in?

is there any issue with the network or similar?

This seems to be the error report section.


STDERR:

--- diagnose 4.22.13 ---


--- NOTE: not all commands are expected to succeed on all device types ---


--- COMMANDS ---


--- prefixing commands with 'date --utc --rfc-3339=ns ; /usr/bin/time -o /dev/stdout timeout --preserve-status --kill-after=20 -v 10 bash -c' ---


--- echo === BALENA === ---


--- curl --unix-socket /var/run/balena.sock http://./debug/pprof/goroutine?debug=2 ---

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  139k    0  139k    0     0  1196k      0 --:--:-- --:--:-- --:--:-- 1206k

--- balena --version ---


--- balena images ---


--- balena ps -a ---


--- balena stats --all --no-stream ---

timeout: sending signal TERM to command 'bash'

--- balena system df ---


--- balena volume ls ---


--- balena network ls ---


--- systemctl status balena --no-pager ---


--- journalctl --no-pager --no-hostname -n 200 -a -u balena ---


--- journalctl --no-pager --no-hostname -n 1000 -at balenad ---


--- balena inspect $(balena ps --all --quiet | tr "\n" " ") | jq "del(.[].Config.Env)" ---


--- balena network inspect $(balena network ls --quiet | tr "\n" " ") ---


--- test -f /mnt/state/balena-engine-storage-migration.log && cat /mnt/state/balena-engine-storage-migration.log ---


--- echo === BOOT === ---


--- systemd-analyze ---


--- systemd-analyze critical-chain ---

timeout: sending signal TERM to command 'bash'

--- echo === HARDWARE === ---


--- cat /proc/cpuinfo ---


--- cat /proc/device-tree/model ---


--- cat /proc/meminfo ---


--- ps ---


--- top -b -n 1 ---


--- cat /var/log/provisioning-progress.log ---

cat: /var/log/provisioning-progress.log: No such file or directory

--- df -h ---


--- df -ih ---


--- for i in /sys/class/thermal/thermal* ; do if [ -e $i/temp ]; then echo $i && cat $i/temp; fi ; done ---


--- for i in /sys/class/mmc_host/mmc*/mmc* ; do if [ -e $i/oemid ]; then echo $i; for j in manfid oemid name hwrev fwrev; do printf $j: && cat $i/$j; done; fi; done ---


--- free -h ---


--- ls -l /dev ---


--- lsusb -vvv ---

can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable

--- mmcli -L ---


--- mount ---


--- uname -a ---


--- echo === NETWORK === ---


--- /sbin/ip addr ---


--- cat /etc/resolv.conf ---


--- cat /proc/net/dev ---


--- cat /proc/net/snmp ---


--- cat /proc/net/udp ---


--- CURL_CA_BUNDLE=/tmp/tmp.SZAh7Ju6NE curl https://api.balena-cloud.com/ping ---

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100     2  100     2    0     0      2      0  0:00:01 --:--:--  0:00:01     2

--- CURL_CA_BUNDLE=/tmp/tmp.SZAh7Ju6NE curl https://www.google.co.uk ---

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 14662    0 14662    0     0  24600      0 --:--:-- --:--:-- --:--:-- 24600

--- ifconfig ---


--- iptables -n -L ---


--- iptables -n -t nat -L ---


--- journalctl --no-pager --no-hostname -a -u ModemManager ---


--- journalctl --no-pager --no-hostname -n 200 -a -u "openvpn*" ---


--- ls -l /mnt/boot/system-connections ---


--- mmcli -m 0 ---

error: couldn't find modem at '/org/freedesktop/ModemManager1/Modem/0'

--- netstat -ntl ---


--- nmcli --version ---


--- ping -c 1 -W 3 google.co.uk ---


--- systemctl kill -s USR1 dnsmasq ---


--- systemctl status openvpn-resin --no-pager ---


--- echo === OS === ---


--- cat /etc/os-release ---


--- cat /mnt/boot/config.json | jq ". | with_entries(if .key | (contains(\"apiKey\") or contains(\"deviceApiKey\") or contains(\"pubnubSubscribeKey\") or contains(\"pubnubPublishKey\") or contains(\"mixpanelToken\") or contains(\"wifiKey\") or contains(\"files\")) then .value = \"<hidden>\" else . end)" ---


--- cat /mnt/boot/config.txt ---


--- cat /mnt/boot/device-type.json ---


--- cat /mnt/boot/extlinux/extlinux.conf ---

cat: /mnt/boot/extlinux/extlinux.conf: No such file or directory

--- cat /mnt/boot/resinOS_uEnv.txt ---

cat: /mnt/boot/resinOS_uEnv.txt: No such file or directory

--- cat /mnt/boot/uEnv.txt ---

cat: /mnt/boot/uEnv.txt: No such file or directory

--- cat /mnt/conf/config.json | jq ". | with_entries(if .key | (contains(\"apiKey\") or contains(\"deviceApiKey\") or contains(\"pubnubSubscribeKey\") or contains(\"pubnubPublishKey\") or contains(\"mixpanelToken\") or contains(\"wifiKey\") or contains(\"files\")) then .value = \"<hidden>\" else . end)" ---

cat: /mnt/conf/config.json: No such file or directory

--- cat /mnt/data-disk/config.json | jq ". | with_entries(if .key | (contains(\"apiKey\") or contains(\"deviceApiKey\") or contains(\"pubnubSubscribeKey\") or contains(\"pubnubPublishKey\") or contains(\"mixpanelToken\") or contains(\"wifiKey\") or contains(\"files\")) then .value = \"<hidden>\" else . end)" ---

cat: /mnt/data-disk/config.json: No such file or directory

--- cat /var/log/messages ---

cat: /var/log/messages: No such file or directory

--- cat /var/log/provisioning-progress.log ---

cat: /var/log/provisioning-progress.log: No such file or directory

--- dmesg -T ---


--- find /mnt/data/*hup/*log -mtime -180 | xargs tail -n 250 -v ---

find: /mnt/data/*hup/*log: No such file or directory

--- journalctl --no-pager --no-hostname  --list-boots ---


--- journalctl --no-pager --no-hostname -n500 -a ---


--- journalctl --no-pager --no-hostname -pwarning -perr -a ---


--- ls -lR /proc/ 2>/dev/null | grep /data/ | grep \(deleted\) ---

timeout: sending signal TERM to command 'bash'

--- ps ---


--- stat /var/lock/*hup.lock ---

stat: cannot stat '/var/lock/*hup.lock': No such file or directory

--- sysctl -a ---

sysctl: error reading key 'net.ipv6.conf.all.stable_secret': Input/output error
sysctl: error reading key 'net.ipv6.conf.balena0.stable_secret': Input/output error
sysctl: error reading key 'net.ipv6.conf.br-665b76092d69.stable_secret': Input/output error
sysctl: error reading key 'net.ipv6.conf.default.stable_secret': Input/output error
sysctl: error reading key 'net.ipv6.conf.lo.stable_secret': Input/output error
sysctl: error reading key 'net.ipv6.conf.resin-dns.stable_secret': Input/output error
sysctl: error reading key 'net.ipv6.conf.supervisor0.stable_secret': Input/output error
sysctl: error reading key 'net.ipv6.conf.veth83300d9.stable_secret': Input/output error
sysctl: error reading key 'net.ipv6.conf.vethf5559aa.stable_secret': Input/output error
sysctl: error reading key 'net.ipv6.conf.wlan0.stable_secret': Input/output error

--- systemctl list-units --failed --no-pager ---


--- top -b -n 1 ---


--- grep -vE "/var/cache/ldconfig/aux-cache|md5sum|/etc/hostname|/etc/machine-id|/etc/balena-supervisor/supervisor.conf|/etc/resin-supervisor/supervisor.conf|/etc/systemd/timesyncd.conf|/home/root/.rnd" /resinos.fingerprint | md5sum --quiet -c  ---

timeout: sending signal TERM to command 'bash'

--- echo === SUPERVISOR === ---


--- balena exec 19d8ec5c55f8 cat /etc/resolv.conf ---

timeout: sending signal TERM to command 'bash'

--- balena logs 19d8ec5c55f8 ---

(node:1) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.

--- curl --max-time 5 localhost:48484/v1/healthy ---

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100     2  100     2    0     0     22      0 --:--:-- --:--:-- --:--:--    22

--- journalctl --no-pager --no-hostname -n 200 -a -u balena-supervisor -u resin-supervisor ---


--- ls -lR /tmp/*-supervisor/**/* ---


--- systemctl status balena-supervisor resin-supervisor --no-pager ---

Unit balena-supervisor.service could not be found.

--- tail -500 /var/log/supervisor-log/resin_supervisor_stdout.log ---

tail: cannot open '/var/log/supervisor-log/resin_supervisor_stdout.log' for reading: No such file or directory

--- echo === TIME === ---


--- cat /tmp/chrony_added_dhcp_ntp_servers ---

cat: /tmp/chrony_added_dhcp_ntp_servers: No such file or directory

--- chronyc sources ---


--- chronyc tracking ---


--- date ---


--- journalctl --no-pager --no-hostname -u chronyd ---


--- timedatectl status ---


--- uptime ---



Network is fine, Balena dashboard communicates with Pi OK.
Internet access is OK too.

Hello @Richard238 with a colleague we checked the project and it looks like the quotes server is not public anymore.

We tried to manually retrieve a quote with this API using curl https://quotes.rest/qod?category=inspire&language=en and got {"message":"Not authenticated"} then noticed this on their website:

Please note recently we closed down public access without api key to prevent abuse. The public routes are still available to use free of charge but requires an api token. You can get one for free at our website. For using the private end points and subscribing to the API please visit https://theysaidso.com/api.

So we are guessing that recently due to this change (they don’t give a date when it was made) - inkyshots are no longer able to retrieve the quotes. On the other hand, the code on inkyshot does not use an API key for this quotes API.

Actions needed might be:

Could you please check this and contribute on the repository?

Thanks

@mpous

I did exactly that - https://quotes.rest/qod?category=inspire&language=en
and also got
{"message":"Not authenticated"}
I put it down to the auth being buried somewhere in Balena’s code.

5 calls a day is useless, and I have other far more important things to spend £5 a month on.

I wish my coding/githubskills were that strong! :wink:

BUT!
None of this explains why the weather forecast got stuck on 24th April.
Why has that not updated since then, and ignored the QotD?

Thank you.

Apologizes, you were mentioning about weather all the time @Richard238 i will try to deploy this application on my pi zero and test myself why is not working and if this is related with the quotes.

My guess is it successfully got a weather forecast on 24th April, and then next time it tried to get QotD, it got stuck and couldn’t move on.

No worries if this is the end of Inkyshot, it was fun while it lasted.
I’ll find a new use for my Inkyphat! :slight_smile: