Search the Community
Showing results for 'freeze kernels'.
-
I assume 'without success' refers to: all zeros in 'SPI flash chip'. There could be other effects as well. All Armbian Rockchip kernels have eMMC (just '/dev/mmcblk*' essentially) fixed/builtin in the kernel so in vmlinuz, no initrd or overlays needed. I don't know OP5+ HW, but note that you can have 3 bootable storage devices on a Rockchip based SBC where U-Boot can be loaded from. So besides SPI, also eMMC and/or SD-card can contain a U-Boot bootloader (see first 16MiB of those devices). If so, then the question is what version of U-Boot? Besides lacking a mmcblk dev, like is the case for example if I use an old version of EDK2 UEFI on my NanoPi-R6C (RK3588s) on the eMMC(!), It might be that a mainline U-Boot version does not work with vendor kernel. I had that for my Rock3A for example (kernel crash).
-
Problems after kernel 6.12.17-current-rockchip64 update
Igor replied to fever_wits's topic in Rockchip
Should be fixed in Armbian repo for some time now: https://github.com/armbian/os/pull/299/files But for kernel 6.14.y this wont be enough anyway. https://github.com/openzfs/zfs/releases/tag/zfs-2.2.7 "Linux: compatible with 4.18 - 6.12 kernels" -
Kernel downgrade through apt and Mainline Kernels
Igor replied to Euler's topic in Rockchip CPU Boxes
Mainline kernels or kernels from Ubuntu / Debian won't work on most of those devices. For several reasons. And if they will work by some luck, they will have less functions enabled / operational. Probably here you are looking for a vendor provided kernel 6.1.y, which we provide for some flagship devices. You can try to install "vendor" kernel from repository (with matched dtb), but you need help from higher power or some work, where you will most likely need to do it alone - our team is not touching this hw with this kernel and we don't have resources to deal with this, to get it working. It requires time nobody have - you need to find people that share this wish / problem and try to do something. And this is where this forum might help. & moving to TV boxes. This part I don't know. -
@Igor that's fair. So the same, i.e. lack of support for the drivers, applies to more recent kernels too? If so, could you maybe have tips on how to integrate them myself? Thank you very much!
-
@Igor, sorry to bother again about this, I am confused as to whether the drivers are actually included in the latest kernels or not? I checked your PR but it says that it says it's closed with unmerged commits https://github.com/armbian/build/pull/7012. Thanks a lot again!
-
Description Disable saving state of leds such as: enP1p1s0-0::lan enP1p1s0-1::lan enP1p1s0-2::lan enP1p1s0-3::lan enP2p1s0-0::lan enP2p1s0-1::lan enP2p1s0-2::lan enP2p1s0-3::lan These leds are not manageable and when restored trow up errors in kernel ring buffer [ 13.964507] leds enP1p1s0-0::lan: Setting an LED's brightness failed (-524) [ 13.989055] leds enP1p1s0-0::lan: Setting an LED's brightness failed (-524) [ 13.989100] leds enP1p1s0-1::lan: Setting an LED's brightness failed (-524) [ 14.021133] leds enP1p1s0-1::lan: Setting an LED's brightness failed (-524) [ 14.021176] leds enP1p1s0-2::lan: Setting an LED's brightness failed (-524) [ 14.070622] leds enP1p1s0-2::lan: Setting an LED's brightness failed (-524) [ 14.073070] leds enP1p1s0-3::lan: Setting an LED's brightness failed (-524) [ 14.097028] leds enP1p1s0-3::lan: Setting an LED's brightness failed (-524) [ 14.097066] leds enP2p1s0-0::lan: Setting an LED's brightness failed (-524) [ 14.132938] leds enP2p1s0-0::lan: Setting an LED's brightness failed (-524) [ 14.132982] leds enP2p1s0-1::lan: Setting an LED's brightness failed (-524) [ 14.154556] leds enP2p1s0-1::lan: Setting an LED's brightness failed (-524) [ 14.157496] leds enP2p1s0-2::lan: Setting an LED's brightness failed (-524) [ 14.197328] leds enP2p1s0-2::lan: Setting an LED's brightness failed (-524) [ 14.197371] leds enP2p1s0-3::lan: Setting an LED's brightness failed (-524) [ 14.214507] leds enP2p1s0-3::lan: Setting an LED's brightness failed (-524) How Has This Been Tested? [x] running correctly on nanopi-r5c and orangepi-5-plus --> enP* entries are not saved to armbian-leds.conf Checklist: [x] My code follows the style guidelines of this project [x] I have performed a self-review of my own code [x] I have commented my code, particularly in hard-to-understand areas [x] My changes generate no new warnings View the full article
-
You don't need the wireguard or wireguard-dkms package since all Armbian images ship the wireguard kernel module by default. All you need is the wireguard-tools package which you can install with the --no-install-recommends switch for apt which will prevent installing useless dependencies like kernels which wont work
-
Ty @Werner, I did as you recommended. First I flashed armbian cinnamon to an unused old SD Card. Booted it, chrooted into my nvme and checked apt-mark showmanual. Nothing to be found, no hint of anything related to *6.12.12*. BUT apt-mark showauto did show "linux-image-6.12.12+bpo-arm64-16k" and "linux-image-arm64-16k". Strange... I "apt-get autoremove linux-image-6.12.12+bpo-arm64-16k --purge" and it removed both packets and also "wireguard*". I use wireguard on a daily basis and know it just works in modern kernels... but maybe back in the past, late at night I messed up and confused SSH connection and konsole by mistake? No idea. I thought to be fine, restarted from nvme and same error as in inital thread *sigh*. So back to sd, rebooted into the freshly made SD card, chrooted into the nvme and had a look into /boot on the nvme. There was still a file located uInitrd-6.12.12... I removed it and decided to also regenerate initramfs for good. checked uname -r in chroot konsole and issued this afterwards: "update-initramfs -c -k 6.1.99-vendor-rk35xx" The command proceeded generated the entry in /boot and also updated uInitrd-6.1.99-vendor-rk35xx after this I exited chroot, shutdown the system, removed SD card aaaaand: Went to the forum to say a big THANK YOU 😃 It took hours to feel at home in this installation and I wasn't really happy about the thought of having to rebuild it. Keep up the good work!
-
Дмитрий, пожалуйста предоставьте дополнительную информацию. uname -r dmesg | grep -E 'hdmi|gpu|drm|codec' What brand of monitor and its resolution are used? My samsung 2k monitor cannot be detected by some linux kernels, for example. Although other users noted good performance at 1920x1080 resolution.
-
New 6.x based kernels for OPI 4 LTS seems to be a hit or miss for HDMI monitors. Some work, and others especially TVs dont output video at all. Images with 5.15.x kernels dont have this issue.
-
Hello everyone, comrades! Please tell me, has anyone had success with opi 4 lts? If so, can you share the success scenario or the system image? My small success story is using a factory image. Orangepi4-lts_3.0.6_ubuntu_jammy_server_linux5.18.5 Then apt update && apt install mpv then i use this command line mpv --vo=gpu --drm-device=/dev/dri/card0 --hwdec=drm --cache=yes --loop-playlist --fs --input-ipc-server=/tmp/mpvsocket --audio-device=alsa/plughw:CARD=HDMI,DEV=0 /some_path_to_video 4 k 30 fps \ 4k 60fps \ h264 \ hevc decode by vpu vithout using CPU and do not have any freeze
-
Confirmed, many thanks for reporting. 6.12.y has troubles with one of the NICs, but as regressions at major kernel upgrades are totally normal and expected in embedded Linux, we are providing you this: https://docs.armbian.com/User-Guide_Armbian-Config/System/#install-alternative-kernels Use older kernels: Make sure you update armbian-config package before doing that, then proceed with "Disable Armbian upgrades" https://docs.armbian.com/User-Guide_Armbian-Config/System/#enable-armbian-firmware-upgrades It was moved to armbian-config -> system -> updates Verify in CLI: igorp@rockpi-e:~$ sudo apt-mark showhold linux-dtb-current-rockchip64 linux-image-current-rockchip64
-
This is expected and totally normal behavior we are seeing constantly. Without maintenance, support breaks apart. This is just the way it is. You can believe or understand. All the time. And we can't afford to invest more if we already generate huge loss. Not a single vendor ever helped around old devices. While we don't have the millions needed for keeping devices in perfect state, we still invest hundreds of thousands each year to keep these devices running on at 'best effort' basis. Understandably, end users often - always expect military-grade software quality, even though they contribute nothing financially and refer back to hardware dealers for support. Their support is cosmetic, some even fake that support (there are few companies stealing from us, while bragging how they invested into open source). It is their word against ours and it seems users believe dealers, which are always sweet and nice, more ... Loss of the time is always a lot bigger what people can afford, so many people got broke, suffer mental breakdown when helping you (and HW dealers). Lack of your support / compensation is a fundamental problem. Numbers and name suggests lack of polishing and stability, but you expect that things works perfectly? I don't know how to describe you this in tl;dr; - this doesn't work this way. We have Linux kernel, general stuff, which is maintained by general Linux community. Then there is this device family, this device itself (here sadly even several badly compatible revisions). If nobody is dealing with it in general Linux community, which is usually the case, it often breaks at this level before anyone at Armbian even touches it. Then we apply family patch-set on top of this source. Patches often needs adjustments, but luckily they are usually trivial. Still, this takes time. A lot of. We usually don't fix devices at EDGE kernels. This mainly happens when its time to switch kernel at CURRENT (stable / LTS) branch. In 25.2 we switched from 6.6 -> 6.12. For that, our focus for half a year (!) were to 6.12 which was EDGE at that time. Stabilization of mainline kernel with functional addon is our major loss of time. And when it gets down to devices specifics, we are just more limited - we can't test all devices (+ all revisions = impossible) and we can't fix all of them. Recording a bug / known issue is already a luxury. And there is 99% our private time that is lost. Most of end users demands feels very insulting as you have no idea who pays the bills. You don't as also most of vendors don't want to hear about those troubles. Since you don't support developers, people who you think to support you but they don't support you, support at least people which job is to listen to you and collect info for developers. From the loss those people generate, they can't support them better. But you can.
-
Indeed they are copied or symlinked there from .deb package: linux-dtb-edge-rockchip64 But also that package does not include any overlays. I (re-)installed this linux-dtb-edge-rockchip64 package again now (trunk.313 instead of trunk.311 yesterday) and also that package lacks overlays. E.g. check with: dpkg -L linux-dtb-edge-rockchip64 | grep "rockchip/overlay" So even that there are 2 Armbian packages containing the same set of dtb+dtbo files, none of those 2 edge packages contains overlay files. So it seems something wrong in Armbian build, maybe only packaging, maybe even they are not build/compiled. This is actually a test for my Rock3A (or new/extra RK35xx still not purchased) to see if I can work with mainline kernels instead of vendor (6.1.99). Note that for 'vendor' the overlays are there. 'current' I don't know, I do not use it at the moment.
-
Real-time Armbian, now that it is part of kernel 6.12?
Igor replied to grixm's topic in Advanced users - Development
Always use main branch, older branches are here for reference and to build with sources at the state of initial build. We had several bug fix builds after point release, but they were made from main branch ... as we don't backport commits to frozen branch. Not enough people ... OS version is not determined by build framework, but externally. https://github.com/armbian/os/blob/main/stable.json Which version is bumped when any new Armbian package is sent to the repository. You can also set version with a parameter IMAGE_VERSION=25.2.3 ... In theory, if we would have "endless" computing / storage resources, we could make RT kernels for all variants. Currently, this is a bit insane as there are too many kernels. -
Do you know if the BSP kernels perform any better hw acceleration than the mainline kernel? Is the repo that you host built on this branch https://github.com/jernejsk/FFmpeg/tree/v4l2-request-n7.1 with Libreelec patches applied?
-
Real-time Armbian, now that it is part of kernel 6.12?
Igor replied to grixm's topic in Advanced users - Development
Correct, but I also haven't tried it yet. https://docs.armbian.com/Developer-Guide_Build-Preparation/ Once you get it running, choose this: and enable what needs to be enabled (there must be guides around the internet and AI also usually knows). Make sure to freeze this custom kernel, so update won't be replacing it later. -
Radxa's github page indicates that the aic8800 wifi modules were updated a while ago to facilitate use with kernels 6.12 and 6.13. I don't see that the aic8800-sdio-dkms_3.0+ module works on the Rock 3c, in spite of the latest update. See my dkms build log below. The net result is no wifi on the Rock 3c with current Armbian kernels. @amazingfate - I noticed that you worked on these modules in the past, would you be able to assist? DKMS make.log for aic8800-sdio-3.0+git20240327.3561b08f-3 for kernel 6.12.17-current-rockchip64 (aarch64) Fri 7 Mar 09:54:35 GMT 2025 make: Entering directory '/usr/src/linux-headers-6.12.17-current-rockchip64' make[2]: warning: -j4 forced in makefile: resetting jobserver mode. CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_btlpm/aic_bluetooth_main.o make[3]: warning: -j4 forced in makefile: resetting jobserver mode. CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_btlpm/rfkill.o CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aic8800dc_compat.o CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_msg_tx.o CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_msg_rx.o CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_utils.o CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_cmds.o /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_btlpm/rfkill.c:45:5: warning: no previous prototype for ‘rfkill_bluetooth_init’ [-Wmissing-prototypes] 45 | int rfkill_bluetooth_init(struct platform_device *pdev) | ^~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_btlpm/rfkill.c:73:5: warning: no previous prototype for ‘rfkill_bluetooth_remove’ [-Wmissing-prototypes] 73 | int rfkill_bluetooth_remove(struct platform_device *dev) | ^~~~~~~~~~~~~~~~~~~~~~~ CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aic8800d80_compat.o /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aic8800dc_compat.c:1697:5: warning: no previous prototype for ‘set_bbpll_config’ [-Wmissing-prototypes] 1697 | int set_bbpll_config(struct aic_sdio_dev *rwnx_hw){ | ^~~~~~~~~~~~~~~~ LD [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_btlpm/aic8800_btlpm.o CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aic_bsp_main.o /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_utils.c:23:5: warning: no previous prototype for ‘rwnx_init_aic’ [-Wmissing-prototypes] 23 | int rwnx_init_aic(struct rwnx_hw *rwnx_hw) | ^~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_msg_tx.c:164:18: warning: no previous prototype for ‘rwnx_cmd_malloc’ [-Wmissing-prototypes] 164 | struct rwnx_cmd *rwnx_cmd_malloc(void){ | ^~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_msg_tx.c:193:6: warning: no previous prototype for ‘rwnx_cmd_free’ [-Wmissing-prototypes] 193 | void rwnx_cmd_free(struct rwnx_cmd *cmd){ | ^~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_msg_tx.c:203:5: warning: no previous prototype for ‘rwnx_init_cmd_array’ [-Wmissing-prototypes] 203 | int rwnx_init_cmd_array(void){ | ^~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_msg_tx.c:218:6: warning: no previous prototype for ‘rwnx_free_cmd_array’ [-Wmissing-prototypes] 218 | void rwnx_free_cmd_array(void){ | ^~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_cmds.c:293:6: warning: no previous prototype for ‘cmd_mgr_task_process’ [-Wmissing-prototypes] 293 | void cmd_mgr_task_process(struct work_struct *work) | ^~~~~~~~~~~~~~~~~~~~ CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_irqs.o CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aic_bsp_driver.o CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_cfgfile.o CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aicsdio.o CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_strs.o CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_rx.o CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aicsdio_txrxif.o /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_irqs.c:21:13: warning: no previous prototype for ‘rwnx_irq_hdlr’ [-Wmissing-prototypes] 21 | irqreturn_t rwnx_irq_hdlr(int irq, void *dev_id) | ^~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_irqs.c:34:6: warning: no previous prototype for ‘rwnx_task’ [-Wmissing-prototypes] 34 | void rwnx_task(unsigned long data) | ^~~~~~~~~ CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_tx.o /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aic_bsp_driver.c:1283:5: warning: no previous prototype for ‘aicbt_patch_table_free’ [-Wmissing-prototypes] 1283 | int aicbt_patch_table_free(struct aicbt_patch_table **head) | ^~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aic_bsp_driver.c:1297:27: warning: no previous prototype for ‘aicbt_patch_table_alloc’ [-Wmissing-prototypes] 1297 | struct aicbt_patch_table *aicbt_patch_table_alloc(const char *filename) | ^~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aic_bsp_driver.c:1361:5: warning: no previous prototype for ‘aicbt_patch_info_unpack’ [-Wmissing-prototypes] 1361 | int aicbt_patch_info_unpack(struct aicbt_patch_info_t *patch_info, struct aicbt_patch_table *head_t) | ^~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aic_bsp_driver.c:1371:5: warning: no previous prototype for ‘aicbt_patch_trap_data_load’ [-Wmissing-prototypes] 1371 | int aicbt_patch_trap_data_load(struct aic_sdio_dev *sdiodev, struct aicbt_patch_table *head) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aic_bsp_driver.c:1469:5: warning: no previous prototype for ‘aicbt_patch_table_load’ [-Wmissing-prototypes] 1469 | int aicbt_patch_table_load(struct aic_sdio_dev *sdiodev, struct aicbt_patch_table *head) | ^~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aic_bsp_driver.c:1520:5: warning: no previous prototype for ‘aicbt_init’ [-Wmissing-prototypes] 1520 | int aicbt_init(struct aic_sdio_dev *sdiodev) | ^~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aic_bsp_driver.c:1726:5: warning: no previous prototype for ‘aicwifi_init’ [-Wmissing-prototypes] 1726 | int aicwifi_init(struct aic_sdio_dev *sdiodev) | ^~~~~~~~~~~~ CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_txq.o /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aicsdio.c:227:6: warning: no previous prototype for ‘aicbsp_get_load_fw_in_fdrv’ [-Wmissing-prototypes] 227 | bool aicbsp_get_load_fw_in_fdrv(void){ | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aicsdio.c:605:5: warning: no previous prototype for ‘aicwf_sdio_readb’ [-Wmissing-prototypes] 605 | int aicwf_sdio_readb(struct aic_sdio_dev *sdiodev, uint regaddr, u8 *val) | ^~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aicsdio.c:614:5: warning: no previous prototype for ‘aicwf_sdio_readb_func2’ [-Wmissing-prototypes] 614 | int aicwf_sdio_readb_func2(struct aic_sdio_dev *sdiodev, uint regaddr, u8 *val) | ^~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aicsdio.c:632:5: warning: no previous prototype for ‘aicwf_sdio_writeb_func2’ [-Wmissing-prototypes] 632 | int aicwf_sdio_writeb_func2(struct aic_sdio_dev *sdiodev, uint regaddr, u8 val) | ^~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aicsdio.c:679:5: warning: no previous prototype for ‘aicwf_sdio_send_msg’ [-Wmissing-prototypes] 679 | int aicwf_sdio_send_msg(struct aic_sdio_dev *sdiodev, u8 *buf, uint count) | ^~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aicsdio.c:731:5: warning: no previous prototype for ‘aicwf_sdio_wakeup’ [-Wmissing-prototypes] 731 | int aicwf_sdio_wakeup(struct aic_sdio_dev *sdiodev) | ^~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aicsdio.c:783:5: warning: no previous prototype for ‘aicwf_sdio_sleep_allow’ [-Wmissing-prototypes] 783 | int aicwf_sdio_sleep_allow(struct aic_sdio_dev *sdiodev) | ^~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aicsdio.c:908:17: warning: no previous prototype for ‘aicwf_sdio_readframes’ [-Wmissing-prototypes] 908 | struct sk_buff *aicwf_sdio_readframes(struct aic_sdio_dev *sdiodev, u8 msg) | ^~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aicsdio.c:1592:6: warning: no previous prototype for ‘aicwf_sdio_release_func2’ [-Wmissing-prototypes] 1592 | void aicwf_sdio_release_func2(struct aic_sdio_dev *sdiodev) | ^~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aicsdio.c:1932:6: warning: no previous prototype for ‘get_fw_path’ [-Wmissing-prototypes] 1932 | void get_fw_path(char* fw_path){ | ^~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aicsdio.c:1940:5: warning: no previous prototype for ‘get_testmode’ [-Wmissing-prototypes] 1940 | int get_testmode(void){ | ^~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aicsdio.c:1944:19: warning: no previous prototype for ‘get_sdio_func’ [-Wmissing-prototypes] 1944 | struct sdio_func *get_sdio_func(void){ | ^~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aicsdio.c:1948:6: warning: no previous prototype for ‘set_irq_handler’ [-Wmissing-prototypes] 1948 | void set_irq_handler(void *fn){ | ^~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_rx.c:328:6: warning: no previous prototype for ‘rwnx_rx_data_skb_resend’ [-Wmissing-prototypes] 328 | void rwnx_rx_data_skb_resend(struct rwnx_hw *rwnx_hw, struct rwnx_vif *rwnx_vif, | ^~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_rx.c:1377:5: warning: no previous prototype for ‘reord_flush_tid’ [-Wmissing-prototypes] 1377 | int reord_flush_tid(struct aicwf_rx_priv *rx_priv, struct sk_buff *skb, u8 tid) | ^~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_rx.c:1584:6: warning: no previous prototype for ‘reord_rxframes_process’ [-Wmissing-prototypes] 1584 | bool reord_rxframes_process(struct aicwf_rx_priv *rx_priv, struct reord_ctrl *preorder_ctrl, int bforced) | ^~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_rx.c:1620:6: warning: no previous prototype for ‘reord_rxframes_ind’ [-Wmissing-prototypes] 1620 | void reord_rxframes_ind(struct aicwf_rx_priv *rx_priv, | ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_rx.c:1694:5: warning: no previous prototype for ‘reord_process_unit’ [-Wmissing-prototypes] 1694 | int reord_process_unit(struct aicwf_rx_priv *rx_priv, struct sk_buff *skb, u16 seq_num, u8 tid, u8 forward, u8 is_amsdu) | ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_rx.c:1881:6: warning: no previous prototype for ‘remove_sec_hdr_mgmt_frame’ [-Wmissing-prototypes] 1881 | void remove_sec_hdr_mgmt_frame(struct hw_rxhdr *hw_rxhdr, struct sk_buff *skb) | ^~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_rx.c:1904:6: warning: no previous prototype for ‘defrag_timeout_cb’ [-Wmissing-prototypes] 1904 | void defrag_timeout_cb(struct timer_list *t) | ^~~~~~~~~~~~~~~~~ CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.o CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/md5.o CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aicwf_txq_prealloc.o /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_txq.c:161:6: warning: no previous prototype for ‘rwnx_txq_flush’ [-Wmissing-prototypes] 161 | void rwnx_txq_flush(struct rwnx_hw *rwnx_hw, struct rwnx_txq *txq) | ^~~~~~~~~~~~~~ In file included from ./include/linux/string.h:390, from ./include/linux/dma-mapping.h:7, from /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_rx.c:10: In function ‘fortify_memcpy_chk’, inlined from ‘rwnx_rx_add_rtap_hdr’ at /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_rx.c:1210:3, inlined from ‘rwnx_rx_monitor’ at /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_rx.c:1250:2, inlined from ‘rwnx_rxdataind_aicwf’ at /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_rx.c:2092:7: ./include/linux/fortify-string.h:571:25: warning: call to ‘__write_overflow_field’ declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning] 571 | __write_overflow_field(p_size_field, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_mod_params.o CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_mesh.o CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_platform.o /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.c:847:6: warning: no previous prototype for ‘rwnx_update_mesh_power_mode’ [-Wmissing-prototypes] 847 | void rwnx_update_mesh_power_mode(struct rwnx_vif *vif) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.c:1468:14: warning: no previous prototype for ‘command_strtoul’ [-Wmissing-prototypes] 1468 | unsigned int command_strtoul(const char *cp, char **endp, unsigned int base) | ^~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.c:1502:5: warning: no previous prototype for ‘handle_private_cmd’ [-Wmissing-prototypes] 1502 | int handle_private_cmd(struct net_device *net, char *command, u32 cmd_len) | ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.c:2415:5: warning: no previous prototype for ‘android_priv_cmd’ [-Wmissing-prototypes] 2415 | int android_priv_cmd(struct net_device *net, struct ifreq *ifr, int cmd) | ^~~~~~~~~~~~~~~~ In file included from /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_defs.h:35, from /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.c:26: /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_compat.h:408:9: warning: no previous prototype for ‘rwnx_select_queue’ [-Wmissing-prototypes] 408 | rwnx_select_queue(dev, skb, sb_dev) | ^~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.c:2824:5: note: in expansion of macro ‘rwnx_select_queue’ 2824 | u16 rwnx_select_queue(struct net_device *dev, struct sk_buff *skb, | ^~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.c:3096:6: warning: no previous prototype for ‘aicwf_p2p_alive_timeout’ [-Wmissing-prototypes] 3096 | void aicwf_p2p_alive_timeout(struct timer_list *t) | ^~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.c:4350:6: warning: no previous prototype for ‘apm_staloss_work_process’ [-Wmissing-prototypes] 4350 | void apm_staloss_work_process(struct work_struct *work) | ^~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.c:4460:6: warning: no previous prototype for ‘apm_probe_sta_work_process’ [-Wmissing-prototypes] 4460 | void apm_probe_sta_work_process(struct work_struct *work) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.c:4909:5: warning: no previous prototype for ‘rwnx_cfg80211_probe_client’ [-Wmissing-prototypes] 4909 | int rwnx_cfg80211_probe_client(struct wiphy *wiphy, struct net_device *dev, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.c:4946:6: warning: no previous prototype for ‘rwnx_cfg80211_mgmt_frame_register’ [-Wmissing-prototypes] 4946 | void rwnx_cfg80211_mgmt_frame_register(struct wiphy *wiphy, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.c:5502:5: warning: no previous prototype for ‘rwnx_cfg80211_channel_switch’ [-Wmissing-prototypes] 5502 | int rwnx_cfg80211_channel_switch (struct wiphy *wiphy, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.c:5831:5: warning: no previous prototype for ‘rwnx_cfg80211_change_bss’ [-Wmissing-prototypes] 5831 | int rwnx_cfg80211_change_bss(struct wiphy *wiphy, struct net_device *dev, | ^~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.c:6582:34: error: initialization of ‘int (*)(struct wiphy *, struct net_device *, struct cfg80211_chan_def *, u32, int)’ {aka ‘int (*)(struct wiphy *, struct net_device *, struct cfg80211_chan_def *, unsigned int, int)’} from incompatible pointer type ‘int (*)(struct wiphy *, struct net_device *, struct cfg80211_chan_def *, u32)’ {aka ‘int (*)(struct wiphy *, struct net_device *, struct cfg80211_chan_def *, unsigned int)’} [-Werror=incompatible-pointer-types] 6582 | .start_radar_detection = rwnx_cfg80211_start_radar_detection, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.c:6582:34: note: (near initialization for ‘rwnx_cfg80211_ops.start_radar_detection’) /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.c:6698:5: warning: no previous prototype for ‘rwnx_ic_system_init’ [-Wmissing-prototypes] 6698 | int rwnx_ic_system_init(struct rwnx_hw *rwnx_hw){ | ^~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.c:6749:5: warning: no previous prototype for ‘rwnx_ic_rf_init’ [-Wmissing-prototypes] 6749 | int rwnx_ic_rf_init(struct rwnx_hw *rwnx_hw){ | ^~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aicwf_txq_prealloc.c:14:7: warning: no previous prototype for ‘aicwf_prealloc_txq_alloc’ [-Wmissing-prototypes] 14 | void *aicwf_prealloc_txq_alloc(size_t size) | ^~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aicwf_txq_prealloc.c:51:6: warning: no previous prototype for ‘aicwf_prealloc_txq_free’ [-Wmissing-prototypes] 51 | void aicwf_prealloc_txq_free(void) | ^~~~~~~~~~~~~~~~~~~~~~~ LD [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aic8800_bsp.o /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_mod_params.c:277:6: warning: no previous prototype for ‘rwnx_get_countrycode_channels’ [-Wmissing-prototypes] 277 | void rwnx_get_countrycode_channels(struct wiphy *wiphy, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_mod_params.c:320:29: warning: no previous prototype for ‘getRegdomainFromRwnxDBIndex’ [-Wmissing-prototypes] 320 | struct ieee80211_regdomain *getRegdomainFromRwnxDBIndex(struct wiphy *wiphy, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_mod_params.c:339:29: warning: no previous prototype for ‘getRegdomainFromRwnxDB’ [-Wmissing-prototypes] 339 | struct ieee80211_regdomain *getRegdomainFromRwnxDB(struct wiphy *wiphy, | ^~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_platform.c:440:5: warning: no previous prototype for ‘rwnx_request_firmware_common’ [-Wmissing-prototypes] 440 | int rwnx_request_firmware_common(struct rwnx_hw *rwnx_hw, u32** buffer, const char *filename) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_platform.c:462:6: warning: no previous prototype for ‘rwnx_release_firmware_common’ [-Wmissing-prototypes] 462 | void rwnx_release_firmware_common(u32** buffer) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_platform.c:477:5: warning: no previous prototype for ‘rwnx_plat_bin_fw_upload_2’ [-Wmissing-prototypes] 477 | int rwnx_plat_bin_fw_upload_2(struct rwnx_hw *rwnx_hw, u32 fw_addr, | ^~~~~~~~~~~~~~~~~~~~~~~~~ CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_pci.o /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_platform.c:736:5: warning: no previous prototype for ‘rwnx_atoi’ [-Wmissing-prototypes] 736 | int rwnx_atoi(char *value) | ^~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_platform.c:763:6: warning: no previous prototype for ‘rwnx_plat_nvram_set_value’ [-Wmissing-prototypes] 763 | void rwnx_plat_nvram_set_value(char *command, char *value) | ^~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_platform.c:883:6: warning: no previous prototype for ‘rwnx_plat_nvram_set_value_v3’ [-Wmissing-prototypes] 883 | void rwnx_plat_nvram_set_value_v3(char *command, char *value) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_platform.c:1150:6: warning: no previous prototype for ‘rwnx_plat_userconfig_parsing2’ [-Wmissing-prototypes] 1150 | void rwnx_plat_userconfig_parsing2(char *buffer, int size) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_platform.c:1212:6: warning: no previous prototype for ‘rwnx_plat_userconfig_parsing3’ [-Wmissing-prototypes] 1212 | void rwnx_plat_userconfig_parsing3(char *buffer, int size) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_platform.c:1277:6: warning: no previous prototype for ‘rwnx_plat_userconfig_parsing’ [-Wmissing-prototypes] 1277 | void rwnx_plat_userconfig_parsing(struct rwnx_hw *rwnx_hw, char *buffer, int size) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_platform.c:1497:5: warning: no previous prototype for ‘rwnx_plat_userconfig_upload_android’ [-Wmissing-prototypes] 1497 | int rwnx_plat_userconfig_upload_android(struct rwnx_hw *rwnx_hw, char *fw_path, char *filename) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_dini.o /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_pci.c:85:5: warning: no previous prototype for ‘rwnx_pci_register_drv’ [-Wmissing-prototypes] 85 | int rwnx_pci_register_drv(void) | ^~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_pci.c:90:6: warning: no previous prototype for ‘rwnx_pci_unregister_drv’ [-Wmissing-prototypes] 90 | void rwnx_pci_unregister_drv(void) | ^~~~~~~~~~~~~~~~~~~~~~~ CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_v7.o CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/ipc_host.o /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_dini.c:104:5: warning: no previous prototype for ‘rwnx_cfpga_irq_enable’ [-Wmissing-prototypes] 104 | int rwnx_cfpga_irq_enable(struct rwnx_hw *rwnx_hw) | ^~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_dini.c:128:5: warning: no previous prototype for ‘rwnx_cfpga_irq_disable’ [-Wmissing-prototypes] 128 | int rwnx_cfpga_irq_disable(struct rwnx_hw *rwnx_hw) | ^~~~~~~~~~~~~~~~~~~~~~ CC [M] /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_tdls.o cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:229: /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [scripts/Makefile.build:478: /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800/aic8800_fdrv] Error 2 make[1]: *** [/usr/src/linux-headers-6.12.17-current-rockchip64/Makefile:1932: /var/lib/dkms/aic8800-sdio/3.0+git20240327.3561b08f-3/build/SDIO/driver_fw/driver/aic8800] Error 2 make: *** [Makefile:224: __sub-make] Error 2 make: Leaving directory '/usr/src/linux-headers-6.12.17-current-rockchip64'
-
Rolling updates: nearly daily 9 "base" packages
Igor replied to Domas's topic in Software, Applications, Userspace
Yes. If you stay with Jammy, you are on old stable user-space, updated directly from Ubuntu, kernels from us. Packages on (old) stable base are rarely updated, usually only if some security problem is detected. If you want to have all packages updating, you need to use Plucky nightly build for your board - accessible at the bottom of download pages. There much more packages will be receiving updates, daily, but that also means bigger risk for running into troubles. -
Alright. Yes, there seems to be some issue with the naming of the overlays which required editing armbianEnv by hand. It is hard to keep up with the continously changing world of SoCs and kernels where latter, especially on mainline, often even lacking basic overlays since close to nobody deals with this.
-
Hello, friends... The current MIPI DSI driver provided by Rockchip Inc. in older U-Boot versions (v2023 and earlier) is not compatible with U-Boot’s uclass subsystems.(a waste of time if you want to develop). I have done extensive research and made modifications to several files to make it work with the latest U-Boot versions. I have tested it with U-Boot 2023.10, 2024.10 and v2025.rc3 on orange pi 4 lts, and it works perfectly. I'm attaching the necessary files for those who need them. This u-boot driver is nearly identical to Rockchip's Linux kernel driver, uses same driver file but there some limitations because of u-boot system, but it correctly displays the splash image when vidconsole0 probed by u-boot.. Additionally, i want to say that, in linux kernel side, the same dw-rockchip-dsi driver in latest armbian distribitions works with from kernels 5.18 to latest kernel v6.6 and v.6.12. I tested it. Tested with custom 400x1200 60hz 4 lane standart mipi dsi panel from chinese panel manufacturer. I attached all modified files as attachment. Good lucks. dm tree command output from u-boot is reset 1 [ + ] rockchip_reset | `-- reset syscon 27 [ + ] rk3399_syscon |-- syscon@ff770000 nop 3 [ + ] rockchip_iodomain | `-- io-domains video 0 [ + ] rk3399_vop |-- vop@ff8f0000 vidconsole 0 [ + ] vidconsole0 | `-- vop@ff8f0000.vidconsole0 video 1 [ + ] rk3399_vop |-- vop@ff900000 vidconsole 1 [ + ] vidconsole0 | `-- vop@ff900000.vidconsole0 video_brid 0 [ + ] dw-mipi-dsi-rockchip |-- dsi@ff960000 dsi_host 0 [ + ] dw_mipi_dsi | |-- dsihost panel 0 [ + ] rm68200_panel | `-- panel@0 pinctrl 0 [ + ] rockchip_rk3399_pinc |-- pinctrl U-Boot 2024.10-armbian-2024.10-Sf919-Pbfb2-H3d34-Vade7-Bb703-R448a-dirty (Mar 03 2025 - 06:16:04 +0300) SoC: Rockchip rk3399 Reset cause: RST Model: Orange Pi 4 LTS Board DRAM: 4 GiB (effective 3.9 GiB) PMIC: RK808 Core: 285 devices, 32 uclasses, devicetree: separate MMC: mmc@fe320000: 1, mmc@fe330000: 0 Loading Environment from MMC... Reading from MMC(0)... *** Warning - bad CRC, using default environment rm68200_panel_of_to_plat() rm68200_panel panel@0: reset pin set done rm68200_panel_probe() rm68200_panel panel@0: Initializing MIPI DSI Panel Driver rm68200_panel_probe() rm68200_panel panel@0: Reset sequence done rm68200_panel_probe() rm68200_panel panel@0: dsi set 4 lane, video-burst, RGB 24-bit mode rm68200_panel_enable_backlight() rm68200_panel panel@0: Panel set backlight func(), initializing panel rm68200_panel_enable_backlight() rm68200_panel panel@0: attaching mipi dsi panel rm68200_panel_enable_backlight() rm68200_panel panel@0: perform panel initialization sequence rm68200_panel_enable_backlight() rm68200_panel panel@0: panel initialization sequence done, panel probed! rm68200_panel_enable_backlight() rm68200_panel panel@0: Panel set backlight func(), initializing panel rm68200_panel_enable_backlight() rm68200_panel panel@0: attaching mipi dsi panel rm68200_panel_enable_backlight() rm68200_panel panel@0: perform panel initialization sequence rm68200_panel_enable_backlight() rm68200_panel panel@0: panel initialization sequence done, panel probed! In: serial@ff1a0000 Out: serial@ff1a0000 Err: serial@ff1a0000 Model: Orange Pi 4 LTS Board Net: Could not get PHY for ethernet@fe300000: addr 1 eth_initialize() No ethernet found. Hit any key to stop autoboot: 0 => dcdcddcdcdcdc<INTERRUPT> => setenv splashimage 0x82000000 => setenv splashfile /boot/splash.bmp => load mmc 0:1 ${splashimage} ${splashfile} 1920138 bytes read in 61 ms (30 MiB/s) => bmp display ${splashimage} => <INTERRUPT> => uclass_get_device_by_ofnode() Looking for clock-controller@ff760000 uclass_find_device_by_ofnode() Looking for clock-controller@ff760000 uclass_find_device_by_ofnode() - checking reset uclass_find_device_by_ofnode() - checking reset uclass_find_device_by_ofnode() - result for clock-controller@ff760000: reset (ret=0) uclass_get_device_by_ofnode() - result for clock-controller@ff760000: reset (ret=0) rm68200_panel_enable_backlight() rm68200_panel panel@0: Panel set backlight func(), initializing panel rm68200_panel_enable_backlight() rm68200_panel panel@0: attaching mipi dsi panel rm68200_panel_enable_backlight() rm68200_panel panel@0: perform panel initialization sequence rm68200_panel_enable_backlight() rm68200_panel panel@0: panel initialization sequence done, panel probed! dsi_phy_post_set_mode() dw-mipi-dsi-rockchip dsi@ff960000: Set mode 00000000f4f3b4a0 enable 1 device_bind_common() Bound device vop@ff900000.vidconsole0 to vop@ff900000 notify_dynamic() Sending event 5/(unknown) to spy 'efi_disk add' notify_dynamic() Sending event 5/(unknown) to spy 'efi_disk add' In: serial@ff1a0000 Out: serial@ff1a0000 Err: serial@ff1a0000 Model: Orange Pi 4 LTS Board raydium-rm68200.c dw_mipi_dsi.c rk_vop.c dw_mipi_dsi_rockchip.c clk_rk3399.c .config rk3399-orangepi.dts