

y52
Members-
Posts
246 -
Joined
-
Last visited
Content Type
Forums
Store
Crowdfunding
Applications
Events
Raffles
Community Map
Everything posted by y52
-
Hello everybody, I tried building an in-kernel module for USB Dongle Bus 001 Device 003: ID 2357:0120 TP-Link Archer T2U PLUS [RTL8821AU] on my OrangePi Plus. Armbian supplied module from aircrack-ng/rtl8812au has become aging and raises exception errors on modprobe -r. It was deactivated : root@orangepiplus:/etc/modprobe.d# vi blacklist-88XXau.conf #blacklist 88XXau I made a fresh install of Armbian minimal image, then switched to : root@orangepiplus:~# uname -a Linux orangepiplus 6.15.4-edge-sunxi #1 SMP Fri Jun 27 10:13:43 UTC 2025 armv7l GNU/Linux root@orangepiplus:/usr/src# cat /proc/version Linux version 6.15.4-edge-sunxi (build@armbian) (arm-linux-gnueabihf-gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0, GNU ld (GNU Binutils for Ubuntu) 2.42) #1 SMP Fri Jun 27 10:13:43 UTC 2025 root@orangepiplus:/usr/src# zcat /proc/config.gz | grep CC_VERSION CONFIG_CC_VERSION_TEXT="arm-linux-gnueabihf-gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0" CONFIG_GCC_VERSION=130300 root@orangepiplus:/usr/src# zcat /proc/config.gz | grep STACKPROTECTOR CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y CONFIG_STACKPROTECTOR_PER_TASK=y CONFIG_HAVE_STACKPROTECTOR=y CONFIG_STACKPROTECTOR=y CONFIG_STACKPROTECTOR_STRONG=y Headers were downloaded with armbian-config : root@orangepiplus:/mnt/sda2/src/linux-6.15.4# drwxr-xr-x 25 root root 4096 Aug 21 21:40 linux-headers-6.15.4-edge-sunxi Then performed usual build process: root@orangepiplus:/usr/src# sudo git clone --depth 1 --branch linux-6.15.y https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git root@orangepiplus:/usr/src# sudo ln -s /usr/src/linux /lib/modules/$(uname -r)/build root@orangepiplus:/usr/src# ls -al /lib/modules/$(uname -r)/build lrwxrwxrwx 1 root root 14 Aug 21 22:45 /lib/modules/6.15.4-edge-sunxi/build -> /usr/src/linux cp /boot/config-$(uname -r) /usr/src/linux/.config sudo make olddefconfig sudo make menuconfig Module activated in the following tree : │ Symbol: RTW88 [=m] │ │ Type : tristate │ │ Defined at drivers/net/wireless/realtek/rtw88/Kconfig:2 │ │ Prompt: Realtek 802.11ac wireless chips support │ │ Depends on: NETDEVICES [=y] && WLAN [=y] && WLAN_VENDOR_REALTEK [=y] && MAC80211 [=m] │ │ Location: │ │ -> Device Drivers │ │ -> Network device support (NETDEVICES [=y]) │ │ -> Wireless LAN (WLAN [=y]) │ │ -> Realtek devices (WLAN_VENDOR_REALTEK [=y]) │ │ (1) -> Realtek 802.11ac wireless chips support (RTW88 [=m]) root@orangepiplus:/usr/src/linux# grep -E 'CONFIG_RTW88_CORE|CONFIG_RTLWIFI|CONFIG_RTW88_8821AU' .config CONFIG_RTLWIFI=m CONFIG_RTLWIFI_USB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTW88_CORE=m CONFIG_RTW88_8821AU=m cp /usr/src/linux-headers-6.15.4-edge-sunxi/Module.symvers /usr/src/linux/ Then compiled with: root@orangepiplus:/usr/src/linux# sudo make -j$(nproc) ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- M=drivers/net/wireless/realtek/rtw88 make[1]: Entering directory '/usr/src/linux/drivers/net/wireless/realtek/rtw88' MODPOST Module.symvers CC [M] rtw88_core.mod.o CC [M] .module-common.o CC [M] rtw88_8822b.mod.o CC [M] rtw88_8822bs.mod.o CC [M] rtw88_8822bu.mod.o CC [M] rtw88_8822c.mod.o CC [M] rtw88_8822cs.mod.o ... LD [M] rtw88_core.ko LD [M] rtw88_8822b.ko LD [M] rtw88_8822bs.ko LD [M] rtw88_8822bu.ko LD [M] rtw88_8822c.ko LD [M] rtw88_8822cs.ko LD [M] rtw88_8822cu.ko LD [M] rtw88_8723x.ko LD [M] rtw88_8723d.ko LD [M] rtw88_8723ds.ko LD [M] rtw88_8723du.ko LD [M] rtw88_8821c.ko LD [M] rtw88_8821cs.ko LD [M] rtw88_8821cu.ko LD [M] rtw88_88xxa.ko LD [M] rtw88_8821a.ko LD [M] rtw88_8821au.ko LD [M] rtw88_sdio.ko LD [M] rtw88_usb.ko make[1]: Leaving directory '/usr/src/linux/drivers/net/wireless/realtek/rtw88' root@orangepiplus:/usr/src/linux# modinfo /usr/src/linux/drivers/net/wireless/realtek/rtw88/rtw88_8821au.ko filename: /usr/src/linux/drivers/net/wireless/realtek/rtw88/rtw88_8821au.ko license: Dual BSD/GPL description: Realtek 802.11ac wireless 8821au/8811au driver author: Bitterblue Smith <rtl8821cerfe2@gmail.com> ... alias: usb:v0BDAp0811d*dc*dsc*dp*icFFiscFFipFFin* depends: rtw88_usb,rtw88_8821a name: rtw88_8821au vermagic: 6.15.11 SMP mod_unload ARMv7 thumb2 p2v8 sudo make modules_install ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- doesn't work. Needs fixing. So I just copied modules to system location : root@orangepiplus:/usr/src/linux# sudo cp /usr/src/linux/drivers/net/wireless/realtek/rtw88/*.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/realtek/rtw88/ root@orangepiplus:/usr/src/linux# sudo depmod -a But loading failed as follows : root@orangepiplus:/usr/src/linux# sudo modprobe rtw88_8821au modprobe: ERROR: could not insert 'rtw88_8821au': Exec format error Aug 22 16:31:52 orangepiplus kernel: module rtw88_88xxa: .gnu.linkonce.this_module section size must match the kernel's built struct module size at run time It appears to be a structural issue, as I also tried building out-of-kernel module from lwfinger/rtw88 I also tried building on Nanopi-r5s. Each time Exec format error was observed despite the module was successfully built. Different analysis point to GCC version mismatch between kernel and build host, ABI incompatibility and subtle build failures, thus causing non-alignment with the kernel buid. Several other build flags were tried to align with the kernel, but in vain. The root cause was not found. I am running out of options now. Could community or development team point to correct approach building an in-kernel module on a running system in native environment ? PS : complementary information : when armbian headers were downloaded with armbian-config, the following build output was observed : /usr/lib/gcc/arm-linux-gnueabihf/12/cc1 -quiet -I ./scripts/include -I ./scripts/dtc/libfdt -imultilib . -imultiarch arm-linux-gnueabihf -D _LARGEFILE_SOURCE -D _FILE_OFFSET_BITS=64 -D NO_YAML -MMD scripts/dtc/.dtc.o.d scripts/dtc/dtc.c -quiet -dumpdir scripts/dtc/ -dumpbase dtc.c -dumpbase-ext .c -mfloat-abi=hard -mtls-dialect=gnu -mthumb -mlibarch=armv7-a+fp -march=armv7-a+fp -O2 -Wall -Wmissing-prototypes -Wstrict-prototypes -std=gnu11 -fomit-frame-pointer -o /tmp/ccY6Z3QK.s It may give some clues on the flags used.
-
# sha256sum -c Armbian_23.11.1_Espressobin_bookworm_current_5.15.139.img.xz.sha Armbian_23.11.1_Espressobin_bookworm_current_5.15.139.img.xz: OK # sfdisk -l /dev/sdb Disk /dev/sdb: 3.76 GiB, 4041211904 bytes, 7892992 sectors Disk model: USB Flash Drive Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x02b549d0 Device Boot Start End Sectors Size Id Type /dev/sdb1 8192 4046847 4038656 1.9G 83 Linux # mount /dev/sdb1 /mnt/sdb1/ mount: /mnt/sdb1: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error.
-
I've been using systemd-networkd with espressobin for long. The trouble with starting i-net i-faces on boot exists from the origin. I get used adding the following to my # cat /etc/rc.local ## if necessary to activate wan i-face /sbin/ip link set dev wan up Another solution to explore : ## Jul 13 22:16:50 2018 action merged with systemd-networkd.service ## ExecStartPre=/sbin/ip link set wan down | up
-
This is just to report, that Image file Armbian_23.11.1_Espressobin_bookworm_current_5.15.139.img.xz is not mounting. Downloaded from https://armbian.site-meganet.com/dl/espressobin/archive/Armbian_23.11.1_Espressobin_bookworm_current_5.15.139.img.xz Mounting from loop or from USB gives the same error: # mount /dev/loop0p1 /mnt/img/ mount: /mnt/img: wrong fs type, bad option, bad superblock on /dev/loop0p1, missing codepage or helper program, or other error Is there other working image?
-
I was running espressobin v7 with Welcome to Armbian 21.08.1 Bullseye with Linux 5.10.60-mvebu64 and made an upgrade in a regular way : # apt upgrade The following packages will be upgraded: apache2 apache2-bin apache2-data apache2-dev apache2-utils armbian-bsp-cli-espressobin armbian-config armbian-firmware armbian-zsh asterisk asterisk-config asterisk-modules asterisk-voicemail avahi-autoipd base-files bash curl deb.torproject.org-keyring dirmngr distro-info-data dpkg dpkg-dev ffmpeg gnupg gnupg-l10n gnupg-utils gnupg2 gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm gpgv gzip hostapd ifenslave inetutils-inetd inetutils-telnet libapache2-mod-php7.4 libavahi-client3 libavahi-common-data libavahi-common3 libavcodec58 libavdevice58 libavfilter7 libavformat58 libavresample4 libavutil56 libc-bin libc-dev-bin libc-l10n libc6 libc6-dev libcups2 libcurl3-gnutls libcurl4 libdpkg-perl libfreetype6 libfribidi0 libgnutls30 libgssapi-krb5-2 libk5crypto3 libkrb5-3 libkrb5support0 libldap-2.4-2 libldap2-dev libldb2 liblzma5 libnm0 libnss-myhostname libntfs-3g883 libpam-systemd libpcre2-16-0 libpcre2-32-0 libpcre2-8-0 libpcre2-dev libpcre2-posix2 libpostproc55 libpq5 libsdl2-2.0-0 libsmbclient libsnmp-base libsnmp40 libssl-dev libssl1.1 libswresample3 libswscale5 libsystemd0 libtiff5 libtirpc-common libtirpc-dev libtirpc3 libudev1 libwbclient0 libxml2 libxslt1.1 linux-dtb-current-mvebu64 linux-image-current-mvebu64 linux-libc-dev linux-u-boot-espressobin-current locales logrotate nano network-manager ntfs-3g openssh-client openssh-server openssh-sftp-server openssl php7.4 php7.4-cli php7.4-common php7.4-curl php7.4-json php7.4-opcache php7.4-readline python3-ldb python3-samba rsyslog samba samba-common samba-common-bin samba-libs smbclient systemd systemd-sysv tcpdump tor tor-geoipdb tzdata udev unzip wireless-regdb xz-utils zlib1g ... update-initramfs: Converting to u-boot format update-initramfs: Converting to u-boot FIT image FIT description: EspressoBIN 3720 FIT Image Created: Sun Oct 23 13:08:21 2022 Image 0 (kernel) Description: Vanilla Linux kernel Created: Sun Oct 23 13:08:21 2022 Type: Kernel Image Compression: lzma compressed Data Size: 6882687 Bytes = 6721.37 KiB = 6.56 MiB Architecture: AArch64 OS: Linux Load Address: 0x07000000 Entry Point: 0x07000000 Hash algo: sha1 Hash value: c8d92b9c244fdcc9fb56f640d05e6fc4d3f7ffb6 Image 1 (ramdisk) Description: Boot ramdisk Created: Sun Oct 23 13:08:21 2022 Type: RAMDisk Image Compression: Unknown Compression Data Size: 8909801 Bytes = 8700.98 KiB = 8.50 MiB Architecture: AArch64 OS: Linux Load Address: unavailable Entry Point: unavailable Hash algo: sha1 Hash value: 3be954cf886386101311f7673115fa0be0c95366 Image 2 (fdtv5) Description: Flattened Device Tree ebinv5 Created: Sun Oct 23 13:08:21 2022 Type: Flat Device Tree Compression: uncompressed Data Size: 11618 Bytes = 11.35 KiB = 0.01 MiB Architecture: AArch64 Load Address: 0x06f00000 Hash algo: sha1 Hash value: dcfa1e753a26493b713b8d6eee19e0895db09cc3 Image 3 (fdtv7) Description: Flattened Device Tree ebinv7 Created: Sun Oct 23 13:08:21 2022 Type: Flat Device Tree Compression: uncompressed Data Size: 11646 Bytes = 11.37 KiB = 0.01 MiB Architecture: AArch64 Load Address: 0x06f00000 Hash algo: sha1 Hash value: 0230f9e11a6f364dc66c0aca9a72620b19a0f1e0 Default Configuration: 'v5' Configuration 0 (v5) Description: Standard Boot ebinv5 Kernel: kernel Init Ramdisk: ramdisk FDT: fdtv5 Hash algo: sha1 Hash value: unavailable Configuration 1 (v7) Description: Standard Boot ebinv7 Kernel: kernel Init Ramdisk: ramdisk FDT: fdtv7 Hash algo: sha1 Hash value: unavailable After upgrade and reboot the kernel was upgraded to : Welcome to Armbian 22.08.6 Bullseye with Linux 5.15.74-mvebu64 The side effect is that cpu-freq regulation seems to be broken: root@tiger:~# cpufreq-info cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009 Report errors and bugs to cpufreq@vger.kernel.org, please. analyzing CPU 0: no or unknown cpufreq driver is active on this CPU maximum transition latency: 4294.55 ms. analyzing CPU 1: no or unknown cpufreq driver is active on this CPU maximum transition latency: 4294.55 ms. The # htop is unable to determine it either : Cpu Freq: 0 MHz The previous setup before upgrade "Armbian 21.08.1 Bullseye with Linux 5.10.60-mvebu64" ran frequency switch flawlessly: # cpufreq-info current CPU frequency is 200 MHz (asserted by call to hardware). cpufreq stats: 200 MHz:93.04%, 300 MHz:0.48%, 600 MHz:0.18%, 1.20 GHz:6.30% (215) Due to inability of CPU frequency regulation, I found that the board temperature has been increased by about 5 deg. C. What could be done to fix this issue?