

jimg
-
Posts
56 -
Joined
-
Last visited
Content Type
Forums
Store
Crowdfunding
Applications
Events
Raffles
Community Map
Posts posted by jimg
-
-
18 hours ago, Werner said:20 hours ago, jimg said:
DOCKER_ARMBIAN_BASE_IMAGE=ubuntu:jammy
Non-standard docker image can cause rebuild since it is now based on Noble.
Thanks for the information, @Werner. That was all useful to know.
I removed the attributes you noted and tried building again. (FWIW, removing the DOCKER_ARMBIAN_BASE_IMAGE line using a fresh docker image (no cache)still defaulted to Jammy, not Noble. ) The final image turned out OK, but still required compilation. Is this because the target is Trixie (not Bookworm) which is still unsupported, or is it just not possible now to create a custom image without also compiling a kernel?
-
I apologize if this is a basic question. I'm trying to make a minimal Orange Pi Zero 3 Trixie image with a btrfs file system and NetworkManager for the networking stack using Docker without having to compile a new kernel (i.e., I just want to use the precompiled kernel found in the CSC version).
I created a `config-myimage.conf` file under `build/userpatches`:
BOARD=orangepizero3 BRANCH=current RELEASE=trixie CLEAN_LEVEL=cache KERNEL_CONFIGURE=no BUILD_KSRC=no BUILD_MINIMAL=yes NETWORKING_STACK=network-manager DOCKER_ARMBIAN_BASE_IMAGE=ubuntu:jammy ROOTFS_TYPE=btrfs BTRFS_COMPRESSION=zlib CONSOLE_AUTOLOGIN=yes #BOOTSIZE=96 # need larger boot size to prevent 'disk out of space' # on kernel upgrade BOOTSIZE=256 COMPRESS_OUTPUTIMAGE='sha,xz' EXTRAWIFI=yes function user_config__010_modify_package_list() { # adds additional packages to the package cache add_packages_to_rootfs btrfs-progs neovim pmount nmap tmux # edit this list to remove packages from cache remove_packages nano }
I then ran `./compile.sh myimage`, but it launches into kernel compilation.
I did this once before uisng bookworm, but I can't remember how....
-
On 4/13/2025 at 10:41 AM, dr_toggleswitch said:
Was anybody able to install to emmc on this unit? I can't do it with nand-sata-install. It only shows my SD card.
I don't think the Orange Pi Zero 3 has emmc..
-
No, I haven't yet. Thanks for letting me know. I'll try it out soon and report what I find.
-
4 hours ago, ag123 said:
what @jimg proposes should be good working configurations with local ip and without the bridge.
I have always use a routed configuration instead of a bridge because I'm always configuring my AP as our home router or subnet router. If there is no upstream router in front, then you will definitely need to install a firewall too like ufw or firewalld (which I always do).
4 hours ago, ag123 said:systemd-networkd can be used to setup the network,
It's worth noting that Armbian now uses netplan to setup networking each time at boot. Server/IOT images configure netplan to use systemd-networkd. Server images use NetworkManager. To change from systemd-networkd, you need to install NetworkManager, then change the netplan configuration file(s) to use it instead.
Interfaces not named or matched in the netplan file or ignored by Netplan, so if you're creating a hotspot with hostapd & dnsmasq, wlan0 should be left out of the configuration files listed in /etc/netplan.
systemd-networkd has more limited functionality than NetworkManager when using netplan; e.g., you can use matching rules like 'wlx*' when defining networks with NetworkManager in netplan but not systemd-networkd.
-
4 hours ago, av4625 said:
I have no idea what I did, that file didn't exist. I swear I put it there.
If you tried creating an access point using NetworkManager, my guess is it's probably overwriting the dnsmasq.service file. See if the access point(s) you attempted to create is listed in one of the system connection files:
ls /etc/NetworkManager/system-connections
If so, delete the offending file(s).
If you still have NetworkManager installed, you should also do what @ag123 recommended earlier and create a file so NetworkManager doesn't attempt to control the wlan0 interface:
QuoteI added in /etc/NetworkManager/conf.d/99-unmanaged-devices.conf
[keyfile] unmanaged-devices=interface-name:wlan0
4 hours ago, av4625 said:Why my original way doesn't work and this does still baffles me 🤷♂️ I don't like not understanding why the other way didn't work lol
I am not surprised. I generally like NetworkManager for networking, but have rarely succeeded in using it to set up an AP on most boards I've tried in the past. And, because it's so opaque, it's difficult to debug what's wrong. That's why I use hostapd + dnsmasq. It very configurable and easier to debug.
3 hours ago, av4625 said:I wont have a chance to look into it all until tomorrow, but does your setup use wpasupplicant? If so that rules that out as being the earlier issue
Yes, it's installed by default on my minimal/IOT image and launched by systemd. But I think your problem is probably caused by conflicting NetworkManager configuration(s), not wpa_supplicant.
-
Looks like dnsmasq is running. I get that failed message in my log, too, so you can ignore it.
According to your 'ip -4 add' output, it doesn't appear the wlan0 interface is getting assigned the 10.10.1.1 address like it should from the hostapd.service file. Based on the 'systemctl status hostapd.service' output, the ExecStartPre commands in that file that set the address aren't being run. What's the output of 'cat /etc/systemd/system/hostapd.service'?
-
Quote
Another weird thing the IP that my Mac got after connecting started with 169, I would have expected this to be in the range specified in /etc/dnsmasq.conf (dhcp-range=10.10.1.50,10.10.1.199,12h).
I'm not sure if its just how this specific hotspot is configured but I guess yours works better than this. I dunno why, but I find hostapd and dnsmasq a lot more complicated and harder to understand.
A 169.x.x.x address is a link-local address and indicates the Orange Pi's DHCP server (i.e., dnsmasq) isn't running. As mentioned in the ansible file, dnsmasq is masked by default on installation. To get it to function, you have to both unmask and enable it after installation:
sudo systemctl unmask dnsmasq.service sudo systemctl enable dnsmasq.service
If you did that and it's still not working, check if dnsmasq is running using:
sudo systemctl status dnsmasq.service
Check the 'Active' attribute in the output; It should be "active (running)". If it's not, check the log messages printed at the end of the report's output to determine the cause. Feel free to post the output here if you need help debugging it.
dmsmasq by default is left disabled after installation. Did you enable the dnsmasq systemd service as mentioned in the ansible file?
-
FWIW, here's the ansible script I use to set up the Orange Pi Zero 2W we use as our home wireless access point running in 5 Ghz (AC) mode. It is currently on Armbian 24.11 Debian Bookworm using kernel 6.6.54. This should work on an Orange Pi Zero 3 since it uses the same CPU and wifi chip. Note I am using systemd-networkd that netplan uses by default in Armbian's minimal/IOT images, not nmcli.
--- - name: Install networking packages apt: name: - hostapd - dnsmasq state: present # setup access point - name: configure dnsmasq file: src: dnsmasq.conf dest: /etc/dnsmasq.conf mode: 0644 tags: - dnsmasq - name: create dnsmasq.service.d directory if non-existent file: path: /etc/systemd/system/dnsmasq.service.d recurse: true state: directory tags: - dnsmasq - name: copy fix for systemd-resolved conflict when: - ansible_facts.services['systemd-networkd.service'] is defined - ansible_facts.services['systemd-networkd.service']['status'] == 'enabled' copy: src: systemd-resolved-fix.conf dest: /etc/systemd/system/dnsmasq.service.d/systemd-resolved-fix.conf mode: 0644 tags: - dnsmasq - name: activate dnsmasq service command: systemctl enable dnsmasq.service tags: - dnsmasq - name: Set up IPv4 forwarding ansible.builtin.copy: src: routed-ap.conf dest: /etc/sysctl.d/10-routed-ap.conf mode: 0644 - name: copy hostapd.conf file: src: hostapd.conf dest: /etc/hostapd/hostapd.conf mode: 0644 tags: - hostapd - name: copy hostapd.service file: src: hostapd.service dest: /etc/systemd/system/hostapd.service mode: 0644 tags: - hostapd # hostapd is masked by default after installation - name: unmask hostapd.service command: systemctl unmask hostapd.service tags: - hostapd - name: activate hostapd service command: systemctl enable hostapd.service tags: - hostapd
Here's the /etc/dnsmasq.conf file:
# disables dnsmasq reading any other files like /etc/resolv.conf # for nameservers no-resolv #IGNORE_RESOLVCONF=yes #DNSMASQ_EXCEPT="lo" interface=wlan0 log-queries log-facility=/var/log/dnsmasq.log addn-hosts=/etc/hosts no-dhcp-interface=lo domain-needed bogus-priv dhcp-range=10.10.1.50,10.10.1.199,12h dhcp-option=3,10.10.1.1 server=1.1.1.1
The /etc/systemd/system/dnsmasq.service.d/systemd-resolved-fix.conf file mentioned in the script stops systemd-resolved when dnsmasq is started so it doesn't conflict with dnsmasq:
[Unit] After=systemd-resolved.service [Service] ExecStartPre=/usr/bin/systemctl stop systemd-resolved.service ExecStartPost=/usr/bin/systemctl start systemd-resolved.service
The /etc/sysctl.d/10-routed-ap.conf file enables iPv4 and IPv6 address forwarding. This is required since hostapd is running in routed mode, not bridged:
# https://www.raspberrypi.org/documentation/configuration/wireless/access-point-routed.md # Enable IPv4 routing net.ipv4.ip_forward=1 # Enable IPv6 routing #net.ipv6.conf.default.forwarding=1
The /etc/hostapd/hostapd.conf file, configured for the wifi chips' capabilities:
ssid=<YOUR SSID GOES HERE> interface=wlan0 hw_mode=g channel=40 driver=nl80211 logger_syslog=0 logger_syslog_level=0 wpa=2 preamble=1 # Wifi Multi-Media support, also required for full speed on 802.11n/ac/ax wmm_enabled=1 wpa_passphrase=<YOUR PASSWORD GOES HERE> wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP auth_algs=1 macaddr_acl=0 ## IEEE 802.11n ieee80211n=1 ht_capab=[LDPC][HT40-][HT40+][SHORT-GI-20][SHORT-GI-40][RX-STBC1] country_code=US ieee80211d=1 ## IEEE 802.11n ## IEEE 802.11a hw_mode=a ## IEEE 802.11a ## IEEE 802.11ac ieee80211ac=1 vht_capab=[MAX-MPDU-7991][RXLDPC][SHORT-GI-80][SU-BEAMFORMEE][MU-BEAMFORMEE][VHT-TXOP-PS][MAX-A-MPDU-LEN-EXP3] vht_oper_chwidth=1 vht_oper_centr_freq_seg0_idx=42 ## IEEE 802.11ac # controlling enabled ctrl_interface=/var/run/hostapd ctrl_interface_group=0
The /etc/systemd/system/hostapd.service file:
[Unit] Description=Advanced IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP Authenticator Documentation=man:hostapd(8) After=network.target Before=dnsmasq.service ConditionFileNotEmpty=/etc/hostapd/hostapd.conf #Wants=dhcpcd.service #Before=network.target dhcpcd.service wpa_supplicant.service [Service] Type=forking PIDFile=/run/hostapd.pid Restart=on-failure RestartSec=2 Environment=DAEMON_CONF=/etc/hostapd/hostapd.conf EnvironmentFile=-/etc/default/hostapd ExecReload=/bin/kill -s HUP $MAINPID ExecStartPre=/usr/bin/ip link set wlan0 down ExecStartPre=/usr/bin/ip address flush dev wlan0 ExecStartPre=/usr/bin/ip link set wlan0 up ExecStartPre=/usr/bin/ip addr add 10.10.1.1/24 dev wlan0 ExecStart=/usr/sbin/hostapd -B -P /run/hostapd.pid $DAEMON_OPTS $DAEMON_CONF [Install] WantedBy=multi-user.target
Hope this helps.
-
On 5/24/2024 at 7:39 AM, YevhenK said:
valid interface combinations: * #{ managed, AP } <= 1, #{ P2P-client, P2P-GO } <= 1, #{ P2P-device } <= 1, total <= 3, #channels <= 2
`{ managed, AP}` indicates these are mutually exclusive. You cannot simultaneously have managed (aka STA) mode and AP mode operating at the same time. `total <= 3` means you can have at most (managed OR AP) AND (P2P-client or P2P-GO) AND (P2P-device).
-
The build instructions `README` suggest it's possible to build an image using Github actions. So, I created a new repository and created the following file under `.github/workflows/orangepizero3_build.yml`
name: Build Orange Pi Zero 3 server image on: workflow_dispatch: jobs: build-armbian: runs-on: ubuntu-latest steps: - uses: armbian/build@main with: armbian_token: "${{ secrets.GITHUB_TOKEN }}" # GitHub token armbian_release: "bookworm" # userspace armbian_target: "build" # build=image, kernel=kernel armbian_board: "orangepizero3" # build target armbian_ui: "server"
But when I tried to run this action, I received this error:
Error: Could not find file '/home/runner/work/_actions/_temp_52217267-7314-4a20-996d-95b7097793e8/_staging/armbian-build-de030c7/patch/kernel/rockchip-rk3588-collabora/dt/rk3588-nanopc-cm3588-nas.dts'.
Am I doing something wrong? Is there some aspect to building an image using Github Actions I'm missing?
-
On 6/16/2024 at 2:56 AM, burger242 said:
I have recently bought an Orange Pi Zero 3 4gb (its my first approach to any IoT so im quite noob), and i cannot make it work using armbian. Ive read a lot of users having troubels regarding the 4gb one, but I couldnt even make it reboot by following the "chinese" github. Generally, it boots the first time fine, but from then it has errors.
I was wondering if you could please help me. Ive tried different armbian versions but nothing seems to work.
Thanks.
What exactly have you tried so far? How are you determining it's not working?
What kind of SD card are you using, and how are you installing Armbian on it?
What are you using for a power supply and USB cable for power? What's the behavior of the status LEDs?
Are you using a keyboard and monitor, or are you connecting to the board via SSH? Have you tried attaching a serial cable to it and reading the output over a serial terminal?
-
The "create access point" utility in `armbian-config` has several bugs that prevent it from working, due to changes in the default installation since it was written:
- hostapd does not install a default configuration file at `/etc/hostapd.conf`
- hostapd is installed masked by default
- dnsmasq fails to start because systemd-resolvd launches first as the default DNS resolverI can write patches to fix this utility, but I'm wondering if it will ultimately be worth it. I noticed this access point utility doesn't exist in the `armbian-configng` repository. Is that because Armbian is dropping this utility, or no one has gotten around to it yet? (There's not even a placeholder for it.) What's the status of `armbian-configng` anyhow? Will it eventually replace `armbian-config`?
-
On 5/13/2024 at 5:04 AM, TRay said:
I'm asking about this because I have a problem with using overlay for w1-gpio for OZPI v3, so I am looking for the source of the problem in various places
I don't think the Orange Pi Zero 3 supports w1-gpio. The only 1-wire overlay that I know of is for H5-equipped boards.
-
On 3/31/2024 at 11:33 AM, TRay said:
dmesg don't show ttyS5 only ttyS0 and ttyS1 so UART5 on PIN26 header is ttyS1 not ttyS5 ?
Yes, that appears to be correct.
I couldn't figure out why the UART on the p26 pin header wasn't working. Found your post and tried ttyS1 instead. Working beautifully now. Thanks 🙂.
-
On 7/14/2020 at 9:20 AM, Werner said:
I guess they rebranded an armbian image which includes alternative drivers for xradio and added the temperature fix....
It looks that way to me. It has 'orangepi-config' and 'orangepimonitor' commands that look and behave exactly like the Armbian equivalents. I'd feel a little more comfortable downloading the images from Armbian's torrents, though, than a server in China....
-
-
I haven't tried setting up AP mode using the unmodified driver, but I was able to get a hotspot set up on Orange Pi PC Plus and Orange Pi Plus 2E by enabling concurrent mode in the wifi driver and recompiling it. This will give you two wifi
interfaces, one of which can be used as an AP.
The advantage of doing this is it allows you to use the board as a wifi repeater if you want, or to make it easier to set it up as an IoT device. However, it also cuts the transmission rate in half, since the wifi module is concurrently switching between STA and AP modes.
Let me know if you're interested and I'll write up how I did it.
-
3 hours ago, sergiigladchuk said:
Yes, same thing happened to me - wifi worked but not bluetooth, that is why I switched back to legacy kernel.
Bluetooth works for me, but only if I completely power off and do a cold boot. It doesn't work on a warm restart.
Note that firmware updates currently will overwrite these changes, so be careful when doing an apt-get update && apt-get upgrade.
-
This got wifi working for me (but broke bluetooth
):
$ cd /lib/firmware/brcm
$ sudo mv brcmfmac4356-sdio.bin brcmfmac4356-sdio.bin.old
$ sudo mv brcmfmac4356-sdio.txt brcmfmac4356-sdio.txt.oldcopy drivers from this post to ~/Downloads:
$ sudo cp ~/Downloads/brcmfmac4356-sdio.* .
$ sudo chmod g+w brcmfmac4356-sdio.bin
$ sudo chmod g+w brcmfmac4356-sdio.txtthen reboot
-
Thanks for your help.
1. I would be happy to submit a patch, but I'm not sure you want it--concurrent mode cuts wifi transfer speed in half, because the radio is continually switching between two modes. Would that be acceptable to the project?
2. Thanks for the tip. I'll look into dkms.
3. Not my prefered choice, but that's always a fallback...
-
I apologize for asking such a basic question.
I have recompiled the wifi module on an Orange Pi PC+ to operate in concurrent mode so it can act in both station and AP mode at the same time, allowing it to be a wifi repeater.
The problem is, this feature is lost on every kernel upgrade, requiring me to recompile the module each time I upgrade the kernel. The kernel module driver often changes slightly between kernel versions, and I have to track down and fix new bugs in the source code that prevent it from compiling when concurrent mode is enabled.
I'm happy with how the wifi module performs now, but don't want to lose the ability to get needed kernel updates in the future. Is there any way I can keep the wifi module I have now without losing the ability to upgrade the rest of the kernel?
-
Thanks for the advice. I just updated the kernel, and am in the process of installing the new (dev) source and header files.
I also did an `apt update`, and see that now the linux image for the "next" branch is back to 4.19.57!
$ apt-cache search linux-image | grep next-sunxi linux-image-next-sunxi - Linux kernel, version 4.19.57-sunxi
So the problem has apparently been fixed. :-)
-
Armbianmonitor:
I'm trying to add concurrent mode to the wifi driver on an Orange Pi PC Plus running the latest stable distribution of Armbian, but running into an "invalid module format" error due to the kernel version not matching the source version I'm using to recompile the wifi driver.
I installed both the source and header files from armbian-config. The kernel version is 4.19.59 according to uname -r. This apparently is the linux-image-next-sunxi image, according to `apt-cache search linux-image | grep 4.19.59`. However, the source for the next-sunxi branch in the repository is 4.19.57, not 4.19.59, as `apt-cache search linux-source | grep next-sunxi` gives:
linux-source-4.19.57-next-sunxi - This package provides the source code for the Linux kernel 4.19.57
`apt-cache search linux-source | grep 4.19.59` returns no results.
How do I get the 4.19.59 source version? Would it be safe to upgrade to the dev branch (v 5.1.0), since both the kernel and source there are the same version?
FWIW, here's my sources.list:
deb http://httpredir.debian.org/debian buster main contrib non-free #deb-src http://httpredir.debian.org/debian buster main contrib non-free deb http://httpredir.debian.org/debian buster-updates main contrib non-free #deb-src http://httpredir.debian.org/debian buster-updates main contrib non-free deb http://httpredir.debian.org/debian buster-backports main contrib non-free #deb-src http://httpredir.debian.org/debian buster-backports main contrib non-free deb http://security.debian.org/ buster/updates main contrib non-free #deb-src http://security.debian.org/ buster/updates main contrib non-free
how to make custom image without compiling kernel?
in Advanced users - Development
Posted
Yes, I'm aware of that. I wanted to try it because it has a more up-to-date version of Podman, and will likely become stable by the end of the year.