Jump to content

Armbian for Amlogic S912


chocho

Recommended Posts

@choco, I was trying to compile your branch and got this error:

From https://github.com/igorpecovnik/mt7601
 * branch            old        -> FETCH_HEAD
 * [new branch]      old        -> origin/old
[ .... ] Checking out
cp: missing destination file operand after '/home/lvmc/Projects/output/cache/sdcard/lib/modules/3.14.29-beelinkgt1/kernel/net/wireless/'
Try 'cp --help' for more information.
depmod: ERROR: could not open directory /home/lvmc/Projects/output/cache/sdcard//lib/modules/3.14.29-beelinkgt1: No such file or directory
depmod: FATAL: could not search modules: No such file or directory

What is the current stage / status of your fork. What is done, what is not working, what efforts we have to concentrate our force on?

 

@Igor, @tkaiser, is there a check list of things we have to get working to have a "stable" Armbian release?

Link to comment
Share on other sites

Judging by the log, the system is running. Log in as the root user with the password 1234, change the root password, create new user and give the shutdown command "poweroff". After turning it off try to start the system the power button on the remote control. If You are using a version of the image Desktop, after system startup and login, you can give the command "startx" to start graphical desktop.

Link to comment
Share on other sites

@balbes150, yes it is working!

 

How are you generating / compiling this image? Is it integrate with Igor's lib building system? 

Have you tried to write to NAND chip using nand-sata-install from Armbian?

WiFi is not working by default, don't know if it is only a matter of loading the module or not. The WiFi chip is AP6255.

Link to comment
Share on other sites

@balbes150, 

 

The Armbian_5.24_Amlogic-s905x_Ubuntu_xenial_3.14.29_desktop_20161125.img.xz image is booting on Beelink GT1. Please check the full dmesg:

 

Well done, sir. :)

-How do you boot it; do you just write an image to a Micro-SD card and boot off the card directly ?

Link to comment
Share on other sites

Yes. I downloaded respective img from balbes150 link, wrote to sdcard.

 

To boot you have to insert sdcard, unplug power, hold the key near the capacitor / power plug, plug power and release key after some seconds.

 

On screen image will take a little bit to turn on.

 

@balbes150, nand-sata-install is writing upto 100%, but after reboot android is booting again, not the probably written armbian image.

 

Do you know what else we need to do?

Link to comment
Share on other sites

1. I understand that the system automatically used the correct dtb data (you not copied dtb) ?

2. It is the universal images, which are collected from my git if you select AmlogicS905X

3. The setup script in the internal memory is NOT working. It needs to be changed (I don't have time, something would have to change it and test). The main problem is that the script should NOT replace u-boot and should be able to embed the system into existing mtd-partitions without affecting functionality of an internal component (recovery env, etc).

4. For WiFi settings you need to perform several manual operations (I hope next versions will be added gradually need the infrastructure to support WiFi).

 

https://forum.armbian.com/index.php/topic/2419-armbian-for-amlogic-s905-and-s905x/?p=20730

Link to comment
Share on other sites

@balbes150 and @choco

 

1. I just wrote your image to sdcard and booted, I haven't copied any dtb file.

How can I extract dtb files from available Beelink Android images (GT1_104M0.img or GT1_104M0_AP6255.img)?

 

2. What are the differences from @balbes150 and @choco initiative?

 

3. What do you mean by "script in internal the internal memory"? What are the steps to test and help you?

 

4. I extracted newest Bluetooth and WiFi drivers for AP6255 from Beelink's GT1 Android image, it can be downloaded from:

https://dl.dropboxusercontent.com/u/11164079/GT1/bluetooth.tar.gz

https://dl.dropboxusercontent.com/u/11164079/GT1/wifi.tar.gz

Link to comment
Share on other sites

@balbes150 and @chocho

 

I learnt how to extract the dtb and dts file from Beelink Android images. I will be documenting it here to help other users, but it is the exactly process @chocho already did.

 

1) update your GT1 device with GT1_104M0.img or GT1_104M0_AP6255.img

 

2) power-up, boot GT1;

 

3) copy boot.img from running Android image

adb pull /dev/block/boot boot.img

4) download split_bootimg.pl tool and run it over boot.img

wget -c http://www.enck.org/tools/split_bootimg_pl.txt -O split_bootimg.pl
chmod a+x split_bootimg.pl
split_bootimg.pl boot.img

Result:

-rw-r--r--   1 lvmc  staff    32M Dec  4 19:28 boot.img
-rw-r--r--   1 lvmc  staff   7.0M Dec  4 20:08 boot.img-kernel
-rw-r--r--   1 lvmc  staff   898K Dec  4 20:08 boot.img-ramdisk.gz
-rw-r--r--   1 lvmc  staff    82K Dec  4 20:08 boot.img-second.gz

5) find the hex addresses of "d0 0d fe ed"

hexdump -C -v boot.img-second.gz |less

Results (hex and decimal addresses):

gxm_q201_1g: 00000800 (2048)
gxm_q201_2g: 0000a800 (43008)

6) extract available dtb sections from boot.img-second.gz

gxm_q201_1g
dd if=boot.img-second.gz of=gxm_q201_1g.dtb bs=2048 skip=1

gxm_q201_2g
dd if=boot.img-second.gz of=gxm_q201_2g.dtb bs=43008 skip=1

7) convert dtb (binary format) to dts (readable)

dtc -I dtb -O dts -o gxm_q201_201_1g.dts gxm_q201_201_1g.dtb
dtc -I dtb -O dts -o gxm_q201_201_2g.dts gxm_q201_201_2g.dtb

*dtc command is available on GNU/Linux

 

There is only one difference between gxm_q201_201_1g.dts and gxm_q201_201_2g.dts

memory@00000000 {
device_type = "memory";
linux,usable-memory = <0x0 0x1000000 0x0 0x3f000000>;
};


memory@00000000 {
device_type = "memory";
linux,usable-memory = <0x0 0x1000000 0x0 0x7f000000>;
};

boot.img, dtb and dts files from previous steps are available at:

https://dl.dropboxusercontent.com/u/11164079/GT1/beelink_gt1.tar.gz

 

beelink_gt1/boot

-rw-r--r--  1 lvmc  staff    32M Dec  4 19:28 boot.img
-rw-r--r--  1 lvmc  staff   7.0M Dec  4 20:08 boot.img-kernel
-rw-r--r--  1 lvmc  staff   898K Dec  4 20:08 boot.img-ramdisk.gz
-rw-r--r--  1 lvmc  staff    82K Dec  4 20:08 boot.img-second.gz

beelink_gt1/dtb_dts

-rw-r--r--  1 lvmc  staff    80K Dec  4 20:24 gxm_q201_1g_00000800.dtb
-rw-r--r--  1 lvmc  staff    48K Dec  4 20:25 gxm_q201_1g_00000800.dts
-rw-r--r--  1 lvmc  staff    40K Dec  4 20:18 gxm_q201_2g_0000a800.dtb
-rw-r--r--  1 lvmc  staff    48K Dec  4 20:21 gxm_q201_2g_0000a800.dts
Link to comment
Share on other sites

I'm trying to find all errors on @balbes150 905x image, the issues are:

 

1) on boot

[FAILED] Failed to start Hostname Service.
[FAILED] Failed to start Network Manager Wait Online.

2) nand-sata-install

 

Current root is returning a strange path: LABEL=ROOTFS

302         root_partition=$(cat /proc/cmdline | sed -e 's/^.*root=//' -e 's/ .*$//')
root@amlogic-s905x:~# cat /proc/cmdline
root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyS0,115200n8 console=tty0 no_console_suspend consoleblank=0 hdmimode=720p60hz m_bpp=24 fsck.repair=yes net.ifnames=0 mac=00:15:18:01:81:31

We also have a problem with emmc device

Error: The device /dev/mmcblk1 is so small that it cannot possibly store a file system or partition table.  Perhaps you selected the wrong device?
Error: The device /dev/mmcblk1 is so small that it cannot possibly store a file system or partition table.  Perhaps you selected the wrong device?
Error: The device /dev/mmcblk1 is so small that it cannot possibly store a file system or partition table.  Perhaps you selected the wrong device?
Error: The device /dev/mmcblk1 is so small that it cannot possibly store a file system or partition table.  Perhaps you selected the wrong device?
Error: The device /dev/mmcblk1 is so small that it cannot possibly store a file system or partition table.  Perhaps you selected the wrong device?

3) dmesg / kernel errors 

[    0.000000]               linux,ppmgr: 0x0000000078200000 - 0x000000007a200000  (32 MiB)[    0.000000]        linux,codec_mm_cma: 0x0000000066800000 - 0x0000000073800000  (208 MiB)
[    0.000000]              linux,picdec: 0x0000000078200000 - 0x0000000078200000  (0 MiB)
[    0.000000] Reserved memory: incorrect alignment of CMA region
[    0.000000]   linux,codec_mm_reserved: 0x0000000074100000 - 0x0000000078200000  (65 MiB)
[    0.000000] fdt Reserved memory total:  402 MiB
[    0.000000] cma: Reserved 8 MiB at 66000000
[    0.000000] On node 0 totalpages: 519424
[    0.647863] clkmsr: Gxl msr_clk_reg0=ffffff800006075c,msr_clk_reg2=ffffff8000062764
[    0.650302] aml_iomap: amlogic iomap probe done
[    0.650939] pinmux-gxl c1109880.pinmux: Init pinux probe!
[    0.652185] pinmux-gxl c1109880.pinmux: Probed amlogic pinctrl driver
[    0.652672] genirq: Setting trigger mode 8 for irq 241 failed (gic_set_type+0x0/0xbc)
[    0.652709] genirq: Setting trigger mode 8 for irq 242 failed (gic_set_type+0x0/0xbc)
[    0.652879] genirq: Setting trigger mode 8 for irq 241 failed (gic_set_type+0x0/0xbc)
[    0.652908] genirq: Setting trigger mode 8 for irq 242 failed (gic_set_type+0x0/0xbc)
[    0.655451] codec_mm has 2 memory regions
[    0.655505] codec_mm codec_mm.19: assigned reserved memory node linux,codec_mm_cma ok
[    0.655529] codec_mm codec_mm.19: assigned reserved memory node linux,codec_mm_reserved ok
[    0.655641] codec_mm has 2 memory regions
[    0.655664] codec_mm codec_mm.19: assigned reserved memory node linux,codec_mm_cma ok
[    0.655685] codec_mm codec_mm.19: assigned reserved memory node linux,codec_mm_reserved ok
[    0.657635] vpu: driver version: v02
[    0.657678] vpu: load vpu_clk: 666667000Hz(7)
[    0.657779] vpu: vpu_probe OK
[    0.659312] tv_vout: tvout_probe
[    0.659340] tv_vout: major number 254 for disp
[    0.659352] vout_notify: vout_register_server
[    0.659363] tv_vout: register tv module server ok
[    0.659463] tv_vout: tvout_probe OK
[    0.660085] canvas_probe reg=00000000c8838000,size=400
[    0.660122] canvas maped reg_base =ffffff8000184000
[    0.664344] rdma_probe
[    2.590447] meson-rng c8834000.rng: hwrng registered
[    2.594299] loop: module loaded
[    2.595295] mtdoops: mtd device (mtddev=name/number) must be supplied
[    2.596090] tun: Universal TUN/TAP device driver, 1.6
[    2.596113] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    2.648928] hdmitx: plugin
[    2.741198] amlogic-new-usb2 d0078000.usb2phy: USB2 phy probe:phy_mem:0xd0078000, iomap phy_base:0xffffff80001ba000
[    2.741447] amlogic-new-usb3 d0078080.usb3phy: This phy has no usb port
[    2.741481] amlogic-new-usb3 d0078080.usb3phy: USB3 phy probe:phy_mem:0xd0078080, iomap phy_base:0xffffff80001bc080
[    2.741999] mousedev: PS/2 mouse device common for all mice
[    2.743182] USB Video Class driver (1.1.1)
[    2.744089] device-mapper: ioctl: 4.27.0-ioctl (2013-10-30) initialised: dm-devel@redhat.com
[    2.744280] cpufreq-hotplug: cpufreq_gov_dbs_init: assumes CONFIG_NO_HZ
[    2.744441] cpu cpu0: bL_cpufreq_init: CPU 0 initialized
[    2.746648] cpu cpu4: bL_cpufreq_init: CPU 4 initialized
[    4.543802] c11084c0.serial: ttyS1 at MMIO 0xc11084c0 (irq = 58, base_baud = 1500000) is a meson_uart
[    4.553701] dwc_otg: usb0: type: 2 speed: 0, config: 0, dma: 0, id: 0, phy: d0078000, ctrl: 0
[    4.561709] dwc_otg_driver_probe host only, not probe usb_otg!!!
[    4.568023] meson-gpu-clkgen c883c000.gpu_clk: can't request region for resource [mem 0xc883c000-0xc883cfff]
[    4.577777] meson-gpu-clkgen: probe of c883c000.gpu_clk failed with error -16
[    4.585240] hdmitx: system: hdmitx_hdcp_init
[    4.868852] emmc:pdata->caps = c0000d47
[    4.872790] emmc:pdata->caps2 = 18060
[    4.876590] storage 1, boot 1
[    4.879690] get_storage_dev return 1
[    4.910259] normal card in
[    4.918796] [aml_sd_emmc_probe] aml_sd_emmc_probe() success!
[    5.008814] [aml_sd_emmc_probe] aml_sd_emmc_probe() success!
[    5.009399] ion_dev has 1 memory regions
[    5.029124] fb: osd_init_module
[    5.029348] fb: viu vsync irq: 35
[    5.030273] fb: failed to init reserved memory
[    5.034853] tv_vout: tv_set_current_vmode[759]fps_target_mode=16
[    5.040993] tv_vout: mode is 16,sync_duration_den=1,sync_duration_num=60
[    6.060585] 6unifykey: device unifykeys created ok
[    6.065362] 6aml_unifykeys_init done!
[    6.069139] PPMGRDRV: warn: ppmgr module init func called
[    6.074777] PPMGRDRV: err: ppmgr_driver_probe called
[    6.079734] ppmgr has 1 memory regions
[    6.083619] PPMGRDRV: info: ppmgr_dev major:232
[    6.088616] PPMGRDRV: info: ppmgr_probe done
[    6.542486] audio_dsp: [dsp]register dsp to char divece(257)
[    6.549117] amaudio: amaudio: driver amaudio succuess!
[    6.553817] amlvid:err: amlvideo_init called
[    6.557715] amlvid:err: amlvideo_create_instance called
[    6.564008] amlvid:err: v4l2_dev.name=:amlvideo-000
[    6.568967] amlvideo-000: V4L2 device registered as video10
[    6.574874] [RX]-hdmirx: hdmirx_init.
[    6.578201] ESM HLD: Initializing...
[    6.849342] input input1: key 116 up
[    6.853760] input: cec_input as /devices/virtual/input/input2
[    6.858808] cectx aocec: aml_cec_probe(): no hdmirx reg resource
[    6.864611] cectx aocec: aml_cec_probe(): no hhi reg resource
[    6.870589] cectx aocec: aml_cec_probe(): can't find hdmirx
[    6.877313] cec: wake up flag:0
[    6.881408] aml_aes_dma c883e000.aml_aes: Aml AES_dma
[    7.158993] aml_snd_card: headphone detection disable=1
[    7.162483] aml_snd_card: no spk event delay time set
[    7.168047] aml_snd_m8_card aml_m8_snd.47: T9015-audio-hifi <-> I2S.40 mapping ok
[    7.175606] aml_snd_m8_card aml_m8_snd.47: dit-hifi <-> SPDIF.41 mapping ok
[    7.182298] aml_snd_m8_card aml_m8_snd.47: pcm2bt-pcm <-> PCM.42 mapping ok
[    7.189168] aml_snd_m8_card aml_m8_snd.47: ASoC: no source widget found for LOUTL
[    7.196709] aml_snd_m8_card aml_m8_snd.47: ASoC: Failed to add route LOUTL -> direct -> Ext Spk
[    7.205526] aml_snd_m8_card aml_m8_snd.47: ASoC: no source widget found for LOUTR
[    7.213110] aml_snd_m8_card aml_m8_snd.47: ASoC: Failed to add route LOUTR -> direct -> Ext Spk
[    7.229669] aml_snd_card: audio use jtag pinmux as i2s output, read val =ffffffff
[    8.562936] usb usb2: SerialNumber: xhci-hcd.0.auto
[    8.568513] hub 2-0:1.0: USB hub found
[    8.572608] hub 2-0:1.0: config failed, hub doesn't have any ports! (err -19)
[    8.579306] aml_vrtc rtc.32: setting system clock to 2015-01-01 00:00:14 UTC (1420070414)
[    8.588658] gxbb_pm: enter meson_pm_probe!
[    8.594847] gxbb_pm: meson_pm_probe done
[    8.601893] cpucore_cooling_register, max_cpu_core_num:4
[    8.608223] cpucore_cooling_register, max_cpu_core_num:4
[    8.628551] aml_istbt_dev_ready NULL
[    8.632656] ALSA device list:
[    8.636630]   #0: AML-M8AUDIO
[   11.528107] systemd[1]: Starting Create list of required static device nodes for the current kernel...
[   11.547452] systemd[1]: Mounted POSIX Message Queue File System.
[   11.561244] systemd[1]: Mounted Debug File System.
[   11.574443] systemd[1]: Mounted Huge Pages File System.
[   11.587878] systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
[   11.598590] systemd[1]: Failed to start Load Kernel Modules.
[   11.618008] systemd[1]: systemd-modules-load.service: Unit entered failed state.
[   11.626685] systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.
[   11.636116] systemd[1]: Started Set console keymap.
[   11.651753] systemd[1]: Started Restore / save the current clock.
[   11.670622] systemd[1]: Time has been changed
[   11.713706] systemd[1]: Starting Apply Kernel Variables...

4) WiFi

 

I copied the WiFi files extracted from original Beelink GT1 Android image to /lib/firmware/brcm, but I'm getting these errors:

[   77.851826] F1 signature read @0x18000000=0x15264345
[   77.855166] F1 signature OK, socitype:0x1 chip:0x4345 rev:0x6 pkg:0x2
[   77.855833] DHD: dongle ram size is set to 819200(orig 819200) at 0x198000
[   77.856284] dhd_conf_read_config: kso_enable = 0
[   77.856372] dhd_conf_set_fw_name_by_chip: firmware_path=/lib/firmware/brcm/fw_bcm43455c0_ag.bin
[   77.856381] dhdsdio_download_firmware: set use_rxchain 0
[   77.856386] dhdsdio_download_firmware: set txglomsize 40
[   77.856392] sdioh_set_mode: set txglom_mode to multi-desc
[   77.856397] Final fw_path=/lib/firmware/brcm/fw_bcm43455c0_ag.bin
[   77.856402] Final nv_path=/lib/firmware/brcm/
[   77.856407] Final conf_path=/lib/firmware/brcm/config.txt
[   77.905834] dhdsdio_download_nvram: error reading nvram file: -21
[   77.905849] _dhdsdio_download_firmware: dongle nvram file download failed
[   77.905889] dhd_net_bus_devreset: dhd_bus_devreset: -35
[   77.905898] dhd_prot_ioctl : bus is down. we have nothing to do
[   77.905904] dhd_net_bus_devreset: dhd_bus_devreset: -35
[   77.905958] wifi_platform_set_power = 0
[   77.905964] ======== PULL WL_REG_ON LOW! ========
[   77.905969] wl_android_wifi_on: Failed
[   77.905976] dhd_open : wl_android_wifi_on failed (-35)
[   77.905984] dhd_stop: Enter ffffffc050c6d800
[   77.905989] wl_android_wifi_off in 1
[   77.905995] wl_android_wifi_off in 2: g_wifi_on=0
[   77.905999] wl_android_wifi_off out
[   77.906004] dhd_stop: Exit
[   77.906013] dhd_open: Exit ret=-1

4) Mali drivers

tar xvzf Mali_OpenCL_SDK_v1.1.0.tar.gz
cd Mali_OpenCL_SDK_v1.1.0/samples/hello_world_opencl
make
export LD_LIBRARY_PATH=Mali_OpenCL_SDK_v1.1.0/lib

Result:

root@amlogic-s905x:~/Mali_OpenCL_SDK_v1.1.0/samples/hello_world_opencl# ./hello_world_opencl
OpenCL error: Unknown error
Retrieving OpenCL platforms failed. common.cpp:233
Failed to create an OpenCL context. hello_world_opencl.cpp:39

Tried to modprobe mali, no success yet. There is an interesting Amlogic repository with gpu drivers: http://openlinux.amlogic.com:8000/download/ARM/gpu/

Link to comment
Share on other sites

1. The script recording system to the internal memory nand-sata-install - not working. It needs to be changed allowing for the u-boot (which is eMMC). Now I have several options how to install the system to the internal memory. These options are in the process of testing. After I'm satisfied that they work, I will publish them.

 

2. I don't know exactly what changes did the @chocho in the Assembly. I noticed that he uses a different name for the script autostart system in multiboot. This is a personal matter @chocho choose how to assemble the system. But the use of non-standard parameters may complicate the launch of the system from other users who already use a universal multiboot (different variants of Linux, LE).

 

3. To debug the operation of WiFi I don't have time, I hope that in the future will be able to return to this issue.

 

4. mali driver need to collect with a different kernel , S912 use a different graphics core.

 

5. Script autostart on the first stage trying to download the file "dtb.img" (from the FAT partition). Therefore , You can copy the dtb version with the obligatory name "dtb.img".

Link to comment
Share on other sites

I think we are now advancing quickly to fully-support Beelink GT1/S912! I would like to request help from Armbian community to solve the issues, since some users are very confident with some topics and already had solved similar problems. It will take much more time to learn everything and try to solve topic-by-topic.

 

1. The script recording system to the internal memory nand-sata-install - not working. It needs to be changed allowing for the u-boot (which is eMMC). Now I have several options how to install the system to the internal memory. These options are in the process of testing. After I'm satisfied that they work, I will publish them.

 

2. I don't know exactly what changes did the @chocho in the Assembly. I noticed that he uses a different name for the script autostart system in multiboot. This is a personal matter @chocho choose how to assemble the system. But the use of non-standard parameters may complicate the launch of the system from other users who already use a universal multiboot (different variants of Linux, LE).

 

3. To debug the operation of WiFi I don't have time, I hope that in the future will be able to return to this issue.

 

4. mali driver need to collect with a different kernel , S912 use a different graphics core.

 

5. Script autostart on the first stage trying to download the file "dtb.img" (from the FAT partition). Therefore , You can copy the dtb version with the obligatory name "dtb.img".

 

1. So, can you take care of solving this issue @balbes150? If you need any support or provide guidance I can help you write code and test anything.

 

2. @chocho, can you explain what are the differences? I think the best thing to do is to merge all work that was done. What do you think?

 

3. @Igor and @tkaiser, I think you are very experienced with WiFi stuff. Can you help me? On previous post I published the drivers and at least what I understood was that nvram.txt is not being correctly loaded (the path is wrong and I don't know where it is read from).

 

4. Yes, GT1 uses Mali-8. @balbes150, where do you think we can find the correct mali driver?

 

5. Ok, will give it a try with correct dtb file for GT1.

Link to comment
Share on other sites

I think S912 boxes become support sooner or later but I'm personally not that much interested in it since I miss the use cases. Number crunching on TV boxes comes to my mind but that's nothing I'm interested in. I will go this route instead.

 

Very interesting board and at a decent price, looking at the block diagram, do you know if the Armada 3700 Security Engine already has mainline support or if a driver has been discussed by the devs.

 

the datasheet says "Complete SDK including U-Boot, Mainline Linux BSP", but well you know..

 

I'm again trying to see if that soc would have any kind of decent performance (+100Mbps) with openvpn (ssl / aes-128-cbc).

Not sure how kickstarter works and if that kind of question can be asked directly.

Link to comment
Share on other sites

Very interesting board and at a decent price, looking at the block diagram, do you know if the Armada 3700 Security Engine already has mainline support or if a driver has been discussed by the devs.

 

the datasheet says "Complete SDK including U-Boot, Mainline Linux BSP", but well you know..

 

I'm again trying to see if that soc would have any kind of decent performance (+100Mbps) with openvpn (ssl / aes-128-cbc).

Not sure how kickstarter works and if that kind of question can be asked directly.

This is kind of offtopic here, but on Armada Clearfog (Marvell A388 SoC) "cryptsetup benchmark" with CESA on mainline kernel is fast enough:

#  Algorithm | Key |  Encryption |  Decryption
     aes-cbc   128b    98.1 MiB/s   101.2 MiB/s
     aes-cbc   256b    89.6 MiB/s    91.9 MiB/s

so if Armada 3700 gets good software support (better than A38x) then ESPRESSOBin would be a very good board

 

Though openssl (and thus openvpn) on Jessie and Xenial can't deal properly with HW acceleration, so it may need compiling custom versions of these packages.

 

Edit:

root@armada:~# openssl speed -elapsed -evp aes-128-cbc aes-256-cbc
You have chosen to measure elapsed time instead of user CPU time.
Doing aes-256 cbc for 3s on 16 size blocks: 7453836 aes-256 cbc's in 3.00s
Doing aes-256 cbc for 3s on 64 size blocks: 1960890 aes-256 cbc's in 3.00s
Doing aes-256 cbc for 3s on 256 size blocks: 506265 aes-256 cbc's in 3.00s
Doing aes-256 cbc for 3s on 1024 size blocks: 127612 aes-256 cbc's in 3.00s
Doing aes-256 cbc for 3s on 8192 size blocks: 15996 aes-256 cbc's in 3.00s
Doing aes-128-cbc for 3s on 16 size blocks: 8899081 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 64 size blocks: 2569323 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 256 size blocks: 678375 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 1024 size blocks: 172005 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 8192 size blocks: 21589 aes-128-cbc's in 3.01s
OpenSSL 1.0.1t  3 May 2016
built on: Fri Sep 23 19:23:52 2016
options:bn(64,32) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) blowfish(ptr)
compiler: gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DGHASH_ASM
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-256 cbc      39753.79k    41832.32k    43201.28k    43558.23k    43679.74k
aes-128-cbc      47461.77k    54812.22k    57888.00k    58711.04k    58756.51k
root@armada:~#
Link to comment
Share on other sites

@mdel and @zador.blood.stained the key advantage of GT1 is not only S912 octa-core, but it is all about Mali-8 with full OpenCL support. It is the most powerful hardware I know at this price, size and thermal set.

Link to comment
Share on other sites

[off topic]

@zador.blood.stained

are those benchmarks for the Marvell A388 ?

 

Your figures are almost as high as the s905 for openssl which is quite good i imagine (A3700 > A388?). The other board i've investigated is the XU4 which gives 1.5-2x the s905 performance, so i guess the A15 at 2GHz does the trick compared to a A53 at 1.5GHz.

 

 

 

I'm a bit worried about the max clock speed of 1.2GHz of the 3700, openvpn being single threaded, you can only get single core performance.  Which also showed the nasty clock speed hack performed on those s905 A53 cores, the benchmarks being exactly the same "at or above" 1.5GHz..

 

I did do the whole montjoie H3 Security Engine driver / cryptodev build, but didn't get any performance improvement using the hw module with a vanilla openssl (cryptodev enabled) and the somewhat old patch that should be applied has to be matched by hand and i didn't have time to do that.

 

Anyways, i can't quite make sense of cryptsetup results compared to real life openvpn, but "openssl speed" is quite accurate.

 

 

[/off topic]

 

@lvmc

if you already managed to boot a linux on your s912 could you run that benchmark ?

openssl speed -elapsed -evp bf-cbc aes-128-cbc aes-256-cbc

you can post them here if you don't want to pollute this thread, although it would be relevant to the s912 this time.

 

I would still be interested in an s912 box, mainly because they are quite cheap now, come with 2G of ram and Gbe.

i have to check the s912 diagram again to see if there would be more things of interest to me (not the gpu stuff), i know it has an x265 encoder that i could make use of, but we can probably wait until the end of time before any software can actually use it..

Link to comment
Share on other sites

@balbes150, I'm trying to use the GT1 .dtb file that I extracted from Android on your Armbian_5.24_Amlogic-s905x_Ubuntu_xenial_3.14.29_desktop_20161125, but I still have a few questions.

 

On sdcard /BOOT there is a s905_autostart file pointing to dtb.img, but there is not dtb.img anywhere. Who is calling s905_autostart? Where is it retrieving dtb.img from?

Link to comment
Share on other sites

@balbes150, I'm trying to use the GT1 .dtb file that I extracted from Android on your Armbian_5.24_Amlogic-s905x_Ubuntu_xenial_3.14.29_desktop_20161125, but I still have a few questions.

 

On sdcard /BOOT there is a s905_autostart file pointing to dtb.img, but there is not dtb.img anywhere. Who is calling s905_autostart? Where is it retrieving dtb.img from?

 

Script logic s905_autoscript. At startup, the script checks for the file "dtb.img" if it is, use it, if not, tries to load the dtb data in the internal memory of the TV box. After burning the image to media file "dtb.img" is not. Therefore, at first start, the system tries to use the standard dtb files from internal memory. If the launch system fails (the dtb file from the internal memory is not suitable for kernel-image Armbian), you need to manually copy the appropriate dtb file and manually rename it to "dtb.img". The correct use dtb file in this case to lie on the user. He decides what dtb file to use. This allows you to try different files, selecting one in which the system can operate.

Link to comment
Share on other sites

Hi,

I own a Sunvell T95z and I tried @balbes150 latest armbian distribution but I get a segmentation fault when I try to boot. I can see on the serial console that the dtb is recognized and it starts booting the kernel. But the i get the exception and halts. I tried to use the internal emmc and provide the a dtb.img from buildroot (gxl_p230_2g.dtb renamed as dtb.img), but I had no success. I tried libreelec build with the buildroot dtb and it boots correctly (no kodi because lack of gpu support).

I want to use armbian because I don´t need Kodi or the desktop I just want a headless environment.

 

Any clue what else can I try? 

Link to comment
Share on other sites

@balbes150

 

Are you sure that this s905_autoscript is loading dtb.img from sdcard?

setenv boot_start booti ${loadaddr} ${initrd_loadaddr} ${dtb_loadaddr}
if fatload usb 0 ${initrd_loadaddr} uInitrd; then if fatload usb 0 ${loadaddr} zImage; then if fatload usb 0 ${dtb_loadaddr} dtb.img; then run boot_start; else store dtb read $dtb_loadaddr; run boot_start;fi;fi;fi;
if fatload mmc 0 ${initrd_loadaddr} uInitrd; then if fatload mmc 0 ${loadaddr} zImage; then if fatload mmc 0 ${dtb_loadaddr} dtb.img; then run boot_start; else store dtb read $dtb_loadaddr; run boot_start;fi;fi;fi;

Is it loading from /boot/dtb/dtb.img or /boot/dtb.img?

Link to comment
Share on other sites

I tried this image: Armbian_5.24_Amlogic-s905x_Ubuntu_xenial_3.14.29_20161125.img.

I first tried without any change on the image and then I tried with the attached dtb which works with libreelec image

 

From what version of LE You have used the file ? For current kernel, you can use files from the 008 version.

 

Again, try to use files that are part of the image (in the "dtb" directory of the first partition). Try to use the files q200 . Documentation Amlogic files p230 - designed for S905D.

 

 

 

@balbes150

 

Are you sure that this s905_autoscript is loading dtb.img from sdcard?

setenv boot_start booti ${loadaddr} ${initrd_loadaddr} ${dtb_loadaddr}
if fatload usb 0 ${initrd_loadaddr} uInitrd; then if fatload usb 0 ${loadaddr} zImage; then if fatload usb 0 ${dtb_loadaddr} dtb.img; then run boot_start; else store dtb read $dtb_loadaddr; run boot_start;fi;fi;fi;
if fatload mmc 0 ${initrd_loadaddr} uInitrd; then if fatload mmc 0 ${loadaddr} zImage; then if fatload mmc 0 ${dtb_loadaddr} dtb.img; then run boot_start; else store dtb read $dtb_loadaddr; run boot_start;fi;fi;fi;

Is it loading from /boot/dtb/dtb.img or /boot/dtb.img?

 

 

The script uses the file "dtb.img" from the root of the first partition (the FAT partition). After starting Armbian this partition is mounted at /boot

Link to comment
Share on other sites

@balbes I tried LE: LibreELEC-S905.aarch64-7.0.2.009.img.

I have tried now with the file on the dtb folder on your image and the system boots with ethernet, but now wifi or usb. 

Whenever I plug a USB device I get this message:

[ 1216.925033@2] hub 1-0:1.0: connect-debounce failed, port 1 disabled
 
For wifi, I don't see the modules loaded (chip is AP6330), I'll boot with LE again to check if it has the same issue with USB and what module loads for wifi.
 
Thanks for this great work.
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