jimg

Members
  • Content Count

    30
  • Joined

  • Last visited


Reputation Activity

  1. Like
    jimg got a reaction from Naguissa in Firefox browser fails to launch   
    This is a known problem that appears to be compiler-related:
     
    https://bugzilla.mozilla.org/show_bug.cgi?id=1391802
    https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1711337
     
    A fix appears to have been released for Ubuntu 17.04, but that version won't install due to unmet dependencies that can't be satisfied with Armbian (libstdc++6 (>= 6)).  The last stable build I could find for armhf is Firefox 52.  You can download it from here via FTP:
     
    ftp://ports.ubuntu.com/ubuntu-ports/pool/main/f/firefox/firefox_52.0.2+build1-0ubuntu0.12.04.1_armhf.deb
     
    These are the steps I took to remove the broken version, install the unmet dependencies, install the older, working version, and prevent it from being automatically upgraded back to the new, broken version.
    sudo apt remove firefox sudo apt-get install libpango1.0-0 sudo dpkg -i ~/Downloads/firefox_52.0.2+build1-0ubuntu0.12.04.1_armhf.deb sudo apt-mark hold firefox (TIL: gdebi is a very useful tool for seeing the dependencies of a package before you install it.  You can use it from the command line like so:
     
    sudo gdebi <name of deb package> to see the dependencies you might need to install before installing a package.)
  2. Like
    jimg got a reaction from gnasch in Problem using GPIO pins on legacy kernel   
    You are correct: it's not necessary to modify the FEX file to use the GPIO pins, and you should use the mainline formula to calculate pin numbers.
     
    I'll share what I learned attempting to solve this problem in case anyone else runs into it.
     
    As the error states, it's a permissions problem. Using "sudo echo" won't work because the redirection occurs before sudo is started, which ends up you trying to write to a file you don't have permissions to.
     
    To do a one-off manipulation of a GPIO pin, you have to start a separate shell as a superuser first, then use echo. For instance to turn pin A10 on:
    $ sudo sh # echo 10 > /sys/class/gpio/export # echo out > /sys/class/gpio/gpio10/direction # echo 1 > /sys/class/gpio/gpio10/value Or you can use tee to avoid creating a subshell:
    $ echo 10 | sudo tee /sys/class/gpio/export $ echo out | sudo tee /sys/class/gpio/gpio10/direction $ echo 1 | sudo tee /sys/class/gpio/gpio10/value A better, more permanent solution is to create a separate GPIO group, add yourself as a user to that group, and then give the GPIO group permissions to modify the GPIO pin directories:
    $ sudo groupadd gpio $ sudo usermod -aG gpio <your_username> $ su <your_username> $ sudo chgrp gpio /sys/class/gpio/export $ sudo chgrp gpio /sys/class/gpio/unexport $ sudo chmod 775 /sys/class/gpio/export $ sudo chmod 775 /sys/class/gpio/unexport You'll also have to modify the permissions on the directory of each GPIO pin you add. Again using pin A10 as an example:
    $ echo 10 > /sys/class/gpio/export $ chgrp -HR /sys/class/gpio/gpio10 $ chmod -R 775 /sys/class/gpio/gpio10 Then you can change that pin as necessary without being a superuser:
    $ echo out > /sys/class/gpio/gpio10/direction # set as output pin $ echo 1 > /sys/class/gpio/gpio10/value # set high $ echo 10 > /sys/class/gpio/gpio/unexport # reset the pin