Jump to content

ag123

Members
  • Posts

    347
  • Joined

  • Last visited

Posts posted by ag123

  1. tried mining feathercoin,

     

    git clone https://github.com/ghostlander/cpuminer-neoscrypt

     

    lots of missing dependencies to build that

    apt install automake autoconf-archive pkg-config libtool libcurl4-openssl-dev 

     

    but once done it is autogen.sh, configure, make

     

    next register on https://www.mining-dutch.nl/

    then run

    ./minerd -D --algo=neoscrypt --url=stratum+tcp://mining-dutch.nl:9993 -u username.worker1 -p d=10


     

    Spoiler

     

    Hash:   020E9F4B68201E05469CC87039286A9EEFAFB6525E9CDDAD40E4DCFC6D950000x0
    Target: 0000000000000000000000000000000000000000000000000000000098990100x0
    [2025-07-17 20:07:06] thread 2: 537 hashes, 1.097 KH/s
    [2025-07-17 20:07:06] accepted: 14/14 (100.000%), 4.398 KH/s (yay!!!)
    [2025-07-17 20:07:14] DEBUG (little endian): hash <= target
    Hash:   FD8193D5659404573894CC22F8A37859A2347842E382CCF151747A0E34220100x0
    Target: 0000000000000000000000000000000000000000000000000000000098990100x0
    [2025-07-17 20:07:14] thread 1: 9481 hashes, 1.100 KH/s
    [2025-07-17 20:07:14] accepted: 15/15 (100.000%), 4.397 KH/s (yay!!!)
    [2025-07-17 20:07:18] DEBUG (little endian): hash <= target
    Hash:   9B92D3883EA6CE4BC66BE97CF9CDC6E8C51B0D28B8C3D7F2BA28B8C58D310100x0
    Target: 0000000000000000000000000000000000000000000000000000000098990100x0
    [2025-07-17 20:07:18] thread 2: 13983 hashes, 1.100 KH/s
    [2025-07-17 20:07:18] accepted: 16/16 (100.000%), 4.400 KH/s (yay!!!)
    [2025-07-17 20:07:32] DEBUG (little endian): hash <= target
    Hash:   3FC00FD320605941571915FC723A4CBB2C9E798552E309C980F333CA76B40000x0
    Target: 0000000000000000000000000000000000000000000000000000000098990100x0
    [2025-07-17 20:07:32] thread 1: 20346 hashes, 1.101 KH/s
    [2025-07-17 20:07:32] accepted: 17/17 (100.000%), 4.401 KH/s (yay!!!)
    [2025-07-17 20:07:34] thread 3: 66030 hashes, 1.100 KH/s
    [2025-07-17 20:07:36] DEBUG (little endian): hash <= target
    Hash:   787E9A8E6CF0D6293659419BA9963ED809F7D606A2AD8E879968A5B075620000x0
    Target: 0000000000000000000000000000000000000000000000000000000098990100x0
    [2025-07-17 20:07:36] thread 1: 4421 hashes, 1.100 KH/s
    [2025-07-17 20:07:36] accepted: 18/18 (100.000%), 4.400 KH/s (yay!!!)
    [2025-07-17 20:07:42] DEBUG (little endian): hash <= target
    Hash:   27163C9021EAE5D4D5D458F384751990AE336F19BD3AC8D980AA97C55A940000x0
    Target: 0000000000000000000000000000000000000000000000000000000098990100x0
    [2025-07-17 20:07:42] thread 3: 8654 hashes, 1.101 KH/s
    [2025-07-17 20:07:42] accepted: 19/19 (100.000%), 4.400 KH/s (yay!!!)
    [2025-07-17 20:08:00] thread 0: 65995 hashes, 1.100 KH/s
    [2025-07-17 20:08:18] thread 2: 65977 hashes, 1.100 KH/s
    [2025-07-17 20:08:36] thread 1: 65992 hashes, 1.100 KH/s
    [2025-07-17 20:08:37] DEBUG (little endian): hash <= target
    Hash:   037AD1DB8D7C7FAB0E022F8541BA34D67A7E9B3695B396FAF84C6D47AD950000x0
    Target: 0000000000000000000000000000000000000000000000000000000098990100x0
    [2025-07-17 20:08:37] thread 0: 40427 hashes, 1.100 KH/s
    [2025-07-17 20:08:37] accepted: 20/20 (100.000%), 4.401 KH/s (yay!!!)
    [2025-07-17 20:08:39] DEBUG (little endian): hash <= target
    Hash:   5FBB0159477A05E1324B6A3D240B89DAEDF34A83A8AA78FE155FA86DE3140100x0
    Target: 0000000000000000000000000000000000000000000000000000000098990100x0
    [2025-07-17 20:08:39] thread 3: 62568 hashes, 1.101 KH/s
    [2025-07-17 20:08:39] accepted: 21/21 (100.000%), 4.401 KH/s (yay!!!)

     

    a whopping 1.1 k hash/s on each core, well not very impressivve, but it mines :)

    i think this is no Neon SIMD

     

    Stop monitoring using [ctrl]-[c]
    Time        CPU    load %cpu %sys %usr %nice %io %irq   Tcpu  C.St.
    
    20:22:02  1416 MHz  3.90 100%   0%   0%  99%   0%   0%  53.2 °C  0/7
    20:22:07  1416 MHz  3.91 100%   0%   0%  99%   0%   0%  53.2 °C  0/7
    20:22:12  1416 MHz  3.92 100%   0%   0%  99%   0%   0%  53.4 °C  0/7

    ^ this is with the fan on

     

    optimise it a little in makefile

    #CFLAGS = -g -O2
    CFLAGS =
    
    minerd_CPPFLAGS = -O3 -mcpu=cortex-a53 -march=armv8-a -ftree-vectorize -funsafe-math-optimizations 

     

     

    Spoiler

     

    [2025-07-17 20:41:42] DEBUG (little endian): hash <= target
    Hash:   02D285CA9C499E30195BD3EC4F4DF544D03EDDC7A00DFC0D255EB1E7BA160000x0
    Target: 0000000000000000000000000000000000000000000000000000008099190000x0
    [2025-07-17 20:41:42] thread 1: 19364 hashes, 1.127 KH/s
    [2025-07-17 20:41:42] accepted: 1/1 (100.000%), 1.127 KH/s (yay!!!)
    [2025-07-17 20:41:54] thread 3: 32766 hashes, 1.128 KH/s
    [2025-07-17 20:41:54] thread 0: 32766 hashes, 1.127 KH/s
    [2025-07-17 20:41:54] thread 2: 32766 hashes, 1.124 KH/s
    [2025-07-17 20:42:42] thread 1: 67603 hashes, 1.127 KH/s
    [2025-07-17 20:42:53] thread 3: 67650 hashes, 1.128 KH/s
    [2025-07-17 20:42:54] thread 0: 67639 hashes, 1.127 KH/s
    [2025-07-17 20:42:54] thread 2: 67439 hashes, 1.124 KH/s
    [2025-07-17 20:43:42] thread 1: 67627 hashes, 1.128 KH/s

     

     


    well, just a very minor 0.025 k hash/s  improvement per core. perhaps it already has Neon SIMD or that it needs 'hand optimization', that is hard.

     

     

     

  2. @robertoj

    Quote

    I don't even have a reference viewpoint  what should I start comparing?

     

    I read claims that Python3-numpy, python3-opencv are highly optimized, but I never researched HOW OPTIMIZED 

     

    I have also heard that DRM can help accelerate machine learning https://www.youtube.com/watch?v=NQz6VqvtehI&t=5m7s

     

    well, Neon SIMD isn't just useful for that matrix math, it is useful e.g. as a video decoder/encoder in place of specialized on chip video hardware. it could partially explain the 'better performance' of mpv (https://mpv.io/)

    e.g. if mpv is after all built with -o3 or that mpv uses a library that is optimised iwth Neon SIMD, it could likely practically see a performance as the on-chip proprietary video hardware which is not publicly documented.

    with an apparent 100% cpu usage if all 4 cpu cores are used with Neon SIMD. 

     

    I think I once chanced upon an Rpi forum comment about shifting the codes to Neon SIMD instead instead of using propietary video hardware, partly as these 'small' chips has 'limited' capabilities for on chip video processing etc.

    it isn;'t really a bad thing if after all we'd use say an Opi Z3 as a 'dedicated' video streamer.  A thing is at 100% cpu, non compute threads may struggle to get a slot to run at times, it may take setting 'nice' levels so that some threads get a higher priority.

     

    I've been thinking about running a (crypto coin) miner on it, probably would do that some time. They certainly don't get close to say even a Haswell, or Ryzen or even a 'low end gpu' but that they are faster than the 'older' 'smaller' chips

    for a comparison, the quoted 'old' figures

    https://linux-sunxi.org/Benchmarks#Linpack

    -mcpu=cortex-a8 -march=armv7-a -mfpu=neon -mfloat-abi=hard -funsafe-math-optimizations -fno-fast-math

    Memory required:  315K.
    
    
    LINPACK benchmark, Double precision.
    Machine precision:  15 digits.
    Array size 200 X 200.
    Average rolled and unrolled performance:
    
        Reps Time(s) DGEFA   DGESL  OVERHEAD    KFLOPS
    ----------------------------------------------------
          16   0.61  88.52%   6.56%   4.92%  37885.057
          32   1.21  85.12%   2.48%  12.40%  41459.119
          64   2.43  93.83%   2.47%   3.70%  37561.254
         128   4.86  91.77%   2.47%   5.76%  38381.368
         256   9.70  92.06%   2.89%   5.05%  38173.000
         512  19.41  91.29%   2.47%   6.23%  38634.432

    mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -mfpu=neon -mfloat-abi=hard -funsafe-math-optimizations -fomit-frame-pointer -ffast-math -funroll-loops -funsafe-loop-optimizations

    Memory required:  315K.
    
    LINPACK benchmark, Double precision.
    Machine precision:  15 digits.
    Array size 200 X 200.
    Average rolled and unrolled performance:
    
        Reps Time(s) DGEFA   DGESL  OVERHEAD    KFLOPS
    ----------------------------------------------------
          16   0.53  90.57%   1.89%   7.55%  44843.537
          32   1.05  90.48%   3.81%   5.71%  44390.572
          64   2.13  90.14%   2.35%   7.51%  44615.905
         128   4.23  90.54%   3.07%   6.38%  44390.572
         256   8.46  90.19%   2.84%   6.97%  44672.596
         512  17.03  90.55%   2.76%   6.69%  44250.892

     

    vs that above is like 8x - 10x improvements on a single core

     

     

     

  3. ok we have a cheap SBC Z3 H618, but we'd still want to run it as like a supercomputer

    https://linux-sunxi.org/Benchmarks#Linpack

     

    download

    https://www.netlib.org/benchmark/linpackc.new

    save as linpack.c

     

    makefiile

    all: linpack-noopt linpack-o3
    
    linpack-noopt: linpack.c
            gcc -o $@ $^
    
    linpack-o3: linpack.c
            gcc -O3 -o $@ $^ -lm -mcpu=cortex-a53 -march=armv8-a -ftree-vectorize -funsafe-math-optimizations 
    
    clean: linpack-noopt linpack-o3
            rm $^
    
    .PHONY: all clean

     

    ok, for your convenience it is in the attached zip file. to unzip you may need (as sudo):

    apt install zip unzip

     

    for the compilers you may need

    apt install build-essential

     

    $ make
    gcc -o linpack-noopt linpack.c
    gcc -O3 -o linpack-o3 linpack.c -lm -mcpu=cortex-a53 -march=armv8-a -ftree-vectorize -funsafe-math-optimizations 
    
    $ ./linpack-noopt 
    Enter array size (q to quit) [200]:  
    Memory required:  315K.
    
    
    LINPACK benchmark, Double precision.
    Machine precision:  15 digits.
    Array size 200 X 200.
    Average rolled and unrolled performance:
    
        Reps Time(s) DGEFA   DGESL  OVERHEAD    KFLOPS
    ----------------------------------------------------
          32   0.68  88.14%   2.66%   9.20%  71117.671
          64   1.36  88.13%   2.66%   9.21%  71103.230
         128   2.72  88.14%   2.66%   9.20%  71118.447
         256   5.44  88.14%   2.66%   9.20%  71117.368
         512  10.89  88.14%   2.66%   9.20%  71118.505
    
    Enter array size (q to quit) [200]:  q
    
    $ ./linpack-o3 
    Enter array size (q to quit) [200]:  
    Memory required:  315K.
    
    
    LINPACK benchmark, Double precision.
    Machine precision:  15 digits.
    Array size 200 X 200.
    Average rolled and unrolled performance:
    
        Reps Time(s) DGEFA   DGESL  OVERHEAD    KFLOPS
    ----------------------------------------------------
         128   0.53  86.33%   2.89%  10.78%  374433.231
         256   1.05  86.33%   2.88%  10.79%  374573.654
         512   2.10  86.34%   2.88%  10.79%  374443.201
        1024   4.21  86.32%   2.88%  10.80%  374574.751
        2048   8.42  86.32%   2.88%  10.80%  374612.768
        4096  16.83  86.33%   2.88%  10.79%  374574.926
    
    Enter array size (q to quit) [200]:  q

     

    This is single core benchmark, apparently gcc -o3 does Neon SIMD

     

     

     

     

    linpack.zip

  4. Arm Neon is quite a thing, SIMD

    https://developer.arm.com/documentation/102159/latest/

    https://github.com/thenifty/neon-guide

    and accordingly aarch64 (e.g. Cortex A53, A55, A72, A75, A76 etc etc i.e. arm V8a onwards have them)

    https://developer.arm.com/documentation/102474/0100/Fundamentals-of-Armv8-Neon-technology

     

    the H618 is an A53 and hence should have it.

     

    it is a good 'replacement' for proprietary hardware etc as this like Intel's sse, avx , simd are defiined and standardized by Arm.

    Hence, they'd work if programs are coded and compiled to use them. Accordiingly, the pripietary video hardware is still undocumented (at least not publicly accessible), and most of that works are reverse engineered and incomplete.

     

    apps written to use Neon SIMD would however 'just works' and accelerated by virtue that it is SIMD.

     

     

  5. Quote

    * mpv plays most mp4s VERY SMOOTHLY  BUT WITH 100% CPU

    oops, I missed reading that 100% cpu, but it is ok it is a a53 after all 😅

     

    videos I'd guess is still 'difficult' on z3, accordingly there is some support for gpu vector graphics but I'd guess mostly just triangles.

    video decoding can be done with just neon (vector computation) , but i'd guess there is still limited access to video decoding hardware.

    using neon is likely to give that 100% cpu reading as the cpu is busy literally, using real video hardware would be 'invisible' in a sense, the cpu usage may look low but that one won't see that the video hardware itself may after all be reading 100%.

     

  6. run dmesg, after you plug that uart into the port

    it should show the usb dongle connected and the port

     

    then a few more thiings,

    • bad wires ensure that no matter what you do no data pass over the wires (I've seen this, especially those dupont pin connections)
    • wrong connections ensure that no matter what you do no data pass over the wires. Are you sure you are talking to the correct *pins* and *port* on the host side?
    • lousy dongles ensure that no matter what you do no data pass over the wires, get 'better' ones. oh well, this depends a little on luck, but I used ch340 usb-uart bridges, and they worked just well
      https://www.aliexpress.com/w/wholesale-ch340-uart.html
      searching usb uart normally returns a lot of entries
      https://www.aliexpress.com/w/wholesale-usb-uart.html
      if one doesn't work, try another
    • oh then there is DTS overlay etc, sometimes that fix is needed
    • bad / no drivers etc (dmesg should show it, on windows your mileage may vary)
    • etc etc

     

    the rationale is, if you did it once successfully, either remember how you did it or document it ;)

     

    sometimes, alternatives include, connect hdmi to monitor, usb keyboard and mouse and use as alternative console, mileage may vary.

     

     

  7. sound is a gotcha on the opi z3, actually opi z3 has sound but output only. accordingly opi z2 has sound both input (mic) and output.

    and i think for 'convenience' many would after all use a usb sound card instead, just that there is only one usb port and the other 2 is actually on the extension pins  on opi z3 as do with the audio output on z3

     

    http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-3.html

     

    as for usb + audio extension, orangepi sells an extension board

    but that accordingly without that it may be possible to hack those usb connectors 

    https://www.aliexpress.com/w/wholesale-usb-female-type-a-with-wire.htmll

     

    if one is willing to go the distance with electronics, 

    for the microphone i did a little research and found that there are mems microphone modules around

    small, compact and possibly can be easily paired with boards like z , z2 or z3

    https://www.aliexpress.com/w/wholesale-mems-microphone.html

    but that most of these are I2S interfaces and I'm not too sure if it is feasible 

    apparently it is there for output, but I'm not sure about input

    https://github.com/elkoni/Opi_Zero_3_I2S3_5.4

  8. I've some old boards too e.g.

    https://www.armbian.com/orange-pi-one/

    interestingly there is an updated image for it, but that things I remember there are lots of gotcha unlike the whole many generation of incremental improvements between boards that finally evolved into a opi z3.

    among the gotchas on orangepi one  and orangepi pc h3 is that it uses a proprietary openrisc chip for power off which back then, if you run poweroff, the cpu will instead become very hot rapidly and you have to pull the usb cable quickly.

    today there is this thing crust which i've not yet tried which is deemed to be able to orderly  shutdown the soc

    https://github.com/crust-firmware/crust

    opi z3 uses a PMIC with its own internal firmware and I think it is comms i2c etc that starts the shutdown process.

     

    things are different between the generations (of boards and kernel)

     

    ---

    my guess is to try a new u-boot, it may take doing a build

    and the changes may be quite similar to this

    https://github.com/armbian/build/pull/8334

    https://github.com/armbian/build/pull/8334/commits/49ccbe88bc2ddf31b55ece850d28ef18c6ae8a1a

     

    ---

     

    if you want to venture and experiment with just u-boot alone

    here is how I once tried

    https://github.com/ag88/1.5GB_Fix_for_Armbian_on_OrangePiZero3

    https://github.com/ag88/1.5GB_Fix_for_Armbian_on_OrangePiZero3/blob/main/build.md

     

  9. just like to say that the recent images

    works just well

        _             _    _                                         _ _        
       /_\  _ _ _ __ | |__(_)__ _ _ _    __ ___ _ __  _ __ _  _ _ _ (_) |_ _  _ 
      / _ \| '_| '  \| '_ \ / _` | ' \  / _/ _ \ '  \| '  \ || | ' \| |  _| || |
     /_/ \_\_| |_|_|_|_.__/_\__,_|_||_|_\__\___/_|_|_|_|_|_\_,_|_||_|_|\__|\_, |
                                     |___|                                 |__/ 
     v25.8 rolling for Orange Pi Zero3 running Armbian Linux 6.12.35-current-sunxi64
    
     Packages:     Debian stable (bookworm)
     Support:      for advanced users (rolling release)
     IPv4:         (LAN) xxx.xxx.xxx.xxx (WAN) yyy.yyy.yyy.yyy
     IPv6:         fd00:xxxx:xxxx::xxxx:xxxx (WAN) xxxx:xxxx::yyyy:yyyy
     WiFi AP:      SSID: (ssid), 
    
     Performance:  
    
     Load:         2%                Uptime:       3:50
     Memory usage: 4% of 3.83G  
     CPU temp:     41°C              Usage of /:   3% of 58G    
     RX today:     7 MiB        
     Commands: 
    
     Configuration : armbian-config
     Monitoring    : htop


     

  10. this is somewhat 'off-topic' but still relevant to 'orange pi zero 3'

     

    If Orange Pi Zero 3 is operated in warm climates (e.g. room temperature 30 deg C etc) , it can at times run up to like 60 deg C.
    this is in open still air 

    chart.thumb.png.cdcd1054f44282a0edf7be7ee67a48ee.png

     

    adding a fan blowing at it reduce that by some 20 deg C to 40 deg C !

    And this is my ghetto fan setup, no fancy case, no heatsink nothing, just a single long machine screw that lifts it up :)

     

    checking temperatures is easy

    > armbianmonitor -m
    Stop monitoring using [ctrl]-[c]
    Time        CPU    load %cpu %sys %usr %nice %io %irq   Tcpu  C.St.
    
    18:03:39   480 MHz  0.00   0%   0%   0%   0%   0%   0%  40.8 °C  0/7^C


    strictly speaking, 60 deg C is 'nothing to scream about' , I've a Rpi 4 hitting up 80 deg C and it throttles.
    similarly use a fan blowing at it + a heat sink over the cpu, drastically reduce running temperatures.

    for 'occasional' use, I don't think it is necessary to have a fan blowing at the Orange Pi Zero 3.

    I think it is feasible to run at lower temperatures if I disable and unclock the GPU and HDMI, but for now I'm not sure how to go about doing that.
    Initially, I'm thinking maybe the wifi is causing it, but now I don't think so, it is moderately likely the gpu is heating it up a bit.
    And still air don't seem to dissipate heat very well.




     

    fan.jpg

  11. apparently new images for OrangePi Zero 3 Debian minimal IOT are out on github and the boards page

    thanks to @Igor, @TRay,  et.al.

    https://www.armbian.com/orange-pi-zero-3/

    https://github.com/armbian/community/releases/tag/25.8.0-trunk.309

    ^ apparently a big release many images ( e.g. different variants and boards) are updated, but I checked only  OrangePi Zero 3 Debian minimal IOT

     

    the feature for OrangePi Zero 3 according to recent build release

    https://github.com/armbian/build/releases/tag/v25.8.0-trunk.293

    is

    https://github.com/armbian/build/pull/8334

    the use of u-boot tag:v2025.04 likely improves boot time ddr ram size detection.

     

     

     

  12. thanks @Igor , this is really fresh like an hour ago :)

    would check in the rolling releases for images , it is deemed more stable for dram detection , sizing at boot.

    there tend to be dram size detection and other issues which I'm not too sure if that might be a timing related issue.

     

  13. I'm, using one of those CH340 based usb-uart dongles

    https://www.aliexpress.com/w/wholesale-usb-uart-ch340.html

    but that normally most usb-uart dongles would work

    https://www.aliexpress.com/w/wholesale-usb-uart.html

     

    just make sure to check that it has / uses 3.3V io levels. Not 5V io levels as that may damage the processor (cpu / soc)

     

    for the pins connection review the user manual

    http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-Zero-3.html

     

    it is the 3 pins labelled Debug TTL UART on their board photo

    http://www.orangepi.org/img/zero3/0627-zero3 (6).png

     

    ---

    off-topic:

    for these small boards, I've basically stopped running them with an LCD monitor and keyboard as I find it a hassle as I'm using a desktop PC and trying to share the monitor. I mostly use them 'headless' using the usb-uart port. 

    And in fact, after you setup the network appropriately e.g. set a static IP address or install avahi, the usb-uart console is no longer needed

    for static (fixed) IP address it is covered in the networking guide

    https://docs.armbian.com/User-Guide_Networking/

     

    for avahi (MDNS)

    > apt install avahi-daemon avahi-utils
    
    edit /etc/avahi/avahi-daemon.conf
    [publish]
    publish-workstation=yes

     

    you can find the board on the ethernet over MDNS

    e.g.

    https://github.com/hrzlgnm/mdns-browser

     

    and you can ssh into the board over the network, e.g. using putty

    https://www.putty.org/

     

  14. as I've not been running X11, I can't really help with this, but among the things, check the logs during X startup (normally /var/log/*), that could lead to the cause.

    note also that more recently, the display systems are running wayland rather than X11. that could cause xfce etc to fail if it is expecting an X11 based setup

     

    it is also recommended to bootup in the uart console (debug) port using a usb-uart dongle.

    - the benefits are numerous, the boot messages are mostly presented

    - it provides you with a console to login and check things while the system is running

       e.g. to login and check dmesg and other logs

    - essential especially when re-wiring network configuration

     

     

  15. there are a few caveats that may need a bit of attention

    It is documented somewhere that if you use channel 0, the driver would automatically select an appropriate channel / frequency.

    However, it seemed that back then initially while I tested it, that didn't seem to work. (i'm not sure if it may have changed)

    hence to list the channels one needs to run 

    iw list

    and you would get a list of channels like such

    * 2412 MHz [1] (20.0 dBm)
    * 2417 MHz [2] (20.0 dBm)
    * 2422 MHz [3] (20.0 dBm)
    * 2427 MHz [4] (20.0 dBm)
    * 2432 MHz [5] (20.0 dBm)
    * 2437 MHz [6] (20.0 dBm)
    * 2442 MHz [7] (20.0 dBm)
    * 2447 MHz [8] (20.0 dBm)
    * 2452 MHz [9] (20.0 dBm)
    * 2457 MHz [10] (20.0 dBm)
    * 2462 MHz [11] (20.0 dBm)
    * 2467 MHz [12] (20.0 dBm)
    * 2472 MHz [13] (20.0 dBm)
    * 2484 MHz [14] (20.0 dBm)
    * 5170 MHz [34] (disabled)
    * 5180 MHz [36] (20.0 dBm)
    * 5200 MHz [40] (20.0 dBm)
    * 5220 MHz [44] (20.0 dBm)
    * 5240 MHz [48] (20.0 dBm)
    * 5260 MHz [52] (20.0 dBm) (radar detection)
    * 5280 MHz [56] (20.0 dBm) (radar detection)
    ...
    * 5720 MHz [144] (20.0 dBm) (radar detection)
    * 5745 MHz [149] (20.0 dBm)
    * 5765 MHz [153] (20.0 dBm)
    * 5785 MHz [157] (20.0 dBm)
    * 5805 MHz [161] (20.0 dBm)
    * 5825 MHz [165] (20.0 dBm)

     

    what I normally do is to do a scan and pick an unused / least used channel :

     iw wlan0 scan

     

    pick an appropriate channel and specify it in hostapd.conf. 5ghz channels (hw_mode=a) delivers a max throughput of like 140 Mbps which is fast.

    https://docs.armbian.com/WifiPerformance/#uwe-5622

    accordingly there are some country specific requirements for 5ghz channel selections and one may like review 

    https://en.wikipedia.org/wiki/List_of_WLAN_channels

    iw reg set

    etc

     

    I did a google search and some of these resources may be useful

    https://wiki.archlinux.org/title/NetworkManager

    https://www.baeldung.com/linux/nmcli-wap-sharing-internet

    in a same way you may need to set the channel if necessary

     

    then that this repo is found in a google search which may be useful

    https://github.com/pi-top/Wi-Fi-Access-Point-and-Station-Mode/tree/master

     

     

  16. accordingly H618 do not have mic in hardware

    https://www.cnx-software.com/2023/07/03/orange-pi-zero-3-allwinner-h618-sbc-ships-with-up-to-4gb-ram/

     

    hence, an option is to use a usb soundcard / dongle

    https://www.aliexpress.com/w/wholesale-usb-sound-card.html

     

    there are also those 'arduinoish' approaches

    e.g. to use a ADC module board e.g. 

    https://www.ti.com/lit/ds/symlink/ads1110.pdf

    https://www.aliexpress.com/w/wholesale-ads1110.html

    https://www.instructables.com/Arduino-and-the-TI-ADS1110-16-bit-ADC/

     

    but that you would need to hack the pin interfaces to use i2c etc.

    note it seemed ads1110 is a bit too slow for sound.

    alternatives are like stm32, which has built-in adc that can go to like 1-2.5 Msps, but you would need to hack the spi interface etc.

    the 'easiest / cheapest' way seemed to be generic 'usb sound cards'

     

  17. @robertoj

    there are some 'old' stuff that may not be fully  relevant but still useful

     

    this gist  likely helps:

    https://gist.github.com/ag88/de02933ba65500376d1ff48e504b1bf3

    an 'old' post:

    Note that  currently in the minimal image netplan is set to systemd-networkd

    https://docs.armbian.com/User-Guide_Networking/#minimal-images

    I'm less familiar with systemd-networkd, though it is possible to setup the network fully with it.

     

    What i did currently, is to update netplan config as above to use NetworkManager

     

    After that I use NetworkManger to setup a bridge adding the ethernet interface.

    https://gist.github.com/ag88/de02933ba65500376d1ff48e504b1bf3

    .

    However, I actually make NetworkManager *unmanage* the Wifi interface, because i'm using hostapd.

    I'm using hostapd mainly because in journalctl  logs, there is an entry for every host/client that connects. I'm not sure about how to do the same with Network Manager. hostapd also supports elaborate RADIUS authentication if one wants to go the distance.

    Then I install and configure hostapd as described in the gist, and during startup, hostapd actually patch the wifi interface into the bridge that is setup with NetworkManager.. The configuration for wifi  AP is completely done in hostapd.conf as described in the gist.

     

    I'm using a bridge as DHCP is managed from my gateway router, hence I did not run a separate DHCP server instance in Orange Pi Zero 3 itself.

    An alternative setup is to setup NAT (network address translation) on the Orange Pi Zero 3 and to run a DHCP server on the Orange Pi Zero 3 itself.

    I think NAT approach is 'more common'

     

    I'm using hostapd, but I think without hostapd, it is also possible to setup an AP using NetworkManager alone. i.e. to let Network Manager manage the Wifi interface, and configure it as an AP. The benefit here is that Network manager woulld likely manage the DHCP and NAT as well all from Network Manager configurations.

     

    As I'm doing everything from the command line, I used NetworkManager cli (nmcli) for all the network manager configuration tasks.

     

    Note that while messing with networking, it is necessary to work in the serial debug console using a usb-uart dongle.

    i.e. bootup and login as root using a usb-uart dongle to the 3 'debug' pins for the serial console.

     

  18. just like to say that I installed

     

    Armbian_community_25.8.0-trunk.228_Orangepizero3_bookworm_current_6.12.30_minimal.img

    from the boards page

    https://www.armbian.com/orange-pi-zero-3/

     

    apt update works 'out of the box', no PUBKEY errors

     

    I really liked the new MOTD on login

        _             _    _                                         _ _
       /_\  _ _ _ __ | |__(_)__ _ _ _    __ ___ _ __  _ __ _  _ _ _ (_) |_ _  _
      / _ \| '_| '  \| '_ \ / _` | ' \  / _/ _ \ '  \| '  \ || | ' \| |  _| || |
     /_/ \_\_| |_|_|_|_.__/_\__,_|_||_|_\__\___/_|_|_|_|_|_\_,_|_||_|_|\__|\_, |
                                     |___|                                 |__/
     v25.8 rolling for Orange Pi Zero3 running Armbian Linux 6.12.30-current-sunxi64
    
     Packages:     Debian stable (bookworm)
     Updates:      Kernel upgrade enabled and 8 packages available for upgrade
     Support:      for advanced users (rolling release)
     WiFi AP:      SSID: (wifi_hotspot_name),
    
     Performance:
    
     Load:         12%              Up time:       0 min
     Memory usage: 5% of 3.83G
     CPU temp:     54°C              Usage of /:   3% of 58G
     RX today:     6 MiB
     Commands:
    
     Configuration : armbian-config
     Upgrade       : armbian-upgrade
     Monitoring    : htop

     

    running Armbian on Orangepizero 3 makes a good desktop wifi hotspot (AP)

    it counts among the fastest Wifi with UWE5622 AP on 5 ghz on 'cheap' SBC (single board computers)

    https://docs.armbian.com/WifiPerformance/#uwe-5622

     

    if you see that updates message, what is more cool is if you run 

     

    apt list --upgradable

     

    it list the packages that is upgradable, and I tried

    apt upgrade

     

    install  quite a few things, then manually

     

    reboot

     

    it becomes 25.8.0-trunk.230 ! this can be verified in /etc/armbian-release

     

     

     

  19. @Igor, all

    just like to say that I installed

     

    Armbian_community_25.8.0-trunk.228_Orangepizero3_bookworm_current_6.12.30_minimal.imgArmbian_community_25.8.0-trunk.228_Orangepizero3_bookworm_current_6.12.30_minimal.img

    from the boards page

    https://www.armbian.com/orange-pi-zero-3/

     

    apt update works 'out of the box', no PUBKEY errors

     

    thanks for the the updates

    @vtech,

    you may like to try the same for orange pi zero 2

  20. NO_PUBKEY 93D6889F9F0E78D5 while using apt (e.g. apt update)

    symptom:

    > apt update
    ...
    Err:8 https://github.armbian.com/configng stable InRelease               
      The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 93D6889F9F0E78D5
    ...
    W: Failed to fetch https://github.armbian.com/configng/dists/stable/InRelease  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 93D6889F9F0E78D5

    observed in Armbian image for Orange pi zero 3 Armbian_community_25.8.0-trunk.90_Orangepizero3_bookworm_current_6.12.30_minimal.img build date May 28, 2025

     

    fix:

    - run this as root

    > su - 
    ^ login as root
    > wget -O - https://apt.armbian.com/armbian.key | gpg --dearmor -o /usr/share/keyrings/armbian.gpg

     
    you should find a file /usr/share/keyrings/armbian.gpg about 2 KB in size

    repeat apt update etc should have resolved the error
     

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines