How to install Manjaro ARM on emmc properly? Orange Pi 5 Plus doesn't boot

What do you have about regulatory.db in dmesg?

It seems you don’t have any problem with PCI and is just a driver problem.

The GPU driver with edk2 is efifb so lt’s normal the glxinfo info.

Maybe this firmware is for your chip?

Currently on Manjaro-Opi5Plus-KDE-6.1.43-joshua-panthor-git and on rare occasion WiFi is connected as of now. Next reboot it will most likely be not connected again or after a while it will disconnect or connection speed low.

[ 1835.892732] wlan0: deauthenticating from 34:e8:94:75:06:72 by local choice (Reason: 3=DEAUTH_LEAVING)
[ 1841.627535] wlan0: authenticate with 34:e8:94:75:06:72
[ 1841.816372] wlan0: send auth to 34:e8:94:75:06:72 (try 1/3)
[ 1841.929744] wlan0: send auth to 34:e8:94:75:06:72 (try 2/3)
[ 1841.930320] wlan0: authenticated
[ 1841.936357] wlan0: associate with 34:e8:94:75:06:72 (try 1/3)
[ 1841.937534] wlan0: RX AssocResp from 34:e8:94:75:06:72 (capab=0x1011 status=0 aid=1)
[ 1842.049857] wlan0: associated
[ 1842.433798] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready



[jfl@opi5plus ~]$ dmesg | grep regulatory.db
[    9.990093] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    9.990109] cfg80211: failed to load regulatory.db
[jfl@opi5plus ~]$

No issue with PCI as far as I can tell, just the WiFi driver (rtw89_8852be or rtw8852be) is not stable on my device WiFi RTL8852BE-CG (so called official WiFi modules for Opi5Plus from Xulong Software). Like I mentioned before, the best better is the patched WiFi driver from Xulong Software.

I think I am already using this driver.

Not sure I follow you here. What is efifb?

Efifb is the graphic driver for EDK2.

You don’t have regulatory.db and maybe your router is refusing to connect because you are not using your country rules about radio frequencies.

Maybe you can fix it by installing wireless-regdb package.

As far as I can tell, wireless-regdb was installed.

[jfl@opi5plus ~]$ pacman -Qs wireless
local/iw 6.9-1
    nl80211 based CLI configuration utility for wireless devices
local/iwd 2.18-1
    Internet Wireless Daemon
local/wireless-regdb 2024.05.08-1
    Central Regulatory Domain Database
local/wpa_supplicant 2:2.10-8
    A utility providing key negotiation for WPA wireless networks
[jfl@opi5plus ~]$

Don’t know why it is not showing up on “dmesg”.

Now after reboot, no more WiFi connection.

What does iw reg get say. Did you set the domain for your country.

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

[ray@jellyfin ~]$ iw reg get
global
country US: DFS-FCC
	(902 - 904 @ 2), (N/A, 30), (N/A)
	(904 - 920 @ 16), (N/A, 30), (N/A)
	(920 - 928 @ 8), (N/A, 30), (N/A)
	(2400 - 2472 @ 40), (N/A, 30), (N/A)
	(5150 - 5250 @ 80), (N/A, 23), (N/A), AUTO-BW
	(5250 - 5350 @ 80), (N/A, 24), (0 ms), DFS, AUTO-BW
	(5470 - 5730 @ 160), (N/A, 24), (0 ms), DFS
	(5730 - 5850 @ 80), (N/A, 30), (N/A), AUTO-BW
	(5850 - 5895 @ 40), (N/A, 27), (N/A), NO-OUTDOOR, AUTO-BW, PASSIVE-SCAN
	(5925 - 7125 @ 320), (N/A, 12), (N/A), NO-OUTDOOR, PASSIVE-SCAN
	(57240 - 71000 @ 2160), (N/A, 40), (N/A)

phy#0
country 99: DFS-UNSET
	(2402 - 2482 @ 40), (6, 20), (N/A)
	(2474 - 2494 @ 20), (6, 20), (N/A)
	(5140 - 5360 @ 160), (6, 20), (N/A)
	(5460 - 5860 @ 160), (6, 20), (N/A)

No, I can’t remember manually set the domain for my country. All auto set just like my GT King Pro.

[jfl@opi5plus ~]$ iw reg get
global
country 00: DFS-UNSET
        (2402 - 2472 @ 40), (6, 20), (N/A)
        (2457 - 2482 @ 20), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
        (2474 - 2494 @ 20), (6, 20), (N/A), NO-OFDM, PASSIVE-SCAN
        (5170 - 5250 @ 80), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
        (5250 - 5330 @ 80), (6, 20), (0 ms), DFS, AUTO-BW, PASSIVE-SCAN
        (5490 - 5730 @ 160), (6, 20), (0 ms), DFS, PASSIVE-SCAN
        (5735 - 5835 @ 80), (6, 20), (N/A), PASSIVE-SCAN
        (57240 - 63720 @ 2160), (N/A, 0), (N/A)

[jfl@opi5plus ~]$

During initial Manjaro-Opi5Plus first boot up the Language is set to “En_US”.

Edit: Just reinstall “wireless-regdb”

[jfl@opi5plus ~]$ sudo pacman -S wireless-regdb
[sudo] password for jfl: 
warning: wireless-regdb-2024.05.08-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) wireless-regdb-2024.05.08-1

Total Installed Size:  0.02 MiB
Net Upgrade Size:      0.00 MiB

:: Proceed with installation? [Y/n] Y
(1/1) checking keys in keyring                     [########################] 100%
(1/1) checking package integrity                   [########################] 100%
(1/1) loading package files                        [########################] 100%
(1/1) checking for file conflicts                  [########################] 100%
(1/1) checking available disk space                [########################] 100%
:: Processing package changes...
(1/1) reinstalling wireless-regdb                  [########################] 100%
:: Running post-transaction hooks...
(1/3) Reloading device manager configuration...
(2/3) Arming ConditionNeedsUpdate...
(3/3) Updating linux initcpios...
==> Building image from preset: /etc/mkinitcpio.d/linux-aarch64-rockchip-bsp5.10-joshua-git.preset: 'default'
==> Using default configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-linux-aarch64-rockchip-bsp5.10-joshua-git -g /boot/initramfs-linux-aarch64-rockchip-bsp5.10-joshua-git.img
==> Starting build: '5.10.160-rockchip'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [microcode]
==> WARNING: architecture 'aarch64' not supported, skipping hook
  -> Running build hook: [modconf]
  -> Running build hook: [kms]
==> WARNING: No module containing the symbol 'drm_privacy_screen_register' found in: 'drivers/platform'
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [block]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> WARNING: No modules were added to the image. This is probably not what you want.
==> Creating gzip-compressed initcpio image: '/boot/initramfs-linux-aarch64-rockchip-bsp5.10-joshua-git.img'
  -> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux-aarch64-rockchip-bsp5.10-joshua-git.preset: 'fallback'
==> Using default configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-linux-aarch64-rockchip-bsp5.10-joshua-git -g /boot/initramfs-linux-aarch64-rockchip-bsp5.10-joshua-git-fallback.img -S autodetect
==> Starting build: '5.10.160-rockchip'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [microcode]
==> WARNING: architecture 'aarch64' not supported, skipping hook
  -> Running build hook: [modconf]
  -> Running build hook: [kms]
==> WARNING: No module containing the symbol 'drm_privacy_screen_register' found in: 'drivers/platform'
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [block]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: '/boot/initramfs-linux-aarch64-rockchip-bsp5.10-joshua-git-fallback.img'
  -> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux-aarch64-rockchip-bsp6.1-joshua-git.preset: 'default'
==> Using configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-linux-aarch64-rockchip-bsp6.1-joshua-git -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-aarch64-rockchip-bsp6.1-joshua-git.img
==> Starting build: '6.1.43-rockchip-gff98ed83bd34'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [microcode]
==> WARNING: architecture 'aarch64' not supported, skipping hook
  -> Running build hook: [modconf]
  -> Running build hook: [kms]
==> WARNING: No module containing the symbol 'drm_privacy_screen_register' found in: 'drivers/platform'
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [block]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: '/boot/initramfs-linux-aarch64-rockchip-bsp6.1-joshua-git.img'
  -> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux-aarch64-rockchip-bsp6.1-joshua-git.preset: 'fallback'
==> Using configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-linux-aarch64-rockchip-bsp6.1-joshua-git -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-aarch64-rockchip-bsp6.1-joshua-git-fallback.img -S autodetect
==> Starting build: '6.1.43-rockchip-gff98ed83bd34'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [microcode]
==> WARNING: architecture 'aarch64' not supported, skipping hook
  -> Running build hook: [modconf]
  -> Running build hook: [kms]
==> WARNING: No module containing the symbol 'drm_privacy_screen_register' found in: 'drivers/platform'
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [block]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: '/boot/initramfs-linux-aarch64-rockchip-bsp6.1-joshua-git-fallback.img'
  -> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux-aarch64-rockchip-bsp6.1-joshua-panthor-git.preset: 'default'
==> Using default configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-linux-aarch64-rockchip-bsp6.1-joshua-panthor-git -g /boot/initramfs-linux-aarch64-rockchip-bsp6.1-joshua-panthor-git.img
==> Starting build: '6.1.43-rockchip-g6bd0bc64903b'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [microcode]
==> WARNING: architecture 'aarch64' not supported, skipping hook
  -> Running build hook: [modconf]
  -> Running build hook: [kms]
==> WARNING: No module containing the symbol 'drm_privacy_screen_register' found in: 'drivers/platform'
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [block]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: '/boot/initramfs-linux-aarch64-rockchip-bsp6.1-joshua-panthor-git.img'
  -> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux-aarch64-rockchip-bsp6.1-joshua-panthor-git.preset: 'fallback'
==> Using default configuration file: '/etc/mkinitcpio.conf'
  -> -k /boot/vmlinuz-linux-aarch64-rockchip-bsp6.1-joshua-panthor-git -g /boot/initramfs-linux-aarch64-rockchip-bsp6.1-joshua-panthor-git-fallback.img -S autodetect
==> Starting build: '6.1.43-rockchip-g6bd0bc64903b'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [microcode]
==> WARNING: architecture 'aarch64' not supported, skipping hook
  -> Running build hook: [modconf]
  -> Running build hook: [kms]
==> WARNING: No module containing the symbol 'drm_privacy_screen_register' found in: 'drivers/platform'
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [block]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: '/boot/initramfs-linux-aarch64-rockchip-bsp6.1-joshua-panthor-git-fallback.img'
  -> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
[jfl@opi5plus ~]$
[jfl@opi5plus ~]$ sudo iw reg set MY
[sudo] password for jfl:

[jfl@opi5plus ~]$ iw reg get
global
country 00: DFS-UNSET
        (2402 - 2472 @ 40), (6, 20), (N/A)
        (2457 - 2482 @ 20), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
        (2474 - 2494 @ 20), (6, 20), (N/A), NO-OFDM, PASSIVE-SCAN
        (5170 - 5250 @ 80), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
        (5250 - 5330 @ 80), (6, 20), (0 ms), DFS, AUTO-BW, PASSIVE-SCAN
        (5490 - 5730 @ 160), (6, 20), (0 ms), DFS, PASSIVE-SCAN
        (5735 - 5835 @ 80), (6, 20), (N/A), PASSIVE-SCAN
        (57240 - 63720 @ 2160), (N/A, 0), (N/A)

[jfl@opi5plus ~]$

To configure the regdomain, install wireless-regdb and reboot, then edit /etc/conf.d/wireless-regdom and uncomment the appropriate domain.

Edited /etc/conf.d/wireles-regdom to uncomment “MY”. Reboot

[jfl@opi5plus ~]$ iw reg get
global
country 00: DFS-UNSET
        (2402 - 2472 @ 40), (6, 20), (N/A)
        (2457 - 2482 @ 20), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
        (2474 - 2494 @ 20), (6, 20), (N/A), NO-OFDM, PASSIVE-SCAN
        (5170 - 5250 @ 80), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
        (5250 - 5330 @ 80), (6, 20), (0 ms), DFS, AUTO-BW, PASSIVE-SCAN
        (5490 - 5730 @ 160), (6, 20), (0 ms), DFS, PASSIVE-SCAN
        (5735 - 5835 @ 80), (6, 20), (N/A), PASSIVE-SCAN
        (57240 - 63720 @ 2160), (N/A, 0), (N/A)

[jfl@opi5plus ~]$

You need to set the domain for your country per the wiki link I gave above. If that does not work then need to see if your kernel’s config is set to CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y

[ray@jellyfin ~]$ dmesg | grep regulatory
[    8.866265] cfg80211: Loading compiled-in X.509 certificates for regulatory database
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y

I am not sure I did it correctly.

sudo iw reg set MY

and Edited /etc/conf.d/wireles-regdom to uncomment “MY”. Reboot

No different. For your info, on kernel 5.10.160 “WiFi” works with no issue.

This is not permanent and reboot makes It dissapearing. Disable wifi and try without reboot and then

sudo iw reg get

To check for your country

Noted. Did manually edit /etc/conf.d/wireles-regdom to uncomment “MY”.

#WIRELESS_REGDOM="MX"
WIRELESS_REGDOM="MY"

Ok, disable WiFi and Enable WiFi:

[jfl@opi5plus ~]$ sudo iw reg get
global
country 00: DFS-UNSET
        (2402 - 2472 @ 40), (6, 20), (N/A)
        (2457 - 2482 @ 20), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
        (2474 - 2494 @ 20), (6, 20), (N/A), NO-OFDM, PASSIVE-SCAN
        (5170 - 5250 @ 80), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
        (5250 - 5330 @ 80), (6, 20), (0 ms), DFS, AUTO-BW, PASSIVE-SCAN
        (5490 - 5730 @ 160), (6, 20), (0 ms), DFS, PASSIVE-SCAN
        (5735 - 5835 @ 80), (6, 20), (N/A), PASSIVE-SCAN
        (57240 - 63720 @ 2160), (N/A, 0), (N/A)

[jfl@opi5plus ~]

No difference.

GPU (Panthor), VPU hw acceleratioin works on Manjaro-Opi5Plus-KDE-6.1.43-joshua-panthor-git. Just WiFi does not work well/intermittent and low speed comparatively.

Reason to use kernel-6.1.43-joshua-panthor-git and not kernel linux-aarch64-rockchip-bsp5.10-joshua-git (mesa-Panfork), KDE Plasma Shell keep crashing with (mesa-Panfork).

Just to try something else to see if the problem is just the regulatory.db. Can you connect to your phone wifi to get internet?

Interesting, I can seem to connect to my Phone Internet and the Phone is connected to my home router.

“iw reg get” show the same output as before.

[jfl@opi5plus ~]$ iw reg get
global
country 00: DFS-UNSET
        (2402 - 2472 @ 40), (6, 20), (N/A)
        (2457 - 2482 @ 20), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
        (2474 - 2494 @ 20), (6, 20), (N/A), NO-OFDM, PASSIVE-SCAN
        (5170 - 5250 @ 80), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
        (5250 - 5330 @ 80), (6, 20), (0 ms), DFS, AUTO-BW, PASSIVE-SCAN
        (5490 - 5730 @ 160), (6, 20), (0 ms), DFS, PASSIVE-SCAN
        (5735 - 5835 @ 80), (6, 20), (N/A), PASSIVE-SCAN
        (57240 - 63720 @ 2160), (N/A, 0), (N/A)

[jfl@opi5plus ~]$

Edit: Connection via Phone is also by chance only and Pnone WiFi connection is way too slow even compared to direct WiFI connection.

Disconnect phone connection and re-enable phone connection and sometimes it will not connect.

Tried connect WiFi direct again and WiFi works but slow. Suspect is the WiFi driver issue for mainline kernel (6.10-rc3/4) and bsp-kernel-6.1.43 as of now. No really issue with WiFi connection with bsp-kernel-5.10.110/160 or even 5.10.192 the last I tested it few months ago.

I don’ t understand this. The phone must connect to internet itself and not to the router. The phone wifi should only be used to connect to your sbc.

You still do not have your domain set properly for some reason. It appears to be showing a universal config with country 00:. Should be using country MY: if that is your country.

Forgot to turn off the “WiiFi” on the phone. Opi5Plus can connect to Phone WiFi but WiFi speed is low.

Hi @Darksky,

Tried to set it using:

  1. sudo iw reg set MY
  2. Manually edit /etc/conf.d/wireles-regdom

Same result. Is there other method to set the country domain?

On kernel-5.10.160 where WiFi connect is typically non-issue and speed is typically good, can remember having to set the country domain. Will dobuble check later.

As for the past one 2 hours or so, I can switch between Phone Connection and direct connection to WiFi router many times and WiFi connection is available on Manjaro-Opi5Plus-KDE-6.1.43-joshua-panthor-git.

Try this and reboot:

sudo -i
echo "options cfg80211 ieee80211_regdom=MY"  >  /etc/modprobe.d/cfg80211.conf
exit

Did the above.

image

Reboot and iw reg get return the same “country 00”.

[jfl@opi5plus ~]$ iw reg get
global
country 00: DFS-UNSET
        (2402 - 2472 @ 40), (6, 20), (N/A)
        (2457 - 2482 @ 20), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
        (2474 - 2494 @ 20), (6, 20), (N/A), NO-OFDM, PASSIVE-SCAN
        (5170 - 5250 @ 80), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
        (5250 - 5330 @ 80), (6, 20), (0 ms), DFS, AUTO-BW, PASSIVE-SCAN
        (5490 - 5730 @ 160), (6, 20), (0 ms), DFS, PASSIVE-SCAN
        (5735 - 5835 @ 80), (6, 20), (N/A), PASSIVE-SCAN
        (57240 - 63720 @ 2160), (N/A, 0), (N/A)

[jfl@opi5plus ~]$

The good thing for the past few hours WiFi is available. Not sure whether it is related to WiFi signal strength from the WiFi router. I might have move the WiFi router an inch closer which I doubt it makes a difference. But the WiFi speed isn’t great (can support Chromium streaming 1080p/60 but not 4K/60 Youtube videos) and at times slow barely acceptable for web surfing.

From your words seems to me that you are doing usb tethering and not wifi tethering. The last was the goal to check your sbc wifi.
Are you using a usb attached to your phone?

No. No usb connection between phone and Opi5Plus.

What I did was turn-off “WiFi” on my phone, so that phone is using “Mobile Data”. Enable “Portable Hotspot” so that Opi5Plus can connect to the phone “Mobile Data” connection. Is this usb tethering or wifi tethering?

That’ s wifi tethering, ok then.

Maybe you were acepted in your router’s Friends clan with the phone. The slow speed must be the driver. Try with 2.4 GHz to see if i’ts better.

If you are using Manjaro I doubt you are with the opi driver. The link i attached is in firmware form.