Tinypilot Pro update fails
Tried to update using web gui and via SSH
error via SSH:
E: Repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
This is error from web gui:
2021-08-26 10:25:22 main ERROR Update process terminated with failing exit code: Command '['sudo', '/opt/tinypilot-privileged/update']' returned non-zero exit status 100.
Version info:
Software versions
TinyPilot version: 2.2.1 04febc7
uStreamer version: v3.26 a97f08e
OS version: Linux tinypilot 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l GNU/Linux
voltage logs
TinyPilot configuration
[Unit]
Description=TinyPilot - RPi-based virtual KVM
After=syslog.target network.target
StartLimitIntervalSec=0
Full log from ssh:
pilot@tinypilot:~ $ /opt/tinypilot/scripts/upgrade && sudo reboot
- set -u
- set -e
++ mktemp -d - cd /tmp/tmp.UlRoTCrycU
- git clone https://dev.azure.com/tinypilot/tinypilot-pro/_git/tinypilot-pro .
Cloning into '.'...
remote: Azure Repos
remote: Found 5192 objects to send. (166 ms)
Receiving objects: 100% (5192/5192), 13.03 MiB | 4.62 MiB/s, done.
Resolving deltas: 100% (3429/3429), done. - ./quick-install
- readonly DEFAULT_TINYPILOT_SETTINGS_FILE=/home/tinypilot/settings.yml
- DEFAULT_TINYPILOT_SETTINGS_FILE=/home/tinypilot/settings.yml
- [[ -n '' ]]
- set -u
++ mktemp --tmpdir=/var/tmp --suffix .yml - readonly TINYPILOT_SETTINGS_FILE=/var/tmp/tmp.TmCRhVZ6eQ.yml
- TINYPILOT_SETTINGS_FILE=/var/tmp/tmp.TmCRhVZ6eQ.yml
- [[ -f /home/tinypilot/settings.yml ]]
- echo 'Using settings file at: /home/tinypilot/settings.yml'
Using settings file at: /home/tinypilot/settings.yml - sudo cp /home/tinypilot/settings.yml /var/tmp/tmp.TmCRhVZ6eQ.yml
- readonly EXTRA_VARS_PATH=@/var/tmp/tmp.TmCRhVZ6eQ.yml
- EXTRA_VARS_PATH=@/var/tmp/tmp.TmCRhVZ6eQ.yml
- add_setting_if_undefined ustreamer_port 8001
- local key=ustreamer_port
- local value=8001
- grep --silent '^ustreamer_port:' /var/tmp/tmp.TmCRhVZ6eQ.yml
- add_setting_if_undefined ustreamer_persistent true
- local key=ustreamer_persistent
- local value=true
- grep --silent '^ustreamer_persistent:' /var/tmp/tmp.TmCRhVZ6eQ.yml
- USE_TC358743_DEFAULTS=
- grep --silent '^ustreamer_capture_device:' /var/tmp/tmp.TmCRhVZ6eQ.yml
- '[' -f /home/ustreamer/config.yml ']'
- grep --silent 'capture_device: "tc358743"' /home/ustreamer/config.yml
- USE_TC358743_DEFAULTS=y
- [[ y == \y ]]
- add_setting_if_undefined ustreamer_encoder omx
- local key=ustreamer_encoder
- local value=omx
- grep --silent '^ustreamer_encoder:' /var/tmp/tmp.TmCRhVZ6eQ.yml
- add_setting_if_undefined ustreamer_format uyvy
- local key=ustreamer_format
- local value=uyvy
- grep --silent '^ustreamer_format:' /var/tmp/tmp.TmCRhVZ6eQ.yml
- add_setting_if_undefined ustreamer_workers 3
- local key=ustreamer_workers
- local value=3
- grep --silent '^ustreamer_workers:' /var/tmp/tmp.TmCRhVZ6eQ.yml
- add_setting_if_undefined ustreamer_use_dv_timings true
- local key=ustreamer_use_dv_timings
- local value=true
- grep --silent '^ustreamer_use_dv_timings:' /var/tmp/tmp.TmCRhVZ6eQ.yml
- add_setting_if_undefined ustreamer_drop_same_frames 30
- local key=ustreamer_drop_same_frames
- local value=30
- grep --silent '^ustreamer_drop_same_frames:' /var/tmp/tmp.TmCRhVZ6eQ.yml
- echo 'Final install settings:'
Final install settings: - cat /var/tmp/tmp.TmCRhVZ6eQ.yml
tinypilot_repo_branch: 2.2.4
ustreamer_drop_same_frames: 30
ustreamer_encoder: omx
ustreamer_format: uyvy
ustreamer_persistent: true
ustreamer_port: 8001
ustreamer_use_dv_timings: true
ustreamer_workers: 3 - readonly DEBIAN_RELEASE=buster
- DEBIAN_RELEASE=buster
- sudo apt-get update --target-release buster
Hit:1 http://archive.raspberrypi.org/debian buster InRelease
Get:2 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]
Reading package lists... Done
E: Repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
pilot@tinypilot:~ $
pilot@tinypilot:~ $ pilot@tinypilot:~ $ /opt/tinypilot/scripts/upgrade && sudo reboot - [[ -f /home/tinypilot/settings.yml ]]
- echo 'Using settings file at: /home/tinypilot/settings.yml'
Using settings file at: /home/tinypilot/settings.yml - sudo cp /home/tinypilot/settings.yml /var/tmp/tmp.TmCRhVZ6eQ.yml
- readonly EXTRA_VARS_PATH=@/var/tmp/tmp.TmCRhVZ6eQ.yml
- EXTRA_VARS_PATH=@/var/tmp/tmp.TmCRhVZ6eQ.yml
- add_setting_if_undefined ustreamer_port 8001
- local key=ustreamer_port
- local value=8001
- grep --silent '^ustreamer_port:' /var/tmp/tmp.TmCRhVZ6eQ.yml
- add_setting_if_undefined ustreamer_persistent true
- local key=ustreamer_persistent
- local value=true
- grep --silent '^ustreamer_persistent:' /var/tmp/tmp.TmCRhVZ6eQ.yml
- USE_TC358743_DEFAULTS=
- grep --silent '^ustreamer_capture_device:' /var/tmp/tmp.TmCRhVZ6eQ.yml
- '[' -f /home/ustreamer/config.yml ']'
- grep --silent 'capture_device: "tc358743"' /home/ustreamer/config.yml
- USE_TC358743_DEFAULTS=y
- [[ y == \y ]]
- add_setting_if_undefined ustreamer_encoder omx
- local key=ustreamer_encoder
- local value=omx
- grep --silent '^ustreamer_encoder:' /var/tmp/tmp.TmCRhVZ6eQ.yml
- add_setting_if_undefined ustreamer_format uyvy
- local key=ustreamer_format
- local value=uyvy
- grep --silent '^ustreamer_format:' /var/tmp/tmp.TmCRhVZ6eQ.yml
- add_setting_if_undefined ustreamer_workers 3
- local key=ustreamer_workers
- local value=3
- grep --silent '^ustreamer_workers:' /var/tmp/tmp.TmCRhVZ6eQ.yml
- add_setting_if_undefined ustreamer_use_dv_timings true
- local key=ustreamer_use_dv_timings
- local value=true
- grep --silent '^ustreamer_use_dv_timings:' /var/tmp/tmp.TmCRhVZ6eQ.yml
- add_setting_if_undefined ustreamer_drop_same_frames 30
- local key=ustreamer_drop_same_frames
- local value=30
- grep --silent '^ustreamer_drop_same_frames:' /var/tmp/tmp.TmCRhVZ6eQ.yml
- echo 'Final install settings:'
Final install settings: - cat /var/tmp/tmp.TmCRhVZ6eQ.yml
tinypilot_repo_branch: 2.2.4
ustreamer_drop_same_frames: 30
ustreamer_encoder: omx
ustreamer_format: uyvy
ustreamer_persistent: true
ustreamer_port: 8001
ustreamer_use_dv_timings: true
ustreamer_workers: 3 - readonly DEBIAN_RELEASE=buster
- DEBIAN_RELEASE=buster
- sudo apt-get update --target-release buster
Hit:1 http://archive.raspberrypi.org/debian buster InRelease
Get:2 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]
Reading package lists... Done
E: Repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
- Michael Lynch @michael2021-08-26 15:57:48.223Z
Someone else reported something similar, but I've been unable to reproduce it. Can you share the output of
cat /etc/os-release
? - KIn reply tokzw⬆:Kent Winchell @kzw
login as: pilot
pilot@192.168.0.119's password:
Linux tinypilot 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7lThe programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Aug 26 11:34:55 2021 from 192.168.0.80Wi-Fi is currently blocked by rfkill.
Use raspi-config to set the country before use.pilot@tinypilot:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
pilot@tinypilot:~ $ - In reply tokzw⬆:Michael Lynch @michael2021-08-26 19:19:58.359Z
Thanks for sharing that. We're still investigating why this is popping up for some users and not others.
Can you try running this command and then attempting the update again?
sudo apt-get update --allow-releaseinfo-change
- KIn reply tokzw⬆:Kent Winchell @kzw
Thanks for GREAT support.
The update worked after "allow-releaseinfo-change" - now running 2.2.4!
- FIn reply tokzw⬆:Frank P @frankp
How can I activate DHCP on the tinypilot? I don't want to interfere with any of the standard settings and brick it.
My gateway is 192.168.0.1 and it's a basic internet router.- Michael Lynch @michael2021-08-30 18:47:06.964Z
TinyPilot ships with DHCP enabled by default. Depending on your router, you may need to use slightly different hostnames. Common ones are:
tinypilot
tinypilot.local
tinypilot.localdomain
The above assumes that your TinyPilot's hostname (the value in
/etc/hostname
) istinypilot
.- FFrank P @frankp
Please note: I did activate the wlan interface as per:
Wifi setupThat may have something to do with this. I am currently connected to both Ethernet and WIFI on the device to the same router gateway. 192.168.0.1
Here is the host:
pilot@tinypilot:/etc/network $ cat /etc/hostname
tinypilotHere is the contents of
pilot@tinypilot:/etc/network $ sudo nano /etc/resolv.confGenerated by resolvconf
domain ht.home
nameserver ::1it seems to be not allowing my to change the nameserver. It always resets to ::1 after a restart.
I can ping IPs just not hosts....
pilot@tinypilot:/home $ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=17.5 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=13.7 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=16.8 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=117 time=13.6 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=117 time=12.4 ms
^C
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 9ms
rtt min/avg/max/mdev = 12.356/14.797/17.519/2.000 msThis is where my linux knowledge is limited.
- Michael Lynch @michael2021-08-31 19:02:43.338Z
Sorry, I may have misunderstood what you're trying to do. I thought you wanted to enable DHCP so that you could reach TinyPilot from another machine on the network using TinyPilot's hostname.
It sounds like you're trying to do something else. What are you trying to edit your
/etc/resolv.conf
to do?I don't want to interfere with any of the standard settings and brick it.
Also, forgot to mention, but you can't really brick your device. At worst, if you get TinyPilot into an inaccessible/unbootable state, you can just reflash the microSD.
- FFrank P @frankp
I am just trying to get it to auto update the software. It currently has no ability to see internet hostnames from the web interface or from SSH. I can only ping IP addresses.
- Michael Lynch @michael2021-08-31 19:14:44.317Z
Oh, that's not a DHCP issue. That's a DNS issue. For some reason, your TinyPilot is configured to use itself as a DNS nameserver (
::1
is the loopback IPv6 address), but it should be pointing to your router.Do you have a microSD writer on hand to reflash the microSD? I'd like to know if you see that behavior on a fresh install or if something else caused it.
- FFrank P @frankp
I'll be able to re-flash tomorrow. I'll let you know the results. Thank you
- FFrank P @frankp
I flashed it to the latest Hobbyist build and I am still getting the following error when clicking update on the web interface:
Error: Failed to check latest available version: fatal: unable to access 'https://dev.azure.com/tinypilot/tinypilot-pro/_git/tinypilot-pro/': Could not resolve host: dev.azure.comBuild: tinypilot-hobbyist-2.2.3-2021-07-20T0855-0400
The contents of /etc/resolv.conf are the same as before. It's still using itself as DNS. I made no changes after flashing. It's currently all default and using ethernet connection.
- Michael Lynch @michael2021-09-01 22:33:02.685Z
I'm not sure why it keeps assigning itself as the resolver. Can you try running these commands?
GATEWAY="192.168.0.1" echo "static domain_name_servers=${GATEWAY}" | \ sudo tee -a /etc/dhcpcd.conf && \ sudo service dhcpcd restart
That should hardcode the DNS server to your router.
Explanation
We're adding the line
static domain_name_servers=192.168.0.1
to your/etc/dhcpcd.conf
file. When you restart the dhcpcd service, it populates/etc/resolv.conf
with your router's IP (192.168.0.1) instead of::1
.If you ever need to undo this change, you can open the file with
sudo nano /etc/dhcpcd.conf
and remove thestatic domain_name_servers
line.- FFrank P @frankp
No luck still. It added the gateway and I restarted dhcpcd service.
pilot@tinypilot:~ $ GATEWAY="192.168.0.1"
pilot@tinypilot:~ $ echo "static domain_name_servers=${GATEWAY}" | \sudo tee -a /etc/dhcpcd.conf &&
sudo service dhcpcd restart
static domain_name_servers=192.168.0.1pilot@tinypilot:~ $ ping google.com
ping: google.com: Temporary failure in name resolutionpilot@tinypilot:~ $ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=1.97 ms- Michael Lynch @michael2021-09-02 20:06:41.289Z
It seems like it can't resolve DNS addresses through your router for some reason.
Another option is to use a public DNS server. If you open up your config file with:
sudo nano /etc/dhcpcd.conf
Change the last line to this:
static domain_name_servers=8.8.8.8 1.1.1.1
Save the file with Ctrl+O, exit with Ctrl+X and then restart the service:
sudo service dhcpcd restart
That will tell TinyPilot to resolve hostnames using Google (8.8.8.8) or Cloudflare (1.1.1.1).
- FFrank P @frankp
Here is the results. Something I haven't seen before
pilot@tinypilot:~ $ sudo nano /etc/dhcpcd.conf
pilot@tinypilot:~ $ sudo service dhcpcd restart
Warning: The unit file, source configuration file or drop-ins of dhcpcd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
pilot@tinypilot:~ $ systemctl daemon-reload
==== AUTHENTICATING FOR org.freedesktop.systemd1.reload-daemon ===
Authentication is required to reload the systemd state.
Authenticating as: ,,, (pi)
Password:
polkit-agent-helper-1: pam_authenticate failed: Authentication failure
==== AUTHENTICATION FAILED ===
Failed to reload daemon: Access deniedWhat is that password?
- Michael Lynch @michael2021-09-03 14:16:58.973Z
The
pi
user account is disabled, so you can't authenticate with it.You can run
sudo systemctl daemon-reload
and the password is the same as your SSH password.- FFrank P @frankp
pilot@tinypilot:~ $ sudo systemctl daemon-reload
pilot@tinypilot:~ $ sudo service dhcpcd restart
pilot@tinypilot:~ $ ping google.com
ping: google.com: Temporary failure in name resolutionI am googling this error and it could be firewall issues on the Pi or DNSSEC? It seems to be a common issue on RPi...
- Michael Lynch @michael2021-09-03 14:38:56.569Z
I am googling this error and it could be firewall issues on the Pi or DNSSEC? It seems to be a common issue on RPi...
There's no firewall on the Pi, so it shouldn't be that. DNSSEC shouldn't be an issue here. This isn't a common issue, as this is the first time a customer has reported behavior like this.
It could be a misconfiguration on your router. If your router is blocking all outbound requests to DNS (port 53), that would explain this, but that would be a very bizarre configuration.
Can I see the end of your
/etc/dhcpcd.conf
? You can run this command and share the output:tail /etc/dhcpcd.conf
- FFrank P @frankp
pilot@tinypilot:~ $ ping google.com ping: google.com: Temporary failure in name resolution pilot@tinypilot:~ $ tail /etc/dhcpcd.conf #profile static_eth0 #static ip_address=192.168.1.23/24 #static routers=192.168.1.1 #static domain_name_servers=192.168.1.1 # fallback to static profile on eth0 #interface eth0 #fallback static_eth0 static domain_name_servers=8.8.8.8 1.1.1.1
- Michael Lynch @michael2021-09-03 18:35:35.003Z
Sorry, I can't think of anything else to try.
The only thing I can think of is a router misconfiguration, but I don't know why your other devices would be unaffected. It might be a Linux-specific issue since it sounds like your other devices are Windows, but that would be pretty unusual.
If you have access to another network (e.g., another office, a friend's home), you can try it there to see if you hit the same issue.
If this prevents you from using the TinyPilot for the scenarios you purchased it for, you can email me to arrange a return.
- FFrank P @frankp
It's not critical for me to go to the internet from the pilot. I would like to resolve this issue, and will attempt other networks when I get the change (Starlink)
If you want to continue to try to have a look, request any files you may need and I will dump them here.
Here is /etc/hosts:
GNU nano 3.2 /etc/hosts127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters127.0.1.1 tinypilot
- FFrank P @frankp
Found the solution and I can ping google now
https://stackoverflow.com/questions/53687051/ping-google-com-temporary-failure-in-name-resolution- Michael Lynch @michael2021-09-03 21:47:43.316Z
Oh, glad to hear that resolved it!
- Progress
- FFrank P @frankp
Hello I am also having issues updating:
pilot@tinypilot:~ $ sudo apt-get update --allow-releaseinfo-change
Err:1 http://raspbian.raspberrypi.org/raspbian buster InRelease
Temporary failure resolving 'raspbian.raspberrypi.org'
Err:2 http://archive.raspberrypi.org/debian buster InRelease
Temporary failure resolving 'archive.raspberrypi.org'
Reading package lists... Done
W: Failed to fetch http://raspbian.raspberrypi.org/raspbian/dists/buster/InRelease Temporary failure resolving 'raspbian.raspberrypi.org'
W: Failed to fetch http://archive.raspberrypi.org/debian/dists/buster/InRelease Temporary failure resolving 'archive.raspberrypi.org'
W: Some index files failed to download. They have been ignored, or old ones used instead.
pilot@tinypilot:~ $ - Michael Lynch @michael2021-08-27 19:40:20.616Zreplies tofrankp⬆:
That looks like a DNS issue, possibly due to a misconfiguration on your network. Are you able to ping a well-known address like google.com?