Nick A Posted May 16 Posted May 16 (edited) These are the directories and files where all my changes are from. You need to compile a transpeed image first to get the ~/build/cache directory and patches applied. Once the patches are applied you can stop the kernel compile.. (ctrl c). The cache directory is created using root. So to edit the files you need to "sudo". https://github.com/NickAlilovic/build Bottom of this page shows how to create patches. I think linux-6.7.y branch name has changed. So use this command in linux and u-boot root directory to find the current branch name. git branch --show-current U-boot: ~/build/cache/sources/u-boot-worktree/u-boot/v2024.01/configs/transpeed-8k618-t_defconfig ~/build/cache/sources/u-boot-worktree/u-boot/v2024.01/arch/arm/dts/sun50i-h618-transpeed-8k618-t.dts ~/build/cache/sources/u-boot-worktree/u-boot/v2024.01/arch/arm/dts/Makefile Linux-Kernel: ~/build/cache/sources/linux-kernel-worktree/6.7__sunxi64__arm64/arch/arm64/boot/dts/allwinner/sun50i-h618-transpeed-8k618-t.dts ~/build/cache/sources/linux-kernel-worktree/6.7__sunxi64__arm64/arch/arm64/boot/dts/allwinner/Makefile Armbian: Armbian board config... ~/build/config/boards/transpeed-8k618-t.wip Patch directories... ~/build/patch/u-boot/u-boot-sunxi/ ~/build/patch/kernel/archive/sunxi-6.7/patches.armbian/ Kernel patches config... ( mines (-) before the patch name disables the patch) ~/build/patch/kernel/archive/sunxi-6.7/series.armbian ~/build/patch/kernel/archive/sunxi-6.7/series.conf firmware wifi/bluetooth... ~/build/packages/blobs/station/firmware/brcm/ We don't patch Armbian. Only U-boot and Linux-Kernel. If you want to edit transpeed-8k618-t.wip. Create your own wip (Work In Progress) for your box. Edited May 16 by Nick A 0 Quote
Dmitriy Geels Posted May 16 Posted May 16 6 hours ago, Nick A said: Dmitriy Geels any chance you can install a serial connection on the boards uart? Yes, it just takes more effort. 6 hours ago, Nick A said: Your dts is not your full dts. It looks like dtbo_a an overlay file. You need to extract from boot_a and vendor_boot_a partition. Interesting... Will go over other partitions. 6 hours ago, Nick A said: You might need to do the toothpick trick again when you change your sdcard image. Not sure. No. You can find a boot script In the u-boot variables -- it just probes usb and both mmcs, likely controlled by some flag, which is set with toothpick. During my first experiments, I managed to boot from USB the same way. 0 Quote
kil Posted May 16 Posted May 16 @Nick A Probably I am one step further. I tried to use the adb command to fetch device tree info. Unfortunately my partition scheme is different than the one in your earlier post. I see boot like partitions (/dev/block/mmcblk0boot0 and /dev/block/mmcblk0boot1), but reading those with root user gives back fully zeroed partition files... The closest file I could find is in "/sys/firmware" folder: adb -s 192.168.8.21:5555 shell "ls -al /sys/firmware" total 0 drwxr-xr-x 3 root root 0 1970-01-01 01:00 . dr-xr-xr-x 12 root root 0 1970-01-01 01:00 .. drwxr-xr-x 3 root root 0 1970-01-01 01:00 devicetree -r-------- 1 root root 129984 2024-05-16 11:50 fdt dtc compiler refused to decompile it due to some format issue, but fdtdump utility could convert it to a flat text format (tools are taken from https://github.com/dgibson/dtc ) . Files are attached. Is this the correct device tree file on my device? t95h_x24_fdt.zip 0 Quote
Dmitriy Geels Posted May 16 Posted May 16 7 hours ago, Nick A said: Your dts is not your full dts. It looks like dtbo_a an overlay file. You need to extract from boot_a and vendor_boot_a partition. Which is why I used Android_boot_image_editor. It extracted all my partitions with dts files in it without any problems. Nothing found in boot_a, but a big one in vendor_boot_a. 01_dtbdump_,sun50iw9.dts.gz 0 Quote
Nick A Posted May 16 Posted May 16 (edited) Kil and Dmitriy can you guys try MiniArch. Steps to install MiniArch can be found here. https://github.com/warpme/miniarch Use the Tanix_tx6s image. https://github.com/warpme/miniarch/releases/download/v20240209/MiniArch-20231112-6.7.4-board-h616.tanix_tx6s-SD-Image.img.xz Dmitriy you can also try these images. Your dts has axp313 but your overlay adds axp806/axp305 values. https://github.com/warpme/miniarch/releases/download/v20240209/MiniArch-20231112-6.7.4-board-h616.tanix_tx6s_axp313-SD-Image.img.xz https://github.com/warpme/miniarch/releases/download/v20240209/MiniArch-20231112-6.7.4-board-h618.vontar_h618-SD-Image.img.xz The Tanix_tx6s has a similar dts. Compare your dts with this one. kernel: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.6/files/0632-arm64-dts-allwinner-h616-add-Tanix-TX6s-TVbox.patch U-boot: https://github.com/warpme/minimyth2/blob/master/script/bootloaders/u-boot-h616/files/52-add-tanix-tx6s-defconfig.patch dcdca { regulator-name = "axp806-dcdca"; regulator-min-microvolt = <0x927c0>; regulator-max-microvolt = <0x173180>; regulator-step-delay-us = <0x19>; regulator-final-delay-us = <0x32>; regulator-always-on; linux,phandle = <0x01>; phandle = <0x01>; }; + reg_dcdca: dcdca { + regulator-always-on; + regulator-min-microvolt = <810000>; + regulator-max-microvolt = <1160000>; + regulator-name = "vdd-cpu"; + }; https://www.rapidtables.com/convert/number/hex-to-decimal.html min = 600000 max = 1520000 You can also compare your dram setup values with the ones in the defconfig. If you have trouble booting you can use these values. (I was able to boot vontar image even tho these values where slightly different. ) dram_para1 { device_type = "dram_para1"; dram_clk = <0x00000288>; dram_type = <0x00000003>; dram_dx_odt = <0x03030303>; dram_dx_dri = <0x0e0e0e0e>; dram_ca_dri = <0x00001c1c>; dram_odt_en = <0x00000001>; dram_para1 = <0x000030fb>; dram_para2 = <0x00000000>; dram_mr0 = <0x00000840>; dram_mr1 = <0x00000004>; dram_mr2 = <0x00000008>; dram_mr3 = <0x00000000>; dram_mr4 = <0x00000000>; dram_mr5 = <0x00000000>; dram_mr6 = <0x00000000>; dram_mr11 = <0x00000000>; dram_mr12 = <0x00000000>; dram_mr13 = <0x00000000>; dram_mr14 = <0x00000000>; dram_mr16 = <0x00000000>; dram_mr17 = <0x00000000>; dram_mr22 = <0x00000000>; dram_tpr0 = <0xc0001305>; dram_tpr1 = <0x00000000>; dram_tpr2 = <0x00000000>; dram_tpr3 = <0x00000000>; dram_tpr6 = <0x33808080>; dram_tpr10 = <0x002f0006>; dram_tpr11 = <0xffffdddd>; dram_tpr12 = <0xfedf7657>; dram_tpr13 = <0x00000040>; }; +CONFIG_DRAM_CLK=648 . . . +CONFIG_DRAM_SUN50I_H616_DX_ODT=0x03030303 +CONFIG_DRAM_SUN50I_H616_DX_DRI=0x0e0e0e0e +CONFIG_DRAM_SUN50I_H616_CA_DRI=0x00001c12 +CONFIG_DRAM_SUN50I_H616_ODT_EN=0x00000001 +CONFIG_DRAM_SUN50I_H616_TPR0=0xc0000c05 +CONFIG_DRAM_SUN50I_H616_TPR2=0x00000000 +CONFIG_DRAM_SUN50I_H616_TPR10=0x2f0007 +CONFIG_DRAM_SUN50I_H616_TPR11=0xffffdddd +CONFIG_DRAM_SUN50I_H616_TPR12=0xfedf7557 If you want to create your own patches and Armbian build using my github, read the post at the top of this page.. Edited May 16 by Nick A 1 Quote
kil Posted May 22 Posted May 22 @Nick A, Despite of your long instructions, several tries, spending hours with studying related topics, practically I could not reach any success. The most annoying thing is that when trying to boot the device from sdcard (using the uboot button), nothing happens, not even a single character appears on the console output. How the boot process supposed to work? My understanding, that the beginning part of the sdcard image contains an uboot, which is able to work with a partly initialized (powered up) hardware (starting to use SoC internal RAM), and would make minimal further hardware initialization, and load modules from the boot partition, like kernel, root-fs, device tree. Is it a valid assumption, that uboot should echoe the start of boot process already? (At least when the stock firmware starts, I see uboot messages.) Is it possible, that the uboot on the sdcard is not compatible with my hardware? Or simply the external boot is restricted by the software of the T95H android box? I also downloaded firmware for the box (found e.g. T95H-H616-X22.img), and checked, what file structure it shows: it is "PhoenixSuite image file", different format than an armbian (or other os) image... 0 Quote
Nick A Posted May 23 Posted May 23 (edited) Here's a bunch of links related to your box and uboot. https://linux-sunxi.org/T95H https://linux-sunxi.org/BROM#eGON_Boot https://linux-sunxi.org/Bootable_SD_card#Bootloader https://linux-sunxi.org/U-Boot#Boot https://linux-sunxi.org/FEL#Through_a_special_SD_card_image https://docs.u-boot.org/en/latest/board/allwinner/sunxi.html https://linux-sunxi.org/H616 https://lore.kernel.org/lkml/?q=T95 Edited May 24 by Nick A 0 Quote
ag123 Posted May 25 Posted May 25 for H618 simply try the mainline uboot and kernel >= 6.6 various things has gone into mainline u-boot and kernel that makes it run on Orange Pi Zero 3 one could perhaps even try the Orange Pi Zero 3 image to see how that goes 0 Quote
Nick A Posted May 25 Posted May 25 (edited) Kil, have you tired the miniarch images? you might find a u-boot that works with your box. The u-boot I have is for AXP313. This could be the reason why your box doesn't show anything. You need a u-boot with AXP305. If you can't find a miniarch image that boots. You need to compile a new u-boot with your Dram settings and AXP305. Use the Dram Settings I got from your .DTS file. Download the lastest mainline u-boot. Use this board config. /configs/x96_mate_defconfig /arch/arm/dts/sun50i-h616-x96-mate.dts /arch/arm/dts/Makefile https://github.com/warpme/miniarch/releases https://source.denx.de/u-boot/u-boot https://docs.u-boot.org/en/latest/board/allwinner/sunxi.html Sorry Kil, I don't have your box and time to do this for you. I can only provide information. Without console output there's nothing I can do. Are you using baud rate 115200? If you need more help ask the Sunxi guys at: https://oftc.irclog.whitequark.org/linux-sunxi/2024-05-23 Edited May 25 by Nick A 0 Quote
Kajen Posted May 26 Posted May 26 hi, i was testing on h40 transpeed (t98_616) for several days. with miniarch-tx6s, but it give me error on Quote ( 72/119) upgrading archlinux-keyring [----------------------] 0%( 72/119) upgrading archlinux-keyring [######################] 100% gpg: WARNING: server 'gpg-agent' is older than us (2.2.40 < 2.4.5) gpg: Note: Outdated servers may lack important security fixes. gpg: Note: Use the command "gpgconf --kill all" to restart them. gpg: problem with fast path key listing: IPC parameter error - ignored ==> Appending keys from archlinux.gpg... gpg: WARNING: server 'gpg-agent' is older than us (2.2.40 < 2.4.5) after that the system seem corrupted, pacma didnt work, and sometimes it give error on mmc Quote U-Boot SPL 2024.01 (Feb 09 2024 - 19:40:28 +0100) DRAM: 2048 MiB Trying to boot from MMC1 NOTICE: BL31: v2.10.0 (debug):v12.24.1-48-gd4269769c NOTICE: BL31: Built : 11:08:05, Feb 7 2024 NOTICE: BL31: Detected Allwinner H616 SoC (1823) NOTICE: BL31: Found U-Boot DTB at 0x4a0acfa8, model: Tanix TX6s INFO: ARM GICv2 driver initialized INFO: Configuring SPC Controller INFO: PMIC: Probing AXP305 on RSB WARNING: PMIC: No regulators DT node, skipping setup 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. U-Boot 2024.01 (Feb 09 2024 - 19:40:28 +0100) Allwinner Technology CPU: Allwinner H616 (SUN50I) Model: Tanix TX6s DRAM: 2 GiB Core: 56 devices, 21 uclasses, devicetree: separate WDT: Not starting watchdog@30090a0 MMC: mmc@4020000: 0, mmc@4022000: 2 Loading Environment from FAT... Unable to read "uboot.env" from mmc0:1... In: serial@5000000 Out: serial@5000000 Err: serial@5000000 Allwinner mUSB OTG (Peripheral) Net: eth0: ethernet@5030000using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in MAC de:ad:be:ef:00:01 HOST MAC de:ad:be:ef:00:00 RNDIS ready , eth1: usb_ether starting USB... Bus usb@5101000: USB EHCI 1.00 Bus usb@5101400: USB OHCI 1.0 Bus usb@5310000: USB EHCI 1.00 Bus usb@5310400: USB OHCI 1.0 scanning bus usb@5101000 for devices... 1 USB Device(s) found scanning bus usb@5101400 for devices... 1 USB Device(s) found scanning bus usb@5310000 for devices... 1 USB Device(s) found scanning bus usb@5310400 for devices... 1 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Hit any key to stop autoboot: 2 1 0 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... Found U-Boot script /boot.scr 1464 bytes read in 2 ms (714.8 KiB/s) ## Executing script at 4fc00000 34157056 bytes read in 1431 ms (22.8 MiB/s) Failed to load '/h616_dtb' 28414 bytes read in 6 ms (4.5 MiB/s) Working FDT set to 4fa00000 7944795 bytes read in 335 ms (22.6 MiB/s) Moving Image from 0x40080000 to 0x40200000, end=42330000 ## Flattened Device Tree blob at 4fa00000 Booting using the fdt blob at 0x4fa00000 Working FDT set to 4fa00000 Loading Ramdisk to 4986c000, end 49fffa5b ... OK Loading Device Tree to 0000000049862000, end 000000004986bfff ... OK Working FDT set to 49862000 Starting kernel ... [ 0.000000] Linux version 6.7.4 (piotro@minimyth2-aarch64) (aarch64-minimyth-linux-gnu-gcc (GCC) 12.3.0, GNU ld (GNU Binutils) 2.40) #1 SMP PREEMPT Tue Feb 6 19:41:36 CET 2024 [ 0.000000] Kernel command line: root=PARTUUID=346d1a6a-02 rw rootwait earlycon console=ttyS0,115200n8 loglevel=6 consoleblank=0 [ 0.001982] cacheinfo: Unable to detect cache hierarchy for CPU 0 [ 0.037480] audit: type=2000 audit(0.029:1): state=initialized audit_enabled=0 res=1 [ 0.075382] SCSI subsystem initialized [ 1.147418] Initialise system trusted keyrings [ 1.154131] NFS: Registering the id_resolver key type [ 1.159774] Key type id_resolver registered [ 1.163971] Key type id_legacy registered [ 1.232904] Key type asymmetric registered [ 1.237402] Asymmetric key parser 'x509' registered [ 1.242752] Asymmetric key parser 'pkcs8' registered [ 1.248205] Key type pkcs7_test registered [ 1.344593] Key type dns_resolver registered [ 1.363504] Loading compiled-in X.509 certificates [ 1.405314] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation. [ 1.432096] sun50i-h616-pinctrl 300b000.pinctrl: supply vcc-ph not found, using dummy regulator [ 1.444871] sun50i-h616-pinctrl 300b000.pinctrl: supply vcc-pg not found, using dummy regulator [ 1.469577] usb_phy_generic usb_phy_generic.1.auto: dummy supplies not allowed for exclusive requests [ 1.667883] sun50i-cpufreq-nvmem: will use speed0 CPU OPPs [ 1.683245] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation. [ 1.702346] sun50i-h616-r-pinctrl 7022000.pinctrl: supply vcc-pl not found, using dummy regulator [ 1.743261] sun50i-h616-pinctrl 300b000.pinctrl: supply vcc-pf not found, using dummy regulator [ 1.745095] sun50i-h616-pinctrl 300b000.pinctrl: supply vcc-pc not found, using dummy regulator :: running early hook [udev] [ 1.827127] mmc0: host does not support reading read-only switch, assuming write-enable Starting systemd-udevd version 253-1-arch :: running hook [udev] :: Triggering uevents... [ 2.319908] sunxi-mmc 4022000.mmc: data error, sending stop command [ 3.323095] sunxi-mmc 4022000.mmc: send stop command failed Timed out for waiting the udev queue being empty. :: running hook [keymap] :: Loading keymap...kbd_mode: KDSKBMODE: Inappropriate ioctl for device Gdone. [ 245.396524] INFO: task kworker/0:1H:155 blocked for more than 122 seconds. [ 245.403468] Not tainted 6.7.4 #1 [ 245.407221] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 245.415201] INFO: task (udev-worker):172 blocked for more than 122 seconds. [ 245.422175] i tested with armbian transpeed 8k618, uboot give me error on dram Quote U-Boot SPL 2024.01-armbian (Apr 17 2024 - 03:30:23 +0000) DRAM:This DRAM setup is currently not supported. resetting ... I also build a version with x96 mate but could not get mmc detected Quote U-Boot SPL 2024.01-armbian (Mar 25 2024 - 23:32:47 +0000) DRAM: 2048 MiB Trying to boot from MMC1 NOTICE: BL31: v2.10.2(debug):armbian NOTICE: BL31: Built : 23:32:38, Mar 25 2024 NOTICE: BL31: Detected Allwinner H616 SoC (1823) NOTICE: BL31: Found U-Boot DTB at 0x4a09c048, model: X96 Mate INFO: ARM GICv2 driver initialized INFO: Configuring SPC Controller INFO: PMIC: Probing AXP305 on RSB INFO: PMIC: aldo1 voltage: 3.300V INFO: PMIC: bldo1 voltage: 1.800V INFO: PMIC: dcdcd voltage: 1.360V INFO: PMIC: dcdce voltage: 3.300V 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 (Mar 25 2024 - 23:32:47 +0000) Allwinner Technology CPU: Allwinner H616 (SUN50I) Model: X96 Mate DRAM: 2 GiB Core: 51 devices, 18 uclasses, devicetree: separate WDT: Not starting watchdog@30090a0 MMC: mmc@4020000: 0, mmc@4022000: 1 Loading Environment from FAT... MMC: no card present ** Bad device specification mmc 0 ** In: serial@5000000 Out: serial@5000000 Err: serial@5000000 Net: No ethernet found. starting USB... Bus usb@5101000: sun4i_usb_phy phy@5100400: External vbus detected, not enabling our own vbus USB EHCI 1.00 Bus usb@5101400: USB OHCI 1.0 Bus usb@5310000: USB EHCI 1.00 Bus usb@5310400: USB OHCI 1.0 scanning bus usb@5101000 for devices... 1 USB Device(s) found scanning bus usb@5101400 for devices... 1 USB Device(s) found scanning bus usb@5310000 for devices... 1 USB Device(s) found scanning bus usb@5310400 for devices... 1 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Autoboot in 1 seconds, press <Space> to stop MMC: no card present Device 0: unknown device No ethernet found. missing environment variable: pxeuuid Retrieving file: pxelinux.cfg/00000000 No ethernet found. Retrieving file: pxelinux.cfg/0000000 No ethernet found. Retrieving file: pxelinux.cfg/000000 No ethernet found. Retrieving file: pxelinux.cfg/00000 No ethernet found. Retrieving file: pxelinux.cfg/0000 No ethernet found. Retrieving file: pxelinux.cfg/000 No ethernet found. Retrieving file: pxelinux.cfg/00 No ethernet found. Retrieving file: pxelinux.cfg/0 No ethernet found. Retrieving file: pxelinux.cfg/default-arm-sunxi-sunxi No ethernet found. Retrieving file: pxelinux.cfg/default-arm-sunxi No ethernet found. Retrieving file: pxelinux.cfg/default-arm No ethernet found. Retrieving file: pxelinux.cfg/default No ethernet found. Config file not found No ethernet found. No ethernet found. so i tested run x96 mate on sdcard and boot usb with armbian-transpeed 8k618 , i got inside armbian on console but could no get wifi nor hdmi output (ethernet show, but i didnt test). then i tested x96 mate on sdcard and boot usb with armbian-96-mate, i also got inside armbian but no wifi, no hdmi output nor ethernet. then i build armbian with patches for t98-616 based on miniarch-tx6s (i change mmc max-frequency so i would not have problem there) , but now i have error for PHY for ethernet, but I based on tx6s dts so i dont know (ethernet work on miniarch-tx6s), i want it to have wifi, ethernet and hdmi output Quote U-Boot SPL 2024.07-rc2-armbian (May 17 2024 - 19:28:19 +0000) DRAM: 2048 MiB Trying to boot from MMC1 NOTICE: BL31: v2.10.2(debug):armbian NOTICE: BL31: Built : 19:20:14, May 17 2024 NOTICE: BL31: Detected Allwinner H616 SoC (1823) NOTICE: BL31: Found U-Boot DTB at 0x4a0a1238, model: Transpeed T98-616 INFO: ARM GICv2 driver initialized INFO: Configuring SPC Controller INFO: PMIC: Probing AXP305 on RSB WARNING: PMIC: No regulators DT node, skipping setup 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.07-rc2-armbian (May 17 2024 - 19:28:19 +0000) Allwinner Technology CPU: Allwinner H616 (SUN50I) Model: Transpeed T98-616 DRAM: 2 GiB Core: 56 devices, 20 uclasses, devicetree: separate WDT: Not starting watchdog@30090a0 MMC: mmc@4020000: 0, mmc@4022000: 2 Loading Environment from FAT... Unable to use mmc 0:1... In: serial@5000000 Out: serial@5000000 Err: serial@5000000 Net: eth_sun8i_emac ethernet@5020000: pinctrl_select_state_full: pinctrl_config_one: err=-38 Could not get PHY for ethernet@5020000: addr 1 No ethernet found. starting USB... Bus usb@5101000: sun4i_usb_phy phy@5100400: External vbus detected, not enabling our own vbus USB EHCI 1.00 Bus usb@5101400: USB OHCI 1.0 Bus usb@5310000: USB EHCI 1.00 Bus usb@5310400: USB OHCI 1.0 scanning bus usb@5101000 for devices... 1 USB Device(s) found scanning bus usb@5101400 for devices... 1 USB Device(s) found scanning bus usb@5310000 for devices... 1 USB Device(s) found scanning bus usb@5310400 for devices... 1 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Hit any key to stop autoboot: 1 0 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... Found U-Boot script /boot/boot.scr 3259 bytes read in 9 ms (353.5 KiB/s) ## Executing script at 4fc00000 U-boot loaded from SD Boot script loaded from mmc 155 bytes read in 7 ms (21.5 KiB/s) 28414 bytes read in 28 ms (990.2 KiB/s) Working FDT set to 4fa00000 4203 bytes read in 19 ms (215.8 KiB/s) Applying kernel provided DT fixup script (sun50i-h616-fixup.scr) ## Executing script at 45000000 18343921 bytes read in 6382 ms (2.7 MiB/s) 23570440 bytes read in 8198 ms (2.7 MiB/s) Moving Image from 0x40080000 to 0x40200000, end=41910000 ## Loading init Ramdisk from Legacy Image at 4ff00000 ... Image Name: uInitrd Image Type: AArch64 Linux RAMDisk Image (gzip compressed) Data Size: 18343857 Bytes = 17.5 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 48e81000, end 49fff7b1 ... OK Loading Device Tree to 0000000048e11000, end 0000000048e80fff ... OK Working FDT set to 48e11000 Starting kernel ... t98-616 login: root (automatic login) Login timed t98-616 login: root (automatic login) uboot.patch kernel-add-dts-t98-616.patch original.log 0 Quote
Nick A Posted May 26 Posted May 26 (edited) Kajen, For Ethernet you need these two patches in u-boot. https://github.com/NickAlilovic/build/blob/main/patch/u-boot/u-boot-sunxi/100-sunsi-add-h616-internal-eth-phy-support.patch https://github.com/NickAlilovic/build/blob/main/patch/u-boot/u-boot-sunxi/106-Add-int-phy-eth-H313-h616-with-AC300.patch https://github.com/NickAlilovic/build/blob/main/patch/u-boot/u-boot-sunxi/dts-Transpeed-8K618-T-Enable-Ethernet.patch Kernel patch. You need to edit your box's dts. https://github.com/NickAlilovic/build/blob/main/patch/kernel/archive/sunxi-6.7/patches.armbian/arm64-dts-allwinner-h618-Transpeed-8k618-T-Enable-Ethernet.patch Can you take a picture of your boards wifi chip? Edited May 27 by Nick A 0 Quote
Nick A Posted May 27 Posted May 27 (edited) Kajen, I think that silver/gold chip on your board might be bluetooth/wifi. But I can't make out the number/letters written on it. Edited May 27 by Nick A 0 Quote
Nick A Posted May 27 Posted May 27 (edited) Kajan, Your kernel patches need changes.. first you can't use your original android dtb as a dtsi file. Use your u-boot dtb. Make a copy and move it to your kernel. Then you can add changes like wifi. Your dtb already includes a dtsi file called sun50i-h616.dtsi. Normally, Both u-boot and kernel share the same dtb. But in our case it's different due to the mmc max-frequency and ethernet patches being different. The mmc max-frequency has changed to a lower frequency in the u-boot dts but not in the kernel dts. This is due to u-boot having issues reading mmc during boot. For now it's just a hack. Someone needs to figure out why u-boot is having this problem. https://github.com/NickAlilovic/build/blob/main/patch/u-boot/u-boot-sunxi/107-sunxi_mmc-dec-f_max-to-12MHz-to-get-emmc-reliable.patch Here's my u-boot and kernel ethernet patches notice the differences. https://github.com/NickAlilovic/build/blob/main/patch/u-boot/u-boot-sunxi/dts-Transpeed-8K618-T-Enable-Ethernet.patch https://github.com/NickAlilovic/build/blob/main/patch/kernel/archive/sunxi-6.7/patches.armbian/arm64-dts-allwinner-h618-Transpeed-8k618-T-Enable-Ethernet.patch Looking at your original android dts for wifi I found this. + reg_vcc_wifi { + compatible = "regulator-fixed"; + regulator-name = "vcc-wifi"; + regulator-min-microvolt = <0x325aa0>; + regulator-max-microvolt = <0x325aa0>; + gpio = <0x15 0x06 0x12 0x00>; + regulator-always-on; + enable-active-high; + status = "okay"; + phandle = <0x13>; + }; + + wifi_pwrseq { + compatible = "mmc-pwrseq-simple"; + clocks = <0x0f 0x01>; + clock-names = "ext_clock"; + pinctrl-names = "default"; + pinctrl-0 = <0x41>; + phandle = <0x14>; + }; + + mmc@4021000 { + compatible = "allwinner,sun50i-h616-mmc\0allwinner,sun50i-a100-mmc"; + reg = <0x4021000 0x1000>; + clocks = <0x02 0x40 0x02 0x3d>; + clock-names = "ahb\0mmc"; + resets = <0x02 0x0f>; + reset-names = "ahb"; + interrupts = <0x00 0x24 0x04>; + pinctrl-names = "default"; + pinctrl-0 = <0x12>; + status = "okay"; + max-frequency = <0x0b71b00>; + cap-sd-highspeed; + cap-mmc-highspeed; + mmc-ddr-3_3v; + cap-sdio-irq; + #address-cells = <0x01>; + #size-cells = <0x00>; + vmmc-supply = <0x11>; + vqmmc-supply = <0x13>; + mmc-pwrseq = <0x14>; + bus-width = <0x04>; + non-removable; + + wifi@1 { + reg = <0x01>; + interrupt-parent = <0x15>; + interrupts = <0x06 0x0f 0x01>; + interrupt-names = "host-wake"; + }; + }; vmmc-supply = <0x11>; 0x11 is a phandle that points to dcdce. A regulator that is set to 3.3v. https://www.rapidtables.com/convert/number/hex-to-decimal.html 0x325aa0 = 3.3v vqmmc-supply = <0x13>; 0x13 phandle points to reg_vcc_wifi. A regulator that is set to 3.3v. So on your box both vmmc-supply and vqmmc-supply are set to 3.3v. + dcdce { + regulator-always-on; + regulator-min-microvolt = <0x325aa0>; + regulator-max-microvolt = <0x325aa0>; + regulator-name = "vcc-eth-mmc"; + phandle = <0x11>; + }; + reg_vcc_wifi { + compatible = "regulator-fixed"; + regulator-name = "vcc-wifi"; + regulator-min-microvolt = <0x325aa0>; + regulator-max-microvolt = <0x325aa0>; + gpio = <0x15 0x06 0x12 0x00>; + regulator-always-on; + enable-active-high; + status = "okay"; + phandle = <0x13>; + }; Looks similar to OrangePi-Zero2. You can modify the code and have it work on your box. OrangePi-Zero2 uses 1.8v for vqmmc-supply instead of 3.3v. So you don't need reg_vcc_wifi_io with 1.8v. Set vmmc-supply to reg_dcdce and vqmmc-supply to reg_vcc_wifi. reg_dcdce is already defined in your dtb file. + reg_dcdce: dcdce { + regulator-boot-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc-eth-mmc"; + }; Your gpio looks the same. 0x12 = 18 gpio = <0x15 0x06 0x12 0x00>; reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */ Have your tried OrangePi-Zero2 images? https://github.com/armbian/build/blob/main/patch/kernel/archive/sunxi-6.7/patches.armbian/arm64-dts-h616-add-wifi-support-for-orange-pi-zero-2.patch + + reg_vcc33_wifi: vcc33-wifi { + /* Always on 3.3V regulator for WiFi and BT */ + compatible = "regulator-fixed"; + regulator-name = "vcc33-wifi"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + vin-supply = <®_vcc5v>; + }; + + reg_vcc_wifi_io: vcc-wifi-io { + /* Always on 1.8V/300mA regulator for WiFi and BT IO */ + compatible = "regulator-fixed"; + regulator-name = "vcc-wifi-io"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + vin-supply = <®_vcc33_wifi>; + }; + + wifi_pwrseq: wifi-pwrseq { + compatible = "mmc-pwrseq-simple"; + clocks = <&rtc 1>; + clock-names = "osc32k-out"; + reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */ + post-power-on-delay-ms = <200>; + }; +&mmc1 { + vmmc-supply = <®_vcc33_wifi>; + vqmmc-supply = <®_vcc_wifi_io>; + mmc-pwrseq = <&wifi_pwrseq>; + bus-width = <4>; + non-removable; + mmc-ddr-1_8v; + status = "okay"; +}; + Edited May 27 by Nick A 0 Quote
Kajen Posted May 28 Posted May 28 (edited) the dtb that i used was from tx6s on miniarch, also sometimes it would have error on mmc after boot on armbian , so the patch also i had to apply on kernel no only on uboot to get it stable (i didnt see error on uboot so maybe it is no need on uboot) the wifi & bt chip is 339S0209, they were also use in iphone 5c/5s i tested armbian Orange Pi Zero 2, dont detect mmc..., eth1 detected, got mac but also error on PHY beside it showed only 1gb ram Quote U-Boot SPL 2024.04-armbian (May 28 2024 - 03:39:33 +0000) DRAM: 1024 MiB Error, wrong i2c adapter 1 max 1 possible Trying to boot from MMC1 NOTICE: BL31: v2.10.2(debug):armbian NOTICE: BL31: Built : 03:47:34, May 27 2024 NOTICE: BL31: Detected Allwinner H616 SoC (1823) NOTICE: BL31: Found U-Boot DTB at 0x4a0b4ef0, model: OrangePi Zero2 INFO: ARM GICv2 driver initialized INFO: Configuring SPC Controller INFO: PMIC: Probing AXP305 on RSB INFO: PMIC: aldo1 voltage: 3.300V INFO: PMIC: aldo2 voltage: 3.300V INFO: PMIC: aldo3 voltage: 3.300V INFO: PMIC: bldo1 voltage: 1.800V INFO: PMIC: bldo2 voltage: 1.800V INFO: PMIC: dcdcd voltage: 1.500V INFO: PMIC: dcdce voltage: 3.300V 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.04-armbian (May 28 2024 - 03:39:33 +0000) Allwinner Technology CPU: Allwinner H616 (SUN50I) Model: OrangePi Zero2 DRAM: 1 GiB Core: 54 devices, 22 uclasses, devicetree: separate WDT: Not starting watchdog@30090a0 MMC: mmc@4020000: 0 Loading Environment from FAT... MMC: no card present ** Bad device specification mmc 0 ** In: serial@5000000 Out: serial@5000000 Err: serial@5000000 Allwinner mUSB OTG (Peripheral) Net: Could not get PHY for ethernet@5020000: addr 1 using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in MAC de:ad:be:ef:00:01 HOST MAC de:ad:be:ef:00:00 RNDIS ready eth1: usb_ether starting USB... Bus usb@5200000: USB EHCI 1.00 Bus usb@5200400: USB OHCI 1.0 scanning bus usb@5200000 for devices... 1 USB Device(s) found scanning bus usb@5200400 for devices... 1 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Hit any key to stop autoboot: 1 0 MMC: no card present Device 0: unknown device mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 No ethernet found. mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 missing environment variable: pxeuuid mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 Retrieving file: pxelinux.cfg/00000000 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 No ethernet found. mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 Retrieving file: pxelinux.cfg/0000000 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 No ethernet found. mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 Retrieving file: pxelinux.cfg/000000 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 No ethernet found. mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 Retrieving file: pxelinux.cfg/00000 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 No ethernet found. mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 Retrieving file: pxelinux.cfg/0000 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 No ethernet found. mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 Retrieving file: pxelinux.cfg/000 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 No ethernet found. mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 Retrieving file: pxelinux.cfg/00 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 No ethernet found. mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 Retrieving file: pxelinux.cfg/0 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 No ethernet found. mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 Retrieving file: pxelinux.cfg/default-arm-sunxi-sunxi mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 No ethernet found. mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 Retrieving file: pxelinux.cfg/default-arm-sunxi mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 No ethernet found. mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 Retrieving file: pxelinux.cfg/default-arm mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 No ethernet found. mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 Retrieving file: pxelinux.cfg/default mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 No ethernet found. mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 Config file not found mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 No ethernet found. mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 No ethernet found. mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 mdio_register: non unique device name 'ethernet@5020000' Could not get PHY for ethernet@5020000: addr 1 => I also tested with the patch for ethernet and phy and rebuild with tx6s dts file instand of the extrated dtb, i also i had to get some soc from dtb since those are added with patch from miniarch(I did not want to read and edit the original patches) Quote U-Boot SPL 2024.04-armbian (May 27 2024 - 03:47:47 +0000) DRAM: 2048 MiB Trying to boot from MMC1 NOTICE: BL31: v2.10.2(debug):armbian NOTICE: BL31: Built : 03:47:34, May 27 2024 NOTICE: BL31: Detected Allwinner H616 SoC (1823) NOTICE: BL31: Found U-Boot DTB at 0x4a0a09f8, model: Transpeed T98-616 INFO: ARM GICv2 driver initialized INFO: Configuring SPC Controller INFO: PMIC: Probing AXP305 on RSB WARNING: PMIC: No regulators DT node, skipping setup 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.04-armbian (May 27 2024 - 03:47:47 +0000) Allwinner Technology CPU: Allwinner H616 (SUN50I) Model: Transpeed T98-616 DRAM: 2 GiB Core: 56 devices, 20 uclasses, devicetree: separate WDT: Not starting watchdog@30090a0 MMC: mmc@4020000: 0, mmc@4022000: 2 Loading Environment from FAT... Unable to use mmc 0:1... In: serial@5000000 Out: serial@5000000 Err: serial@5000000 Net: Could not get PHY for ethernet@5020000: addr 1 No ethernet found. starting USB... Bus usb@5101000: sun4i_usb_phy phy@5100400: External vbus detected, not enabling our own vbus USB EHCI 1.00 Bus usb@5101400: USB OHCI 1.0 Bus usb@5310000: USB EHCI 1.00 Bus usb@5310400: USB OHCI 1.0 scanning bus usb@5101000 for devices... 1 USB Device(s) found scanning bus usb@5101400 for devices... 1 USB Device(s) found scanning bus usb@5310000 for devices... 1 USB Device(s) found scanning bus usb@5310400 for devices... 1 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Hit any key to stop autoboot: 1 0 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... Found U-Boot script /boot/boot.scr 3259 bytes read in 9 ms (353.5 KiB/s) ## Executing script at 4fc00000 U-boot loaded from SD Boot script loaded from mmc 156 bytes read in 7 ms (21.5 KiB/s) 35516 bytes read in 31 ms (1.1 MiB/s) Working FDT set to 4fa00000 4203 bytes read in 20 ms (205.1 KiB/s) Applying kernel provided DT fixup script (sun50i-h616-fixup.scr) ## Executing script at 45000000 10932957 bytes read in 3807 ms (2.7 MiB/s) 23570440 bytes read in 8199 ms (2.7 MiB/s) Moving Image from 0x40080000 to 0x40200000, end=41910000 ## Loading init Ramdisk from Legacy Image at 4ff00000 ... Image Name: uInitrd Image Type: AArch64 Linux RAMDisk Image (gzip compressed) Data Size: 10932893 Bytes = 10.4 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 49592000, end 49fff29d ... OK Loading Device Tree to 0000000049520000, end 0000000049591fff ... OK Working FDT set to 49520000 Starting kernel ... [ 2.378764] thermal thermal_zone0: gpu-thermal: critical temperature reached, shutting down [ 2.387207] reboot: HARDWARE PROTECTION shutdown (Temperature too high) [ 2.422608] reboot: Power down i got gpu-thermal critical temp....( i could also just get gpu-thermal directly from dtb and test) i will read the patches to see which one i will add, the last time i tried to add all i got error on git, so i will have to select and edit those i need or base on orange pi zero 2 dts, since tx6s dts depend on miniarch patches and those i have to carefuiy select and edit or it would cause git conflicts Edited May 28 by Kajen 0 Quote
Kajen Posted May 28 Posted May 28 look like it use a broadcom BCM4334 for the 339s0209, for the BCM4334 there are already drivers on kernel Quote 0 Quote
Nick A Posted May 28 Posted May 28 (edited) It's weird that you are booting further with tx6s but it shows your pmic isn't setup. I guess it has something to do with axp305 being defined in &r_i2c and &r_rsb. In &r_rsb it's defined as axp305: pmic@745. I guess without these changes you probably introduce more errors. INFO: PMIC: Probing AXP305 on RSB WARNING: PMIC: No regulators DT node, skipping setup +&r_i2c { + status = "okay"; + + axp305_1: pmic@36 { + compatible = "x-powers,axp305", "x-powers,axp805", + "x-powers,axp806"; + reg = <0x36>; + + /* dummy interrupt to appease the driver for now */ + interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; + interrupt-controller; + #interrupt-cells = <1>; + }; +}; But then axp305 goes back to normal in the kernel dtb and it's only defined once. Probably a uboot issue. https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.6/files/0632-arm64-dts-allwinner-h616-add-Tanix-TX6s-TVbox.patch Also, there's two Ethernet devices for H616 emac0 uses the external Ethernet chip. While, emac1 uses the SOC internal Ethernet phy called AC200. OrangePi-Zero2: (Uses external Ethernet chip) ethernet0 = &emac0; tx6s: (Miniarch uses emac1 but in your uboot.patch you have ethernet0 set to emac0!) I think this is where you are having problems. ethernet0 = &emac1; H618 is similar to H616 but it now has AC300 as the Ethernet phy. Edited May 29 by Nick A 0 Quote
Kajen Posted May 29 Posted May 29 (edited) 01_dtbdump_,sun50iw9.dtbi got dtb from the android version, i have to use imgRePacker and with the https://github.com/PabloCastellano/extract-dtb boot.fex Quote aliases { serial0 = "/soc@03000000/uart@05000000\0/soc@03000000/uart@05000000"; serial1 = "/soc@03000000/uart@05000400\0/soc@03000000/uart@05000400"; serial2 = "/soc@03000000/uart@05000800\0/soc@03000000/uart@05000800"; serial3 = "/soc@03000000/uart@05000c00\0/soc@03000000/uart@05000c00"; serial4 = "/soc@03000000/uart@05001000\0/soc@03000000/uart@05001000"; serial5 = "/soc@03000000/uart@05001400\0/soc@03000000/uart@05001400"; twi0 = "/soc@03000000/twi@0x05002000\0/soc@03000000/twi@0x05002000"; twi1 = "/soc@03000000/twi@0x05002400\0/soc@03000000/twi@0x05002400"; twi2 = "/soc@03000000/twi@0x05002800\0/soc@03000000/twi@0x05002800"; twi3 = "/soc@03000000/twi@0x05002c00\0/soc@03000000/twi@0x05002c00"; twi4 = "/soc@03000000/twi@0x05003000\0/soc@03000000/twi@0x05003000"; twi5 = "/soc@03000000/twi@0x07081400\0/soc@03000000/twi@0x07081400"; spi0 = "/soc@03000000/spi@05010000\0/soc@03000000/spi@05010000"; spi1 = "/soc@03000000/spi@05011000\0/soc@03000000/spi@05011000"; ir0 = "/soc@03000000/s_cir@07040000\0/soc@03000000/s_cir@07040000"; pcie = "/soc@03000000/pcie@0x05400000\0/soc@03000000/pcie@0x05400000"; scr0 = "/soc@03000000/smartcard@0x05005000\0/soc@03000000/smartcard@0x05005000"; gmac0 = "/soc@03000000/eth@05020000\0/soc@03000000/eth@05020000"; gmac1 = "/soc@03000000/eth@05030000\0/soc@03000000/eth@05030000"; global_timer0 = "/soc@03000000/timer@03009000\0/soc@03000000/timer@03009000"; mmc0 = "/soc@03000000/sdmmc@04020000\0/soc@03000000/sdmmc@04020000"; mmc2 = "/soc@03000000/sdmmc@04022000\0/soc@03000000/sdmmc@04022000"; nand0 = "/soc@03000000/nand0@04011000\0/soc@03000000/nand0@04011000"; disp = "/soc@03000000/disp@01000000\0/soc@03000000/disp@01000000"; lcd0 = "/soc@03000000/lcd0@01c0c000\0/soc@03000000/lcd0@01c0c000"; lcd1 = "/soc@03000000/lcd1@01c0c001\0/soc@03000000/lcd1@01c0c001"; hdmi = "/soc@03000000/hdmi@06000000\0/soc@03000000/hdmi@06000000"; pwm = "/soc@03000000/pwm@0300a000\0/soc@03000000/pwm@0300a000"; tv0 = "/soc@03000000/tv0@01c94000\0/soc@03000000/tv0@01c94000"; ac200 = "/soc@03000000/ac200\0/soc@03000000/ac200"; boot_disp = "/soc@03000000/boot_disp\0/soc@03000000/boot_disp"; pmu0 = "/soc@03000000/twi@0x07081400/pmu\0/soc@03000000/twi@0x07081400/pmu"; standby_param = "/soc@03000000/twi@0x07081400/pmu/standby_param\0/soc@03000000/twi@0x07081400/pmu/standby_param"; linux,phandle = <0x17a>; phandle = <0x17a>; }; it is much more completed than tanix tx6s, in android it says it was based on kernel 4.9, so i dont know if i can use as it or do I need to edit? another question I have, why no use hdmi output on uboot? there other boards that have it, it would make debug easier... devicetree.dts Edited May 29 by Kajen 0 Quote
Nick A Posted May 29 Posted May 29 (edited) Your android version of DTS has to be converted to the mainline linux DTS. I gave you enough information to get your box Ethernet running and maybe wifi. You're Ethernet is an easy fix. Change 0 to 1. I'm confused!! where did you get the DTS in your patches? The first link "01_dtbdump_,sun50iw9.dtb" didn't work. "devicetree.dts" says you have axp1530. If your box is a axp1530. I would use my transpeed build but change the dram settings in transpeed-8k618-t_defconfig. Use this tool to extract the dram settings. I think you can extract it using boot0. I hex edited my boot0 to get the settings. (post 8 on the first page.) https://github.com/apritzel/sunxi-fw Do you have a dtso partition? (DTS overlay) I'm guessing hdmi might be a pain to port over to u-boot. I haven't looked into it. Edited May 30 by Nick A 0 Quote
Nick A Posted May 29 Posted May 29 (edited) I'll be more active developing my build maybe adding more tv boxes after summer when work slows down. Edited May 29 by Nick A 0 Quote
Kajen Posted May 30 Posted May 30 the transpeed-8k618-t build give me dram error, but I boot with x96 mate u-boot and then to usb boot to armbian transpeed-8k618-t and it work, but wlan didnt work, on dts says axp1530, but board is axp305, maybe they are compatible I already tested emac1, it works, but i need to check, i get gpu thermal critcal on armbian, maybe one of the change i set 0 Quote
Nick A Posted May 30 Posted May 30 (edited) I'm thinking the DTS that you extracted is a DTS for axp1530 but there might be an overlay that converts it back to axp305. If not then axp305 is compatible with axp1530 and all you have to do is change the dram settings in transpeed-8k618-t.defconfig. In this case you have all my warpme patches. The chip on your board does say axp305. So it's confusing why your android DTS has axp1530. Can you look for this partition and copy the dtbo_a file and extract it? dtbo_a -> /dev/block/mmcblk0p21 Edited May 30 by Nick A 0 Quote
Kajen Posted May 30 Posted May 30 h6.dtsi have video output on u-boot (I didnt test, I only saw on dtsi), I dont know why h616.dtsi dont have it 0 Quote
Kajen Posted May 30 Posted May 30 there dram setting on dtb Quote dram { compatible = "allwinner,dram"; clocks = <0xd8>; clock-names = "pll_ddr"; dram_clk = <0x288>; dram_type = <0x03>; dram_zq = <0x3f3fdd>; dram_odt_en = <0x01>; dram_para1 = <0x30fb>; dram_para2 = <0x00>; dram_mr0 = <0x840>; dram_mr1 = <0x04>; dram_mr2 = <0x08>; dram_mr3 = <0x00>; dram_tpr0 = <0xc0000c05>; dram_tpr1 = <0x00>; dram_tpr2 = <0x00>; dram_tpr3 = <0x00>; dram_tpr4 = <0x00>; dram_tpr5 = <0x00>; dram_tpr6 = <0x33808080>; dram_tpr7 = <0x00>; dram_tpr8 = <0x00>; dram_tpr9 = <0x00>; dram_tpr10 = <0x2f0007>; dram_tpr11 = <0xffffdddd>; dram_tpr12 = <0xfedf7557>; dram_tpr13 = <0x40>; linux,phandle = <0x17b>; phandle = <0x17b>; device_type = "dram"; dram_dx_odt = <0x3030303>; dram_dx_dri = <0xe0e0e0e>; dram_ca_dri = <0x1c12>; dram_mr4 = <0x00>; dram_mr5 = <0x00>; dram_mr6 = <0x00>; dram_mr11 = <0x00>; dram_mr12 = <0x00>; dram_mr13 = <0x00>; dram_mr14 = <0x00>; dram_mr16 = <0x00>; dram_mr17 = <0x00>; dram_mr22 = <0x00>; }; but with tx6s dram setting i dont have error Quote CONFIG_DRAM_SUN50I_H616_DX_ODT=0x03030303 CONFIG_DRAM_SUN50I_H616_DX_DRI=0x0e0e0e0e CONFIG_DRAM_SUN50I_H616_CA_DRI=0x00001c12 CONFIG_DRAM_SUN50I_H616_ODT_EN=0x00000001 CONFIG_DRAM_SUN50I_H616_TPR0=0xc0000c05 CONFIG_DRAM_SUN50I_H616_TPR2=0x00000000 CONFIG_DRAM_SUN50I_H616_TPR10=0x2f0007 CONFIG_DRAM_SUN50I_H616_TPR11=0xffffdddd CONFIG_DRAM_SUN50I_H616_TPR12=0xfedf7557 so, right now I want to see if i can enable cpu-idle-state on uboot, it look easier to implement on uboot, so I can know how to enable hdmi Quote &cpus { idle-states { entry-method = "arm,psci"; CPU_SLEEP0: cpu-sleep-0 { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x10000>; entry-latency-us = <0x2e>; exit-latency-us = <0x3b>; min-residency-us = <0xdf2>; local-timer-stop; status = "okay"; }; }; }; &cpu0 { cpu-idle-states = <&CPU_SLEEP0>; }; &cpu1 { cpu-idle-states = <&CPU_SLEEP0>; }; &cpu2 { cpu-idle-states = <&CPU_SLEEP0>; }; &cpu3 { cpu-idle-states = <&CPU_SLEEP0>; }; but it give error "Error: arch/arm/dts/.sun50i-h616-transpeed-t98-616.dtb.pre.tmp:82.1-6 Label or path cpus not found" 0 Quote
Rodrigo Campos Posted May 30 Posted May 30 Hi guys, first of all I want to thanks for Nike efforts and care with all people. I Bought a Transpeed M98 plus and need your help. usually don't ask questions in topics, because almost always just have the answer in already posted in past messengers, but I read all the topic and tried everything relative to my box, but cant boot over SD Card ou USB stick. If I power on my box pressing the bottom behind the P2 jack, The led is just red and no image in screen, In Uart there are none this way. If I boot no pressing the bottom, the Uart shows the logo, but doesn't appear the box try to boot from SD, it starts directly from internal memory. I had same problem in a RK322x box and solved it installing a new loader in it, but I see no similar thing for the Transpeed M98 Plus. I miss anything? You or other could help me with ant tips? P.S. I'm Brazilian, and my English is not so good, sorry any mistake. 0 Quote
Nick A Posted May 30 Posted May 30 Rodrigo, try miniarch images until find one that has similar specs. https://github.com/warpme/miniarch/releases 0 Quote
Rodrigo Campos Posted May 30 Posted May 30 (edited) Thanks for fast reply. I already tried it. My box didn't boot over SD. I tried either boot with an Android burned in PhoenixCard_v4.2.7 and nothing happens. Maybe I got a box with some blocked firmware. The mine is An Android TV. I enabled developer options without problem and turned on the USB debugging. I could pull the dts files over adb as you teach, but cant boot over sd card or pen-drive. The SD is working and I could see it in Android and The Android could write its default folders in it. There are any way to change its boot order. Please, see my serial log attached With Armbian SD inserted and Without it I didn't see any important difference. SerialLog-SD_Armbian.txt SerialLog_AndroidWO SD.txt Edited May 30 by Rodrigo Campos 0 Quote
Kajen Posted May 31 Posted May 31 the transpeed m98 have sunxi-secure, maybe that give you problems, I found it in a Russian forum, you can try to flash with Phoenix Usb another version (any tv box with h618) and then try to boot with sd 0 Quote
Rodrigo Campos Posted May 31 Posted May 31 Thanks kajen for your reply. I read this Russian forum and tried boot with the firmware posted there burned with Phoenixcard without sucess. The Phoenix Usb and Phoenix suit didn't recognize my box, because none driver I tried work in my notebook. Tomorrow I'll try another computer or maybe with Linux. Anyway, I'm afraid of brick my box with it... 0 Quote
Nick A Posted May 31 Posted May 31 (edited) Here's more information that might help. https://linux-sunxi.org/TOC0 https://patchwork.ozlabs.org/project/uboot/patch/20210822044649.13585-3-samuel@sholland.org/#2746768 https://linux-sunxi.org/Jide_Remix_Mini#Tips.2C_Tricks.2C_Caveats Edited May 31 by Nick A 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.