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.
mpous
May 9, 2023, 8:58am
3
@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.
mpous
May 9, 2023, 9:16am
6
@Richard238 did you make any change on your network configuration on 24th April?
No, I haven’t touch the LAN in aeons…
1 Like
mpous
May 9, 2023, 9:20am
8
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?
mpous
May 9, 2023, 9:41am
11
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.
mpous
May 10, 2023, 10:25am
19
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!
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.
mpous
May 11, 2023, 8:57am
22
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!