Green Daddy

  • Content Count

    6
  • Joined

  • Last visited

Reputation Activity

  1. Like
    Green Daddy reacted to Igor in LeMaker Banana Pro Updated 20.11.6 and eth0 is losing packets   
    I think it should.
     

    Those hotfixes are triggered manually so there is no relation on github. Regular way:
    https://docs.armbian.com/Process_Release-Model/
  2. Like
    Green Daddy reacted to Madozu in K-worker problem on A20 based boards   
    I am running a headless cubietruck with Armbian standard kernel (5.10.4-sunxi as of now). System is Ubuntu Focal Fossa with "linux-focal-root-current-cubietruck 20.11.6" installed. Cubietruck has uboot and /boot  on SD-Card and the system is on a SATA-attached SSD. CPU load average over 20s (vmstat 20) is like this:
     
    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 1827484 18008 137776 0 0 0 0 121 78 0 5 94 0 0 1 0 0 1827484 18008 137772 0 0 0 0 109 70 0 5 95 0 0 0 0 0 1827232 18008 137776 0 0 0 0 96 57 0 5 95 0 0 1 0 0 1827232 18008 137776 0 0 0 0 102 56 0 5 95 0 0 1 0 0 1827232 18008 137776 0 0 0 0 109 72 0 5 95 0 0 1 0 0 1827232 18008 137776 0 0 0 0 92 49 0 5 95 0 0 2 0 0 1827232 18008 137776 0 0 0 0 95 49 0 5 95 0 0 1 0 0 1827232 18008 137776 0 0 0 0 112 75 0 5 95 0 0 0 0 0 1827232 18008 137776 0 0 0 0 92 52 0 5 95 0 0  
    This is better than what I saw with older (e.g. 4.x) kernels but still around 5% CPU usage coming from "kworker/1:3-events_freezable_power_". When removing the modules for ADC (sun4i_gpad and sun4i_gpad_iio) the CPU usage drops down to <1% in average:
    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 1826784 18020 137772 0 0 0 9 41 46 0 0 100 0 0 1 0 0 1826540 18020 137772 0 0 0 0 52 60 0 0 99 0 0 1 0 0 1826540 18020 137772 0 0 0 0 39 44 0 0 100 0 0 1 0 0 1826540 18020 137772 0 0 0 0 39 44 0 0 100 0 0 1 0 0 1826532 18020 137776 0 0 0 1 61 69 0 0 99 0 0 1 0 0 1826532 18020 137776 0 0 0 0 45 48 0 0 100 0 0 1 0 0 1826532 18020 137776 0 0 0 0 34 40 0 0 100 0 0 1 0 0 1826532 18020 137776 0 0 0 0 62 69 0 0 99 0 0 1 0 0 1826532 18020 137776 0 0 0 0 35 41 0 0 100 0 0 1 0 0 1826532 18020 137776 0 0 0 0 34 40 0 0 100 0 0  
    However as stated previously, removing those kernel modules breaks the CPU temp sensor display in the OS. What I recommend to do is running this command to remove the modules contributing to the CPU consumption:
    sudo rmmod sun4i_gpadc sun4i_gpadc_iio  
    If you're happy with the result, put the above statement into /etc/rc.local to run at every boot. Blacklisting the above modules in /etc/modprobe.d only partially works as module sun4i_gpadc is loaded anyway.
  3. Like
    Green Daddy reacted to gdampf in BananaPi Pro 7" TouchLCD with Debian Buster and Mainline-Kernel 5.XX.XX   
    OK - Found the line in http://linux-sunxi.org/LCD:
    #5" LVDS LCD
    CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:30000,le:40,ri:40,up:29,lo:13,hs:48,vs:3,sync:3,vmode:0"
    CONFIG_VIDEO_LCD_POWER="PH12"
    CONFIG_VIDEO_LCD_BL_EN="PH8"
    CONFIG_VIDEO_LCD_BL_PWM="PB2"
     
    Adding this in /home/<USER>/build/cache/sources/u-boot/v*/configs/Bananapro_defconfig
    and adding the pwm-section (exactly as above) in /home/<user>/build/cache/sources/u-boot/v*/arch/arm/dts/sun7i-a20-bananapro.dts and /home/<USER>/build/cache/sources/linux-mainline/orange-pi-5.4/arch/arm/boot/dts/sun7i-a20-bananapro.dts at the given time while executing ./compile.sh CREATE_PATCHES=yes creates the deb-files,
    from which I applied the named three on a fresh installation from an image made by ./compile.sh without modifications.
    But still - no output on Display - what have I overseen?
    PWM is working and I can controll it via gpio34 as described above.
     
    In the description is written, that 7"-Display is LVMS and 5"-Display is RGB, what doesn't make much sense, but I think this is meant by the presence ofthe Line CONFIG_VIDEO_LCD_PANEL_LVDS=y in case of 7"-LCD and the absence in case of 5"-LCD.
     
    Is there anything else to be done? Any special driver to be activated, which isn't active by default?
     
    Please, give me a hint!
     
    BR
    Guido
  4. Like
    Green Daddy reacted to jeloneal in K-worker problem on A20 based boards   
    I can confirm what @sgei is reporting but on my cubietruck with the latest armbian buster release. See my screenshot:
     


    top shows some kworker thread "events_freezable_power_" every few seconds with 10% load. Seems to be related somehow. At least this leads to the CPU being almost continually clocking @960MHz.


  5. Like
    Green Daddy reacted to sgei in K-worker problem on A20 based boards   
    Hi,
     
    this fix does not work for BananaPi / BananaPi Pro.
    I have blacklisted the module
     
    nano /etc/modprobe.d/blacklist blacklist sun4i_drm_hdmi  
    After that:
     
    update-initramfs -u  
    But after a reboot, I still have ~10% cpu-load from a kworker process.
     

     
    What I get with linux-perf-5.8 is:
     

     
    Any idea?
     
    Steffen
  6. Like
    Green Daddy got a reaction from cweiske in Enabling LCD in u-boot Kernel 4.7.2   
    <OT>
    First post - so hi everyone and thanks for the great stuff here.
    I am new to Armbian, just installed yesterday (replace bananian), migrated everything, fine.
    </OT>
     
    It took me several hours to get my 5" LCD display working on Bananapro but it's working now :-) . All the stuff to do it is there, however it wasn't easy for me as a noob to get the relevant items out and to adopt to changes that occurred over time.
    So, by summarizing the different steps I'd like to give back - maybe it's useful. If I did not understand correctly, just drop me a note. Of course, dates and version numbers may progress. Full credits to @MartinKeppler and @zador.blood.stained
     
    It's basically 2 steps: 
    You need a u-boot version that supports the LCD - must be compiled You need a dtb (Device Tree Blob) file that fits to your Kernel and supports pwm (Power for the LCD) ad 1)
    You need a Linux x64 PC to compile u-boot.
    NOTE: If you want to compile on a Windows 10 Subsystem for Linux, build will fail due to fakeroot incompatibility. You need to replace fakeroot with fakeroot-tcp:
    sudo update-alternatives --set fakeroot /usr/bin/fakeroot-tcp Go to https://github.com/armbian/build and follow instructions from README.md (as root) with change in bold:
    CREATE_PATCHES=yes tells the compile process to stop after downloading and preparing the sources, so they can be modified when needed (and yes, we need to do that)
    This takes a loooong while when run for the first time on a vanilla linux.
    Build u-boot and Kernel only (Kernel will not be needed).
    The Build process downloads the Sources. So you can only modify them when prompted to do so.
    When prompted to modify, change the following files:
    build/cache/sources/u-boot/v2017.11/configs/Bananapro_defconfig 
    For 5" display append the following (or see your params at http://linux-sunxi.org/LCD )
    CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:30000,le:40,ri:40,up:29,lo:13,hs:48,vs:3,sync:3,vmode:0" CONFIG_VIDEO_LCD_POWER="PH12" CONFIG_VIDEO_LCD_BL_EN="PH8" CONFIG_VIDEO_LCD_BL_PWM="PB2"  build/cache/sources/u-boot/v2017.11/arch/arm/dts/sun7i-a20-bananapro.dts
    build/cache/sources/u-boot/v2017.11/arch/arm/dts/sun7i-a20-bananapi.dts
    build/cache/sources/linux-mainline/linux-4.14.y/arch/arm/boot/dts/sun7i-a20-bananapro.dts
    build/cache/sources/linux-mainline/linux-4.14.y/arch/arm/boot/dts/sun7i-a20-bananapi.dts
    Add (after &pio section) :
    Let the compiler finish u-boot.
    You will find build/output/debs/linux-u-boot-next-bananapipro_5.37_armhf.deb
    install it on your pi using 
    sudo dpkg -i linux-u-boot-next-bananapipro_5.37_armhf.deb Step 1 completed.
     
    ad 2)
    To create a device specific file fitting to your Kernel and Board, you can recompile your kernel version directly on the PI. I used the guide supplied by @zador.blood.stained
    mkdir kernel cd kernel git init . git remote add origin "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git" git fetch --depth 1 origin tags/v4.13.16 sudo git checkout -f FETCH_HEAD  Then edit
    arch/arm/boot/dts/sun7i-a20-bananapi.dts and 
    arch/arm/boot/dts/sun7i-a20-bananapro.dts to include changes from above (add the &pwm section)
    Run in the top directory of kernel source tree
    sudo cp /boot/config-`uname -r` .config sudo make ARCH=arm dtbs After the process is finished, you should get compiled DT files arch/arm/boot/dts/sun7i-a20-bananapi.dtb arch/arm/boot/dts/sun7i-a20-bananapro.dtb
    Copy them to /boot/dtb, reboot and pray.
    End of Step 2
     
    DISCLAIMER: It worked for me - however you may end up with a non-bootable SD Card so be careful and have a backup :-)
     
  7. Like
    Green Daddy reacted to zador.blood.stained in Testers wanted: sunxi Device Tree overlays   
    From Armbian documentation (https://docs.armbian.com/User-Guide_Allwinner_overlays/)
     
    Most in-circuit and GPIO based interfaces (SPI, I2C, I2S, …) don’t have a mechanism for detecting and identifying devices connected to the bus, so Linux kernel has to be told explicitly about the device and its configuration details.
     
    While Device Tree is a way of describing hardware configuration to the kernel, Device Tree overlays are a way for modifying the DT in order to provide the kernel and kernel drivers with details about external devices or to activate interfaces disabled by default.
     
    What do we want?
     
    We want to add Device Tree overlays for the onboard interfaces and tested external devices so that they appear in future mainline Armbian images. This means that activating this type of hardware will not require recompiling the Device Tree or will require compiling just the overlay file which will be compatible with future kernel updates.
     
    What kind of help do we expect?
     
    We want people to participate in making and testing overlays for the hardware that they have.
    Participation requirements:
    An A10, A20 or H3 board that can boot the current mainline kernel Serial console adapter for getting the u-boot logs if they are needed Extra SD card to use for booting the nightly/beta images I2C, SPI or I2S (only A10 and A20 based boards since I2S driver is not present on H3 yet) device that you can connect to the board and that requires either generic driver (like SPIdev) or a special driver (available in the mainline kernel), with an exception of custom built boards that don't have commercially available compatible alternatives and devices that don't have in-tree kernel drivers. Some generic Linux knowledge (i.e. how to obtain a dmesg log, how to check file contents) At least a basic understanding of the hardware that you have and how does it integrate into Linux. For example I have no idea how to calibrate a resistive touch screen even if I can write a DT overlay for it. Please note that some hardware limitations (i.e. number of SPI chip selects, missing SPI DMA support) may affect possibility of supporting some devices  
    What overlays are already available?
     
    Please check the README in the subdirectory for your SoC in the overlays repository: https://github.com/zador-blood-stained/sunxi-DT-overlays-armbian
  8. Like
    Green Daddy reacted to xeros in 5.35/5.36 bug / questions collection   
    Thx. Unloading sun4i_gpadc_iio kernel module:
    sudo rmmod sun4i_gpadc_iio reduced in my case CPU usage by kworker processes from ~21% to floating 5-12% (without trace log change).
     
    While sun4i_gpadc is still loaded and unloading it doesn't make anything better than this, however got single error about reading thermal in dmesg:
    [ 5498.530760] thermal thermal_zone0: failed to read out thermal zone (-110)  
    Edit:
    And one more thing - on kernel 4.14.15-sunxi I'm not able to set CPU frequency above 960MHz:
    $ echo 1008000 | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 1008000 $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 960000 $ The board worked fine so far @1008MHz 24h/7 for few years on 3.4.x
  9. Like
    Green Daddy reacted to Kai in 5.35/5.36 bug / questions collection   
    Is there a dedicated thread for this? I mean, kworker CPU load issue.
    I have the same problem however I'm an archlinux user, so it seems applying to these conditions:
    1) A20 CPU (or even other allwinner CPUs like H3)
    2) kernel version >= 4.12 (4.12.x 4.13.x 4.14.x)
     
    should be a BUG introduced by sunxi mainline effort, but I don't know where to report it.
  10. Like
    Green Daddy reacted to MartinKeppler in Enabling LCD in u-boot Kernel 4.7.2   
    Ok, I got the same problem. This happens because compile.sh by default forces the checkout of all sources and also by default cleans the builds you did bevor. So every time you compile, your changes will be overwritten.
    I suggest to set CREATE_PATCHES=yes in compile.sh.
    Now you will be asked in the build process to change some files. Build process is hold, till you press enter. While it's waiting, copy your changed *.dts to the two folders in source. I rember, there must be two folder: /sources/linux-vanilla/master/arch/arm/boot/dts/ and /sources/u-boot/v2016.11/arch/arm/dts/. After pressing enter, the build process automatically detects your changes and creates a patch. So you only have to do this once.
     
    You can read about build options and process here: https://docs.armbian.com/Developer-Guide_Build-Options/
     
     
    Yours,
    Martin
  11. Like
    Green Daddy reacted to MartinKeppler in Enabling LCD in u-boot Kernel 4.7.2   
    So, now I can tell you how to enable LCD in u-boot and DT.
     
    First getting the source of armbian from https://github.com/igorpecovnik/lib
    Open the file sources/u-boot/v2016.09/configs/Bananapi_defconfig and add:
    CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:30000,le:40,ri:40,up:29,lo:13,hs:48,vs:3,sync:3,vmode:0" CONFIG_VIDEO_LCD_POWER="PH12" CONFIG_VIDEO_LCD_BL_EN="PH8" CONFIG_VIDEO_LCD_BL_PWM="PB2" Now LCD is enabled in u-boot. But it will not switch on backlight, because backlight uses pwm and pwm is disabled per default in DT. So you also have to add:
    &pwm { pinctrl-names = "default"; pinctrl-0 = <&pwm0_pins_a>, <&pwm1_pins_a>; status = "okay"; }; Ready!
    But be aware, LCD only turns on if there is no HDMI Monitor plugged in!!
     
    Ok, hopping some one else of you can use this stuff.
  12. Like
    Green Daddy reacted to zador.blood.stained in Using pwm without rebuilding kernel   
    Keep in mind that if you upgrade the kernel you will loose these changes. You can use something like
    apt-mark hold linux-image-next-sunxi apt-mark hold linux-dtb-next-sunxi to prevent kernel upgrade or just redo this procedure after each Armbian kernel update
  13. Like
    Green Daddy reacted to zador.blood.stained in Using pwm without rebuilding kernel   
    You need to clone https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
    Then checkout tag v4.6.3 (or v4.6.7, doesn't matter)
    To minimize download time you can do it like this:
    mkdir kernel cd kernel git init . git remote add origin "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git" git fetch --depth 1 origin tags/v4.6.7 git checkout -f FETCH_HEAD  Then edit arch/arm/boot/dts/sun7i-a20-bananapi.dts to include changes from my previous post
    After that, if you are doing this on the board, run in the top directory of kernel source tree
    cp /boot/config-`uname -r` .config make ARCH=arm dtbs after the process is finished, you should get compiled DT file arch/arm/boot/dts/sun7i-a20-bananapi.dtb
  14. Like
    Green Daddy got a reaction from Technicavolous in Enabling LCD in u-boot Kernel 4.7.2   
    <OT>
    First post - so hi everyone and thanks for the great stuff here.
    I am new to Armbian, just installed yesterday (replace bananian), migrated everything, fine.
    </OT>
     
    It took me several hours to get my 5" LCD display working on Bananapro but it's working now :-) . All the stuff to do it is there, however it wasn't easy for me as a noob to get the relevant items out and to adopt to changes that occurred over time.
    So, by summarizing the different steps I'd like to give back - maybe it's useful. If I did not understand correctly, just drop me a note. Of course, dates and version numbers may progress. Full credits to @MartinKeppler and @zador.blood.stained
     
    It's basically 2 steps: 
    You need a u-boot version that supports the LCD - must be compiled You need a dtb (Device Tree Blob) file that fits to your Kernel and supports pwm (Power for the LCD) ad 1)
    You need a Linux x64 PC to compile u-boot.
    NOTE: If you want to compile on a Windows 10 Subsystem for Linux, build will fail due to fakeroot incompatibility. You need to replace fakeroot with fakeroot-tcp:
    sudo update-alternatives --set fakeroot /usr/bin/fakeroot-tcp Go to https://github.com/armbian/build and follow instructions from README.md (as root) with change in bold:
    CREATE_PATCHES=yes tells the compile process to stop after downloading and preparing the sources, so they can be modified when needed (and yes, we need to do that)
    This takes a loooong while when run for the first time on a vanilla linux.
    Build u-boot and Kernel only (Kernel will not be needed).
    The Build process downloads the Sources. So you can only modify them when prompted to do so.
    When prompted to modify, change the following files:
    build/cache/sources/u-boot/v2017.11/configs/Bananapro_defconfig 
    For 5" display append the following (or see your params at http://linux-sunxi.org/LCD )
    CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:30000,le:40,ri:40,up:29,lo:13,hs:48,vs:3,sync:3,vmode:0" CONFIG_VIDEO_LCD_POWER="PH12" CONFIG_VIDEO_LCD_BL_EN="PH8" CONFIG_VIDEO_LCD_BL_PWM="PB2"  build/cache/sources/u-boot/v2017.11/arch/arm/dts/sun7i-a20-bananapro.dts
    build/cache/sources/u-boot/v2017.11/arch/arm/dts/sun7i-a20-bananapi.dts
    build/cache/sources/linux-mainline/linux-4.14.y/arch/arm/boot/dts/sun7i-a20-bananapro.dts
    build/cache/sources/linux-mainline/linux-4.14.y/arch/arm/boot/dts/sun7i-a20-bananapi.dts
    Add (after &pio section) :
    Let the compiler finish u-boot.
    You will find build/output/debs/linux-u-boot-next-bananapipro_5.37_armhf.deb
    install it on your pi using 
    sudo dpkg -i linux-u-boot-next-bananapipro_5.37_armhf.deb Step 1 completed.
     
    ad 2)
    To create a device specific file fitting to your Kernel and Board, you can recompile your kernel version directly on the PI. I used the guide supplied by @zador.blood.stained
    mkdir kernel cd kernel git init . git remote add origin "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git" git fetch --depth 1 origin tags/v4.13.16 sudo git checkout -f FETCH_HEAD  Then edit
    arch/arm/boot/dts/sun7i-a20-bananapi.dts and 
    arch/arm/boot/dts/sun7i-a20-bananapro.dts to include changes from above (add the &pwm section)
    Run in the top directory of kernel source tree
    sudo cp /boot/config-`uname -r` .config sudo make ARCH=arm dtbs After the process is finished, you should get compiled DT files arch/arm/boot/dts/sun7i-a20-bananapi.dtb arch/arm/boot/dts/sun7i-a20-bananapro.dtb
    Copy them to /boot/dtb, reboot and pray.
    End of Step 2
     
    DISCLAIMER: It worked for me - however you may end up with a non-bootable SD Card so be careful and have a backup :-)