Jump to content

How to install armbian in h618?


alienxz77b

Recommended Posts

I tried booting with Tanix Tx6 images burned with balenaEtcher-linux-x64.

 

micro sdcard has boot and root partitions

I get nothing black screen on LG TV and clock LED blank.

Do i need to copy dts file or edit file ?

never done this before.

 

Edited by firepower
Link to comment
Share on other sites

Just carefull, balena Etcher cant write compacted file, need big plain img file. It succeed but sure blank screen. Try using rufus. If still blank, need open the box and seek serial console connection (try google for detail) to display error

Edited by L Jumadi
Link to comment
Share on other sites

Belena Etcher Uncompresses the image then writes image then verifies image.

I switched to just clicking on compressed image and use linux default restore image using Disks.

I now try using extracted image and usb image writer.  this does not work

I am using Linux Mint but can also boot win10.

I check out rufus too. i also have many other on my win10 drive.

thanks for your help

update:

using Rufus to burn image to sdcard gives same result black screen on tv and led clock blank

Do i need press any buttons inside box ? 

what should i expect to see if it works ?

 

Checking my ram spec it is DDR3L so will need boot loader "board-h616.tanix_tx6s_lpddr3"

RAM: K4B4G0446D-BYK0 DDR3L-1600 (11-11-11)

https://image.semiconductor.samsung.com/resources/data-sheet/DS_K4B4G0846D_BY_M_Rev1_3-0.pdf

 

I confident my SDCard image is ok and not the issue

I need to learn how to change boot loader

 

 

Edited by firepower
Link to comment
Share on other sites

From what Im read and my Exp no need to press any button..its black because it correctly boot from sdcard but stuck. If it work sure display boot messages on screen then ask for new root password. You need to install serial console cable and give boot error that show there (Im using putty with serial) like my post (I include my sample b4) then from there if like mine its DRAM setting that mismatch.. then need original dtb or dts to seek info there, read this forum from Im ask. Yours may be easier as its original from Tanix where mine is clone

 

Link to comment
Share on other sites

For My own problem with Openvfd I already seek further:

For Newer Kernel (v6.7 especially,forgot alr from which version seems v5) need to substract 1 from arthur config gpio_clk and gpio.dat

For Tanix H6 with fd650 controller like mine need add dtb mod for I2C, still dunno my box needed anot later try2

The one capable to convert GPIO setting from android to vfd.conf is on coreelec with nickname the_coolest but he didn't give the clue how to count it (I only knew sometimes its just simple hex to dec convert)

Still try to study more as I have time

Edited by L Jumadi
detailed explanation
Link to comment
Share on other sites

Srry Im not expert on this, seems DRAM config ok but mmc or sdcard type wrong. As I know using big card sometimes not compatible.. Im using 8 or 16GB card only

Edit: Srry wrong read, but you need to include serial on sun50i-h616-tanix-tx6s-axp313.dtb that error , android boot is for reference only :)

Edited by L Jumadi
Link to comment
Share on other sites

Good Morning everyone.
im still making some tests with the vontar h618 4g 32g in the sdcard.
trying to compile "linux_openvfd" getting this error:
 

Quote

root@transpeed-8k618-t:/linux_openvfd/driver# make -j 4
make -C /lib/modules/`uname -r`/build M=/linux_openvfd/driver ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- modules
make[1]: Entering directory '/usr/src/linux-headers-6.10.9-edge-sunxi64'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (Debian 12.2.0-14) 12.2.0
  You are using:           aarch64-linux-gnu-gcc (Debian 12.2.0-14) 12.2.0
  CC [M]  /linux_openvfd/driver/openvfd_drv.o
/linux_openvfd/driver/openvfd_drv.c:43:7: warning: "CONFIG_AMLOGIC_LEGACY_EARLY_SUSPEND" is not defined, evaluates to 0 [-Wundef]
   43 | #elif CONFIG_AMLOGIC_LEGACY_EARLY_SUSPEND
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/linux_openvfd/driver/openvfd_drv.c: In function ‘register_openvfd_driver’:
/linux_openvfd/driver/openvfd_drv.c:399:75: warning: suggest braces around empty body in an ‘else’ statement [-Wempty-body]
  399 |                 pr_dbg("%s: Succeeded to add openvfd module \n", __func__);
      |                                                                           ^
/linux_openvfd/driver/openvfd_drv.c: In function ‘gpiochip_find’:
/linux_openvfd/driver/openvfd_drv.c:628:39: error: passing argument 2 of ‘gpio_device_find’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  628 |         gdev = gpio_device_find(data, match);
      |                                       ^~~~~
      |                                       |
      |                                       int (*)(struct gpio_chip *, void *)
In file included from ./include/linux/of_gpio.h:14,
                 from /linux_openvfd/driver/openvfd_drv.c:36:
./include/linux/gpio/driver.h:645:39: note: expected ‘int (*)(struct gpio_chip *, const void *)’ but argument is of type ‘int (*)(struct gpio_chip *, void *)’
  645 |                                 int (*match)(struct gpio_chip *gc,
      |                                 ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  646 |                                              const void *data));
      |                                              ~~~~~~~~~~~~~~~~~
/linux_openvfd/driver/openvfd_drv.c:630:26: error: invalid use of undefined type ‘struct gpio_device’
  630 |                 gc = gdev->chip;
      |                          ^~
/linux_openvfd/driver/openvfd_drv.c: At top level:
/linux_openvfd/driver/openvfd_drv.c:668:5: warning: no previous prototype for ‘evaluate_pin’ [-Wmissing-prototypes]
  668 | int evaluate_pin(const char *name, const unsigned int *vfd_arg, struct vfd_pin *pin, unsigned char enable_skip_evaluation)
      |     ^~~~~~~~~~~~
/linux_openvfd/driver/openvfd_drv.c:751:6: warning: no previous prototype for ‘get_pin_from_dt’ [-Wmissing-prototypes]
  751 | void get_pin_from_dt(const char *name, const struct platform_device *pdev, struct vfd_pin *pin)
      |      ^~~~~~~~~~~~~~~
/linux_openvfd/driver/openvfd_drv.c:767:5: warning: no previous prototype for ‘request_pin’ [-Wmissing-prototypes]
  767 | int request_pin(const char *name, struct vfd_pin *pin, unsigned char enable_skip)
      |     ^~~~~~~~~~~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:244: /linux_openvfd/driver/openvfd_drv.o] Error 1
make[2]: *** [/usr/src/linux-headers-6.10.9-edge-sunxi64/Makefile:1936: /linux_openvfd/driver] Error 2
make[1]: *** [Makefile:240: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.10.9-edge-sunxi64'
make: *** [Makefile:5: modules] Error 2
root@transpeed-8k618-t:/linux_openvfd/driver# dmesg | grep gpio
[    1.646701] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    1.655086] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation.
 

 

@L Jumadi maybe this link is useful to you https://github.com/arthur-liberman/linux_openvfd/issues/14
Im already stuck but maybe you make progress. 

Edited by MMorales
Link to comment
Share on other sites

@MMorales Thanks my compiling problem solved by add gpiolib.h (download or copy paste from the link using correct kernel) like in this link:

https://github.com/arthur-liberman/linux_openvfd/issues/24

Its not corrected on the repo as the lib specific for new kernel and arthur code is for coreelec's old kernel

Its success compile after that, then maybe next your problem like mine..will examine your link also tks

Link to comment
Share on other sites

thanks @L Jumadi i could compile cloning from this repository found on your link.  https://github.com/augin/linux_openvfd 

but the led display dont turn on. 
 

 

this is my dbt and the service is loaded but dmesg tell me the address of gpio are not correct.

Quote

/dts-v1/;
/plugin/;
/ {
   fragment@0 {
      target-path = "/";
      __overlay__ {
         openvfd {
                compatible = "open,vfd";
                dev_name = "openvfd";
                openvfd_gpio_clk = <&pio 8 11 0>;
                openvfd_gpio_dat = <&pio 8 12 0>;
                vfd_gpio_chip_name = "0300b000.pinctrl";
                openvfd_chars = [02 01 02 03 04];
                openvfd_dot_bits = [00 01 03 02 04 05 06];
                openvfd_display_type = <0x03 0x00 0x00 0x01>;
                status = "okay";
         };
      };
   };
};

 

Edited by MMorales
Link to comment
Share on other sites

ok i finally got working led display :)

After i burn Armbian-unofficial_24.11.0-trunk_Transpeed-8k618-t_bookworm_edge_6.9.12 image from @Nick A repository and download kernel headers from armbian-config i switch to 6.7.12 kernel to be posible compile the next openvfd package.

compiling from:
https://github.com/augin/linux_openvfd

 

with this dbt file: 

/dts-v1/;
/plugin/;
/ {
   fragment@0 {
      target-path = "/";
      __overlay__ {
         openvfd {
                compatible = "open,vfd";
                dev_name = "openvfd";
                openvfd_gpio_clk = <&pio 8 11 0>;
                openvfd_gpio_dat = <&pio 8 12 0>;
                vfd_gpio_chip_name = "0300b000.pinctrl";
                openvfd_chars = [02 01 02 03 04];
                openvfd_dot_bits = [00 01 03 02 04 05 06];
                openvfd_display_type = <0x03000000>;
                status = "okay";
         };
      };
   };
};

 

Thanks to @L Jumadi for the given info. 
vontar h618 4g 32g fd650s

Edited by MMorales
Link to comment
Share on other sites

i made a little python script for scrolling text.
scroll-min.gif.3c609e2e1216265ea2e865d093c01731.gif

 

import psutil

texto = """THIS IS A VERY LARGE TEXT FOR TESTING SCROLL SCREEN. 0123456789"""
max_caracteres = 4
texto_completo = " "*max_caracteres + texto + " "*max_caracteres
velocidad = 0.2
longitud_texto = len(texto_completo)

def cerrar_proceso(nombre):
    """Cierra el proceso dado su nombre."""
    for proc in psutil.process_iter(['name']):
        if proc.info['name'] == nombre:
            proc.terminate()  # Termina el proceso
            proc.wait()       # Espera a que el proceso termine

while True:
    for i in range(longitud_texto - max_caracteres + 1):
        texto_a_enviar = texto_completo[i:i + max_caracteres]
        cerrar_proceso("OpenVFDService.exe" if os.name == 'nt' else "OpenVFDService")
        proceso = subprocess.Popen(['OpenVFDService', '-s', texto_a_enviar])
        time.sleep(velocidad)

 

Edited by MMorales
Link to comment
Share on other sites

Yes i see that, i deleted my build folder and going to redo from start.

Now i have some idea what to do, hopefully get it right.

 

update: still same error

 

🌱] Building package, this might take a while.. [ linux-u-boot-tanix_tx6s_axp313-edge_2024.01-S866c-Pab8d-Ha9af-V5b56-Bda0a-R448a_arm64.deb ]
[🔨]   dpkg-deb: error: package name has characters that aren't lowercase alphanums or '-+.'

 

compile is doing this it no anything i typed. all my edits are lowercase.

 

and this is from last nights compile

linux-u-boot-tanix_tx6s_axp313-edge_2024.01-S866c-P7589-Ha9af-V5b56-Bda0a-R448a_arm64.deb

 

its from script or compile.

 

search build folder for content S866c-Pab8d-Ha9af-V5b56-Bda0a-R448a

Screenshotfrom2024-09-3012-25-45.thumb.png.4cf320c8677b9b1e7650c46fc5b14be1.png

 

auto.conf

CONFIG_LOCALVERSION="-armbian-2024.01-S866c-Pab8d-Ha9af-V5b56-Bda0a-R448a"

 

looks like generated by armbian

 

🌱] Getting ORAS manifest [ ORAS manifest from ghcr.io/armbian/os/uboot-tanix_tx6s_axp313-edge:2024.01-S866c-Pab8d-Ha9af-V5b56-Bda0a-R448a ]
Error response from registry: failed to fetch the content of "ghcr.io/armbian/os/uboot-tanix_tx6s_axp313-edge:2024.01-S866c-Pab8d-Ha9af-V5b56-Bda0a-R448a": GET "https://ghcr.io/v2/armbian/os/uboot-tanix_tx6s_axp313-edge/manifests/2024.01-S866c-Pab8d-Ha9af-V5b56-Bda0a-R448a": denied: requested access to the resource is denied

 

 

 

 

Edited by firepower
Link to comment
Share on other sites

@MMorales Already inspect what makes my setting not loaded from vfd.conf.. (after long examine open_vfd code) need to give vfd_gpio_chip_name parameter to module load at open_vfd.service. Other box not problem because using standar aobus_bank or gpiochip0 name while our box using 0300b000.pinctrl. Very glad Im find it tough using dts already do the tricks as pin not verified again if using dts

Link to comment
Share on other sites

🌱] Getting sources from Git [ debootstrap-debian-devel master ]
remote: Forbidden, spammer
fatal: unable to access 'https://salsa.debian.org/installer-team/debootstrap.git/': The requested URL returned error: 403
[🌿] Fetching updates from remote repository [ debootstrap-debian-devel master ]
[🔨]   remote: Forbidden, spammer
[🔨]   fatal: unable to access 'https://salsa.debian.org/installer-team/debootstrap.git/': The requested URL returned error: 403
[🚸] improved_git try 1 failed, retrying in 10 seconds [ git fetch --recurse-submodules=no --no-tags https://salsa.debian.org/installer-team/debootstrap.git master ]
[🔨]   remote: Forbidden, spammer

 

Am i a baddy for trying to compile too many times?

 

Link to comment
Share on other sites

I switched to ubuntu noble build as it doesnt let me download debian bookworm.

Latest patch files from @Nick A has compiled successfully.😁 🥳

Thank you very much for you help @Nick A could not have dont it with out you help and knowledge. 😘

 

Armbian-unofficial_24.11.0-trunk_Tanix-tx6s-axp313_noble_edge_6.9.12_cinnamon_desktop.img

 

:D will test tomorrow 1am now. 😴

 

 

 

Edited by firepower
Link to comment
Share on other sites

@MMorales My display already work with your dts right after your success, but I search further why vfd.conf not works.. now It works with vfd.conf so using simple dts without parameter will work also as many dts wrongly said vfd_gpio_clk than openvfd_gpio_clk. Even your vfd_gpio_chip_name in dts still wrong but it fortunately not use in the openvfd code

Link to comment
Share on other sites

My image boots to desktop but no App Menu only have show desktop,file manager, firefox and terminal in Panel.

No Lan, No Wifi, (no BT), All USB ports work

U-Boot SPL 2024.01-armbian-2024.01-S866c-P77f7-Ha9af-V52fc-Bda0a-R448a (Sep 30 2024 - 23:38:12 +0700)
DRAM: 4096 MiB
Trying to boot from MMC1
NOTICE:  BL31: v2.10.2(debug):armbian
NOTICE:  BL31: Built : 23:37:10, Sep 30 2024
NOTICE:  BL31: Detected Allwinner H616 SoC (1823)
NOTICE:  BL31: Found U-Boot DTB at 0x4a0aeb40, model: Tanix TX6s (axp313)
INFO:    ARM GICv2 driver initialized
INFO:    Configuring SPC Controller
INFO:    PMIC: Probing AXP305 on RSB
ERROR:   RSB: set run-time address: 0x10003
INFO:    Could not init RSB: -65539
INFO:    BL31: Platform setup done
INFO:    BL31: Initializing runtime services
INFO:    BL31: cortex_a53: CPU workaround for erratum 855873 was applied
INFO:    BL31: cortex_a53: CPU workaround for erratum 1530924 was applied
INFO:    PSCI: Suspend is unavailable
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x4a000000
INFO:    SPSR = 0x3c9
INFO:    Changed devicetree.
ns16550_serial serial@5000000: pinctrl_select_state_full: uclass_get_device_by_phandle_id: err=-19


U-Boot 2024.01-armbian-2024.01-S866c-P77f7-Ha9af-V52fc-Bda0a-R448a (Sep 30 2024 - 23:38:12 +0700) Allwinner Technology

CPU:   Allwinner H616 (SUN50I)
Model: Tanix TX6s (axp313)
DRAM:  4 GiB
Core:  55 devices, 20 uclasses, devicetree: separate
WDT:   Not starting watchdog@30090a0
MMC:   mmc@4020000: 0, mmc@4021000: 3, mmc@4022000: 1
Loading Environment from FAT... Unable to use mmc 0:1...
In:    serial@5000000
Out:   serial@5000000
Err:   serial@5000000
No USB device found
Net:   apply fix for AC300 ephy bb version bug ...
using AC300 emac1 ephy default config ...
eth0: ethernet@5030000
starting USB...
No working controllers found
Autoboot in 1 seconds, press <Space> to stop
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
3245 bytes read in 4 ms (792 KiB/s)
## Executing script at 4fc00000
U-boot loaded from SD
Boot script loaded from mmc
204 bytes read in 7 ms (28.3 KiB/s)
37032 bytes read in 12 ms (2.9 MiB/s)
Working FDT set to 4fa00000
Failed to load '/boot/dtb/allwinner/overlay/sun50i-h616-fixup.scr'
18045081 bytes read in 748 ms (23 MiB/s)
23918600 bytes read in 992 ms (23 MiB/s)
Moving Image from 0x40080000 to 0x40200000, end=41970000
## Loading init Ramdisk from Legacy Image at 4ff00000 ...
   Image Name:   uInitrd
   Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
   Data Size:    18045017 Bytes = 17.2 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 4fa00000
   Booting using the fdt blob at 0x4fa00000
Working FDT set to 4fa00000
   Loading Ramdisk to 48eca000, end 49fff859 ... OK
   Loading Device Tree to 0000000048e58000, end 0000000048ec9fff ... OK
Working FDT set to 48e58000

Starting kernel ...


Armbian-unofficial 24.11.0-trunk Noble ttyS0

tanix-tx6s-axp313 login:

 

Edited by firepower
Link to comment
Share on other sites

hello again. I made some progress with my new trasnpeed h618 4g 64gb. wifi, lan, led display working from internal memory but....
when i switch off the machine directly or do a "halt" to shutdown completely , next time i want to boot the transpeed is not booting. :(
After some research i found what if i reboot with an sdcard and do this:
 

1) Set fsck to scan on every boot:
tune2fs -c 1 /dev/mmcblk0p1

2) Add bellow line to `/boot/armbianEnv.txt`
extraargs=fsck.mode=force fsck.repair=yes


After that, each time i boot first of all the system checks the mmc and the problem is fixed but if i shutdown again quiting the cable or doing a "halt" the problem persists.
Any ideas ? thanks

Link to comment
Share on other sites

I answer to myself: kernel 6.10.9-edge-sunxi64 does not have that problem, i can restart in any way. quit cable, halt, and it alwais starting again... so im happy with that. 

I had some problems to compile the openvfd in that kernel and i did some changes in openvfd_drv.c, after that i could compile and led display is working in 6.10.9. I attach the modified openvfd_drv.c here. openvfd_drv.c

 

i did my own service using this script scroll.py now, when i write some text in /tmp/vfd.txt it will display in my led screen.

 

but....

the hdmi does not work, i could advance using the serial port until i connect via wifi because the ethernet port is not working neither.

Edited by MMorales
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines