Heisath

  • Posts

    212
  • Joined

  • Last visited

Posts posted by Heisath

  1. @Igor no. This is a) a new problem and the proposed fix is IMHO not correct. AND b) the old fix (on branch https://github.com/armbian/build/tree/helios64-udev-hwmon-fix) was never merged, tested or anything else. 

     

    Regarding the old problem:

    As mentioned in the previous thread, I do NOT have a helios64 so cannot test any changes. Nobody else stepped up to test and report back. Also sometime later someone said:
     

      

    On 6/24/2021 at 5:00 PM, halfa said:

    The 21.05.6 release fixed the regression in the package build process (couldn't find a related commit, maybe during the build targets reworks?), removing the "legacy" udev rule and adding the correct one.

    root@helios64:~ # apt info armbian-bsp-cli-helios64
    Package: armbian-bsp-cli-helios64
    Version: 21.05.6

    Given that this is fixed, I don't know if there is a need to patch the upstream Heisath. I'm willing to test you're version of the merged udev rule but I don't have a legacy env. to properly test the other one.

     

    SO  I assumed this had magically fixed itself and did not need further attention. Read here for full thread: 

     

     

    Regarding the new problem:

    Simply changing the fancontrol rules from thermal-cpu to thermal-board is incorrect AFAIK. Looking at the udev rules: https://github.com/armbian/build/blob/master/packages/bsp/helios64/90-helios64-hwmon.rules

    It should be thermal-cpu for the cpu temperature and thermal-board for the board temperature. And then it only makes sense to attach the fancontrol to the CPU temp.

     

    Why the thermal-cpu is not available anymore I don't know. But it is not a solution to the root cause to just fix the fancontrol to the board temp. We should instead investigate why the thermal-cpu node is not available anymore and fix it.

    Maybe @aprayoga or @gprovost are back from their break? 

     

    EDIT: Looking back at it, maybe it is the same problem.

    @SIGSEGV can you check if you have the 90-helios64-hwmon.rules or the 90-helios64-hwmon-legacy.rules in your udev?

     

    EDIT2:

    PR here: https://github.com/armbian/build/pull/3092

  2. For future reference, the *-u-boot* packages contain the uboot (bootloader). When installed it puts some files into /usr/lib/u-boot  and /usr/lib/<packagename>

    These files can be used to install / update the actual uboot on the box/board, although the process is not started automatically as updating uboot is mostly unneccessary and might lead to problems only fixable with serial uart access.

     

    For actually updating the bootloader the armbian-config utility can be used. (Or check what the platform install file in /usr/lib/u-boot does and do it manually).

     

    If you receive updates from future version you might be on 'nightly' branch / mode.

  3. On 7/23/2021 at 2:30 PM, craesz said:
    trying text-based options 'hard,intr,rsize=8192,wsize=8192,timeo=14,vers=4.2,addr=192.168.0.123,clientaddr=192.168.0.2'

    Just a hunch, have you maybe on the helios specified the ip address of your laptop? And that has changed?

  4. Hi,

     

    how long does the time have to stay within the 1/60th of a second requirement? Minutes? Hours?

     

    I think there are tutorials out there on how to use common GPS modules (ebay search for raspi gps gives some), most of the ublox ones also have a rather precise timing output. From the website (ublox) it seems the also sell modules explicitly made for time synchro.

    Depending on how long you want to keep the devices in sync it might be acceptable to only sync them before you start filming (?) and have the device clock continue when gps goes away. 

     

    If a really precise clock is required I would maybe turn away from SBCs (boards with multithread, multiprocessors) have a tendency to have problems with jitter (obv. reasons).   If you need a precise time (as in your link) I'd suggest going for a simple microcontroller. There you can grab the GPS signal once, and then setup an internal timer - which are pretty precise considering the micro does only a thing at a time (if you go for cheap AVR ones). Afterwards just have the timer run out every 1/60th of a second and toggle a IO pin. Time reference done.

     

    EDIT: Bonus: If you are in Europe (although other regions probably have similar services) you could also use DCF77 to do the initial sync.

  5. Measure the power output from the power supply. Make sure to have everything disconnected from the helios and no shorts ( dont put it on a metal surface ) before trying again.

     

    For measuring the power supply, you can either measure on the power plug directly or on the hdd connectors. Check the images here: 

     

    https://wiki.kobol.io/helios4/hardware/#connector-interface-list

    (J19 middle two pins are GND, outer pins should be +5 and +12V; careful not to short them!)

     

  6. Why not just install and configure the servies you need seperately? 

     

    If you want samba / windows network share, take samba. `apt install samba`

    For dns / dhcp / dns over tls there's dnsmasq, stubby...

    For sharing with TV, you could use minidlna.

     

    For backups DO NOT use raid. Raid is not a backup solution. Rather use rsync or more advanced tools to sync the drives at predefined time intervals. This gives you defined backup behaviour and allows you to use the disk in all other devices without problems should the helios fail.

  7. There is no good way to only build uboot sorry. Regarding the created uboot, I am pretty sure all variants are built. But ./cache/sources/ is not the right place to look for them.

    Please check ./output/debs/ for a uboot deb archive. Its should be named somewhat like these: https://beta.armbian.com/pool/main/l/linux-u-boot-clearfogbase-current/

    If you unpack the .deb you can find all variants of u-boot inside ./usr/lib/linux-u-boot.../   they should be named accordingly.

     

    EDIT: Just checked by building: Said .deb gets created and contains all needed files. You can also abort the buildscript with ctrl-c after it is done with uboot (and has started the kernel) to not have to build everything all the time.

  8. Maybe create a service that toggles a pin as a watchdog and setup the service in a way it gets shutdown at the latest possible stage? Then you still have to wait a few seconds, but there is less variation.

    Or maybe the device has a power led which turns off? Or network led? Then you could hook onto that.

    Or connect the DEBUG UART tx to your ATiny and use that do detect when after shutdown has begun no more message are sent.

    Or keep it like it is but make sure to issue a 'sync' command before actually starting the shutdown. This way the shutdown will probably have less time variation.

     

    Btw. the ATtiny is a AVR not ARM micro controller.

     

     

  9. Another temporary solution is already provided in the first post btw.

     

    Anyone struggling with this issue and only wants the fan to work again can just:

     

    On 5/28/2021 at 1:19 AM, halfa said:

    and after rewriting the line with the new type, udev is happy again

    
    # Edit in /etc/udev/rules.d/90-helios64-hwmon-legacy.rules and add the following line after the original one
    ATTR{type}=="cpu", ENV{HWMON_PATH}="/sys%p/temp", ENV{HELIOS64_SYMLINK}="/dev/thermal-cpu/temp1_input", RUN+="/usr/bin/mkdir /dev/thermal-cpu/"
    
    root@helios64:~ # udevadm control --reload
    root@helios64:~ # udevadm test /sys/devices/virtual/thermal/thermal_zone0
    [...]
    DEVPATH=/devices/virtual/thermal/thermal_zone0
    ACTION=add
    SUBSYSTEM=thermal
    IS_HELIOS64_HWMON=1
    HWMON_PATH=/sys/devices/virtual/thermal/thermal_zone0/temp
    HELIOS64_SYMLINK=/dev/thermal-cpu/temp1_input
    USEC_INITIALIZED=7544717
    run: '/usr/bin/mkdir /dev/thermal-cpu/'
    run: '/bin/ln -sf /sys/devices/virtual/thermal/thermal_zone0/temp /dev/thermal-cpu/temp1_input'
    Unload module index
    Unloaded link configuration context.

     

  10. might need to do 

    sudo ncdu -x /

     

    Then you can navigate through a tree-view, and figure out where the size comes from. 

     

    As a general step-by-step guide:

    - use "df -h" (or something like that), to figure out which device / mountpoint is getting full

    user@builder:~$ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    tmpfs           1,6G  1,2M  1,6G   1% /run
    /dev/sda3        79G   31G   44G  41% /
    tmpfs           7,9G     0  7,9G   0% /dev/shm
    tmpfs           5,0M     0  5,0M   0% /run/lock
    tmpfs           4,0M     0  4,0M   0% /sys/fs/cgroup
    /dev/sda2        94M  5,2M   89M   6% /boot/efi
    tmpfs           1,6G  136K  1,6G   1% /run/user/1000

    We now know, /dev/sda3 is fullest, and is mounted on /

     

    - next use "sudo ncdu -x /" to check the contents / where the space goes:

    ncdu 1.15.1 ~ Use the arrow keys to navigate, press ? for help                  
    --- / --------------------------------------------------------------------------
       17,2 GiB [##########] /home                                                  
        8,5 GiB [####      ] /usr
        2,0 GiB [#         ]  swapfile
        1,0 GiB [          ] /var
      760,0 MiB [          ] /root
      508,4 MiB [          ] /opt
      251,1 MiB [          ] /boot
       11,6 MiB [          ] /etc
       68,0 KiB [          ] /tmp
       36,0 KiB [          ] /snap
    e  16,0 KiB [          ] /lost+found
        8,0 KiB [          ] /media
    e   4,0 KiB [          ] /srv
    e   4,0 KiB [          ] /mnt
    e   4,0 KiB [          ] /cdrom
    @   0,0   B [          ]  libx32
    @   0,0   B [          ]  lib64
    @   0,0   B [          ]  lib32
    @   0,0   B [          ]  sbin
    @   0,0   B [          ]  lib
    @   0,0   B [          ]  bin
     Total disk usage:  30,1 GiB  Apparent size:  28,8 GiB  Items: 789697           

    We see that most storage goes to /home, /usr and the swapfile.

     

    As the interface is interactive, you can just navigate down the folder structure to find the culprit.

  11. To confirm I checked with https://armbian.systemonachip.net/apt/pool/focal-utils/a/armbian-bsp-cli-helios64/ 

     

    Which really shows that there is a wrong file in 21.05.2 (/etc/udev/rules.d/90-helios64-hwmon...), interestingly the nightly build from beta.armbian.com does have it right... @Igor pinging you here, as I am not familiar with the new packaging. Was this only an issue in one version and will be fixed automatically with next release/minor version? Or do we have to fix some packaging somewhere...?

  12. Just to clarify, was this a problem with 21.05.1 or IS it still a problem with 21.05.2? 

    If it is still active problem, we should seek to do a Pullrequest to fully fix it in the buildsystem.

     

    EDIT: Seems to be correct in the buildsystem: https://github.com/armbian/build/blob/3b3d85e25c2ecde30df7b5274fc6f1b9c0299ea2/config/sources/families/include/rockchip64_common.inc#L395-L401