[Raspbian Stretch] Instability after apt-get update, upgrade SOLVED



  • After unremarkable operation for several weeks on Raspbian Stretch, in February 2018, I ran my first apt-get update and upgrade, which resulted in flakiness in the display at startup, in wireless connection, and MagicMirror operations. Ugh! Several weeks of fruitless troubleshooting and reinstalls ensued. I grudgingly went back to the base Raspbian Stretch installation, but strangely MagicMirror itself had now unstable. I largely gave up in the hopes that updating at a later time would solve the problem.

    Then, I stumbled across a post on another forum that pointed to a wireless firmware driver that gets broken during update. It’s possible to tell update to skip a program or driver with apt-mark. Running this before update and upgrade appears to have solved all problems:

    sudo apt-mark hold firmware-brcm80211

    apt-get update and upgrade ran without incident. There were no aberrations on the display at startup, the wireless connection accepted configuration normally and ran without incident, and MagicMirror installed and configured without incident. Essentially, a reprise of my positive experience when I first put together my MagicMirror.

    My mirror has been running for several hours as configured without incident, and with no hint of a problem. If this should change in the next few days, I’ll add to this post, but right now I’m declaring this noisome problem solved. Hope this helps other fellow sufferers.



  • @intelligo said in [Raspbian Stretch] Instability after apt-get update, upgrade SOLVED:

    sudo apt-mark hold firmware-brcm80211

    Thank so much for sharing this important info. Indeed these mysterious breaks caused by faulty system drivers can drive even the most seasoned unix admin, bonkers!

    Also, great to learn a new apt command. Never heard of apt-mark before.

    APT-MARK(8)                                                              APT                                                              APT-MARK(8)
    
    NAME
           apt-mark - show, set and unset various settings for a package
    
    SYNOPSIS
           apt-mark {-f=filename | {auto | manual} pkg...  | {showauto | showmanual} [pkg...] } | {-v | --version} | {-h | --help}
    
           apt-mark {hold | unhold | install | remove | purge} pkg...  | {showhold | showinstall | showremove | showpurge} [pkg...]
    
    DESCRIPTION
           apt-mark can be used as a unified front-end to set various settings for a package, such as marking a package as being automatically/manually
           installed or changing dpkg selections such as hold, install, deinstall and purge which are respected e.g. by apt-get dselect-upgrade or
           aptitude.
    
    AUTOMATICALLY AND MANUALLY INSTALLED PACKAGES
           When you request that a package is installed, and as a result other packages are installed to satisfy its dependencies, the dependencies are
           marked as being automatically installed, while the package you installed explicitly is marked as manually installed. Once an automatically
           installed package is no longer depended on by any manually installed package it is considered no longer needed and e.g.  apt-get or aptitude
           will at least suggest removing them.
    
           auto
               auto is used to mark a package as being automatically installed, which will cause the package to be removed when no more manually
               installed packages depend on this package.
    
           manual
               manual is used to mark a package as being manually installed, which will prevent the package from being automatically removed if no other
               packages depend on it.
    
           showauto
               showauto is used to print a list of automatically installed packages with each package on a new line. All automatically installed packages
               will be listed if no package is given. If packages are given only those which are automatically installed will be shown.
    
           showmanual
               showmanual can be used in the same way as showauto except that it will print a list of manually installed packages instead.
    
       Options
           -f=filename, --file=filename
               Read/Write package stats from the filename given with the parameter filename instead of from the default location, which is
               extended_status in the directory defined by the Configuration Item: Dir::State.
    
    PREVENT CHANGES FOR A PACKAGE
           hold
               hold is used to mark a package as held back, which will prevent the package from being automatically installed, upgraded or removed.
    
           unhold
               unhold is used to cancel a previously set hold on a package to allow all actions again.
    
           showhold
               showhold is used to print a list of packages on hold in the same way as for the other show commands.
    
    


  • Yeah, I’ve been telling people around that the WiFi FW update is dangerous, especially is your wifi and bluetooth is working fine with your old FW. Problem seem to be that the RPi package maintainers doesn’t bother to actually write the versions or changelogs for the FW. This is extremely annoying and (eh-hm…) plain stupid.

    Normally apt show packagename would show you more details and versions etc.
    For the RPi FW, they tell you fcuk about anything you didn’t already know, while keeping an old date in the version string.