Rodrigo Campos Posted May 18 Posted May 18 On 5/10/2025 at 8:29 PM, Nick A said: You could use this tool to extract your dram settings from an android update or boot0.bin. https://github.com/apritzel/sunxi-fw sunxi-fw info -v boot0.bin Hi @Nick A, I really need your help to understand the way to change the 171-add-x98h-defconfig.patch. Firstly, I extracted the DRAM parameters, but there are 15 of them: DRAM parameters, DRAM parameters 1, ... DRAM parameters E. Some of them have distinct parameters. The first of then (DRAM parameters) have the very identical parameters as yours, only differ in the same parameters, that isn't in patch file like TPR13, but I don't know if it matters. So I tried using the DRAM parameters 1, which is the most different, with clock 600 instead of 648 and almost all parameters different, but it works the same way with the same 2GB of RAM. I think this is strange, because with so many differences, I expected the image would not work. Do you have any tips for giving me? My extracted parameters: ./sunxi-fw info -v ./image4.img @ 0: wty: PhoenixSuite image file header v3.0, 45 images, 1859 MB wty:sys_config.fex : 34908 bytes @ +0x000000b800 wty:board.fex : 1024 bytes @ +0x0000014400 wty:config.fex : 53248 bytes @ +0x0000014800 wty:split_xxxx.fex : 512 bytes @ +0x0000021800 wty:sys_partition.fex : 5601 bytes @ +0x0000021c00 wty:sunxi.fex : 71680 bytes @ +0x0000023400 wty:boot0_nand.fex : 61440 bytes @ +0x0000034c00 wty:boot0_sdcard.fex : 61440 bytes @ +0x0000043c00 wty:u-boot.fex : 917504 bytes @ +0x0000052c00 wty:u-boot-crash.fex : 37 bytes @ +0x0000132c00 wty:toc1.fex : 8 bytes @ +0x0000133000 wty:toc0.fex : 8 bytes @ +0x0000133400 wty:fes1.fex : 40160 bytes @ +0x0000133800 wty:boot_package.fex : 1294336 bytes @ +0x000013d800 wty:usbtool.fex : 154624 bytes @ +0x0000279800 wty:usbtool_crash.fex : 621056 bytes @ +0x000029f400 wty:aultools.fex : 166515 bytes @ +0x0000337000 wty:aultls32.fex : 152069 bytes @ +0x000035fc00 wty:cardtool.fex : 73728 bytes @ +0x0000385000 wty:cardscript.fex : 1899 bytes @ +0x0000397000 wty:sunxi_gpt.fex : 8192 bytes @ +0x0000397800 wty:sunxi_mbr.fex : 65536 bytes @ +0x0000399800 wty:dlinfo.fex : 16384 bytes @ +0x00003a9800 wty:arisc.fex : 6 bytes @ +0x00003ad800 wty:vmlinux.fex : 12444168 bytes @ +0x00003adc00 wty:boot-resource.fex : 7490560 bytes @ +0x0000f8c000 wty:Vboot-resource.fex : 4 bytes @ +0x00016b0c00 wty:env.fex : 131072 bytes @ +0x00016b1000 wty:Venv.fex : 4 bytes @ +0x00016d1000 wty:boot.fex : 67108864 bytes @ +0x00016d1400 wty:Vboot.fex : 4 bytes @ +0x00056d1400 wty:vendor_boot.fex : 33554432 bytes @ +0x00056d1800 wty:Vvendor_boot.fex : 4 bytes @ +0x00076d1800 wty:super.fex : 1806382676 bytes @ +0x00076d1c00 wty:Vsuper.fex : 4 bytes @ +0x0073185400 wty:misc.fex : 16777216 bytes @ +0x0073185800 wty:Vmisc.fex : 4 bytes @ +0x0074185800 wty:vbmeta.fex : 8192 bytes @ +0x0074185c00 wty:Vvbmeta.fex : 4 bytes @ +0x0074187c00 wty:vbmeta_system.fex : 4096 bytes @ +0x0074188000 wty:Vvbmeta_system.fex : 4 bytes @ +0x0074189000 wty:vbmeta_vendor.fex : 4096 bytes @ +0x0074189400 wty:Vvbmeta_vendor.fex : 4 bytes @ +0x007418a400 wty:dtbo.fex : 2097152 bytes @ +0x007418a800 wty:Vdtbo.fex : 4 bytes @ +0x007438a800 @ 542: boot0: Allwinner boot0 size: 61440 bytes eGON checksum matches: 0x505a301a DRAM parameters: A64 H616 A133 DRAM clock : 648 648 648 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1f12 0x1f12 PARA0 : - - 0x1 PARA1 : 0x1f12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0001002 0 TPR2 : 0 0 0xc0001002 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f1107 0x2f1107 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0001002 0xeddc7665 0xeddc7665 TPR13 : 0 0x40 0x40 DRAM parameters 1: A64 H616 A133 DRAM clock : 600 600 600 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c1a 0x1c1a PARA0 : - - 0x1 PARA1 : 0x1c1a 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc000130a 0 TPR2 : 0 0 0xc000130a TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc000130a 0xeddc6554 0xeddc6554 TPR13 : 0 0x40 0x40 DRAM parameters 2: A64 H616 A133 DRAM clock : 648 648 648 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c12 0x1c12 PARA0 : - - 0x1 PARA1 : 0x1c12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0000a05 0 TPR2 : 0 0 0xc0000a05 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0000a05 0xeddc7564 0xeddc7564 TPR13 : 0 0x40 0x40 DRAM parameters 3: A64 H616 A133 DRAM clock : 648 648 648 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c12 0x1c12 PARA0 : - - 0x1 PARA1 : 0x1c12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0000a05 0 TPR2 : 0 0 0xc0000a05 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0000a05 0xeddc7564 0xeddc7564 TPR13 : 0 0x40 0x40 DRAM parameters 4: A64 H616 A133 DRAM clock : 648 648 648 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c12 0x1c12 PARA0 : - - 0x1 PARA1 : 0x1c12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0000a05 0 TPR2 : 0 0 0xc0000a05 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0000a05 0xeddc7564 0xeddc7564 TPR13 : 0 0x40 0x40 DRAM parameters 5: A64 H616 A133 DRAM clock : 648 648 648 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c12 0x1c12 PARA0 : - - 0x1 PARA1 : 0x1c12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0000a05 0 TPR2 : 0 0 0xc0000a05 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0000a05 0xeddc7564 0xeddc7564 TPR13 : 0 0x40 0x40 DRAM parameters 6: A64 H616 A133 DRAM clock : 648 648 648 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c12 0x1c12 PARA0 : - - 0x1 PARA1 : 0x1c12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0000a05 0 TPR2 : 0 0 0xc0000a05 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0000a05 0xeddc7564 0xeddc7564 TPR13 : 0 0x40 0x40 DRAM parameters 7: A64 H616 A133 DRAM clock : 648 648 648 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c12 0x1c12 PARA0 : - - 0x1 PARA1 : 0x1c12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0000a05 0 TPR2 : 0 0 0xc0000a05 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0000a05 0xeddc7564 0xeddc7564 TPR13 : 0 0x40 0x40 DRAM parameters 8: A64 H616 A133 DRAM clock : 648 648 648 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c12 0x1c12 PARA0 : - - 0x1 PARA1 : 0x1c12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0000a05 0 TPR2 : 0 0 0xc0000a05 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0000a05 0xeddc7564 0xeddc7564 TPR13 : 0 0x40 0x40 DRAM parameters 9: A64 H616 A133 DRAM clock : 648 648 648 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c12 0x1c12 PARA0 : - - 0x1 PARA1 : 0x1c12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0000a05 0 TPR2 : 0 0 0xc0000a05 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0000a05 0xeddc7564 0xeddc7564 TPR13 : 0 0x40 0x40 DRAM parameters A: A64 H616 A133 DRAM clock : 648 648 648 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c12 0x1c12 PARA0 : - - 0x1 PARA1 : 0x1c12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0000a05 0 TPR2 : 0 0 0xc0000a05 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0000a05 0xeddc7564 0xeddc7564 TPR13 : 0 0x40 0x40 DRAM parameters B: A64 H616 A133 DRAM clock : 648 648 648 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c12 0x1c12 PARA0 : - - 0x1 PARA1 : 0x1c12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0000a05 0 TPR2 : 0 0 0xc0000a05 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0000a05 0xeddc7564 0xeddc7564 TPR13 : 0 0x40 0x40 DRAM parameters C: A64 H616 A133 DRAM clock : 648 648 648 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c12 0x1c12 PARA0 : - - 0x1 PARA1 : 0x1c12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0000a05 0 TPR2 : 0 0 0xc0000a05 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0000a05 0xeddc7564 0xeddc7564 TPR13 : 0 0x40 0x40 DRAM parameters D: A64 H616 A133 DRAM clock : 648 648 648 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c12 0x1c12 PARA0 : - - 0x1 PARA1 : 0x1c12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0000a05 0 TPR2 : 0 0 0xc0000a05 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0000a05 0xeddc7564 0xeddc7564 TPR13 : 0 0x40 0x40 DRAM parameters E: A64 H616 A133 DRAM clock : 648 648 648 DRAM type : 0x3 0x3 0x3 ZQ value : 0x3030303 - - ODT enabled : 0xe0e0e0e 0x1 - DX ODT : - 0x3030303 0x3030303 DX DRI : - 0xe0e0e0e 0xe0e0e0e CA DRI : - 0x1c12 0x1c12 PARA0 : - - 0x1 PARA1 : 0x1c12 0x30fb 0x30fb PARA2 : 0x1 0 0 MR0 : 0x30fb 0x840 0x840 MR1 : 0 0x4 0x4 MR2 : 0x840 0x8 0x8 MR3 : 0x4 0 0 TPR0 : 0x8 0xc0000a05 0 TPR2 : 0 0 0xc0000a05 TPR6 : 0 0x33808080 0x33808080 TPR10 : 0 0x2f0006 0x2f0006 TPR11 : 0 0xddddcccc 0xddddcccc TPR12 : 0xc0000a05 0xeddc7564 0xeddc7564 TPR13 : 0 0x40 0x40 0 Quote
Nick A Posted May 18 Posted May 18 (edited) I think the only difference with x98h is the emmc gpio #. So it should boot but not off of emmc. Unless x98h has the correct value. I'm not sure if this will fix your problem because it's the kernel not detecting your dram. I don't know why. You can ask for help in this IRC channel. https://oftc.catirclogs.org/linux-sunxi/2025-05-18 You can find the dram config options here. I don't see TPR13 as an option so you can leave that out. https://elixir.bootlin.com/u-boot/v2025.07-rc2/source/arch/arm/mach-sunxi/Kconfig if DRAM_SUN50I_H616 config DRAM_SUNXI_DX_ODT hex "DRAM DX ODT parameter" help DX ODT value from vendor DRAM settings. config DRAM_SUNXI_DX_DRI hex "DRAM DX DRI parameter" help DX DRI value from vendor DRAM settings. config DRAM_SUNXI_CA_DRI hex "DRAM CA DRI parameter" help CA DRI value from vendor DRAM settings. config DRAM_SUNXI_ODT_EN hex "DRAM ODT EN parameter" default 0x1 help ODT EN value from vendor DRAM settings. config DRAM_SUNXI_TPR0 hex "DRAM TPR0 parameter" default 0x0 help TPR0 value from vendor DRAM settings. config DRAM_SUNXI_TPR2 hex "DRAM TPR2 parameter" default 0x0 help TPR2 value from vendor DRAM settings. config DRAM_SUNXI_TPR6 hex "DRAM TPR6 parameter" default 0x3300c080 help TPR6 value from vendor DRAM settings. config DRAM_SUNXI_TPR10 hex "DRAM TPR10 parameter" help TPR10 value from vendor DRAM settings. It tells which features should be configured, like write leveling, read calibration, etc. config DRAM_SUNXI_TPR11 hex "DRAM TPR11 parameter" default 0x0 help TPR11 value from vendor DRAM settings. config DRAM_SUNXI_TPR12 hex "DRAM TPR12 parameter" default 0x0 help TPR12 value from vendor DRAM settings. Edited May 18 by Nick A 0 Quote
Алексей Торопов Posted May 19 Posted May 19 20 часов назад, Nick A сказал: You need to add the module config to the kernel configuration file and compile a new image. Edit the kernel configuration file manually. Thank you, I tried. But this is not my level, it is too difficult for me. I'll probably wait for your next release. 0 Quote
Алексей Торопов Posted June 10 Posted June 10 klipper@transpeed-8k618-t:~/8821au-20210708$ sudo modprobe 8812au modprobe: ERROR: could not insert '8812au': Unknown symbol in module, or unknown parameter (see dmesg) klipper@transpeed-8k618-t:~/8821au-20210708$ sudo dmesg | grep 8812 [ 7.950162] module 8812au: .gnu.linkonce.this_module section size must match the kernel's built struct module size at run time klipper@transpeed-8k618-t:~/8821au-20210708$ dkms status rtl8812au/5.13.6-23, 6.12.11-edge-sunxi64, aarch64: installed rtl8821au/5.12.5.2, 6.12.11-edge-sunxi64, aarch64: installed I've compile a new image with MT7601U, it works. What should I do for rtl8812 to work? 0 Quote
robertoj Posted June 11 Posted June 11 Was this 8812au.ko in the lib/modules folder originally, or did you copy it from somewhere else? 0 Quote
Алексей Торопов Posted June 11 Posted June 11 1 час назад, robertoj сказал: Was this 8812au.ko in the lib/modules folder originally, or did you copy From https://github.com/morrownr/8821au-20210708 0 Quote
robertoj Posted June 11 Posted June 11 That github page tells you that the in-kernel driver is better than morrownr's driver. Have you tried that first? Search for rtw88 in the /lib/modules folder Try rebuilding armbian, find rtw88 or 8812au in the linux configuration menu and activate them. 0 Quote
Nick A Posted June 12 Posted June 12 @svyatoslav freeze the kernel updates using the armbian-config tool. 0 Quote
Алексей Торопов Posted June 12 Posted June 12 12.06.2025 в 00:12, robertoj сказал: Try rebuilding armbian, find rtw88 or 8812au in the linux configuration menu and activate them. This is 88XXAU in the config. Yes, this driver allows you to see the device as a network device, the adapter gets a new interface name wlx<macaddress>, but it cannot connect to the network and does not receive a list of available networks. 0 Quote
robertoj Posted June 13 Posted June 13 I don't know what else to do... I usually research and learn on the go Search the 88xxau.c in your downloaded linux source. Try to find any link to documentation or github. Search 8812au in the respberry pi forum 0 Quote
Алексей Торопов Posted June 17 Posted June 17 07.05.2024 в 21:00, Владимир Владимиров сказал: WIFI started working when using the brcmfmac4334-sdio.bin driver and file brcmfmac4334-sdio.txt What about the speed? iperf3 report about 55-58 Mbits/sec 0 Quote
svyatoslav Posted Wednesday at 12:08 PM Posted Wednesday at 12:08 PM (edited) Share the image of your assembly, preferably server-side. Edited Wednesday at 12:12 PM by svyatoslav 0 Quote
KrzyPacu Posted yesterday at 12:47 PM Posted yesterday at 12:47 PM On 10/3/2024 at 3:59 PM, MMorales said: First go to armbian-config to change some kernel with has his own headers available like 6.10.9 (i had problem with rebooting with 6.7.12) configure an internet connection unpack the attached file to root dir / cd /linux_openvfd cp openvfd.dts /boot/dtb/allwinner/overlay/ armbian-add-overlay /boot/dtb/allwinner/overlay/openvfd.dts reboot ln -sf /boot/System.map-$(uname -r) /lib/modules/$(uname -r)/build/System.map cd cd /linux_openvfd/driver make -j 4 depmod -a make modules_install modprobe openvfd cd .. chmod +x OpenVFDService cp OpenVFDService /usr/sbin/ cp openvfd.service /etc/systemd/system/openvfd.service #apt install python3-psutil systemctl enable openvfd.service systemctl start openvfd.service After this, openvfd is working but if you want my scroll.py as a service uncomment in openvfd.service and comment the existing one. #ExecStart=/bin/sh -c '[ `cat /proc/device-tree/openvfd/compatible` = "open,vfd" ] && /sbin/modprobe openvfd; python3 /linux_openvfd/scroll.py' Correct openvfd.dts, some compiling fixes and extra glyphs for cool animations added to this file. linux_openvfd.zip 836.67 kB · 85 downloads # make -j 4 make -C /lib/modules/6.12.33-current-meson64/build M=/home/INSTALKI/linux_openvfd/driver modules make[1]: Enter the directory '/usr/src/linux-headers-6.12.33-current-meson64' CC [M] /home/INSTALKI/linux_openvfd/driver/protocols/i2c_sw.o CC [M] /home/INSTALKI/linux_openvfd/driver/protocols/i2c_hw.o CC [M] /home/INSTALKI/linux_openvfd/driver/protocols/spi_sw.o CC [M] /home/INSTALKI/linux_openvfd/driver/controllers/dummy.o CC [M] /home/INSTALKI/linux_openvfd/driver/controllers/seg7_ctrl.o /home/INSTALKI/linux_openvfd/driver/controllers/seg7_ctrl.c:11:6: warning: no previous prototype for ‘transpose8rS64’ [-Wmissing-prototypes] 11 | void transpose8rS64(unsigned char* A, unsigned char* B) { | ^~~~~~~~~~~~~~ /home/INSTALKI/linux_openvfd/driver/controllers/seg7_ctrl.c:40:8: warning: no previous prototype for ‘seg7_write_display_data’ [-Wmissing-prototypes] 40 | size_t seg7_write_display_data(const struct vfd_display_data *data, unsigned short *raw_wdata, size_t sz) | ^~~~~~~~~~~~~~~~~~~~~~~ CC [M] /home/INSTALKI/linux_openvfd/driver/controllers/fd628.o CC [M] /home/INSTALKI/linux_openvfd/driver/controllers/fd650.o CC [M] /home/INSTALKI/linux_openvfd/driver/controllers/hd44780.o CC [M] /home/INSTALKI/linux_openvfd/driver/controllers/gfx_mono_ctrl.o CC [M] /home/INSTALKI/linux_openvfd/driver/controllers/ssd1306.o CC [M] /home/INSTALKI/linux_openvfd/driver/controllers/pcd8544.o /home/INSTALKI/linux_openvfd/driver/controllers/gfx_mono_ctrl.c:239:6: warning: no previous prototype for ‘transpose_buffer’ [-Wmissing-prototypes] 239 | void transpose_buffer(unsigned char *buffer, const struct rect *rect) | ^~~~~~~~~~~~~~~~ CC [M] /home/INSTALKI/linux_openvfd/driver/controllers/il3829.o CC [M] /home/INSTALKI/linux_openvfd/driver/openvfd_drv.o /home/INSTALKI/linux_openvfd/driver/openvfd_drv.c:44:7: warning: "CONFIG_AMLOGIC_LEGACY_EARLY_SUSPEND" is not defined, evaluates to 0 [-Wundef] 44 | #elif CONFIG_AMLOGIC_LEGACY_EARLY_SUSPEND | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/INSTALKI/linux_openvfd/driver/openvfd_drv.c: In function ‘register_openvfd_driver’: /home/INSTALKI/linux_openvfd/driver/openvfd_drv.c:400:75: warning: suggest braces around empty body in an ‘else’ statement [-Wempty-body] 400 | pr_dbg("%s: Succeeded to add openvfd module \n", __func__); | ^ /home/INSTALKI/linux_openvfd/driver/openvfd_drv.c: At top level: /home/INSTALKI/linux_openvfd/driver/openvfd_drv.c:622:19: warning: no previous prototype for ‘gpiochip_find’ [-Wmissing-prototypes] 622 | struct gpio_chip *gpiochip_find(void *data, | ^~~~~~~~~~~~~ /home/INSTALKI/linux_openvfd/driver/openvfd_drv.c:669:5: warning: no previous prototype for ‘evaluate_pin’ [-Wmissing-prototypes] 669 | int evaluate_pin(const char *name, const unsigned int *vfd_arg, struct vfd_pin *pin, unsigned char enable_skip_evaluation) | ^~~~~~~~~~~~ /home/INSTALKI/linux_openvfd/driver/openvfd_drv.c:752:6: warning: no previous prototype for ‘get_pin_from_dt’ [-Wmissing-prototypes] 752 | void get_pin_from_dt(const char *name, const struct platform_device *pdev, struct vfd_pin *pin) | ^~~~~~~~~~~~~~~ /home/INSTALKI/linux_openvfd/driver/openvfd_drv.c:763:5: warning: no previous prototype for ‘request_pin’ [-Wmissing-prototypes] 763 | int request_pin(const char *name, struct vfd_pin *pin, unsigned char enable_skip) | ^~~~~~~~~~~ /home/INSTALKI/linux_openvfd/driver/openvfd_drv.c:1034:19: error: initialization of ‘void (*)(struct platform_device *)’ from incompatible pointer type ‘int (*)(struct platform_device *)’ [-Werror=incompatible-pointer-types] 1034 | .remove = openvfd_driver_remove, | ^~~~~~~~~~~~~~~~~~~~~ /home/INSTALKI/linux_openvfd/driver/openvfd_drv.c:1034:19: note: (near initialization for ‘openvfd_driver.<anonymous>.remove’) /home/INSTALKI/linux_openvfd/driver/openvfd_drv.c: In function ‘print_param_debug’: /home/INSTALKI/linux_openvfd/driver/openvfd_drv.c:611:1: warning: the frame size of 1040 bytes is larger than 1024 bytes [-Wframe-larger-than=] 611 | } | ^ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:229: /home/INSTALKI/linux_openvfd/driver/openvfd_drv.o] Error 1 make[2]: *** [/usr/src/linux-headers-6.12.33-current-meson64/Makefile:1945: /home/INSTALKI/linux_openvfd/driver] Error 2 make[1]: *** [Makefile:224: __sub-make] Error 2 make[1]: Leaving the directory '/usr/src/linux-headers-6.12.33-current-meson64' make: *** [Makefile:5: modules] Error 2 I'm trying to compile the "openvfd" driver but the compilation ends with an error. I'm a complete noob at these things and I really want this driver so I'd be very grateful for any help. 0 Quote
c0rnelius Posted 21 hours ago Posted 21 hours ago As far as I know openvfd needs to be re-worked to support 6.12.y and up. EDIT: I stand corrected. I found a working patch at unifreq. It needs to be patched against the source-tree. 0001-drv-auxdisplay-Add-openvfd-driver.patch 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.