Jump to content

Search the Community

Showing results for tags 'research'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Armbian
    • Armbian project administration
  • Community
    • Announcements
    • SBC News
    • Framework and userspace feature requests
    • Off-topic
  • Using Armbian
    • Beginners
    • Software, Applications, Userspace
    • Advanced users - Development
  • Standard support
    • Amlogic meson
    • Allwinner sunxi
    • Rockchip
    • Other families
  • Community maintained / Staging
    • TV boxes
    • Amlogic meson
    • Allwinner sunxi
    • Marvell mvebu
    • Rockchip
    • Other families
  • Support

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start






Website URL







  1. Hi all. I've done an interview with Igor from Armbian. We talked about the new release that's coming this weekend. And about armbian-next, the new updated build framework.
  2. As ubuntu 22.04 has realy up to date compiler. Is it possible to force armbian to use local copiler? linaro gcc compiler is 8.x but gcc in ubuntu 22.04 is 11.x. Is it possible to force armbian to use local compilers? Or can armbian update gcc to 11. x ??
  3. I first used Kingston endurance SD card with Armbian Buster image. This failed due some incompability with Odroid N2 UHS implementation, but Sandisk extreme SD card worked with same image. After successful boot runned nand-sata-install to ADATA SP 550NS38 SSD connected using VL817 SATA Adaptor (2109:0715). Upgraded the Debian to Bullseye and installed Mesa 21.2.0 packages from experimental repositories, arm64 firefox-esr and armhf Chromium via multiarch to use widevine extracted from ChromeOS images (local err.ee web broadcasts some programs with widevine encryption). This was in the end of august. It mostly worked, but had 3 weird problems that I think to have solved now having some free time. The USB boot hanged up about half of times after kernel detected the SATA drive. Turns out that UAS is culprit, disabling UAS with usb-storage.quirks=2109:0715:u made it now boot every time without problems (modified /boot/boot.ini). About 2-3 minutes after boot the compositor froze (no matter which - tried Xorg compton, wayland Weston and Wayfire (self compiled). Turns out armbian has /etc/udev/rules.d/hdmi.rules which runs /usr/local/bin/hdmi-hotplug. For some reason the hdmi-hotplug script stalls on my Odroid installation and when systemd finally killed it, something went wrong and the compositors froze. Diverting the hdmi.rules fixed it. This was/is weirdest - when TV connected via HDMI was off and turned on, then sometimes the board would shutdown. Found from auth log "auth.log.1:Dec 25 19:04:59 piix systemd-logind[1641]: Power key pressed." Like WTF, i don't have any "power key" and why it gets invoked when TV is turned on. Set the *Key=ignore in /etc/systemd/logind.conf and it seems fine now, no idea what went wrong there. The kernel even don't have CEC enabled (CONFIG_CEC_MESON_AO and CONFIG_CEC_MESON_G12A_AO are not set for some reason in the armbian kernels). A bit later I also saw 5.15.8-meson64 kernel OOPS "Unable to handle kernel execute from non-executable memory" at regmap_update_bits_base+0x74/0x98, meson_clk_cpu_dyndiv_set_rate+0xf4/0x118. As I hadn't seen this before, downgraded to 5.13.12-meson64. I plan to report the OOPS with full kernel dmesg output, when I'll have a bit more time (probably the https://bugzilla.kernel.org/ would be right place?). Currently it seems to work fine, with the 5.13.12-meson64 kernel and mesa/panfrost 21.2.1-2 (from snapshot.debian.org). Weston is used as Wayland compositor. It is important to note that I have 1080p TV, and all video decoding is done on CPU without using the Amlogic VPU acceleration, as the VPU driver is currently both broken in the kernel and unsupported in unpatched userspace. I expected this when choosing the board. Fortunately the 4xA73@2.4GHz is fast enough for decoding most 1080p videos and panfrost is fine for doing the video output after decoding. AFAIK playing 4K videos is currently not possible on Odroid N2 with mainline kernel and the vendors proprietary VPU decoder isn't supported by any software in open source distributions like Debian. Interesting is that Firefox seems to handle the video decoding pathway better for Youtube in this configuration, while Chromium occasionally stutters on some Youtube videos, these seem to be fine with Firefox. Luckily this seems to not affect the site where I needed widevine (that works only with Chromium in practice). In september widevine upgraded to version needing patched libc. I got patched armhf libc6 package from apt.xbian.org repository. The ALSA configuration is weird, amixer scontrols | wc gives 50 controls, and if misconfigured, then the thing doesn't give any audio output. I found the following script from somewhere that "fixes" it into working state: amixer sset 'FRDDR_A SINK 1 SEL' 'OUT 1' amixer sset 'FRDDR_A SRC 1 EN' 'on' amixer sset 'TDMOUT_B SRC SEL' 'IN 0' amixer sset 'TOHDMITX I2S SRC' 'I2S B' amixer sset 'TOHDMITX' 'on' amixer sset 'FRDDR_B SINK 1 SEL' 'OUT 2' amixer sset 'FRDDR_B SRC 1 EN' 'on' amixer sset 'TDMOUT_C SRC SEL' 'IN 1' amixer sset 'TOACODEC SRC' 'I2S C' amixer sset 'TOACODEC OUT EN' 'on' amixer sset 'TOACODEC Lane Select' '0' amixer sset 'ACODEC' '255' amixer sset 'FRDDR_C SINK 1 SEL' 'OUT 3' amixer sset 'FRDDR_C SRC 1 EN' 'on' amixer sset 'SPDIFOUT SRC SEL' 'IN 2' After that ALSA pcm "hw:0,1" output works. I configured dmixed and removed pulseaudio, as it seemed to complicate things with no benefit when mpc and browser run as different users. Armbian is great (couldn't have the board working so well without armbian) and merry holidays for you Hoping this helps others having Odroid N2(+) board.
  4. Java UIO provides high performance Java interfaces for Linux Userspace IO. Java UIO was built from the ground up to use modern kernel APIs, libraries and code generation techniques to provide a best of breed cross platform approach. It does not make sense to recreate the wheel like so many other IO libraries. JDK 17 LTS is supported out of the box. I've been committing code to U8g2 that utilizes the same userspace code at the C level and dramatically improved the performance of HW/SW SPI and I2C in the arm-linux port. I also made the arm-linux port thread safe and multi display capable (you can use this in C as well obviously). It made sense to add modularization to the Java Periphery IO library since I can take advantage of the same code generation techniques. I will continue to wrap optimized C libraries moving forward in the same modular fashion. So now you can develop against IO and small displays with one code base in Java.
  5. I would like to know the content of u-boot-s905x-s912 and u-boot-s905x2-s922 at the boot dir. of armbian release . Is there a tool to de-compile these script to plain text ? Sorry if this question had been asked or answered . I didnot find any clues from searching at this forum. Thanks !
  6. The ARM kernel itself has already been compiled. How to compile a ARM kernel module on an VM amd64?
  7. Would there be a way to add a configuration option to armbian-config to disable built-in button being used for shutdown? Currently I have to remove the r_gpio_keys section in the DTB and compile. Seems like something armbian-config could do?
  8. Does anybody have a solution how to charge battery with more conservative voltage range? I'm using battery backup for my CubieTruck boards to survive power outages for several years. And as one of the batteries recently blew up (and also killed the backup HDD next to it) I try to find a way to charge the battery in a range that preserves health of it. When searching for a long-term-save voltage range of LiPo batteries you get something like: use only half of capacity, much below 4V, never deep charge, ... Default setting for the AXP209 charge controller is to charge to 4,2V, and emergency shutdown is at 2,9V. These ranges are much too broad and may damage the battery over the years. Deep discharge protection is quite easy, just use a script to regularly check current voltage and issue a shutdown when too low (no clue, why this is not already handled by the OS): if [ $(cat /sys/class/power_supply/axp20x-battery/status) = Discharging ]; then if [ $(cat /sys/class/power_supply/axp20x-battery/voltage_now) -lt 3200000 ]; then # prevent undervoltage shutdown -h fi fi But target voltage for the charge controller is not that easy to change, as AXP209 only supports 4,1V / 4,15V / 4,2V / 4,36V: echo 4100000 > /sys/class/power_supply/axp20x-battery/voltage_max_design I tried to reduce the charge current with rising voltage to stop charging at some point: echo 300000 > /sys/class/power_supply/axp20x-battery/constant_charge_current_max But the minimum supported value is 300mA, which is still charging and increasing the voltage. Also the charge current can not be increased again after setting a lower value. Does anybody have an idea how to stop charging at some voltage and to resume if it has dropped again below a second threshold?
  9. Hello, I'm try to setup my OPiZero as mediaplyer, and I need to use it sometimes as WiFi Client - Managed mode and sometimes as WiFi AP - Master mode. Scenario 1 Work in "dual mode", I mean, when my wifi network within reach, then OPiZ start as "client", and connect to my preferred wifi network when wifi network not in range, it start as AP+DHCP (hostapd and dnsmasq) Scenario 2 Switched mode, Make any push button on gpio, and then make scripts "to do the job" .. disconnect from wifi, stop wpa_supplicant, run hostapd an dnsmasq. Has anybody something like "scenrio1" or "scenario2" .. ?? (or my ideas are totally bad ... )
  10. Fun stuff - and something that's kept me offline/busy for the last few weeks... # uname -a Linux blaster 3.4.0 #1 PREEMPT Wed May 13 14:43:07 PDT 2020 armv7l GNU/Linux # cat /proc/cpuinfo Processor : ARMv7 Processor rev 2 (v7l) BogoMIPS : 586.13 Features : swp half thumb fastmult vfp edsp neon vfpv3 tls CPU implementer : 0x51 CPU architecture: 7 CPU variant : 0x1 CPU part : 0x00f CPU revision : 2 Hint - it's old enough not to have a device-tree... actually, in CPU years, it's old enough to vote/drink, and in dog-years, it's probably dead. I'll sent $20USD and a possible job offer if you can ID the specific chip... No @Igor, you don't get to play here
  11. <smaeul> scanning bus dwc3@5200000 for devices... 2 USB Device(s) found <smaeul> wooo, got USB3 boot working on H6 :D patchset at https://github.com/smaeul/u-boot/commits/h6-dwc3 Just catched this on #linux-sunxi IRC channel. I do not have a H6 board to test this but maybe someone else wanna give it a shot.
  12. Ever since patchfolders were created for different branches and different board families it has become more and more a nightmare to maintain these folders and keep them clean. Instead of taking the approach to clear one or more of these folders by myself, last but not least due to lack of necessary skills, I was thinking maybe I can provide some tools that make such tasks a little easier for somebody else. Last but not least was (and still is) this a perfect opportunity to pratice with my quite new Python skills. https://github.com/EvilOlaf/refactorpatches What this script basically does is break down all patches in a certain folder and check which files are targeted by each individual diff (if you choose to split them up) and sort the output by the target file. This way it should be an easy thing to merge patches that affect the same file and therefore it is no longer necessary to take care about the order to apply them. Requirements from apt: patchutils, python3 Requirements from Pypi: none but just make sure the prettytable.py is in the same folder as main refactor.py. I have tested this with random patch folders for kernel patches and for what it is expected to do at the current state it seems to just work as it should. There is still a ton of room for improvements. Let me know what do you think or if it is useful at all. Even if it is not I had fun coding and using Python
  13. Java Periphery has finally been released! Java Periphery is a high performance library for GPIO, LED, PWM, SPI, I2C, MMIO and Serial peripheral I/O interface access in userspace Linux. This will replace User Space IO. I'm seeing GPIO write speeds of 500K/s from userspace. Compared to User Space IO and libgopid speeds of 2K/s. I switched from JNA wrapper generation to JNI wrapper generation. The build process is much simpler (only single install.sh) and building libgpiod is no longer required. The API follows c-periphery, python-periphery and lua-periphery. This should cover the widest array of SBCs and languages around. Java Periphery should work on Armbian/Ubuntu/Debian, but also other non-Armbian distributions. If you run into issues please use Github issues to report. Nano Pi Duo 13:30:43.065 [main] INFO com.codeferm.periphery.demo.GpioPerf - Running write test with 10000000 samples 13:31:23.062 [main] INFO com.codeferm.periphery.demo.GpioPerf - 500613.25 writes per second 13:31:23.065 [main] INFO com.codeferm.periphery.demo.GpioPerf - Running read test with 10000000 samples 13:31:54.471 [main] INFO com.codeferm.periphery.demo.GpioPerf - 318440.91 reads per second Nano Pi Neo Plus 2 15:06:51.946 [main] INFO com.codeferm.periphery.demo.GpioPerf - Running write test with 10000000 samples 15:07:22.522 [main] INFO com.codeferm.periphery.demo.GpioPerf - 654964.63 writes per second 15:07:22.524 [main] INFO com.codeferm.periphery.demo.GpioPerf - Running read test with 10000000 samples 15:07:46.696 [main] INFO com.codeferm.periphery.demo.GpioPerf - 413770.27 reads per second
  14. Hello, I'm currently running Gentoo on my BananaPIs (M1). I'm using one as graphical Dashboard using DirectFB. Unfortunately, DirectFB is deprecated, not anymore supported and facing some compilation issue. Time to change. I tried with SDL configured with KMS but it's crashing. I don't want to install X because it will take ages to compile without any garanty it will work at the end. So ... probably the time to change. So, is DirectFB still supported on Armbian ? If not, is SDL2 working without X support. If not, with X support ? And if so, is X accelerated ? Thanks Laurent
  15. Goodmorning, i would like to ask if someone have ever tried to use musl libc with Armbian. From some research appear that using it instead of glibc make programs consume a lot less ram and less space on disk. I never tried personally, but i'm curious about that because it could be especially useful for single board computer with less than 2gb of ram (like mine ). Since, from what i know, programs do not statically link to glibc, but dynamically link to a generic libc at runtime, could be possible to use musl as drop in replacement for libc, without rebuild everything? From what i know there could be some incompatibilities because glibc does not fully respect the standards of libc, but i would like to know some opinions and experiences. Thanks for listening, have a good day
  16. Looking to find out why the Orange Pi OS Build isn't finding this file. Tried on two separate Linux 18.04 OS and neither has this file. When running Build_OrangePi.sh, right after entering the initial password, it drops out and claims the file lib32z1-dev not locate able. The only thing I can think is I need to install the SDK to build the OrangePi OS for this? Trying to do this from the Orange Pi Git Hub. https://github.com/orangepi-xunlong/OrangePi_Build Thanks for any help.
  17. I'm setting up a new Armbian system from a cold start. I ran armbian-config and used the personal > welcome option to set the MOTD_DISABLE options in /etc/defaults/armbian-motd. It did not do anything to the welcome screen. I asked for the header tips and updates to be excluded. Looking at the resulting /etc/defaults/armbian-motd file : netadmin@ups-monitor:/etc/update-motd.d$ cat /etc/default/armbian-motd # add space-separated list of MOTD script names (without number) to exclude them from MOTD # Example: # MOTD_DISABLE="header tips updates" MOTD_DISABLE="" ONE_WIRE="" # yes = show 1-wire temperature sensor if attached netadmin@ups-monitor:/etc/update-motd.d$ The edit has been applied, but to the comment line, not the actual MOTD_DISABLE line. I don't know where the script that takes the action is located to check it, but I guess this is not intentional, and thus it needs to be updated to ignore lines beginning with # Second point, I'm reasonably sure, some time back, I put in a change to modify the script 41-armbian-config to change it's THIS_SCRIPT line to "config" rather than "armbian-config", so that it's disable syntax matched the other files in the set. At the moment, on a fresh install, it still needs armbian-config in the MOTD_DISABLE line. My build today is: Has that pull request got lost somewhere ? Harry
  18. Hi - Earlier this week ( begin April 2020 ) I found out H5 boards become scarce. I was unable to find the H5 chip at allwinner tech H series section, suppose this will be replaced ? Anyone more info perhaps?
  19. After working with sysfs and libgpiod as cross platform solutions I was wondering if there was a faster way using /dev/mem or mmio? I know this gets more bare metal and SBC specific, but for some things you may want absolute speed. https://opensource.com/life/16/4/bulldog-gpio-library for instance claims 1 MHz GPIO writes in Java. However it only supports 3 SBCs as you can see from https://github.com/SilverThings/bulldog. Is there a more generic way to do this and not lose performance? Using my generated JNA wrappers for libgpiod I get about 2K writes per second. In Python I think it's about 70K using libgpiod Python bindings. I realize you may not always need 1 MHz GPIO writes, but it would be neat to offer this in a more generic way.
  20. Just got this error at the very end of a build. [ o.k. ] Checking git sources [ linux-firmware-git master ] fatal: unable to access 'https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/': The requested URL returned error: 504 [ .... ] Fetching updates fatal: unable to access 'https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/': The requested URL returned error: 504 [ .... ] Checking out error: pathspec 'FETCH_HEAD' did not match any file(s) known to git. I checked a very few minutes later and the URL https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/ did eventually respond with a reasonable page, though with a huge delay. Presume that git.kernel.org had a problem, and returned the 504 error, not that the build system timed out waiting, but maybe wiser heads than me can check. If it was just lag, we may see a lot more of this sort of error, given the load on the internet at the moment.... Harry
  21. I have a supported build host running, and successfully building and testing kernels for a few targets that I have examples of. I'm looking to extend my repertoire to building complete armbian images. I think I also want to use EXTERNAL and/or EXTERNAL_NEW to configure additional packages into the image. This has led me to this stanza: BUILD_MINIMAL (yes|no): set to “yes” to build bare CLI image suitable for application deployment. This option is not compatible with BUILD_DESKTOP=”yes” and BUILD_EXTERNAL=”yes” I can find no BUILD_EXTERNAL referenced elsewhere, should this be simply EXTERNAL ? or have I missed something. Is there documentation on how EXTERNAL and EXTERNAL_NEW parameters are invoked? Harry
  22. Hello together, I need help to build a new ARMBIAN - Image based on DEBIAN fort this board: https://www.tq-group.com/de/produkte/tq-embedded/arm-architektur/stka8mx/ Can anyone help me with building, etc. for this board? Best regards Matthias
  23. Hi, Armbian gurus, I'm trying to make the build system to build image with LibreELEC kernel tree for PineH64 I heard the kernel is patched for being better at hardware decoding Here are what I have done in order: 1. Retrieve patched kernel tree from LibreELEC build system. Upload the patched kernel tree to my gitlab account. 2. Modify config/sources/families/include/sunxi64_common.inc to make KERNEL_SOURCE = my previous repo; KERNELBRACH = master. To make it fetchable during bilding. 3. Modify lib/compilation-prepare.sh: skip aufs patch. 4. Modify lib/compilation.sh: skip advanced_patch in compile_kernel() After all these hassle, I can use compile.sh to build an Armbian 64 bit image with the 5.5.6 patched. BUT unfortunately, I flash the image and found it cannot boot properly. So here are my question: 1. How do you typically debug boot problem for PineH64. 2. Do you think anything could go wrong in those procedure? 3. Do I need to upgrade u-boot as well? It's using v2019.10 as far as I can tell. Thank you.
  24. Hi, A small discussion started here, but I would like to lift it to here. The question and tests should be. Are there alternatives to Etcher? A must was - standard writing verification. IIRC this was back in the days an option you had to set a 'tick' on Win32 DiskImager.. and so not an option. Before we change anything - proper testing and writing down the steps to achieve a great result is a must. Multiplatform, would be nice, but we can as well recommend 2 or 3 SDcard writing programs. Can you please help to write a table of available programs (you can do a table in the forum, but consider quantity of lines & rows first). And whether or not the software is an equivalent replacement for armbian? Please help us to collect here your knowledge and expericence Of course your recommendation should support the minimum mentioned above - otherwise it is not a recommendation but Spam Thank you in advance for your participation on this challenge
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines