Jump to content

How to install armbian in h618?


alienxz77b

Recommended Posts

Armbian & Khadas are rewarding contributors

@MMorales I maybe have same problem but not aware as I just unplug adaptor to switch off, and when stuck just replug then its normal boot.. so I guess it only happen intermittently and because some of electronic component not warmed up :)

Edited by L Jumadi
Link to comment
Share on other sites

I got wifi working by making link > file in /lib/firmware/brcm

brcmfmac4330-sdio.tanix,tx6s.bin > brcmfmac4330-sdio.bin

brcmfmac4330-sdio.tanix,tx6s.txt > brcmfmac-ap6330-sdio.txt

Also have Cinnamon Desktop/Menu now working after purge and reinstall of cinnamon.

 

Still need to get BlueTooth and Ethernet working.

 

Thanks @Nick A

Edited by firepower
Link to comment
Share on other sites

Tested in Transpeed 8k H618 4g 64g & Vontar 6k h618  4g 32g


@Nick A As we talk, here are the final "howto" to make it working leds display with openvfd. If you find any problem tell me.

 

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
 

 

@Nick A Please let me know if you make a new release with kernel 6.9.12 with this working cos now i made my server but no hdmi and no ethernet in 6.10. 

 

Edited by MMorales
Link to comment
Share on other sites

@Nick A This is a compiled version of OpenVFDService for controlling the brightness.

Usage: OpenVFDService [-t] [-dt TYPE] [-h]

	-s USER_STRING	Run OpenVFDService in custom string mode.
			Displays the USER_STRING on the screen.
	-ss SECONDARY_USER_STRING	Display a smaller secondary string
			in addtion to USER_STRING.
	-b Brightness [0-7]                       <-----------------------------
	-t		Run OpenVFDService in display test mode.
	-dm		Run OpenVFDService in display demo mode.
	-dt N		Specifies which display type to use.
	-co N...	< D HH:MM > Order of display chars.
			Valid values are 0 - 6.
			(D=dots, represented by a single char)
	-h		This text.

 

OpenVFDService_with_Brightness_control.zip

Edited by MMorales
Link to comment
Share on other sites

I started following you instructions for openvfd.  clone git and changed the kernel and reboot. but i dont have ethernet and it kept trying to connect and time out.

ended up reloading image on SDCARD.  lol

 

think i found the reason why cinnamon fails to load menu.

cinnamon app does not exist zero size.  xfce4-about.desktop

think i will reload image again and work out exactley th problem with cinnamon

 

Edited by firepower
Link to comment
Share on other sites

starting from git clone https://github.com/augin/linux_openvfd

 

i did this.  it not problem i was just testing , my image is still not fully working so just playing around with it trying to learn  more about armbian.

but breaking it has given more info about cinnamon problem which i want to fix. as first fix was more by brute force purge and reinstall cinnamon

which is not needed but uninstal and reinstall menu applet.

I need to check android DTS and compare with my Armbian DTS , think some gpio / uarts  need fixing for ethernet and Bluettoth

but im noob so lots to learn.

Also need faster SD card as one i have are slow.

I gone back to testing miniarch image also,  and ethernet does work with it.

 

Edited by firepower
Link to comment
Share on other sites

For Transpeed 8k  in order to make your IR remote to work with Armbian  (it may works and with other H618 boxes, but i test it only on Transpeed 8k)

 

do the following steps:

1> sudo apt-get install ir-keytable

2> copy the attached file transpeed-8k.toml to /etc/rc_keymaps/protocols/

 

3>  add the following line to your /etc/rc.local

     ir-keytable -p NEC -w /etc/rc_keymaps/protocols/transpeed-8k.toml

 

It works with mpv / vlc /celluloid.

 

Note: you can add any remote you have to your box by playing with ir-keytable is a very useful tool.

 

IMG_20241009_174826.jpg

transpeed-8k.toml

Link to comment
Share on other sites

For the Bluetooth :      (my tv box is Transpeed 8k)

I compile @Nick A  gihub trunk with   6.7.12 kernel.

I am still looking for a solution for Bluetooth.


My dmesg shows :

[   17.147966] Bluetooth: RFCOMM TTY layer initialized
[   17.148004] Bluetooth: RFCOMM socket layer initialized
[   17.148113] Bluetooth: RFCOMM ver 1.11
[   19.176140] Bluetooth: hci0: command 0x0c24 tx timeout
[   19.176239] Bluetooth: hci0: Opcode 0x0c24 failed: -110
[   21.188126] Bluetooth: hci0: Opcode 0x0c24 failed: -110
[   21.188163] Bluetooth: hci0: command 0x0c24 tx timeout

[   23.202926] Bluetooth: hci0: Opcode 0x0c24 failed: -110
[   23.203000] Bluetooth: hci0: command 0x0c24 tx timeout
[   25.218922] Bluetooth: hci0: command 0x0c24 tx timeout
[   25.218925] Bluetooth: hci0: Opcode 0x0c24 failed: -110
[   37.187145] Bluetooth: hci0: command 0x0c24 tx timeout
[   37.187148] Bluetooth: hci0: Opcode 0x0c24 failed: -110
[   39.203189] Bluetooth: hci0: command 0x0c24 tx timeout
[   39.203190] Bluetooth: hci0: Opcode 0x0c24 failed: -110


Also kernel asks for an additional firmware blob file:  (but i can't find it)

[    6.169613] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac4334-sdio.clm_blob failed with error -2


I already have place theese 2 files from (https://github.com/LibreELEC/brcmfmac_sdio-firmware) on my /lib/firmware and wifi seems to work (wlan0 is active) .

brcmfmac4334-sdio.bin

brcmfmac4334-sdio.txt

as

-rw-r--r-- 1 rafman rafman 398010 Oct  9 19:09 brcmfmac4334-sdio.transpeed,8k618-t.bin
-rw-r--r-- 1 rafman rafman   2404 Oct  9 19:10 brcmfmac4334-sdio.txt


My chip is this wifi-bt.jpg.1b596daf9b5a3a99091d0010a1fd0e1a.jpg


PS:

@MMorales An other problem that i had, is when i switched to other kernel (like 6.10.9) from armbian-config or from command line,  the system breaks and does not boot at all on next reboot.

     After that i found kernel headers for 6.7.12 here:  https://mirrors.dotsrc.org/armbian-apt/pool/main/l/linux-headers-edge-sunxi64/linux-headers-edge-sunxi64_24.5.1_arm64__6.7.12-Sdacf-D440d-Pfa2b-Cdb7aH5c21-HK01ba-Vc222-Bf15a-R448a.deb and i was able to compile openvfd (with a small modification of openvfd_drv.c   --> :629:35 by place a cast to (void *)

NOW i can see the time on my Transpped LCD screen and  i am testing further the driver.

IMG_20241010_164334.jpg

Link to comment
Share on other sites

@rafman I had the same problem as you installing 6.10.9 but really its works, the problem is the hdmi is not working. so its boots but you only can see it if you connect it by serial.
Anyware @Nick A deployed a new image wich works with 6.10.9. I tested today and hdmi and network works but we have to do the known tricks to enable wifi and the rest of the things.
https://github.com/NickAlilovic/build/releases/tag/20241007 here you can download it and its headers are available too. Its fresh :D

For other side... i want to enable sensors too.

Looking on the android dts i can found this but i dont know very well how to make an overlay and make sensors work.
 

    thermal-zones {
        cpu_thermal_zone {
            polling-delay-passive = <0x1F4>;
            polling-delay = <0x3E8>;
            thermal-sensors = <0x73 0x2>;
            sustainable-power = <0x39F>;
            trips {
                phandle = <0xD4>;
                trip-point@0 {
                    temperature = <0x11170>;
                    type = "passive";
                    hysteresis = <0x0>;
                    phandle = <0xD5>;
                };
                trip-point@1 {
                    temperature = <0x15F90>;
                    type = "passive";
                    hysteresis = <0x0>;
                    phandle = <0x74>;
                };
                cpu_crit@0 {
                    temperature = <0x1C138>;
                    type = "critical";
                    hysteresis = <0x0>;
                    phandle = <0xD6>;
                };
            };
            cooling-maps {
                map0 {
                    trip = <0x74>;
                    cooling-device = <0x75 0xFFFFFFFF 0xFFFFFFFF>;
                    contribution = <0x400>;
                };
                map1 {
                    trip = <0x74>;
                    cooling-device = <0x76 0xFFFFFFFF 0xFFFFFFFF>;
                    contribution = <0x400>;
                };
            };
        };
        ddr_thermal_zone {
            polling-delay-passive = <0x0>;
            polling-delay = <0x0>;
            thermal-sensors = <0x73 0x3>;
        };
        gpu_thermal_zone {
            polling-delay-passive = <0x1F4>;
            polling-delay = <0x3E8>;
            thermal-sensors = <0x73 0x0>;
            sustainable-power = <0x44C>;
        };
        ve_thermal_zone {
            polling-delay-passive = <0x0>;
            polling-delay = <0x0>;
            thermal-sensors = <0x73 0x1>;
        };
    };

 

 

And for bluetooth in the same dts file i can see this.
 

            bt {
                compatible = "allwinner,sunxi-bt";
                clocks = <0xE 0x4>;
                clock-names = "osc32k-out";
                bt_power;
                bt_rst_n = <0x23 0x6 0x13 0x1>;
                phandle = <0xCF>;
            };
               
/******/                         
                  
        addr_mgt {
            compatible = "allwinner,sunxi-addr_mgt";
            status = "okay";
            type_addr_wifi = <0x0>;
            type_addr_bt = <0x0>;
            type_addr_eth = <0x0>;
            phandle = <0xD0>;
        };
        btlpm {
            compatible = "allwinner,sunxi-btlpm";
            status = "okay";
            uart_index = <0x1>;
            bt_wake = <0x23 0x6 0x11 0x0>;
            bt_hostwake = <0x23 0x6 0x10 0x0>;
            wakeup-source;
            phandle = <0xD1>;
        };

 

Edited by MMorales
Link to comment
Share on other sites

@MMorales With my Compiled version of @Nick A  github trunk with   6.7.12 kernel. 

I don't have problems except (Bluetooth).

 

WiFi works and connects to my router.

CPU Temp Sensor Works.

OpenVfd is working. (with downloaded headers for 6.7.12)

Sound is working

LAN is Working.

HDMI is working.

Video (MPV with hardware Acceleration) seems to work

Remote IR is working (with above .toml file and ir-keytables)

 

Finally Only the BlueTooth is not Working. 

 

 

Edited by rafman
Link to comment
Share on other sites

25 minutes ago, MMorales said:

not working in my 6.9.12-edge-sunxi64. /sys/class/hwmon is an empy folder.

This probably is because the kernel and / or the u-boot patches.

 

You can try my compiled image  (burn it to a seperate SD card) and test it      (I Tested on Transpeed 8k 4/64)

 

You can Download it Here : https://easyupload.io/j19vgs

 

Don't try to switch kernel because it will break, just download the headers from above link.

and install it with sudo dpkg -i <deb_file > and then you can compile openvfd.

Edited by rafman
Link to comment
Share on other sites

4 minutes ago, MMorales said:

i have tested the 6.10 @Nick A and the thermal sensors neither works.

 

I did not test with other kernel previous to 6.7.12 however 6.7.12  seems to be stable for me. 

But I had problems switching to newer kernels like 6.10.9. (no boot at all)

 

i will make further checks with 6.7.12.

 

 

 

 

Link to comment
Share on other sites

6 minutes ago, MMorales said:

6.7.12 was perfect for me and i was everything working but from emmc each time i do a "halt" or unplug the cable, after that the system dont boot correctly anymore.  So i switched to 6.9. 

 

I already do this right now, and i have also installed Armbian on eMMC.

i give the command sudo halt  the system halts, and after boots normally (when i unplug and re-plug the power cable)

on sudo reboot no problems.

 

FYI: when my system Was on SD Card i remember (but not always) sometimes i had problem to boot when the keyboard and mouse was connected to tv-box

       but when i removed both the usb cables the problem was solved.

Link to comment
Share on other sites

I guess the thermal patches where mainlined for kernel 6.10. Maybe it still needs the 6.9 patch? Or something is missing in the kernel config?

 

Kernel 6.7.

https://github.com/NickAlilovic/build/blob/main/patch/kernel/archive/sunxi-6.7/patches.armbian/arm64-dts-allwinner-h616-Add-thermal-sensor-and-thermal-zones.patch

https://github.com/NickAlilovic/build/blob/main/patch/kernel/archive/sunxi-6.7/patches.armbian/arm64-dts-allwinner-h616-Fix-thermal-zones-missing-trips.patch

 

Kernel 6.9 (Missing Trips and most of the DT thermal settings were added to 6.9 mainline kernel.)

 

https://github.com/NickAlilovic/build/blob/v20240909/patch/kernel/archive/sunxi-6.9/patches.armbian/arm64-dts-allwinner-h616-Add-thermal-sensor-and-thermal-zones.patch

 

 

Bluetooth still has issues. The bluetooth interface randomly changes from hci0 to hci1. At first there was a problem with the Internal 32Khz OSC Clock. By enabling the Internal OSC Clock Auto Calibration Register we got a 32Khz needed to detect Bluetooth. But there's something missing. Right now it works when it feels like it.  Usually when I enable Bluetooth using Android then reboot  to Armbian It works.

 

Can someone with a Transpeed 8k618-t measure the 32KHz clock with a Oscilloscope?

The 32Khz fanout is routed to PG10 pin on the SOC and connected to the LPO pin of the WiFi/BT chip.

 

Depending on your wifi chip you might be missing the BT firmware. I have a 4335 chip so I use BCM4335A0.hcd.  You can find the original firmware on your android partition if you still have it or search around online.

 

Edited by Nick A
Link to comment
Share on other sites

Quote

Kernel 6.9 (Missing Trips and most of the DT thermal settings were added to 6.9 mainline kernel.)

@Nick A I have 6.9.12 there are no sensors working.

And i tried to compile a 6.10 with this patch:

https://github.com/NickAlilovic/build/blob/v20240909/patch/kernel/archive/sunxi-6.9/patches.armbian/arm64-dts-allwinner-h616-Add-thermal-sensor-and-thermal-zones.patch

and gave me these errors.
 

[🔨]   │ Patch                │ Patching output                          │ Rejects                                            │
[🔨]   ├──────────────────────┼──────────────────────────────────────────┼────────────────────────────────────────────────────┤
[🔨]   │  arm64-dts-allwinner │ patching file                            │ --- arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi │
[🔨]   │ -h616-Add-thermal-se │ "arch/arm64/boot/dts/allwinner/sun50i-h6 │ +++ arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi │
[🔨]   │ nsor-and-thermal-zon │ 16.dtsi"                                 │ @@ -26,6 +26,8 @@ cpu0: cpu@0 {                    │
[🔨]   │ es                   │ Hunk #1 FAILED at 26.                    │             reg = <0>;                             │
[🔨]   │                      │ Hunk #2 FAILED at 34.                    │             enable-method = "psci";                │
[🔨]   │                      │ Hunk #3 FAILED at 42.                    │             clocks = <&ccu CLK_CPUX>;              │
[🔨]   │                      │ Hunk #4 FAILED at 50.                    │ +           clock-latency-ns = <244144>; /* 8 32k  │
[🔨]   │                      │ Hunk #5 succeeded at 1314 (offset 392    │ periods */                                         │
[🔨]   │                      │ lines).                                  │ +           #cooling-cells = <2>;                  │
[🔨]   │                      │ Hunk #6 succeeded at 1335 (offset 392    │         };                                         │
[🔨]   │                      │ lines).                                  │                                                    │
[🔨]   │                      │ 4 out of 6 hunks FAILED -- saving        │         cpu1: cpu@1 {                              │
[🔨]   │                      │ rejects to file "/tmp/tmpkj1juhfw"       │ @@ -34,6 +36,8 @@ cpu1: cpu@1 {                    │


This is my first try to compile armbian so sorry for my errors.

Could be posible compile the 6.9.12 with the correct patch to get working the thermal sensor and then copy the compiled module to an existing working emmc with the same kernel ?

Edited by MMorales
Link to comment
Share on other sites

Quote

Can someone with a Transpeed 8k618-t measure the 32KHz clock with a Oscilloscope?

The 32Khz fanout is routed to PG10 pin on the SOC and connected to the LPO pin of the WiFi/BT chip.

@Nick A u mean this one ? its written 37.400 

xtal.thumb.jpeg.9a2b82b82f4f877c82c4cae722fa487a.jpeg

@firepower you can see here the wifi chip too

EDIT:
I saw the other xtal wich is half covered by the disipator. u mean this ?

xtal2.thumb.jpeg.04cfe5c4519e7823c54b21477e5af52b.jpeg

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