Hi folks - big thanks to balbes150 for bringing newer LE builds to our S812 devices!
My Device: MXIII-G 2G/8G S812
I don’t actually know what “brand” it is the box itself and packaging don’t really say so I guess it’s a clone, maybe of a Tronsmart?
Model: MXIII-G 4K
Android Version: 5.1.1
Build: 108L1
There are several links to original Android firmware available here (some may expire but they seem to replace them):
download-new-firmware-108l1-tronsmart-mxiii-plus.html
I was running Wilro’s build LibreELEC-MX3G.arm-7.0.1c, from Freaktab - installed that into Internal storage (not SDCard).
It ran well, but obviously is an older build and I saw these newer builds by balbes150, and wanted to upgrade due to the subtitle parsing vulnerabilities...
Installed LibreELEC-S812.arm-17.4_20170822-MXIII_Plus build by copying the tar file into /update dir across the network, rebooted and after replacing the correct remote.conf, things are (mostly) running well!
Many thanks to balbes150 for all the hard work!
I have only one issue - the HDMI port will not output sound correctly.
I plug my MXIII-G into a Yamaha AVR (RX-A3020), which supports DTS-HD MA, DDTrueHD etc.
Now I realise that I may not get the MA or TrueHD stream with one of these little boxes, but I SHOULD at least get the “core” audio streams being passed through HDMI to my AVR.
So in the case of:
DTS-HD MA stream, I should still get the DTS5.1 (lossy core) stream, and, for,
DD TrueHD stream, I should still at least get the DolbyDigital5.1 (lossy core).
Under Wilro’s build that’s how things worked.
With this build (20170822-MXIII_Plus):
I am (mostly) only getting Kodi GUI navigation sounds.
Even if a video contains ONLY a single “regular” DTS5.1 (lossy) stream - I get no sound at all.
I have one exception - a full BD iso image of a movie with multiple audio streams.
Stream 1/10 is a DD TrueHD Atmos 7.1 track - if I select this one, then I get LPCM 2.1 working audio on my AVR!
Explain that! (I can’t).
Anyway, this seems like a driver issue to me.
I have reviewed the Audio settings, I can choose from the following 3 options:
ALSA: AML-M8AUDIO (@:CARD=AMLM8AUDIO,DEV=0),S/PDIF
ALSA: AML-M8AUDIO (iec958:CARD=AMLM8AUDIO,DEV=0),S/PDIF
PULSE: Default, Bluetooth Audio (PULSEAUDIO)
I cannot find any difference between the first two options in terms of impact on working multichannel sound (or not), but am I correct that the HDMI port is not properly detected?
I honestly do not recall what Wilro’s older working build had under Audio devices.
At this point, I should point out that while I have flashed a few ROMs onto Android phones (so I found the original installation of Wilro’s build onto internal storage easy), I am newish to OpenELEC/LibreELEC in general.
But from reading this thread, it seems I would be asked for the fw_printenv:
aml_dt=m8m2_n200_2G
baudrate=115200
bcb_cmd=bcb uboot-command;
boardname=m8_board
bootargs=rootfstype=ramfs init=/init console=ttyS0,115200n8 no_console_suspend earlyprintk ramoops.mem_address=0x04e00000 ramoops.mem_size=0x100000 ramoops.record_size=0x8000 ramoops.console_size=0x4000 androidboot.selinux=permissive storage=2 cvbsdrv=0 vdaccfg=0xa000 logo=osd1,loaded,0x07900000,1080p,full hdmimode=1080p cvbsmode=576cvbs androidboot.firstboot=1 hdmitx=cecf
bootcmd=run bootfromsd; run storeboot
bootdelay=1
bootfile=boot.img
bootfromnand=0
bootfromsd=if test ${bootfromnand} = 1; then setenv bootfromnand 0; saveenv; exit; fi; if test ${reboot_mode} = switch_system; then exit; fi; if mmcinfo; then if fatload mmc 0 ${loadaddr} kernel.img; then setenv bootargs ${bootargs} bootfromsd; bootm; fi; fi
bootm_low=0x00000000
bootm_size=0x80000000
bootpath=u-boot.bin
bootsize=100000
bootstart=0
bootup_1080_offset=0x13084220
bootup_1080_size=0x5eec38
bootup_720_offset=0x13738b30
bootup_720_size=0x2a3038
bootup_offset=0x13084220
bootup_size=0x5eec38
cecconfig=cecf
check_rebootmode=get_rebootmode; clear_rebootmode; echo reboot_mode=${reboot_mode};if test ${reboot_mode} = factory_reset; then defenv; fi;
chipname=8726m8
console=ttyS0,115200n8
cvbs_drv=0
cvbsmode=576cvbs
display_bpp=24
display_color_bg=0
display_color_fg=0xffff
display_color_format_index=24
display_height=1080
display_layer=osd2
display_width=1920
ethact=Meson_Ethernet
ethaddr=xxx(yes I changed this)
factory_reset_poweroff_protect=echo wipe_data=${wipe_data}; echo wipe_cache=${wipe_cache};if test ${wipe_data} = failed; then run prepare; run storeargs; run recovery;fi; if test ${wipe_cache} = failed; then run prepare; run storeargs; run recovery;fi;
fb_addr=0x07900000
fb_height=1080
fb_width=1920
firstboot=1
gatewayip=xx.xx.xx.xx(yes I changed this)
get_dt=checkhw
hdmimode=1080p
hostname=arm_m8
initargs=rootfstype=ramfs init=/init console=ttyS0,115200n8 no_console_suspend earlyprintk ramoops.mem_address=0x04e00000 ramoops.mem_size=0x100000 ramoops.record_size=0x8000 ramoops.console_size=0x4000 androidboot.selinux=permissive storage=2
initrd_high=60000000
ipaddr=xx.xx.xx.xx(yes I changed this)
loadaddr=0x12000000
loadaddr_logo=0x13000000
netmask=xx.xx.xx.xx(yes I changed this)
normalsize=400000
normalstart=1000000
outputmode=1080p
p0path=uImage
p0size=400000
p0start=1000000
p1path=android.rootfs
p1size=8000000
p1start=1400000
partnum=2
preboot=run factory_reset_poweroff_protect;if itest ${upgrade_step} == 3; then run prepare; run storeargs; run update; fi; if itest ${upgrade_step} == 1; then defenv_reserve_env; setenv upgrade_step 2; saveenv;fi; run check_rebootmode;run prepare;run storeargs;run update_key; run switch_bootmode
preloaddtb=imgread dtb boot ${loadaddr}
prepare=logo size ${outputmode}; video open; video clear; video dev open ${outputmode};imgread res logo ${loadaddr_logo}; unpackimg ${loadaddr_logo}; logo source ${outputmode}; bmp display ${bootup_offset}; bmp scale;
reboot_mode=charging
recovery=echo enter recovery;run bcb_cmd; setenv bootargs ${bootargs} wipeinstaboot;if mmcinfo; then if fatload mmc 0 ${loadaddr} recovery.img; then bootm;fi;fi; if usb start 0; then if fatload usb 0 ${loadaddr} recovery.img; then bootm; fi;fi;if imgread kernel recovery ${loadaddr}; then bootm; else echo no recovery in flash; fi;
sdc_burning=sdc_burn ${sdcburncfg}
sdcburncfg=aml_sdc_burn.ini
serverip=xxx(yes I changed this)
stderr=serial
stdin=serial
stdout=serial
store=2
storeargs=setenv bootargs ${initargs} cvbsdrv=${cvbs_drv} vdaccfg=${vdac_config} logo=osd1,loaded,${fb_addr},${outputmode},full hdmimode=${hdmimode} cvbsmode=${cvbsmode} androidboot.firstboot=${firstboot} hdmitx=${cecconfig}
storeboot=if test ${reboot_mode} = charging; then run try_auto_burn; fi;secukey auto;secukey write keyexample 1234567890; echo Booting...; run bcb_cmd; if unifykey get usid; then setenv bootargs ${bootargs} androidboot.serialno=${usid};fi;if unifykey get mac; then setenv bootargs ${bootargs} mac=${mac};fi;imgread kernel boot ${loadaddr};bootm;run recovery
switch_bootmode=if test ${reboot_mode} = factory_reset; then run recovery;else if test ${reboot_mode} = update; then run update;else if test ${reboot_mode} = usb_burning; then run usb_burning;else if test ${wipe_data} = failed; then echo wipe_data=${wipe_data}; run recovery;else fi;fi;fi;fi
testaddr=0x12400000
try_auto_burn=update 700 750;
update=run usb_burning; if mmcinfo; then if fatexist mmc 0 ${sdcburncfg}; then run sdc_burning; else if fatload mmc 0 ${loadaddr} aml_autoscript; then autoscr ${loadaddr}; fi;run recovery;fi;else run recovery;fi;
update_key=saradc open 0; if saradc get_in_range 0 0x50; then msleep 50; if saradc get_in_range 0 0x50; then echo update by key...; run update; fi;fi
upgrade_bar_offset=0x13000280
upgrade_bar_size=0xde
upgrade_error_offset=0x136f6c40
upgrade_error_size=0x41ee6
upgrade_fail_offset=0x136b4d50
upgrade_fail_size=0x41ee6
upgrade_logo_offset=0x13042250
upgrade_logo_size=0x41ee6
upgrade_step=0
upgrade_success_offset=0x13672e60
upgrade_success_size=0x41ee6
upgrade_unfocus_offset=0x13084140
upgrade_unfocus_size=0xde
upgrade_upgrading_offset=0x13000360
upgrade_upgrading_size=0x41ee6
us_delay_step=1
usb_burning=update 1000
vdac_config=0xa000
video_dev=tvout
wipe_cache=successful
wipe_data=successful
Display More
Also, here is the output of lsmod:
lsmod
Module Size Used by
hci_uart 41077 1
bluetooth 194856 2 hci_uart
8021q 16147 0
dhd 659723 0
cfg80211 205360 1 dhd
mali 161397 5
And further info from:
aplay --list-devices
**** List of PLAYBACK Hardware Devices ****
card 0: AMLM8AUDIO [AML-M8AUDIO], device 0: AML PCM dummy_codec-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: AMLM8AUDIO [AML-M8AUDIO], device 1: SPDIF PCM dit-hifi-1 []
Subdevices: 1/1
Subdevice #0: subdevice #0
I did also obtain the dmesg output, it’s quite large (probably too big for here!) and I may be wrong but it looks like for some reason the S/PDIF output is being sent to HDMI???
Or that the system is sending only to S/PDIF port, OR as PCM only.
I’ve read this whole thread a few times, and see mention of dtb files and replacing one of these with different one for slightly different hardware revisions.
I’ve looked under the filesystem, but I must be stupid, I can't find these dtb files.
I also can’t see it mentioned anywhere in the posts WHERE these files are in the filesystem?
(recall, mine is running from internal storage, NOT SDcard or USB drive).
Any help gratefully received!
If I can get the sound working I will be super-stoked - donation to the community for sure!
Everything else about this build is working well for me (I haven't tested Bluetooth, but I don't care about that)
Cheers,
tU