Skip to content

AfsmNGhr/m8s_pro_w_r-n-d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 

Repository files navigation

Mecool M8s Pro W Android Tv Box

Table of content

Specification

  • CPU – Amlogic S905W quad core ARM Cortex-A53 @ 1.2GHz
    • Blue board rev2.1
  • GPU – Mali 450MP GPU @ 650 MHz
    • OpenGL ES 2.0
    • OpenVG 1.1
  • OS – Android 7.1.1
  • Memory – 2GB DDR3
  • Storage – 16GB eMMC flash + micro SD card slot (up to 32GB)
  • Video Output – HDMI 2.0, AV port
  • Audio – HDMI, AV port (stereo audio)
  • Video Codecs – 4K H.265, MPEG1/2/4, H.264, HD AVC/VC-1, RM/RMVB, Xvid/DivX3/4/5/6, RealVideo8/9/10
  • Video Formats – 4K@30fps, H.265, AVI, H.264, VC-1, MPEG-2, MPEG-4, DIVD/DIVX, Real8/9/10, RM,RMVB, PMP, FLV, MP4, M4V, VOB, WMV, 3GP, MKV
  • Connectivity – 10/100M Ethernet, 802.11 b/g/n Wi-Fi
  • USB – 2x USB 2.0 host ports
  • Misc – IR receiver
  • Power Supply – DC 5V/2A
  • Dimensions 10.20 x 10.20 x 2.10 cm
  • Weight – 110g

Analogies

  • Tanix TX3 mini
  • X96 mini
  • Odroid C2

Firmwares (recommended)

Device Tree (dtb)

Mecool M8S Pro W S905W2Ggxl_p281_2g.dtb

Getting dtb.img

Download firmware.

unzip M8S_PRO_W-ota-20180802.182556.V0213.zip

Extracting dtb’s

git clone https://github.com/PabloCastellano/extract-dtb.git --depth=1
cd extract-dtb
./extract-dtb.py dtb.img
cd dtb

Listing dtb’s.

00_kernel
01_dtbdump_Amlogic.dtb
02_dtbdump_Amlogic.dtb

Read info about dtb’s

pip install pyfdt

Write simple script.

from pyfdt.pyfdt import FdtBlobParse

with open('dtb/01_dtbdump_Amlogic.dtb', 'rb') as infile:
    dtb = FdtBlobParse(infile)
    print(dtb.to_fdt().to_dts())

See info.

/dts-v1/;
// version:             17
// last_comp_version:   16
// boot_cpuid_phys:     0x0

/ {
    model = "Amlogic";
    compatible = "amlogic, Gxbb";
    amlogic-dt-id = "gxl_p28x_1g";
    interrupt-parent = <0x00000001>;
    #address-cells = <0x00000002>;
    #size-cells = <0x00000002>;
    mali {
        #cooling-cells = <0x00000002>;
        compatible = "arm,mali-450";
        interrupt-parent = <0x00000001>;
        reg = <0x00000000 0xd00c0000 0x00000000 0x00040000 0x00000000 0xc1104440 0x00000000 0x00001000 0x00000000 0xc8100000 0x00000000 0x00001000 0x00000000 0xc883c000 0x00000000 0x00001000 0x00000000 0xc1104440 0x00000000 0x00001000>;
        interrupts = <0x00000000 0x000000a0 0x00000004 0x00000000 0x000000a1 0x00000004 0x00000000 0x000000a2 0x00000004 0x00000000 0x000000a3 0x00000004 0x00000000 0x000000a4 0x00000004 0x00000000 0x000000a5 0x00000004 0x00000000 0x000000a6 0x00000004 0x00000000 0x000000a7 0x00000004 0x00000000 0x000000a8 0x00000004 0x00000000 0x000000a9 0x00000004>;
        interrupt-names = "IRQGP", "IRQGPMMU", "IRQPP", "IRQPMU", "IRQPP0", "IRQPPMMU0", "IRQPP1", "IRQPPMMU1", "IRQPP2", "IRQPPMMU2";
        pmu_domain_config = <0x00000001 0x00000002 0x00000004 0x00000004 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000001 0x00000002 0x00000000>;
        pmu_switch_delay = <0x0000ffff>;
        num_of_pp = <0x00000003>;
        def_clock = <0x00000003>;
        sc_mpp = <0x00000003>;
        tbl = <0x00000002 0x00000003 0x00000004 0x00000005 0x00000006 0x00000006>;
        clocks = <0x00000007 0x00000008 0x00000007 0x00000009 0x00000007 0x00000011 0x00000007 0x00000012 0x00000007 0x0000001e 0x00000007 0x00000015 0x00000007 0x00000013 0x00000007 0x00000014>;
...

Armbian

Armbian images

Attention. This information is outdated.

Write image on sdcard.

sudo dd if=Armbian_5.98_Aml-g12_Ubuntu_bionic_default_5.3.0_20191002.img of=/dev/sdb status=progress

Mount boot partition after successfully write image.

sudo mount /dev/sdb1 /mnt
sudo nano /mnt/uEnv.ini

Set correct dtb name.

dtb_name=/dtb/meson-gxl-s905w-p281.dtb
bootargs=root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0

Unmount sdcard.

sudo umount /mnt

Put sdcard in the box and play with linux.

Login root
Password 1234