[BPI-R3] [BPi-R3-Mini] Imagebuilder R3 ArchlinuxArm, linux-rolling-stable

Flash bl2 to boot0 and set partconf

Read the readme.

Only 1 of sd or emmc can be active.

I wrote a little tool to help, folloiw step by step.

Operation not permitted.

Yes, I know. I was able to flash Debian but not Arch linux.

Then copy the bpir.img.gz to the SD card /tmp/ folder. It is accessable without root.

If using a pre-build image, rename it to bpir.img.gz

Boot the R64/R3 with the SD card with UART connected. When kernel starts keep ‘shift E’ keys pressed. When finised, you can reboot.

You can keep ‘x’ pressed instead if you want to enter a busybox ash.

Note for R3: To run on EMMC, only the switch most near to powerplug (D) should be down, the rest up. This is different from the normal switch settings. It is done so that you do not need mmcblk0boot0.

Just read the readme and follow step by step.

I really cannot make it more simple then this.

Thanks a lot. Good to know. I have already booted.

After=graphical.targe - won’t start hostapd at all. I have also noticed that sometimes wlan1 goes down and a restart helps. It rarely happens, but it does happen. I tried to tune the 5GHz WiFi, but I can’t get a traffic higher than about 26Mbps. I got about 100Mbps with Openwrt. WiFi 2.4GHz reached about 50Mbps with Arch Linux.

Maybe compare between openwrt and archlinuxarm output of iw dev to check the tx power.

Do you get 100 mbps at very close range?

Check the Debian image and compare hostapd.conf settings.

100Mbps is at a distance of about 1m. I’ve tried the configuration from Debian as well and I can’t get an adequate 5GHz wifi transmission speed. My wlan1.conf is currently:

  GNU nano 8.1                                                                wlan1.conf                                                                           
# hostapd configuration file

interface=wlan1
driver=nl80211
ssid=WIFI50
bridge=brlan
country_code=CZ
channel=40
hw_mode=a
ieee80211d=1
ieee80211h=1
ieee80211ax=1  # Enable 802.11ax (Wi-Fi 6)

# HT capabilities
#ht_capab=[HT20][HT40-][HT40+][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC1]

# VHT capabilities
#vht_capab=[SHORT-GI-80][RX-STBC-1]
#vht_oper_chwidth=1  # 80 MHz channel width

# HE (High Efficiency) capabilities
# Uncomment if supported by your hardware and hostapd version
#he_capab=[HE80]

auth_algs=1
#wmm_enabled=1

# WPA/IEEE 802.11i settings
wpa=2
wpa_passphrase=justsomepassword
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP

Max traffic 19Mbps.

Without the ht and vht capabilities set, it will not reach max.

They may need some more tweaking, that is still on my todo list. But you do need them.

Also the tx strength shown by:

iw dev

Check the db, and maybe @frank-w knows which should be the max reachable db.

Not really…i’m no wifi expert

At how many db is your R3 running (iw dev)? I remember seeing 13db, which is why it is on my todo list, but cannot check this now myself.

You may need to play with

iw reg get
Iw reg set

To get more tx db

You can find mire useful info at:

https://wiki.archlinux.org/title/Network_configuration/Wireless#Respecting_the_regulatory_domain

From this text I read editing /etc/conf.d/wireless-regdom This is (not yet) part of the installation script, so it may be useful to look there.

I’m also away from my r4 boards atm to check this and the unique serial.

I reverted back to the original wlan1.conf. I used channel 36 instead of channel 149. I measured about 50Mbps. Unfortunately, it is not possible to connect an iPhone to the AP set in this way - Raspberry and lenovo motebooks have no connection problem.

It will probably go faster with higher db.

Check iw dev

Need to figure out how to increase

Edit:

Then at chennel 149 only 13 db it actually seems correct. But better set everything to a country where more db is allowed, or use a different channel

Also need to see if next to

vht_oper_centr_freq_seg0_idx=42

we use the second

vht_oper_centr_freq_seg1_idx=159

Instead of (un)commenting at channel switch.

And as for mbps, I see

ieee80211ax=1

Is not set for wlan1, so with more tweaking, higher speeds should be possible.

Edit:

And here is some more usefull info for tweaking, also in posts above:

I do not have anything in dmesg or output from hostapd. It just fails.

However, it does look like timeout related. If the AP or the (last) STA times out, maybe it does shut down to save energy? So maybe some unwanted energy saving behavior? But I’m still just guessing…

Edit:

In the middle of doing an iperf3, I got:

Sep 03 08:55:41 bpir3 systemd-networkd[2980]: wlan1: Lost carrier

Nothing else, also not in dmesg output. So it is not timeout related (or this is another bug).

Then iw dev looks like:

phy#1
	Interface wlan1
		ifindex 12
		wdev 0x100000001
		addr aa:bb:cc:xx:xx:xx
		type AP
		txpower 20.00 dBm
		multicast TXQ:
			qsz-byt	qsz-pkt	flows	drops	marks	overlmt	hashcol	tx-bytes	tx-packets
			0	0	37	0	0	0	0	3910		38

I have a fairly complete Linux router. There are about 7 LAN devices running on it. One of them is Raspberry Pi 5. I am currently solving this problem: About one in 7 RPI5 boots won’t get a LAN connection. The RPI5 receives an IP address from the DHCP server, but cannot ping anywhere. Conversely, it is possible to ping RPI5 from the router. The fault is likely to be on the RPI side. I just want to make sure there is no setting on the BPI-R3 that can fix this.

If ping works from 1 side, it usually works from another side, so this is strange.

Check the ip address and routing table with the commands:

ip a
ip r

Compare working and non-working situation on both sides. Since it is the rpi5 rebooting and the r3 is sitting idle, one would suspect the rpi5.

Are all lan connections bridged?