Jump to content

Recommended Posts

Posted

Greetings,

 

    I've built a custom image for the BPI M4 Zero and have been using a wired USB cable for my config and development work,    It's final destination will require wireless. So I started to configure that today and discovered that it does not find any wireless access points.

 

The device exists.

 

3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether ac:6a:a3:3f:9c:65 brd ff:ff:ff:ff:ff:ff

 

There is an overlay loaded (I did not add it, it was part of the image build)

overlays=bananapi-m4-sdio-wifi-bt usbhost bananapi-m4-pi-5-6-i2c0 bananapi-m4-pi-7-8-i2c1

 

I do not see any errors from dmesg, but only these:

[    8.484857] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    8.851537] brcmfmac: brcmf_c_process_txcap_blob: no txcap_blob available (err=-2)
[    8.852261] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Aug 29 2023 01:47:08 version 7.45.265 (28bca26 CY) FWID 01-b677b91b

 

I am not sure where to begin diagnosing this. I almost never use wireless on Linux so I could be overlooking something basic.

 

# iwlist wlan0 scanning
wlan0     No scan results

 

 

# uname -a
Linux bananapim4zero 6.13.11-edge-sunxi64 #5 SMP PREEMPT_RT Thu Apr 10 12:42:07 UTC 2025 aarch64 GNU/Linux

 

Posted
4 hours ago, jgauthier said:

I've built a custom image


Remind me. Does WiFi works in image from download section? https://www.armbian.com/download/?device_support=Standard support

 

4 hours ago, jgauthier said:
Linux bananapim4zero 6.13.11-edge-sunxi64

 

This (EDGE kernels) raises support costs into the sky and since from open source developers position 99.5% costs are not yours ... use current kernel. Its a huge difference between those two, one has been stabilized, the other not, probably next year, most likely never and will be replaced with next EDGE, 6.14.y with stabilization attempt in more then one year from now. Also legacy 6.6.y would be better for this job. Higher number doesn't mean better functionality and less bugs, often right the opposite.

 

Try this way:

sudo ip link set wlan0 up
sudo iw dev wlan0 scan

 

Posted

Thank you for your response.   I pulled down one of the "Standard Support" images.

I enabled the overlay, and brought the interface up, but scanning does not return anything:

 

root@bananapim4zero:~# iw dev wlan0 scan
root@bananapim4zero:~#

 

Quote

This (EDGE kernels) raises support costs into the sky and since from open source developers position 99.5% costs are not yours ...

 

I wanted a 6.12 kernel that had real time extensions built in.  I didn't realize 'current' would handle that.  I will end up replacing this with a current kernel.  I can't remember how anything < 6.12 handles real time patches. Maybe Armbian does it automatically as part of its patch set.

Posted
23 часа назад, jgauthier сказал:
# uname -a
Linux bananapim4zero 6.13.11-edge-sunxi64 #5 SMP PREEMPT_RT

What is the purpose of using this core?

Several people have already tried to build a real-time kernel here on the forum.
They all face some challenges.
Perhaps, if the tasks that such a core should perform are of a general nature, we can provide a configuration for its assembly.


You built it yourself.
Can you provide a difference in the configuration file for the same kernel version?

As diff -u command.

Posted (edited)

@going I can, yes.  But at the moment I don't want to distract from the wifi issue I am trying to solve.

 

I am building a test application that must perform real time operations. I have previously done this with other ARM boards/distributions, but for this small project I am trying to go with "simplicity" (nothing is ever simple)

 

I can provide the 'duff -u' for your interest, but I don't know what you want me to compare it against.   i have linux-sunxi64-edge.config in my userpatches/ folder. 

It's generated from make menuconfig, and then I removed 'CGROUP_SCHED' from armbian-kernel.sh.

 

Real-time applications work fine now. (They do not with group scheduling)

root:~/# ./cyclictest --mlockall --smp --priority=80 --interval=200 --distance=0
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 0.30 0.37 0.17 2/200 1471

T: 0 ( 1468) P:80 I:200 C: 379209 Min:      7 Act:   18 Avg:   10 Max:      83
T: 1 ( 1469) P:80 I:200 C: 379008 Min:      6 Act:   19 Avg:   10 Max:      68
T: 2 ( 1470) P:80 I:200 C: 378802 Min:      7 Act:   19 Avg:   10 Max:      79
T: 3 ( 1471) P:80 I:200 C: 378595 Min:      7 Act:   20 Avg:   10 Max:      75


 

 

Edited by jgauthier
Posted
1 час назад, jgauthier сказал:

I am building a test application that must perform real time operations.

1) Play (decode) video audio

2) Read the status of multiple sensors at regular intervals

3) Generate pulses on GPIO

4) Transmit the packet at the right time over Ethernet, UART ...

5) .......?

 

2 часа назад, jgauthier сказал:

i have linux-sunxi64-edge.config in my userpatches/ folder.

 

diff -u config/kernel/linux-sunxi64-edge.config userpatches/linux-sunxi64-edge.config

 

Posted

5) Control a flight vehicle with real time input and outputs.

 

[jgauthier@gamma build]$ diff -u config/kernel/linux-sunxi64-edge.config userpatches/linux-sunxi64-edge.config
[jgauthier@gamma build]$

 

I'm not sure why it's expected that those would be different.

I made the configuration with 'make menuconfig' and then copied to to userpatches.  I did this because, at the time, I thought it was being overwritten.

It was, but that was due to armbian-kernel.sh.

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