Jump to content

Armbian for Amlogic S905X3


Sergey2k

Recommended Posts

On 1/26/2020 at 1:10 PM, ldiaz said:

 

 I had same problem on X96Air. I solved by modifying the max-speed=<100> in pyh section of the dts. The downside is that only works at 100Mbps.

 

Regards,

 

 

 

 

 

I solved using another router, but I will try limiting to 100 with first route.

 

Does your sound works? Have any tip?

Link to comment
Share on other sites

On 1/29/2020 at 4:42 AM, Darknight said:


Can you share the image & dtb to boot X96Air?

Tks,

Yes. I will publish latter today now I do not have the here the box! My box is 4G /32G I think it have external ephy to theoretically connecto 1Gbps ehternet. But there is basic version of this box that possible uses the internal ephy of the soc that only support 100Mbp In this case possibly my dtb will not work.

 

Link to comment
Share on other sites

1 hour ago, ldiaz said:

Yes. I will publish latter today now I do not have the here the box! My box is 4G /32G I think it have external ephy to theoretically connecto 1Gbps ehternet. But there is basic version of this box that possible uses the internal ephy of the soc that only support 100Mbp In this case possibly my dtb will not work.

 

And sound works?

Link to comment
Share on other sites

On 12/16/2019 at 3:58 AM, Sergey2k said:

I  fixed device tree file for my X96Air. Now wifi and ethernet work. In file phy-mode is changed from rgii to rgmii and added some strings from other file for this mode. Network, BT  work good, audio is not, and i've some error In log:

Dec 16 05:48:39 rk3399 kernel: OCFS2 User DLM kernel interface loaded
Dec 16 05:48:39 rk3399 kernel: EINJ: ACPI disabled.
Dec 16 05:48:39 rk3399 kernel: mmc0: queuing unknown CIS tuple 0x80 (2 bytes)
Dec 16 05:48:39 rk3399 kernel: mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
Dec 16 05:48:39 rk3399 kernel: mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
Dec 16 05:48:39 rk3399 kernel: mmc0: queuing unknown CIS tuple 0x80 (7 bytes)
Dec 16 05:48:39 rk3399 kernel: mmc0: queuing unknown CIS tuple 0x81 (9 bytes)
Dec 16 05:48:39 rk3399 kernel: meson8b-dwmac ff3f0000.ethernet: IRQ eth_wake_irq not found
Dec 16 05:48:39 rk3399 kernel: meson8b-dwmac ff3f0000.ethernet: IRQ eth_lpi not found
Dec 16 05:48:39 rk3399 kernel: meson8b-dwmac ff3f0000.ethernet: PTP uses main clock
Dec 16 05:48:39 rk3399 kernel: dwc2 ff400000.usb: ff400000.usb supply vusb_d not found, using dummy regulator
Dec 16 05:48:39 rk3399 kernel: dwc2 ff400000.usb: ff400000.usb supply vusb_a not found, using dummy regulator
Dec 16 05:48:39 rk3399 kernel: dwc3 ff500000.usb: Failed to get clk 'ref': -2
Dec 16 05:48:39 rk3399 kernel: gpio-keys gpio-keys: Unable to get irq number for GPIO 0, error -6
Dec 16 05:48:39 rk3399 systemd[1]: Failed to bump fs.file-max, ignoring: Invalid argument
Dec 16 05:48:39 rk3399 kernel: meson-g12a-pinctrl ff634400.bus:pinctrl@40: pin GPIOZ_2 already requested by ff3f0000.ethernet; cannot claim for ff661000.audio-control
Dec 16 05:48:39 rk3399 kernel: meson-g12a-pinctrl ff634400.bus:pinctrl@40: pin-2 (ff661000.audio-controller) status -22
Dec 16 05:48:39 rk3399 kernel: meson-g12a-pinctrl ff634400.bus:pinctrl@40: could not request pin 2 (GPIOZ_2) from group pdm_din0_z  on device pinctrl-meson
Dec 16 05:48:39 rk3399 kernel: axg-pdm ff661000.audio-controller: Error applying setting, reverse things back
Dec 16 05:48:39 rk3399 kernel: axg-pdm: probe of ff661000.audio-controller failed with error -22
Dec 16 05:48:39 rk3399 systemd-udevd[505]: link_config: could not get ethtool features for eth0
Dec 16 05:48:39 rk3399 systemd-udevd[505]: Could not set offload features of eth0: Device or resource busy
Dec 16 05:48:39 rk3399 kernel: debugfs: Directory 'ff800280.cec' with parent 'regmap' already present!
Dec 16 05:48:40 rk3399 kernel: meson_vdec: module is from the staging directory, the quality is unknown, you have been warned.
Dec 16 05:48:40 rk3399 kernel: platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
Dec 16 05:48:40 rk3399 kernel: platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
Dec 16 05:48:40 rk3399 kernel: brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
Dec 16 05:48:40 rk3399 kernel: brcmfmac mmc0:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.seirobotics,sei610.txt failed with error -2
Dec 16 05:48:40 rk3399 kernel: brcmfmac mmc0:0001:1: Falling back to sysfs fallback for: brcm/brcmfmac43455-sdio.seirobotics,sei610.txt
Dec 16 05:48:40 rk3399 kernel: bluetooth hci1: Direct firmware load for brcm/BCM4345C0.hcd failed with error -2
Dec 16 05:48:40 rk3399 kernel: bluetooth hci1: Falling back to sysfs fallback for: brcm/BCM4345C0.hcd
Dec 16 05:48:41 rk3399 kernel: meson8b-dwmac ff3f0000.ethernet eth0: PTP not supported by HW
Dec 16 05:48:41 rk3399 kernel: ext4 filesystem being mounted at /var/log supports timestamps until 2038 (0x7fffffff)
Dec 16 05:48:42 rk3399 kernel: brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
Dec 16 05:48:43 rk3399 kernel: brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Feb 27 2018 03:15:32 version 7.45.154 (r684107 CY) FWID 01-4fbe0b04

Hi @Sergey2k, @ldiaz

 

I patched my meson-sm1-sei610.dtb to ethernet work, but now audio stopped with GPIOZ_2 error like yours. How to solve?

Link to comment
Share on other sites

sudo ethtool -s eth0 autoneg off

I have some device on s905x3 with rt8211 and ethernet not worked. So i take meson-sm1-sei610-ethfix.dtb from previos post.
Use AML+RK+AW linux image. But still no ethernet. Only tihs code help, it took 2 days ))
Thanks, to balbes150 ! good work. 

Link to comment
Share on other sites

Hi!

 

x96-max.dtb - eth and no sound

sm1-sei610 - no eth and sound (I fix the eth in dtb, but now in conflict with sound).

 

The conflict is: On the sound detection says that GPIOZ_2 is already used by eth. Find GPIOZ_2 and found:

 

pinctrl-meson-g12a.c:static const unsigned int eth_rgmii_rx_clk_pins[]    = { GPIOZ_2 };

pinctrl-meson-g12a.c:static const unsigned int tdm_c_din0_z_pins[]        = { GPIOZ_2 };

 

Both variables (eth_rgmii_rx_clk_pins and tdm_c_din0_z_pins) pins and  are used in DTB.

 

Does anyone help me how to solve?
 

Edit: Solved removing two references from audio-controller -> pinctrl-0 that was in conflict with ethernet.

Edited by dgm78
Link to comment
Share on other sites

On 2/6/2020 at 8:13 PM, glukolog said:

sudo ethtool -s eth0 autoneg off

I have some device on s905x3 with rt8211 and ethernet not worked. So i take meson-sm1-sei610-ethfix.dtb from previos post.
Use AML+RK+AW linux image. But still no ethernet. Only tihs code help, it took 2 days ))
Thanks, to balbes150 ! good work. 

Tested DTB and eth is working, but now no sound. Did you checked the sound?

 

Edit: Solved removing two references from audio-controller -> pinctrl-0 that was in conflict with ethernet.

Link to comment
Share on other sites

Here is A95X F3 Air dtb from android.

I can not really understand how dtb describes hardware (yet...), so I have really hard time to understand if anything important is different.

And it is not like it is just few lines... it is pretty long file. So not something you can understand in few minutes.

https://hastebin.com/leluzuhado.pl

 

Maybe someone who understands it can have a look and see if there is important difference in SD card section vs meson-g12a-* dtb files.

For whatever reason I can not use any SD cards in linux. It will not even boot up past ROOTFS mounting point.

All I get is different error messages.

But at the same time bootloader can access SD cards just fine, to read kernel/ramdisk.

Also Android can access SD cards just fine, no problems.

Problem is only when linux kernel tries to access SD card and then it fails.

 

I think I have tried most if not all meson-g12a-* and meson-g12b-* dtb files and while they all boot to kernel, none have been able to read SD card. And some have other problems like network not working.

Link to comment
Share on other sites

15 minutes ago, srx said:

For whatever reason I can not use any SD cards in linux. It will not even boot up past ROOTFS mounting point.

All I get is different error messages.

But at the same time bootloader can access SD cards just fine, to read kernel/ramdisk.

Also Android can access SD cards just fine, no problems.

Problem is only when linux kernel tries to access SD card and then it fails.

 

 


Had the same issue at boot - https://forum.armbian.com/topic/7930-armbian-for-amlogic-s9xxx-kernel-5x/?do=findComment&comment=91407

From historical observations of the forum, the SD card is always blamed as faulty. A bug seems to have cropped in to kernel & dtb. 3.14.xx kernels don't have a problem with the sd card.

Link to comment
Share on other sites

2 minutes ago, dbsharpe said:

the SD card is always blamed as faulty. A bug seems to have cropped in to kernel & dtb. 3.14.xx kernels don't have a problem with the sd card.

Well, SD card is not faulty. I have tried several and none work. Most give the same -84 error, some give random IO errors. But none work.

 

Same card on same system in USB reader boots just fine.

Same card on same system when running Android works just fine.

Same cards and same kernel work fine on different hardware/dtb.

 

From that we know that:

Card is ok.

This specific hardware is ok and can read the card (works in andorid and bootloader).

This specific kernel can read card on different hardware (works on RK3328 A5X Max - but not S905x3 A95X F3 Air).

It does not work with specific hardware+dtb+kernel combo.

 

Same problem with s9xxx image and 5.3 kernel.

 

So what can be the problem?

Some sort of bug in kernel that only appears on specific hardware.

Incompatible reader and kernel driver.

Problem with DTB - maybe this hardware needs a different dtb to describe card reader. Could be a small detail - different voltage setup, different clock setup, etc.

 

I am not competent enough to look into kernel source and understand what the problem could be. I can understand most of the code - but I do not have the knowledge of card reader hardware specifics and how to program it.

When it comes to dtb, it is difficult to understand what 4000 lines of text actually do. And this is highly hardware specific and I do not know what hardware expects. So again, difficult to see if something is wrong.

 

I've run different tv boxes from sd card for a few years now. This is the first one that does not work from sd.

Link to comment
Share on other sites

I've spent hours today playing with dtb parameters and whatnot.

So far nothing.

Yes, Android dtb and dtb in this image are different. But I can not just copy-paste it. It is all related and pretty difficult to understand.

 

All I have is dmesg saying that SD card appeared, it is detected. Even partitions are detected and then it dissapears. But why it dissapears?

SDXC card seems to appear, then dissapear, then appear again...

[   88.606168] mmc0: new high speed SDHC card at address aaaa
[   88.607742] mmcblk0: mmc0:aaaa SP32G 29.7 GiB 
[   88.610100]  mmcblk0: p1 p2
[   89.637741] mmc0: card aaaa removed
[   89.731537] mmc0: error -84 whilst initialising SD card
[   90.824315] mmc0: error -84 whilst initialising SD card
[   91.912485] mmc0: error -84 whilst initialising SD card
Keeps repeating the last message about once per second.

/.../
Another card:

[  441.699628] mmc0: new high speed SDXC card at address aaaa
[  441.701190] mmcblk0: mmc0:aaaa SR64G 59.5 GiB 
[  441.706375]  mmcblk0: unable to read partition table
[  441.707109] mmc0: card aaaa removed
[  441.709786] udevd[2335]: inotify_add_watch(7, /dev/mmcblk0, 10) failed: No such file or directory
[  441.815132] mmc0: new high speed SDXC card at address aaaa
[  441.816655] mmcblk0: mmc0:aaaa SR64G 59.5 GiB 
[  441.819250]  mmcblk0: p1 p2
[  441.890260] blk_update_request: I/O error, dev mmcblk0, sector 124735472 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[  441.957930] blk_update_request: I/O error, dev mmcblk0, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[  442.031386] blk_update_request: I/O error, dev mmcblk0, sector 8 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[  442.034128] blk_update_request: I/O error, dev mmcblk0, sector 8 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0

 

It is meson-gx-mmc driver that handles sd card as far as I understand.

Link to comment
Share on other sites

I've spent hours today playing with dtb parameters and whatnot.

So far nothing.

Yes, Android dtb and dtb in this image are different. But I can not just copy-paste it. It is all related and pretty difficult to understand.

 

All I have is dmesg saying that SD card appeared, it is detected. Even partitions are detected and then it dissapears. But why it dissapears?

SDXC card seems to appear, then dissapear, then appear again...

[   88.606168] mmc0: new high speed SDHC card at address aaaa
[   88.607742] mmcblk0: mmc0:aaaa SP32G 29.7 GiB 
[   88.610100]  mmcblk0: p1 p2
[   89.637741] mmc0: card aaaa removed
[   89.731537] mmc0: error -84 whilst initialising SD card
[   90.824315] mmc0: error -84 whilst initialising SD card
[   91.912485] mmc0: error -84 whilst initialising SD card
Keeps repeating the last message about once per second.

/.../
Another card:

[  441.699628] mmc0: new high speed SDXC card at address aaaa
[  441.701190] mmcblk0: mmc0:aaaa SR64G 59.5 GiB 
[  441.706375]  mmcblk0: unable to read partition table
[  441.707109] mmc0: card aaaa removed
[  441.709786] udevd[2335]: inotify_add_watch(7, /dev/mmcblk0, 10) failed: No such file or directory
[  441.815132] mmc0: new high speed SDXC card at address aaaa
[  441.816655] mmcblk0: mmc0:aaaa SR64G 59.5 GiB 
[  441.819250]  mmcblk0: p1 p2
[  441.890260] blk_update_request: I/O error, dev mmcblk0, sector 124735472 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[  441.957930] blk_update_request: I/O error, dev mmcblk0, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[  442.031386] blk_update_request: I/O error, dev mmcblk0, sector 8 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[  442.034128] blk_update_request: I/O error, dev mmcblk0, sector 8 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0

 

EDIT:

 

The same card/image/kernel that gives endless -84 errors boots just fine in another device.

I just changed dtb to match hardware and started it up in Nexbox A95X (s905x/2GB/8GB). No errors, starts just fine.

 

In A95X F3 Air (S905x3/4GB/32GB) still no luck.

I have no time to do more research at the moment. Maybe I'll try again next weekend.

Link to comment
Share on other sites

Just got an H96 Max X3 (S905X3 based). 4GB RAM, 128GB eMMC. So a great Linux box (or so I thought).
It does not boot from the SD as far as I can see. I managed to use the TWRP for Android 9 by booting in recovery mode, and do have a copy of everything.

 

Tried to run the AML-Autoscript. I has to be renamed to UpdatePackage.zip to be found from updater (I made a copy, and copied aml_autoscript and aml_autoscript.cmd to start with UpdatePackage as well.

No luck. When it reboots to update, I get errors as below.

Any help/pointers welcome. Google is not much of a help here. Seems to be a Lenovo thing mostly. And I can not find anything in association to aml-config

Supported API: 3
charge_status 2, charged 1, status SUCCAESS, capacity 100
Finding update package
Opening update package
E: Block map file too short: 3
E: Map of '@/cache/recovery/block.map' failed
E: failed to map file
Installation aborted

 

Link to comment
Share on other sites

Answer to myself (and others) - you need the right dtb. Did that, and it boots.

Found in the single Armbian image thread. Only issue now is funny colors, and that it reboots (nice shutdown) on entering root password.

Tried using ssh and I am asked to change password. Strange behaviour.

No way to install to eMMC - tools not included - tried eoan. Now trying Bionic.

Both aoen and bionic fails to reboot from SD. Goes in a reboot loop. Powercycle and it boots ok.

Next problem,  no install menu option, and no nano-installs script. You have to look in the homedir of root :-)

Link to comment
Share on other sites

H96 Max box here, S905X4, 4GB RAM, 128 (116?) GB eMMC.

Boot fine from SD card. used DTB found page 7 this thread.

Ran ./install-aml.sh - everything looks fine.

 

But, it ill not find anything to boot when I reboot / power cycle. After the flash it will not clean boot the SD card either. Only solution is pressing the reset button in the AV jack.

Any help to get it to boot from internal eMMC please. I do see the 4+0 records in/out, indicating boot sector is written. But it just gives me the spinning logo to show it is loading or looking for something. I even tried to make the eMMC FAT partition bootable in disk.

 

Just for info, my built-in eMMC is mmcblk2 while installing. Not sure if the numbering changes anything ?
root@arm:~# lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
 

mmcblk1      179:0    0  29.8G  0 disk
├─mmcblk1p1  179:1    0   256M  0 part /boot
└─mmcblk1p2  179:2    0  29.3G  0 part /
mmcblk2      179:32   0 116.5G  0 disk
├─mmcblk2p1  179:33   0   244M  0 part
└─mmcblk2p2  179:34   0 115.6G  0 part
mmcblk2boot0 179:64   0     4M  1 disk
mmcblk2boot1 179:96   0     4M  1 disk
zram0        254:0    0    50M  0 disk /var/log
zram1        254:1    0     1G  0 disk [SWAP]

 

Link to comment
Share on other sites

Hi, although I've been using this forum for months, this actually is my first post. So, hello everyone!

 

Anyway, I just got an "X96 Max+" box and like other people here I went through the same troubles. I hoping this guy will be my headless Plex server, so no need for audio, or fancy HDMI features such as CEC, etc. USB 3.0, yes, I need that but I haven't got round to testing it to see if it gives good transfer rate yet as my biggest concern right now is to get the 1gig ethernet working. With the meson-g12a-x96-max.dtb file it does seem to detect it, but it won't communicate with the network even if I assign it a static IP. Is this a matter for good old driver install?

 

In another news: I've noticed that the coreelec guys have a working dtb with 1gbps ethernet since december. Is it possible to port that dtb file somehow?

 

thanks!

 

Link to comment
Share on other sites

Really looking forward to running armbian one day on my S905x3 device but ran into difficulty from the get go running aml_autoscript.

I was initially posting here with a cry for help but managed to sort the problem and thought I'd share my solution as this alternative method doesn't appear to be documented anywhere.

 

The problem:

 

Downloaded and burned Armbian_20.02.0-rc1.037_Aml-s9xxx_buster_current_5.5.0-rc6_20200205.img to sdcard.

Using the update app that was preinstalled on the android device, I tried loading aml_autoscript from external sd card, usb ports and internal storage but got the same error every time.

E:Block map file is too short: 3
E:Map of '@/cache/recovery/block.map' failed
E:failed to map file
Installation aborted

I tried all the above with different sdcards and usb sticks but still no luck. Running aml_autoscript from stock recovery gave a different error:

E:mmap(0, R, PRIVATE, 6, 0) failed: Invalid argument
E:Map of 'udisk/aml_autoscript.zip' failed
E:failed to map file
Installation aborted

The solution:

 

I didn't want to go down the uart/uboot route as I don't know where the tx/rx points are on this box and my eyesight isn't that great anymore. Plus my soldering days were over many years ago. I was able to boot into a twrp.zip via stock recovery, but there was no setenv command in the twrp console to enter the info manually. Perhaps there is a command I could enter to run the aml_autoscript from here, I have no idea. I decided the way forward was to extract the env partition with twrp (you can just as easily do it with dd or fastboot) and hack it before flashing it back. I opened the file up with a hex editor and could see what looked like a uboot environment with fatload commands etc, a 4 byte header at the start of the file then each command separated by a null byte. I'm looking at yet another brick if I bork it, so I'm not doing this with a hex editor. Convert it to a text file, make the changes and convert the text file back to the original 8mb image format was the plan. All I had to do was trim the trailing zeros and replace the remaining null bytes with a newline. I copied the file to my PC to do the job but it can all be done from a rooted box with busybox installed.

cp env.emmc.win env.emmc.bak; cat env.emmc.win | sed '$ s/\x00*$//' | sed "s/\x00/\n/g" > env.txt

That one-liner seemed to do the the trick (note backup). The resulting file gave me:

 

Spoiler

 


åby®EnableSelinux=permissive
Irq_check_en=0
active_slot=normal
baudrate=115200
bcb_cmd=get_avb_mode;get_valid_slot;
boot_part=boot
bootcmd=ddr_auto_fast_boot_check 6 0 0 50;run storeboot
bootdelay=1
cmdline_keys=if keyman init 0x1234; then if keyman read usid ${loadaddr} str; then setenv bootargs ${bootargs} androidboot.serialno=${usid};setenv serial ${usid};else setenv bootargs ${bootargs} androidboot.serialno=1234567890;setenv serial 1234567890;fi;if keyman read mac ${loadaddr} str; then setenv bootargs ${bootargs} mac=${mac} androidboot.mac=${mac};fi;if keyman read deviceid ${loadaddr} str; then setenv bootargs ${bootargs} androidboot.deviceid=${deviceid};fi;fi;
colorattribute=444,12bit
cvbs_drv=0
cvbsmode=576cvbs
display_bpp=16
display_color_bg=0
display_color_fg=0xffff
display_color_index=16
display_height=1080
display_layer=osd0
display_width=1920
dtb_mem_addr=0x1000000
ethaddr=00:15:18:01:81:31
factory_reset_poweroff_protect=echo wipe_data=${wipe_data}; echo wipe_cache=${wipe_cache};if test ${wipe_data} = failed; then run init_display; run storeargs;if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;fi; if test ${wipe_cache} = failed; then run init_display; run storeargs;if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;fi; 
fb_addr=0x3d800000
fb_height=1080
fb_width=1920
fdt_high=0x20000000
firstboot=0
frac_rate_policy=1
fs_type=rootfstype=ramfs
gatewayip=10.18.9.1
hdmi_read_edid=1
hdmimode=1080p60hz
hostname=arm_gxbb
init_display=get_rebootmode;echo reboot_mode:::: ${reboot_mode};if test ${reboot_mode} = quiescent; then setenv reboot_mode_android quiescent;run storeargs;setenv bootargs ${bootargs} androidboot.quiescent=1;osd open;osd clear;else if test ${reboot_mode} = recovery_quiescent; then setenv reboot_mode_android quiescent;run storeargs;setenv bootargs ${bootargs} androidboot.quiescent=1;osd open;osd clear;else setenv reboot_mode_android normal;run storeargs;hdmitx hpd;hdmitx get_preferred_mode;osd open;osd clear;imgread pic logo bootup $loadaddr;bmp display $bootup_offset;bmp scale;vout output ${outputmode};vpp hdrpkt;fi;fi;
initargs=init=/init console=ttyS0,115200 no_console_suspend earlyprintk=aml-uart,0xff803000 ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000 
ipaddr=10.18.9.97
irremote_update=if irkey 2500000 0xe31cfb04 0xb748fb04; then echo read irkey ok!; if itest ${irkey_value} == 0xe31cfb04; then run update;else if itest ${irkey_value} == 0xb748fb04; then run update;
fi;fi;fi;
jtag=disable
loadaddr=1080000
lock=10001000
netmask=255.255.255.0
osd_reverse=0
otg_device=1
outputmode=1080p60hz
panel_type=lcd_1
preboot=run bcb_cmd; run factory_reset_poweroff_protect;run upgrade_check;run init_display;run storeargs;run upgrade_key;bcb uboot-command;run switch_bootmode;
reboot_mode_android=normal
recovery_from_flash=get_valid_slot;echo active_slot: ${active_slot};if test ${active_slot} = normal; then setenv bootargs ${bootargs} ${fs_type} aml_dt=${aml_dt} recovery_part={recovery_part} recovery_offset={recovery_offset};if imgread kernel ${recovery_part} ${loadaddr} ${recovery_offset}; then wipeisb; bootm ${loadaddr}; fi;else setenv bootargs ${bootargs} ${fs_type} aml_dt=${aml_dt} recovery_part=${boot_part} recovery_offset=${recovery_offset};if imgread kernel ${boot_part} ${loadaddr}; then bootm ${loadaddr}; fi;fi;
recovery_from_sdcard=if fatload mmc 0 ${loadaddr} aml_autoscript; then autoscr ${loadaddr}; fi;if fatload mmc 0 ${loadaddr} recovery.img; then if fatload mmc 0 ${dtb_mem_addr} dtb.img; then echo sd dtb.img loaded; fi;wipeisb; setenv bootargs ${bootargs} ${fs_type};bootm ${loadaddr};fi;
recovery_from_udisk=if fatload usb 0 ${loadaddr} aml_autoscript; then autoscr ${loadaddr}; fi;if fatload usb 0 ${loadaddr} recovery.img; then if fatload usb 0 ${dtb_mem_addr} dtb.img; then echo udisk dtb.img loaded; fi;wipeisb; setenv bootargs ${bootargs} ${fs_type};bootm ${loadaddr};fi;
recovery_offset=0
recovery_part=recovery
sdc_burning=sdc_burn ${sdcburncfg}
sdcburncfg=aml_sdc_burn.ini
sdr2hdr=2
serverip=10.18.9.113
storeargs=setenv bootargs ${initargs} otg_device=${otg_device} reboot_mode_android=${reboot_mode_android} logo=${display_layer},loaded,${fb_addr} vout=${outputmode},enable panel_type=${panel_type} hdmitx=${cecconfig},${colorattribute} hdmimode=${hdmimode} frac_rate_policy=${frac_rate_policy} hdmi_read_edid=${hdmi_read_edid} cvbsmode=${cvbsmode} osd_reverse=${osd_reverse} video_reverse=${video_reverse} irq_check_en=${Irq_check_en}  androidboot.selinux=${EnableSelinux} androidboot.firstboot=${firstboot} jtag=${jtag}; setenv bootargs ${bootargs} androidboot.hardware=amlogic;run cmdline_keys;
storeboot=boot_cooling;get_system_as_root_mode;echo system_mode: ${system_mode};if test ${system_mode} = 1; then setenv bootargs ${bootargs} ro rootwait skip_initramfs;else setenv bootargs ${bootargs} ${fs_type};fi;get_valid_slot;get_avb_mode;echo active_slot: ${active_slot};if test ${active_slot} != normal; then setenv bootargs ${bootargs} androidboot.slot_suffix=${active_slot};fi;if test ${avb2} = 0; then if test ${active_slot} = _a; then setenv bootargs ${bootargs} root=/dev/mmcblk0p23;else if test ${active_slot} = _b; then setenv bootargs ${bootargs} root=/dev/mmcblk0p24;fi;fi;fi;if imgread kernel ${boot_part} ${loadaddr}; then bootm ${loadaddr}; fi;run storeargs; run update;
switch_bootmode=get_rebootmode;if test ${reboot_mode} = factory_reset; then setenv reboot_mode_android normal;run storeargs;run recovery_from_flash;else if test ${reboot_mode} = update; then setenv reboot_mode_android normal;run storeargs;run update;else if test ${reboot_mode} = quiescent; then setenv reboot_mode_android quiescent;run storeargs;setenv bootargs ${bootargs} androidboot.quiescent=1;else if test ${reboot_mode} = recovery_quiescent; then setenv reboot_mode_android quiescent;run storeargs;setenv bootargs ${bootargs} androidboot.quiescent=1;run recovery_from_flash;else if test ${reboot_mode} = cold_boot; then setenv reboot_mode_android normal;run storeargs;else if test ${reboot_mode} = fastboot; then setenv reboot_mode_android normal;run storeargs;fastboot;fi;fi;fi;fi;fi;fi;
try_auto_burn=update 700 750;
update=run usb_burning; run sdc_burning; if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;
upgrade_check=echo upgrade_step=${upgrade_step}; if itest ${upgrade_step} == 3; then run init_display; run storeargs; run update;else fi;
upgrade_key=if gpio input GPIOAO_3; then echo detect upgrade key; run update;fi;
upgrade_step=1
usb_burning=update 1000
video_reverse=0
wipe_cache=successful
wipe_data=successful
1080p60hz_deepcolor=444,12bit

 

 

 

 

So, I delete the 1st 4 characters as it turns out this is a checksum and if it isn't right then everything goes back to default values and it's back to square one. Then amended the exsisting variables (bootcmd and upgrade_step) and added the start_* variables. Note each variable has an '=' before the definition and there are no quotes, so not exactly copy and paste from the aml_autoscript file. I also observed that the environment variables were sort of in alphabetical order and thought it cautious to keep it that way and inserted the new variables between the 'serverip' and 'storeargs' variables. Now it was just a case of saving env.txt and converting the file back. As the 4 byte checksum needs to be there, I had to install uboot-tools as only the mkenvimage command can do this and build the env image.

mkenvimage -s 8388608 -p 0x00 -o env.emmc.win env.txt

Check the file with;

cat env.emmc.win | od -tx1

Burn the file back to the /dev/block/env or $(find /dev/block/platform | grep by-name/env) partition. Remember the file is now modded so the original twrp backup checksum won't work. Recreate it with;

md5sum env.emmc.win > env.emmc.win.md5

 

Link to comment
Share on other sites

Just got an Transpeed X3 plus (S905X3 based). 4GB RAM, 64GB eMMC.
It does boot from the SD as far as I can see.

I try Armbian image for RK + AML + AW with  g12a and sm1 dtb files.

But i have only this on display:

 

screenshot.jpg

 

During the boot process, I see 4 penguins, as I have 4 cores, but they are very poorly drawn, only outlines.
Then they run "OK", as if the download process is happening, but apart from OK, nothing is visible, and OK is very poorly visible.
When it ends I can press "Enter" and "OK" is shifted up, but the login prompt is not visible.

Over the network, I do not see DHCP requests. IP does not receive.

Any Ideas ?

 

Link to comment
Share on other sites

56 minutes ago, keynight said:

Transpeed X3 plus

Hi, I got the same board, but I'm not able to boot from sdcard. Have you open the box and can you share what is written on it, please? On mine, it is written x88pro and in android the amlogic dt-id is sm1_ac213_4g.

Link to comment
Share on other sites

18 minutes ago, jeanrhum said:

Hi, I got the same board, but I'm not able to boot from sdcard. Have you open the box and can you share what is written on it, please? On mine, it is written x88pro and in android the amlogic dt-id is sm1_ac213_4g.

 

is written x88pro-s905X3-D4-V1.0. I can boot from SD.


 

Quote

 

In the "U-BOOT" directory on the site there are versions of files for writing to a universal image for these models, to run the system from an SD card on the AML, RK and AW platform. I pay attention, u-boot records need to be performed after writing the image to the SD card, with two commands (to save the existing partition table).

 

 

 Write u-boot to SD card. U-boot replacement is performed by two commands.

 

dd if=u-boot-<model>.img of=/dev/<SD_card> conv=fsync bs=1 count=442

dd if=u-boot-<model>.img of=/dev/<SD_card> conv=fsync bs=512 skip=1 seek=1

 

u-boot file for support model

https://yadi.sk/d/PIGjwjZ4m4HKqg

 

 

photo5343554094004022417.jpg

photo5343554094004022416.jpg

photo5343554094004022415.jpg

photo5343523969103408166.jpg

Link to comment
Share on other sites

52 minutes ago, keynight said:

I think i need sm1_ac213_4g.dtb,  Where can i find this file?

The main problem is that it does not exist for other kernels than the one in android. You can try to decompile it and generate a new one by merging things in a s905x2 dtb for instance since socs are quite similar (only A55 instead of A53?).

I will try to burn n2 uboot on a sdcard to check if it boots. I was thinking I had to use the aml_autoscript way, but current update app, in orginal android rom, can't update from a local zip file. I have tried to use an alternative firmware (eg: x96air, ugoos x3cube, beelink gt1mini2), but usb burning tool fails each time at about 3%... Same result with burn card maker...

This board seems very close to the amlogic reference board. If you look in some android app detailing hardware, the board name is franklin as bellink board: https://www.cnx-software.com/2019/07/06/beelink-gt1-mini-2-amlogic-s905x3-tv-box/.

Link to comment
Share on other sites

49 minutes ago, jeanrhum said:

The main problem is that it does not exist for other kernels than the one in android. You can try to decompile it and generate a new one by merging things in a s905x2 dtb for instance since socs are quite similar (only A55 instead of A53?).

I will try to burn n2 uboot on a sdcard to check if it boots. I was thinking I had to use the aml_autoscript way, but current update app, in orginal android rom, can't update from a local zip file. I have tried to use an alternative firmware (eg: x96air, ugoos x3cube, beelink gt1mini2), but usb burning tool fails each time at about 3%... Same result with burn card maker...

This board seems very close to the amlogic reference board. If you look in some android app detailing hardware, the board name is franklin as bellink board: https://www.cnx-software.com/2019/07/06/beelink-gt1-mini-2-amlogic-s905x3-tv-box/.

I also had such thoughts about another firmware, when I realized that the Firmware-Update Tool is not updated from the local / usb disk.
Have you tried the toothpick method yet? At the same time, it shows the recovery menu for me, but it still does not update from the flash drive.

 

For me i find it easy to press the button inside jack and then connect the DC power jack release button after 1 second.

 

756f90d495a87d5dc98f32d6de9496babe5184d6.jpeg

Link to comment
Share on other sites

Hi, writting from my box. I use the latest image from balbes150. base don kernel 5.5.1 with meson-sm1-sei610.dtb. Trying to use the color trick for g12 board doesn't work for me, the board does not boot at all. Without considering the color problem, the desktop experience is smooth and the soc stay cool even if I have remove the heat sink (<50°C without heavy loads and go up for 60°C when watching test videos on mpv or chromium).

 

eth0 is visible but not able to send/receive data. wlan0 not visible, I use an usb dongle. Bluetooth seems active but not able to detect a bluetooth audio speaker.

 

Stop here since the blue color is not comfortable, but a more detailed report can be found here: http://ix.io/2bEh

 

Link to comment
Share on other sites

  • TRS-80 changed the title to Armbian for Amlogic S905X3
2 hours ago, jeanrhum said:

Hi, writting from my box. I use the latest image from balbes150. base don kernel 5.5.1 with meson-sm1-sei610.dtb. Trying to use the color trick for g12 board doesn't work for me, the board does not boot at all. Without considering the color problem, the desktop experience is smooth and the soc stay cool even if I have remove the heat sink (<50°C without heavy loads and go up for 60°C when watching test videos on mpv or chromium).

 

eth0 is visible but not able to send/receive data. wlan0 not visible, I use an usb dongle. Bluetooth seems active but not able to detect a bluetooth audio speaker.

 

Stop here since the blue color is not comfortable, but a more detailed report can be found here: http://ix.io/2bEh

 

Oh my congratulations!
Tell me about the details.
- what image, how do you copy it to SD
- which bootloader

Link to comment
Share on other sites

1 hour ago, jeanrhum said:

Hi, writting from my box. I use the latest image from balbes150. base don kernel 5.5.1 with meson-sm1-sei610.dtb. Trying to use the color trick for g12 board doesn't work for me, the board does not boot at all. Without considering the color problem, the desktop experience is smooth and the soc stay cool even if I have remove the heat sink (<50°C without heavy loads and go up for 60°C when watching test videos on mpv or chromium).

 

eth0 is visible but not able to send/receive data. wlan0 not visible, I use an usb dongle. Bluetooth seems active but not able to detect a bluetooth audio speaker.

 

Stop here since the blue color is not comfortable, but a more detailed report can be found here: http://ix.io/2bEh

 

Can you check with this  dtd files

meson-sm1-sei610-ethfix.dtb 

meson-sm1-sei610-ethfix.dts

meson-sm1-sei610-ethfix.dts meson-sm1-sei610-ethfix.dtb

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines