-
Posts
545 -
Joined
-
Last visited
Content Type
Forums
Store
Crowdfunding
Applications
Events
Raffles
Community Map
Everything posted by Nick A
-
@Kevin su Armbian uses one kernel config for both server and desktop images. You could compile your own server image and enable this option. I can help you with build errors. SBCs often have relatively weak single-core performance compared to x86 servers. Full preemption prevents a single long-running kernel task from causing noticeable "stutter" in network responses or shell interaction.
-
@Kevin su I wouldn’t call fully preemptive scheduling “not suitable” for server use, especially on ARM SBCs. On modern kernels, CONFIG_PREEMPT=y has low overhead and is widely used by Armbian even for headless/server images. For a purely headless system under sustained, throughput-focused load, CONFIG_PREEMPT_VOLUNTARY can be a reasonable alternative, but the difference is usually small. It’s more a tuning preference than a correctness issue.
-
@Kevin suIf the build error was due to a base files installation error, rerun the build with the same options. It should complete the image compilation. I haven't found a proper fix yet, but rerunning the build should resolve it. I'll update the server image soon.
-
@Bones558 @alexc I noticed that a few USB-C drivers are missing in the 6.6 kernel. While the Makefile and Kconfig files are present, they have changed. In the 5.15 BSP, the bsp/drivers/usb/typec/tcpm directory contains tcpci_et7304.c and tcpci_husb311.c, but in 6.6, this directory is empty. 6.6: bsp/drivers/usb/typec/tcpm$ ls Kconfig Makefile 5.15: bsp/drivers/usb/typec/tcpm$ ls Kconfig Makefile tcpci_et7304.c tcpci_husb311.c
-
@BoringName Looks right. You can decompile the dtb into a dts.. edit the dts and compile it again. You will find it in the /boot directory. dtc -I dtb -O dts -o mainline_edit.dts your_mainline_file.dtb dtc -I dts -O dtb -o modified_mainline.dtb mainline_edit.dts
-
If this is AW869A chip then it uses the AIC 8800 Linux Driver. My X98H TV box has a AIC8800 chip in it. https://linux-sunxi.org/Wifi#AW869A AW869A The AW869A is a highly integrated module with Dual band WiFi6 combination solution to support 1 × 1 IEEE 802.11b/g/n/ac/ax WLAN standards It uses the aic8800 firmware. A driver can be found at AIC 8800 Linux Driver. You'll need to compare the GPIO settings. Your Android dts uses HEX the mainline kernel is using DEC. https://www.rapidtables.com/convert/number/hex-to-decimal.html?x=12 rfkill { compatible = "allwinner,sunxi-rfkill"; status = "okay"; chip_en; power_en; pinctrl-0 = <0x63>; pinctrl-names = "default"; phandle = <0xcc>; wlan { compatible = "allwinner,sunxi-wlan"; clocks = <0x0e 0x04>; clock-names = "osc32k-out"; wlan_busnum = <0x01>; wlan_power; wlan_regon = <0x23 0x06 0x12 0x00>; wlan_hostwake = <0x23 0x06 0x0f 0x00>; wakeup-source; phandle = <0xcd>; }; bt { compatible = "allwinner,sunxi-bt"; clocks = <0x0e 0x04>; clock-names = "osc32k-out"; bt_power; bt_rst_n = <0x23 0x06 0x13 0x01>; phandle = <0xce>; }; }; btlpm { compatible = "allwinner,sunxi-btlpm"; status = "okay"; uart_index = <0x01>; bt_wake = <0x23 0x06 0x11 0x00>; bt_hostwake = <0x23 0x06 0x10 0x01>; wakeup-source; phandle = <0xd0>; }; Mainline dts: https://github.com/NickAlilovic/build/blob/666dc0fabd8a284ccf50d784f6bd0bf948dd073d/patch/kernel/archive/warpme-6.12/2001-arm64-dts-allwinner-h618-add-x98h.patch#L87-L95 https://github.com/NickAlilovic/build/blob/666dc0fabd8a284ccf50d784f6bd0bf948dd073d/patch/kernel/archive/warpme-6.12/2001-arm64-dts-allwinner-h618-add-x98h.patch#L182-L200 https://github.com/NickAlilovic/build/blob/666dc0fabd8a284ccf50d784f6bd0bf948dd073d/patch/kernel/archive/warpme-6.12/2001-arm64-dts-allwinner-h618-add-x98h.patch#L278-L297 The specific values <0x23 0x06 0x12 0x00> generally map to: 0x23: The controller or bank ID: pinctrl@300b000 { phandle = <0x23>; 0x06: The specific GPIO pin number: In Allwinner's pinctrl driver, banks are 32 pins wide. The formula is: (Bank_Letter_Index * 32) + Pin_Number 1. The Bank Index Map Bank Index PA 0 PB 1 PC 2 PD 3 PE 4 PF 5 PG 6 PH 7 PI 8 0x12: The active-high/low flags or drive strength. In the 3-cell GPIO format used by Allwinner (sunxi), the third cell (e.g., 0x12) is a bitmask that defines the electrical properties of the pin. To decode 0x12 (which is binary 0001 0010), you break it down into bits: 1. Bitmask Breakdown for 0x12 Bit 0 (0x01): Active Polarity. 0 = Active High. 1 = Active Low (Our bit 0 is 0, so this is Active High). Bit 1 (0x02): Open Drain / Open Source. 0 = Push-Pull. 1 = Single-ended/Open-Drain (Our bit 1 is 1, so this is Open-Drain). Bit 4 (0x10): Internal Pull-up. 0 = No pull-up. 1 = Pull-up Enabled (Our bit 4 is 1, so this is Pull-up Enabled). Summary of 0x12: This pin is configured as Active High, with an Open-Drain output and an internal Pull-up resistor enabled. 0x00: Reserved or additional configuration. In Allwinner-based systems (like the H6 or H616), this value is defined in the GPIO controller's device tree binding documentation within the Linux kernel source code. The structure is documented in the kernel under Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml
-
@BoringName I wonder if this wifi chip is a aic8800. Try booting the x98h image.
-
@Bones558 I guess you are using a USB-C to HDMI adapter? I bought one and it doesn't work on kernel 6.6. I think it's because the DRM heap driver hasn't been updated yet. I got a Micro HDMI to HDMI cable, and that works.
-
@kvvvp I don't have any issues building from branch v20250306. Do you have docker installed?
-
@Nguyễn Lân The HK6334Q Wi-Fi/BT chip uses the brcmfmac4334 firmware. If your Wi-Fi chip is detected by the kernel, the dmesg log will show the names of the .bin and .txt files it is looking for.
-
@Andrés Pérez Domínguez x your board has the UART pins clearly marked on the board. https://linux-sunxi.org/UART Install this to get more u-boot/kernel debug information. I use a CP2102.
-
@Bones558 I don't have a a7z to test with right now. I should be getting one soon and I'll look into it. I'm pretty sure a USB to UART serial device works.
-
@chris178 SmartSolution on discord says his camera works. SmartSolution Hi, i had problem with camera and isp color quality After check and test download radxa-a733 t2 rsdk , image file and upload on mmc and after load system all camera works good
-
@chris178 I am currently working on a solution. Radxa typically uses rsetup and extlinux.conf to load overlays during boot; however, Armbian uses armbian-config along with boot.cmd and boot.scr. I have decided to use armbian-config to load the overlays instead.
-
I haven't tested ufs yet. I think you have to add this extension in build/config/boards/radxa-cubie-a7a.csc enable_extension "ufs" https://github.com/NickAlilovic/build/blob/a733/config/boards/radxa-cubie-a7a.csc @chainsx is working on his own build. He just updated his build with a ufs fix. https://github.com/chainsx/build/tree/a733 You might need to add this to boot his images. Not sure if it's fix. NAME_INITRD="initrd.img-5.15.147-legacy-sun60iw2" or NAME_INITRD="initrd.img-6.6.98-vendor-sun60iw2"
-
Have Armbian for Tanix TX1 QHZIW_H313_TX1_EMCP_V2.0?
Nick A replied to Lesano's topic in Allwinner CPU Boxes
@Lesano https://linux-sunxi.org/Tanix_TX1 shouldn’t be hard to make a armbian config for this board since it's mainlined. You probably want this patch to add wifi and hdmi. https://gitlab.manjaro.org/iuncuim/linux/-/blob/eccecabc2ca2d6efb463edc94aa0ef383d8ae200/0650-arm64-dts-allwinner-h313-Tanix-TX1-TVbox.patch You would need to boot over USB cable. I never booted over USB so I can't help with that. https://linux-sunxi.org/FEL/USBBoot -
@PH Ph Ask Google AI mode... I haven't played with 4G CPE routers.
-
@PH Ph You didn't tell us which image you used? Your dts shows axp1530. Which is also known as axp313a. https://linux-sunxi.org/AXP_PMICs pmu { compatible = "x-powers,axp1530";
-
@PH Ph Recovery is your boot.bin nick@nick:~/Documents$ file recovery recovery: Android bootimg, kernel (0x40080000), ramdisk (0x43000000), page size: 2048, cmdline (selinux=1 androidboot.selinux=permissive androidboot.dtbo_idx=0,1,2 buildvariant=userdebug) nick@nick:~/Documents$ cp ~/Documents/recovery ~/Documents/Android_boot_image_editor/boot.img nick@nick:~/Documents$ cd ~/Documents/Android_boot_image_editor/ nick@nick:~/Documents/Android_boot_image_editor$ ./gradlew unpack Starting a Gradle Daemon (subsequent builds will be faster) > Task :unpack 18:58:16.027 [main] INFO cfig.packable.PackableLauncher - [^boot(-debug)?\.img$, ^recovery\.img$, ^recovery-two-step\.img$, ^init_boot\.img$, ^ramdisk\.img$]/class cfig.packable.BootImgParser 18:58:16.030 [main] INFO cfig.packable.PackableLauncher - [^.*\.dtb$]/class packable.DeviceTreeParser 18:58:16.030 [main] INFO cfig.packable.PackableLauncher - [^dtbo\.img$]/class cfig.packable.DtboParser 18:58:16.030 [main] INFO cfig.packable.PackableLauncher - [^misc\.img$]/class cfig.packable.MiscImgParser 18:58:16.030 [main] INFO cfig.packable.PackableLauncher - [^ota\.zip$]/class cfig.packable.OTAzipParser 18:58:16.030 [main] INFO cfig.packable.PackableLauncher - [^payload\.bin$]/class cfig.packable.PayloadBinParser 18:58:16.030 [main] INFO cfig.packable.PackableLauncher - [^(system|system_ext|system_other|system_dlkm)\.img$, ^(vendor|vendor_dlkm|product|cache|userdata|super|oem|odm|odm_dlkm)\.img$]/class rom.sparse.SparseImgParser 18:58:16.030 [main] INFO cfig.packable.PackableLauncher - [^vbmeta\.img$, ^vbmeta\_[a-z]+.img$]/class cfig.packable.VBMetaParser 18:58:16.030 [main] INFO cfig.packable.PackableLauncher - [^vendor_boot(-debug)?\.img$, ^vendor_kernel_boot\.img$]/class cfig.packable.VendorBootParser 18:58:16.030 [main] INFO XXXX - args: [unpack] 18:58:16.033 [main] INFO XXXX - arg: #0 - unpack 18:58:16.035 [main] INFO XXXX - loop #0 18:58:16.035 [main] INFO XXXX - lazy mode (in current dir) 18:58:16.205 [main] INFO cfig.packable.PackableLauncher - Found: boot.img, ^boot(-debug)?\.img$ 18:58:16.206 [main] WARN cfig.packable.PackableLauncher - args: 1, targetHandler: class cfig.packable.BootImgParser 18:58:16.206 [main] INFO cfig.packable.PackableLauncher - continue ... 18:58:16.206 [main] WARN cfig.packable.PackableLauncher - [/home/nick/Documents/Android_boot_image_editor/boot.img] will be handled by [BootImgParser] 18:58:16.274 [main] WARN cfig.packable.PackableLauncher - 'unpack' sequence initialized 18:58:16.274 [main] WARN cfig.packable.PackableLauncher - XXXX: args.size: 1 clazz = BootImgParser func = fun cfig.packable.BootImgParser.unpack(kotlin.String): kotlin.Unit orig args: 0: unpack Converted args: 0: /home/nick/Documents/Android_boot_image_editor/boot.img 18:58:16.281 [main] INFO cfig.packable.BootImgParser - unpackInternal(fileName: /home/nick/Documents/Android_boot_image_editor/boot.img, unpackDir: build/unzip_boot/) 18:58:16.282 [main] INFO cfig.packable.BootImgParser - workspace set to build/unzip_boot/ 18:58:16.282 [main] INFO cfig.packable.IPackable - deleting /home/nick/Documents/Android_boot_image_editor/build/unzip_boot ... 18:58:16.298 [main] INFO cfig.bootimg.Common - workspace file overridden: /home/nick/Documents/Android_boot_image_editor/build/unzip_boot/workspace.ini 18:58:16.299 [main] INFO cfig.packable.BootImgParser - header version 2 18:58:16.408 [main] WARN cfig.bootimg.v2.BootHeaderV2 - BootImgHeader constructor 18:58:16.414 [main] INFO cfig.Avb - python aosp/avb/avbtool.v1.2.py verify_image --image /home/nick/Documents/Android_boot_image_editor/boot.img Verifying image /home/nick/Documents/Android_boot_image_editor/boot.img using embedded public key vbmeta: Successfully verified footer and NONE vbmeta struct in /home/nick/Documents/Android_boot_image_editor/boot.img Traceback (most recent call last): File "/home/nick/Documents/Android_boot_image_editor/aosp/avb/avbtool.v1.2.py", line 4935, in <module> tool.run(sys.argv) File "/home/nick/Documents/Android_boot_image_editor/aosp/avb/avbtool.v1.2.py", line 4739, in run args.func(args) File "/home/nick/Documents/Android_boot_image_editor/aosp/avb/avbtool.v1.2.py", line 4874, in verify_image self.avb.verify_image(args.image.name, args.key, File "/home/nick/Documents/Android_boot_image_editor/aosp/avb/avbtool.v1.2.py", line 2582, in verify_image elif not desc.verify(image_dir, image_ext, expected_chain_partitions_map, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/nick/Documents/Android_boot_image_editor/aosp/avb/avbtool.v1.2.py", line 1687, in verify image = ImageHandler(image_filename, read_only=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/nick/Documents/Android_boot_image_editor/aosp/avb/avbtool.v1.2.py", line 760, in __init__ self._read_header() File "/home/nick/Documents/Android_boot_image_editor/aosp/avb/avbtool.v1.2.py", line 775, in _read_header self._image = open(self.filename, 'rb') ^^^^^^^^^^^^^^^^^^^^^^^^^ FileNotFoundError: [Errno 2] No such file or directory: '/home/nick/Documents/Android_boot_image_editor/recovery.img' 18:58:16.563 [main] ERROR cfig.Avb - /home/nick/Documents/Android_boot_image_editor/boot.img failed integrity check by "python aosp/avb/avbtool.v1.2.py verify_image --image /home/nick/Documents/Android_boot_image_editor/boot.img" 18:58:16.633 [main] WARN cfig.bootimg.Common - s.srcFile: boot.img, s.dumpFile: /home/nick/Documents/Android_boot_image_editor/build/unzip_boot/kernel, s.offset: 2048, s.length: 18651144 18:58:16.701 [main] INFO KernelExtractor - [aosp/make/tools/extract_kernel.py, --input, /home/nick/Documents/Android_boot_image_editor/build/unzip_boot/kernel, --output-configs, /home/nick/Documents/Android_boot_image_editor/build/unzip_boot/kernel_configs.txt, --output-version, /home/nick/Documents/Android_boot_image_editor/build/unzip_boot/kernel_version.txt] 18:58:16.703 [main] INFO KernelExtractor - kernel version: [4.9.170] 18:58:16.703 [main] INFO KernelExtractor - kernel config dumped to : /home/nick/Documents/Android_boot_image_editor/build/unzip_boot/kernel_configs.txt 18:58:16.799 [main] INFO ZipHelper - decompress(gz) done: /home/nick/Documents/Android_boot_image_editor/build/unzip_boot/ramdisk.img.gz -> /home/nick/Documents/Android_boot_image_editor/build/unzip_boot/ramdisk.img 18:58:16.801 [main] INFO cfig.bootimg.cpio.AndroidCpio - Cleaning /home/nick/Documents/Android_boot_image_editor/build/unzip_boot/root ... 18:58:16.829 [main] WARN cfig.bootimg.cpio.AndroidCpio - root/config has improper file mode 555, fix it 18:58:17.154 [main] INFO cfig.bootimg.cpio.AndroidCpio - cpio trailer found, mode=000001ed 18:58:17.155 [main] INFO cfig.bootimg.Common - ramdisk extracted : /home/nick/Documents/Android_boot_image_editor/build/unzip_boot/ramdisk.img -> /home/nick/Documents/Android_boot_image_editor/build/unzip_boot/root 18:58:17.173 [main] INFO rom.fdt.DTC - Found FDT header: #0 FdtHeader(magic=3490578157, totalsize=119955, offDtStruct=72, offDtStrings=106948, offMemRsvmap=40, version=17, lastCompVersion=16, bootCpuidPhys=0, sizeDtStrings=13007, sizeDtStruct=106876) 18:58:17.174 [main] INFO rom.fdt.DTC - no more FDT header 18:58:17.175 [main] INFO rom.fdt.DTC - Successfully parsed 1 FDT headers from /home/nick/Documents/Android_boot_image_editor/build/unzip_boot/dtb 18:58:17.175 [main] INFO cfig.bootimg.v2.BootV2 - dtb sz = 1 18:58:17.178 [main] INFO rom.fdt.DTC - parsing DTB: /home/nick/Documents/Android_boot_image_editor/build/unzip_boot/dtb.0 18:58:17.185 [main] INFO rom.fdt.DTC - [dtc, -q, -I, dtb, -O, dts, /home/nick/Documents/Android_boot_image_editor/build/unzip_boot/dtb.0, -o, /home/nick/Documents/Android_boot_image_editor/build/unzip_boot/dtb.0.dts] 18:58:17.198 [main] INFO rom.fdt.DTC - [dtc, -q, -I, dts, -O, yaml, /home/nick/Documents/Android_boot_image_editor/build/unzip_boot/dtb.0.dts, -o, /home/nick/Documents/Android_boot_image_editor/build/unzip_boot/dtb.0.dts.yaml] 18:58:17.200 [main] INFO avb.AVBInfo - parseFrom(FILE:boot.img) ... 18:58:17.207 [main] INFO avb.AVBInfo - FILE:boot.img: Glance(footer=Footer(versionMajor=1, versionMinor=0, originalImageSize=25913344, vbMetaOffset=25915392, vbMetaSize=512), vbMetaOffset=25915392).footer 18:58:17.239 [main] INFO avb.AVBInfo - VBMeta: boot.img -> /home/nick/Documents/Android_boot_image_editor/build/unzip_boot/boot.avb.json 18:58:17.289 [main] INFO cfig.Avb - vbmeta blob is unsigned 18:58:17.329 [main] INFO cfig.bootimg.v2.BootV2 - Unpack Summary of boot.img ┌───────────────────────────────────────┬──────────────────────────────────────┐ │What │Where │ └───────────────────────────────────────┴──────────────────────────────────────┘ ┌───────────────────────────────────────┬──────────────────────────────────────┐ │image info │build/unzip_boot/boot.json │ ├───────────────────────────────────────┼──────────────────────────────────────┤ │AVB info [verify fail] │build/unzip_boot/boot.avb.json │ ├───────────────────────────────────────┼──────────────────────────────────────┤ │kernel │build/unzip_boot/kernel │ │\-- version [4.9.170] │build/unzip_boot/kernel_version.txt │ │\-- config │build/unzip_boot/kernel_configs.txt │ ├───────────────────────────────────────┼──────────────────────────────────────┤ │ramdisk │build/unzip_boot/ramdisk.img.gz │ │\-- extracted ramdisk rootfs │build/unzip_boot/root │ ├───────────────────────────────────────┼──────────────────────────────────────┤ │dtb │build/unzip_boot/dtb │ │\-- decompiled dts [1] │build/unzip_boot/dtb.*.dts │ └───────────────────────────────────────┴──────────────────────────────────────┘ 18:58:17.349 [main] WARN cfig.packable.PackableLauncher - 'unpack' sequence completed BUILD SUCCESSFUL in 8s 8 actionable tasks: 1 executed, 7 up-to-date dtb.0.dts
-
@PH Ph Can I have your recovery and super?
-
@PH Ph bootloader -> /dev/block/mmcblk0p1 Maybe this is the boot.bin we are looking for? Try extracting it with Android_boot_image_editor.
-
@Pop AlexI haven't spent a lot of time on GPU acceleration but I know there's a member here who has worked on it. He's using Radxa's GPU drivers. https://github.com/radxa-pkg/aw-drivers-dkms/ https://github.com/chainsx/build/commit/a0527bd977bbe55b13c1f46ec46d0aab4369c798 fengRadxa Engineer "Allwinner has feedback that the browser hardware decoding support is still under development. You can first use GStreamer to play video files encoded in H264, H265, VP9, or AVS formats as a test." https://forum.radxa.com/t/hardware-decoding-for-video-not-enabled-on-a7a/29836/9 There's a new Tina V1.4.8 SDK. In the directory "debian/packages/arm64/chromium" you will find "chromium-browser-gst_120.0.6099.224-5_arm64.deb". Not sure if this is an updated verison of chromium? https://mega.nz/file/sqRG1RaC#TpVwOuZSOoRaSfLDLF60Y0qHAVaViFTMPuZKFQw6m8c.
-
@Sarang He Try these images https://github.com/NickAlilovic/build/releases/tag/20250306
-
@伍翠波 Framebuffer console should work now. https://github.com/NickAlilovic/build/releases/tag/Radxa-a7a-v0.4
-
@PH Ph there is graphics acceleration but not on chromium. If you can still boot android then you can extract your dts. Not sure what's wrong with PhoenixCard. I rarely use it. That's mostly for Android images.
