Jump to content

worked im for Banana Pi M3


Tu Hu

Recommended Posts

3 часа назад, going сказал:

First, you need to check how the changes will work for different users, and then we will think about how to make universal changes.

@Gunjan Gupta I apologize. The machine translator wrote changing the meaning. 

It should be tested by someone who has these boards. First of all, it's me.

3 часа назад, Gunjan Gupta сказал:

I was only talking about this patch - patch/u-boot/u-boot-sunxi/board_bananapim3/adjust-default-dram-clockspeeds.patch

Yes.

3 часа назад, Gunjan Gupta сказал:

I hope you are not suggesting to change for every other board as well.

I'm not suggesting anything. I'm just thinking. I will not make the decisions to do this or that.

 

My thoughts on the code:

function post_config_uboot_target__extra_configs_for_bananapipro() {
	display_alert "$BOARD" "set dram clock" "info"
	run_host_command_logged scripts/config --set-val CONFIG_DRAM_CLK "384"
}

I didn't see the difference in the names bananapipro and bananapim3.

I'm sorry, the glasses are on my nose.

But that doesn't change the point. The user will only see the message:

bananapipro set dram clock

What if he added his own custom patch? Does the build system allow the user to add patches today?

Maybe give the user the opportunity to set the value of this variable? For example:

UBOOT_CONFIG_DRAM_CLK="${UBOOT_CONFIG_DRAM_CLK:-384}"

function post_config_uboot_target__extra_configs_for_bananapipro() {
	display_alert "$BOARD" "set dram clock to $UBOOT_CONFIG_DRAM_CLK" "info"
	run_host_command_logged scripts/config --set-val CONFIG_DRAM_CLK "$UBOOT_CONFIG_DRAM_CLK"
}

Please don't listen to my grumbling, but do as you see fit.

Link to comment
Share on other sites

18 minutes ago, going said:

I'm not suggesting anything. I'm just thinking. I will not make the decisions to do this or that.

 

Yeah response was based on me being confused from the overall message. I hope there is not hard feeling over it either ;)

Link to comment
Share on other sites

31 minutes ago, going said:

What if he added his own custom patch? Does the build system allow the user to add patches today?

 

Yes patching is still there. The context behind moving that from out of the patch to the hook is actually pretty simple. In the last 7 months, I have done quite a few number of u-boot bumps and most commonly broken patches are that of defconfig files. So I decided to move the broken defconfig patches to board config file utilising the hook system in order to avoid wasting time on fixing defconfig patches in the future. The same was explained in the PR that contained the change as well. Plan was to migrate them as they gets broken.

Link to comment
Share on other sites

27 minutes ago, going said:

Please don't listen to my grumbling, but do as you see fit.

Feedback are always welcome. But even when changing this value, user will either have to build uboot deb, install the same and then update bootloader from armbian config or create a new image. If the user is willing to do all that, I guess it will not be too hard to change value in a text file. After all if we make it configurable that had to be documented somewhere and documentation is already too far behind. And I am not sure how many people read documentation. I personally prefer code to documentation, most of people I know do the same too. But it can probably be a cultural thing

Link to comment
Share on other sites

13 часов назад, Gunjan Gupta сказал:

After all if we make it configurable that had to be documented somewhere and documentation is already too far behind. And I am not sure how many people read documentation. I personally prefer code to documentation

 

People read the documentation. When they don't find something in it or.... they look at the code.
You and I are among the latter.
Unfortunately, it's hard for me to read the source code today.

I became inattentive due to the deterioration of my eyesight.

 

If you want to know my opinion, we can communicate in a personal conversation on the site.

Link to comment
Share on other sites

1 час назад, Gunjan Gupta сказал:

Does thing works correctly if you boot without ethernet pluged into it?

Almost all of these little rafts won't work without the internet.

The reason is the lack of a watch with a battery.

The OS finds itself in the past and thinks that the file system is corrupted because the timestamps of the files are from the future.

Link to comment
Share on other sites

3 minutes ago, going said:

The OS finds itself in the past and thinks that the file system is corrupted because the timestamps of the files are from the future.

which can be easily fixed by running date command.

 

Anyways, does it breaks for you if you plugin ethernet. Were you using it with or without ethernet?

Link to comment
Share on other sites

16 минут назад, Gunjan Gupta сказал:

which can be easily fixed by running date command.

 

Anyways, does it breaks for you if you plugin ethernet. Were you using it with or without ethernet?

All my boards are connected by cable to an Ethernet switch. And it is connected to the router accordingly

 

The switch is old and it is 10mbit slow. I did not perform a health check at a speed of 1 Gbit.

Link to comment
Share on other sites

11 minutes ago, going said:

The switch is old and it is 10mbit slow. I did not perform a health check at a speed of 1 Gbit.

Hmm, 10 base-t and 100 base-tx only uses 4 of the 8 ethernet pins, while a 1000 base-tx will use all 8 pins I wonder if the extra 4 pins causes the issue

Link to comment
Share on other sites

10 минут назад, Gunjan Gupta сказал:

Hmm, 10 base-t and 100 base-tx only uses 4 of the 8 ethernet pins, while a 1000 base-tx will use all 8 pins I wonder if the extra 4 pins causes the issue

Maybe yes, maybe not if there are smart devices on both ends. I have all the cables full. The device itself decides how many lines to use.

dwmac-sun8i 1c30000.ethernet end0: Link is Up - 100Mbps/Full - flow control rx/tx

There is an inscription on the switch: 10/100 Fast Ethernet switch

Link to comment
Share on other sites

Hi @going @Gunjan Gupta, I have five boards from three separate purchases, I have access to 4 of these boards presently. If there is anyway we can identify these boards visually it would be great, although all my boards do seem consistent and have worked with most said to be working images over the last 5 or more years apart from recently.

I can put up all the working images I have ever used if that would be helpful.


I am up for tests, but would also appreciate detailed instructions on how to build a distro, as I cannot seem to get anything that works using Armbian/build.

Also there are issues with the logs, they change Debian 12 Bookworm I believe to journalctl based binary log files. It would be good to have a list of relevant log files to post, if theres something that explains this it would be useful.

@going What are you using to gauge system responsiveness ? 

Armbian_23.10_Bananapim3_bookworm_edge_6.4.10_minimal has been up for 48 hours after being updated, and upgraded, and software reset.

Armbian_23.10_Bananapim3_bookworm_edge_6.4.16_minimal boots fine, updates, upgrades fine, software reboot is fine.
 

BTW I have never had any issues with Ethernet on the BananaPi M3.

 

Edited by AaronNGray
Link to comment
Share on other sites

8 часов назад, AaronNGray сказал:

I am up for tests, but would also appreciate detailed instructions on how to build a distro, as I cannot seem to get anything that works using Armbian/build.

As far as I know, the default system cross compiler is used today.
Try using the key SKIP_EXTERNAL_TOOLCHAINS=no

What is the difference? You can check it out:

${prefix}-gcc -v

 

9 часов назад, AaronNGray сказал:

What are you using to gauge system responsiveness ?

In this particular case, it's my human eye and pressing the mouse button.
If the eye has noticed the difference, it is already significant.

Switching the processor frequency with increasing load (when a resource-intensive process is started) is faster.

Link to comment
Share on other sites

11 hours ago, AaronNGray said:

I am up for tests, but would also appreciate detailed instructions on how to build a distro, as I cannot seem to get anything that works using Armbian/build.

I am not sure what issues you are having when trying to build. Could you please share the logs?

 

I personally am building on MBP 2019. All that is needed is to have docker installed. The build system will make use of it if its available. Then just run ./compile.sh it will present you with the available options. Also check this video explaining the process - 

 

Link to comment
Share on other sites

@going After doing the following its done a load of downloads, then put me in the middle of a console kernel configuration Q&A  !

 

```

git clone --depth=120 --branch=pbs-master https://github.com/The-going/armbian-build

cd armbian-build

git pull

mkdir userpatches

cp config/templates/config-test.conf userpatches

./compile.sh test BUILD_ONLY=default

```


```

*
* Restart config...
*
*
* Configure standard kernel features (expert users)
*
Configure standard kernel features (expert users) (EXPERT) [Y/n/?] y
  Enable 16-bit UID system calls (UID16) [Y/n/?] y
  Multiple users, groups and capabilities support (MULTIUSER) [Y/n/?] y
  sgetmask/ssetmask syscalls support (SGETMASK_SYSCALL) [N/y/?] n
  Sysfs syscall support (SYSFS_SYSCALL) [Y/n/?] y
  open by fhandle syscalls (FHANDLE) [Y/n/?] y
  Posix Clocks & timers (POSIX_TIMERS) [Y/n/?] y
  Enable support for printk (PRINTK) [Y/n/?] y
  BUG() support (BUG) [Y/n/?] y
  Enable ELF core dumps (ELF_CORE) [Y/n/?] y
  Enable full-sized data structures for core (BASE_FULL) [Y/n/?] y
  Enable futex support (FUTEX) [Y/n/?] y
  Enable eventpoll support (EPOLL) [Y/n/?] y
  Enable signalfd() system call (SIGNALFD) [Y/n/?] y
  Enable timerfd() system call (TIMERFD) [Y/n/?] y
  Enable eventfd() system call (EVENTFD) [Y/?] y
  Use full shmem filesystem (SHMEM) [Y/?] y
  Enable AIO support (AIO) [Y/n/?] y
  Enable IO uring support (IO_URING) [Y/?] y
  Enable madvise/fadvise syscalls (ADVISE_SYSCALLS) [Y/n/?] y
  Enable membarrier() system call (MEMBARRIER) [Y/?] y
  Load all symbols for debugging/ksymoops (KALLSYMS) [Y/?] y
    Test the basic functions and performance of kallsyms (KALLSYMS_SELFTEST) [N/y/?] (NEW) Y
    Include all symbols in kallsyms (KALLSYMS_ALL) [N/y/?] n
*
* Enable loadable module support
*
Enable loadable module support (MODULES) [Y/n/?] y
  Module debugging (MODULE_DEBUG) [N/y/?] (NEW) Y
    Module statistics (MODULE_STATS) [N/y/?] (NEW) y
    Debug duplicate modules with auto-loading (MODULE_DEBUG_AUTOLOAD_DUPS) [N/y/?] (NEW) 
  Forced module loading (MODULE_FORCE_LOAD) [N/y/?] n
  Module unloading (MODULE_UNLOAD) [Y/n/?] y
    Forced module unloading (MODULE_FORCE_UNLOAD) [Y/n/?] y
    Tainted module unload tracking (MODULE_UNLOAD_TAINT_TRACKING) [N/y/?] n
  Module versioning support (MODVERSIONS) [N/y/?] n
  Source checksum for all modules (MODULE_SRCVERSION_ALL) [N/y/?] n
  Module signature verification (MODULE_SIG) [Y/?] y
    Require modules to be validly signed (MODULE_SIG_FORCE) [N/y/?] n
    Automatically sign all modules (MODULE_SIG_ALL) [Y/n/?] y
  Which hash algorithm should modules be signed with?
  > 1. Sign modules with SHA-1 (MODULE_SIG_SHA1)
    2. Sign modules with SHA-224 (MODULE_SIG_SHA224)
    3. Sign modules with SHA-256 (MODULE_SIG_SHA256)
    4. Sign modules with SHA-384 (MODULE_SIG_SHA384)
    5. Sign modules with SHA-512 (MODULE_SIG_SHA512)
  choice[1-5?]: 1
  Module compression mode
    1. None (MODULE_COMPRESS_NONE)
    2. GZIP (MODULE_COMPRESS_GZIP)
  > 3. XZ (MODULE_COMPRESS_XZ)
    4. ZSTD (MODULE_COMPRESS_ZSTD)
  choice[1-4?]: 3
  Support in-kernel module decompression (MODULE_DECOMPRESS) [Y/n/?] y
  Allow loading of modules with missing namespace imports (MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS) [N/y/?] n
  Path to modprobe binary (MODPROBE_PATH) [/sbin/modprobe] /sbin/modprobe
  Trim unused exported kernel symbols (TRIM_UNUSED_KSYMS) [N/y/?] n
*
* Support for paging of anonymous memory (swap)
*
Support for paging of anonymous memory (swap) (SWAP) [Y/n/?] y
  Compressed cache for swap pages (ZSWAP) [Y/n/?] y
    Enable the compressed cache for swap pages by default (ZSWAP_DEFAULT_ON) [Y/n/?] y
    Default compressor
      1. Deflate (ZSWAP_COMPRESSOR_DEFAULT_DEFLATE)
      2. LZO (ZSWAP_COMPRESSOR_DEFAULT_LZO)
      3. 842 (ZSWAP_COMPRESSOR_DEFAULT_842)
      4. LZ4 (ZSWAP_COMPRESSOR_DEFAULT_LZ4)
      5. LZ4HC (ZSWAP_COMPRESSOR_DEFAULT_LZ4HC)
    > 6. zstd (ZSWAP_COMPRESSOR_DEFAULT_ZSTD)
    choice[1-6?]: 6
    Default allocator
      1. zbud (ZSWAP_ZPOOL_DEFAULT_ZBUD)
    > 2. z3fold (ZSWAP_ZPOOL_DEFAULT_Z3FOLD)
      3. zsmalloc (ZSWAP_ZPOOL_DEFAULT_ZSMALLOC)
    choice[1-3?]: 2
    2:1 compression allocator (zbud) (ZBUD) [Y/n/m/?] y
    3:1 compression allocator (z3fold) (Z3FOLD) [Y/?] y
    N:1 compression allocator (zsmalloc) (ZSMALLOC) [Y/m/?] y
      Export zsmalloc statistics (ZSMALLOC_STAT) [N/y/?] n
      Maximum number of physical pages per-zspage (ZSMALLOC_CHAIN_SIZE) [8] (NEW) 
*
* SLAB allocator options
*
Choose SLAB allocator
  1. SLAB (SLAB)
> 2. SLUB (Unqueued Allocator) (SLUB)
choice[1-2?]: 2
Configure SLUB for minimal memory footprint (SLUB_TINY) [N/y/?] (NEW) 

```

 

Edited by AaronNGray
Link to comment
Share on other sites

12 часов назад, AaronNGray сказал:

After doing the following its done a load of downloads, then put me in the middle of a console kernel configuration Q&A  !

When the maintainer regularly updates the kernel configuration file in the source repository,

you can rely on the correctness of this file. Unfortunately, I did not do this.
Until now, this repository was only my personal one and I didn't need to follow some rules to publish.

My pbs-master branch was created from the master branch, which is now abandoned and not being developed.

I just continued to develop it and added 118 commits on top.

 

10 часов назад, AaronNGray сказал:

I am getting "Too slow Downloading speed" repeatedly aborting when very nearly downloaded.

There are no mistakes in this. This download script sets up the carl program to be very chatty.

Link to comment
Share on other sites

I've finally managed to fix my (rather old) M3 by building a new U-Boot V2024.01 and modifying BananapiM3-defconfig by:


 

CONFIG_AXP_DCDC2_VOLT=1000 # (VDD CPUA, was: 900)
CONFIG_AXP_DCDC3_VOLT=1000 # (VDD CPUB, was: 900)
CONFIG_AXP_DCDC5_VOLT=1400 # (VCC_DDRAM, was: 1200)

 

This increases the voltage for LPDDRAM by 200mV and CPU cores by 100mV each.
I'm now able to build C++ projects even with -j8, where BPiM3 crashed immediately before.

Also, armbianmonitor -z now works and shows its final statistics:

 

bert@bananapim3:~$ sudo armbianmonitor -z
[sudo] Passwort für bert:
Preparing benchmark. Be patient please...

7-Zip (a) [32] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=de_DE.UTF-8,Utf16=on,HugeFiles=on,32 bits,8 CPUs LE)

LE
CPU Freq: 21333333 64000000 - - - - - - 2048000000

RAM size:    2011 MB,  # CPU hardware threads:   8
RAM usage:   1765 MB,  # Benchmark threads:      8

                       Compressing  |                  Decompressing
Dict     Speed Usage    R/U Rating  |      Speed Usage    R/U Rating
         KiB/s     %   MIPS   MIPS  |      KiB/s     %   MIPS   MIPS

22:       1926   773    242   1874  |      94698   791   1021   8077
23:       1753   756    236   1787  |      90053   789    988   7793
24:       1669   764    235   1795  |      85688   786    956   7521
25:       1587   770    235   1812  |      82218   792    923   7317
----------------------------------  | ------------------------------
Avr:             766    237   1817  |              790    972   7677
Tot:             778    605   4747

Monitoring output recorded while running the benchmark:

Two CPU clusters are available for monitoring
Time    CPU_cl0/CPU_cl1  load %cpu %sys %usr %nice %io %irq  C.St.
20:08:36  1728/1728 MHz  0.11   6%   2%   2%   0%   0%   0%  0/5
20:08:41   576/ 576 MHz  0.10   0%   0%   0%   0%   0%   0%  0/5
20:08:46  1728/ 576 MHz  0.09   1%   0%   0%   0%   0%   0%  0/5
20:08:56  1728/1728 MHz  0.95  83%   3%  79%   0%   0%   0%  0/5
20:09:02  1728/1728 MHz  1.60  98%   2%  95%   0%   0%   0%  0/5
20:09:07  1728/1728 MHz  2.88  97%   2%  95%   0%   0%   0%  0/5
20:09:13  1728/1728 MHz  3.53  98%   2%  96%   0%   0%   0%  0/5
20:09:26  1728/1728 MHz  3.89  98%   0%  97%   0%   0%   0%  0/5
20:09:31  1728/1728 MHz  4.60  90%   0%  90%   0%   0%   0%  0/5
20:09:37  1728/1728 MHz  5.03  91%   6%  85%   0%   0%   0%  0/5
20:09:44  1728/1728 MHz  5.94  98%   4%  94%   0%   0%   0%  0/5
20:09:49  1728/1728 MHz  6.35  98%   4%  94%   0%   0%   0%  0/5
20:10:02  1728/1728 MHz  6.48  96%   1%  95%   0%   0%   0%  0/5
20:10:11  1728/1728 MHz  6.96  82%   2%  80%   0%   0%   0%  0/5
Time    CPU_cl0/CPU_cl1  load %cpu %sys %usr %nice %io %irq  C.St.
20:10:17  1728/1728 MHz  7.20  92%   4%  87%   0%   0%   0%  0/5
20:10:28  1728/1728 MHz  7.48  99%   3%  95%   0%   0%   0%  0/5
20:10:35  1728/1728 MHz  7.94  99%   4%  95%   0%   0%   0%  0/5
20:10:43  1728/1728 MHz  8.26  99%   3%  95%   0%   0%   0%  0/5
20:10:48  1728/1728 MHz  8.32  97%   3%  93%   0%   0%   0%  0/5
20:11:01  1728/1728 MHz  8.29  96%   1%  94%   0%   0%   0%  0/5
20:11:09  1728/ 576 MHz  7.81  70%   0%  69%   0%   0%   0%  0/5
20:11:15  1728/1728 MHz  8.14  79%   7%  70%   0%   0%   0%  0/5
20:11:20  1728/1728 MHz  8.21  92%   4%  88%   0%   0%   0%  0/5
20:11:26  1728/1728 MHz  8.52  98%   4%  94%   0%   0%   0%  0/5
20:11:32  1728/1728 MHz  8.64  98%   4%  94%   0%   0%   0%  0/5
20:11:39  1728/1728 MHz  8.91  99%   3%  95%   0%   0%   0%  0/5
20:11:46  1728/1728 MHz  9.00  99%   3%  95%   0%   0%   0%  0/5
20:11:51  1728/1728 MHz  9.08  99%   3%  95%   0%   0%   0%  0/5
20:11:58  1728/1728 MHz  9.53  98%   3%  95%   0%   0%   0%  0/5
Time    CPU_cl0/CPU_cl1  load %cpu %sys %usr %nice %io %irq  C.St.
20:12:05  1728/1728 MHz  9.65  98%   3%  95%   0%   0%   0%  0/5
20:12:11  1728/1728 MHz  9.76  99%   3%  95%   0%   0%   0%  0/5
20:12:16  1728/1728 MHz  9.70  99%   3%  95%   0%   0%   0%  0/5
20:12:22  1728/1728 MHz  9.72  97%   3%  93%   0%   0%   0%  0/5
20:12:28  1728/1728 MHz  9.68  97%   3%  94%   0%   0%   0%  0/5
20:12:40  1728/1728 MHz  9.47  92%   4%  88%   0%   0%   0%  0/5
20:12:49  1728/1728 MHz  9.28  99%   0%  99%   0%   0%   0%  0/5

 

Edited by dd5xl
Link to comment
Share on other sites

27 минут назад, dd5xl сказал:

I'm now able to build C++ projects even with -j8, where BPiM3 crashed immediately before.

@dd5xl Igor, what kind of kernel is working at the same time? I don't see any temperature readings.

What is the value of the CONFIG_DRAM_CLK parameter ?

Link to comment
Share on other sites

05.02.2024 в 00:44, Gunjan Gupta сказал:

Are we concluding that the issue was due to DRAM_CLK patch? 

It seems that the reason is the lack of Internet access.
It's like air. While he is there, he is not noticed. It's gone and the "coffee makers" are starting to glitch in different corners

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines