No internet connection
  1. Home
  2. General

Tinypilot Pro update fails

By Kent Winchell @kzw2021-08-26 15:39:30.992Z

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.
  • 27 replies

There are 27 replies. Estimated reading time: 18 minutes

  1. 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?

    1. K
      In reply tokzw:
      Kent Winchell @kzw2021-08-26 19:10:29.535Z

      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 armv7l

      The 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.80

      Wi-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:~ $

      1. 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
        
        1. K
          In reply tokzw:
          Kent Winchell @kzw2021-08-26 19:27:52.910Z

          Thanks for GREAT support.

          The update worked after "allow-releaseinfo-change" - now running 2.2.4!

          1. K2
            In reply tokzw:
            @ksarn2021-08-26 20:58:13.225Z

            I experienced this problem and was able to resolve it with the solution provided.

            1. F
              In reply tokzw:
              Frank P @frankp2021-08-27 22:58:42.960Z

              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.

              1. 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) is tinypilot.

                1. FFrank P @frankp2021-08-30 19:22:19.272Z

                  Please note: I did activate the wlan interface as per:
                  Wifi setup

                  That 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
                  tinypilot

                  Here is the contents of
                  pilot@tinypilot:/etc/network $ sudo nano /etc/resolv.conf

                  Generated by resolvconf
                  domain ht.home
                  nameserver ::1

                  it 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 ms

                  This is where my linux knowledge is limited.

                  1. 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.

                    1. FFrank P @frankp2021-08-31 19:07:36.284Z

                      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.

                      1. 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.

                        1. FFrank P @frankp2021-08-31 22:18:36.669Z

                          I'll be able to re-flash tomorrow. I'll let you know the results. Thank you

                          1. FFrank P @frankp2021-09-01 18:40:33.567Z2021-09-01 18:47:30.680Z

                            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.com

                            Build: 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.

                            1. 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 the static domain_name_servers line.

                              1. FFrank P @frankp2021-09-02 15:14:44.480Z

                                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.1

                                pilot@tinypilot:~ $ ping google.com
                                ping: google.com: Temporary failure in name resolution

                                pilot@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

                                1. 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).

                                  1. FFrank P @frankp2021-09-03 13:07:57.733Z

                                    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 denied

                                    What is that password?

                                    1. 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.

                                      1. FFrank P @frankp2021-09-03 14:27:36.442Z

                                        pilot@tinypilot:~ $ sudo systemctl daemon-reload
                                        pilot@tinypilot:~ $ sudo service dhcpcd restart
                                        pilot@tinypilot:~ $ ping google.com
                                        ping: google.com: Temporary failure in name resolution

                                        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...

                                        1. 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
                                          
                                          1. FFrank P @frankp2021-09-03 14:47:35.187Z2021-09-03 18:31:42.175Z
                                            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
                                            
                                            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.

                                              1. FFrank P @frankp2021-09-03 18:59:57.963Z

                                                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/hosts

                                                127.0.0.1 localhost
                                                ::1 localhost ip6-localhost ip6-loopback
                                                ff02::1 ip6-allnodes
                                                ff02::2 ip6-allrouters

                                                127.0.1.1 tinypilot

                                                1. FFrank P @frankp2021-09-03 19:54:14.997Z
                                                  1. Michael Lynch @michael2021-09-03 21:47:43.316Z

                                                    Oh, glad to hear that resolved it!

              2. Progress
              3. F
                Frank P @frankp2021-08-27 15:58:39.624Z

                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:~ $

                1. 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?