Jump to content

KTC msd6a358m2c1 (ktc-msd6a358m2c1)

From postmarketOS Wiki
KTC msd6a358m2c1
pmos booted withe the pre build kernel
pmos booted withe the pre build kernel
Manufacturer KTC
Name msd6a358m2c1
Codename ktc-msd6a358m2c1
Released 201X
Type tv
Hardware
Chipset Mstar msd6a358
CPU 4x Cortex-A35 1.5GHZ
GPU Mali-400MP2
Display 1366x768
Memory 1 GB
Architecture aarch64
Software
Original software
The software and version the device was shipped with.
Android 6.0
Extended version
The most recent supported version from the manufacturer.
Android
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
no

Who made it?

It is unknown who made it.However there are a ton of reference to ktc in the os (the name of ktc appeared in many preinstalled app's package name) thus it assumed ktc is the maker the tv.

What is this

This tv is a white-label product tv from china and it has been sold with many different names/variants and they are all share the same board.

Known Variant

This TV is also known as Philips 32PHF5664,TOPCONPro 24SM2,PEL 32P008,PEL 32P008,PEL 32PF008,Kiowa 40S-K1

TOPCONPro 24SM2

It use V236BJ1-P01 panel.

Identify the tv

Warning WARNING: High Voltage!

Open it up and you should see the a board look like that.

There are label on the pcb said msd6a358m2c1.

Hidden Menu

There are three hidden app which some contain hidden menu . One of the app is called Factory Menu (Package Name : mstar.factorymenu.ui). The second one is called Factory Menu_MDA6A358_DTMB (Package Name : ktc.factorymenu.ui).The third one is called Softinfo Menu (Package Name : ktc.softmenu.ui).It is possible to open those hidden menu by opening those app's activity by using app like App Manager.

adb

It seem ktc has been locked down the adb so persist.sys.ktc.adb.enable need to be setted to 1 in order to get adb to work.

root

In the case of the firmware that User:exkc had , the su command is pre-installed.It would ask for password if it is run in some android terminal app.Howerver it didnt ask for password if it is running in adb shell user (the user shell).

Uart

Schematic of the uart port (3.3V Bitrate:115200)
A example of wiring rx/tx from the vga port (ground is wired via other port)

Depend on the default behavior on your firmware , u-boot and android would only showed some early booting log of them due to the uart always get turning off once the uboot or android is booted (the uart got turned off twice).

It is possible to make uboot stop turning off the uart by using it's hidden memu thereby the uboot shell become accessible.

However the android would still turn off the uart after it has booted .It is posiable to make android stop turning off uart by setting UARTAndroidDebug uboot environment valuable to on thereby the android's shell become accessible (the shell is running as shell user).

Partition

Note It don't use standard dos/gpt partition in the emmc.
Note The boot image that inside boot/recovery partition isnt android boot image it is actually uImage
shell@topconpro:/ # ls /dev/block/platform/mstar_mci.0/by-name/ -al            
lrwxrwxrwx root     root              2007-01-01 20:00 MBOOT -> /dev/block/mmcblk0p1
lrwxrwxrwx root     root              2007-01-01 20:00 MPOOL -> /dev/block/mmcblk0p2
lrwxrwxrwx root     root              2007-01-01 20:00 RTPM -> /dev/block/mmcblk0p8
lrwxrwxrwx root     root              2007-01-01 20:00 armfw -> /dev/block/mmcblk0p7
lrwxrwxrwx root     root              2007-01-01 20:00 boot -> /dev/block/mmcblk0p5
lrwxrwxrwx root     root              2007-01-01 20:00 cache -> /dev/block/mmcblk0p12
lrwxrwxrwx root     root              2007-01-01 20:00 dtb -> /dev/block/mmcblk0p9
lrwxrwxrwx root     root              2007-01-01 20:00 misc -> /dev/block/mmcblk0p3
lrwxrwxrwx root     root              2007-01-01 20:00 optee -> /dev/block/mmcblk0p6
lrwxrwxrwx root     root              2007-01-01 20:00 recovery -> /dev/block/mmcblk0p4
lrwxrwxrwx root     root              2007-01-01 20:00 system -> /dev/block/mmcblk0p10
lrwxrwxrwx root     root              2007-01-01 20:00 tvcertificate -> /dev/block/mmcblk0p17
lrwxrwxrwx root     root              2007-01-01 20:00 tvconfig -> /dev/block/mmcblk0p14
lrwxrwxrwx root     root              2007-01-01 20:00 tvcustomer -> /dev/block/mmcblk0p16
lrwxrwxrwx root     root              2007-01-01 20:00 tvdatabase -> /dev/block/mmcblk0p15
lrwxrwxrwx root     root              2007-01-01 20:00 tvservice -> /dev/block/mmcblk0p13
lrwxrwxrwx root     root              2007-01-01 20:00 userdata -> /dev/block/mmcblk0p11


Booting

The stock uboot wont boot 64bit uImage due to the uboot is likely 32bit.However it can boot 64bit kernel that is packaged in 32bit uImage due to some assembly that for flipping the soc to 64bit is being hardcoded in the bootm command.Unfortunately pmos dont support packing 64bit kernel into 32bit uImage therefore the uImage need to created manually or set arch to armv7 in deviceinfo.

Running these commands in uboot to boot pmOS from usb:

<< MStar >># usb start 2 # start usb on usb port 2 (If you plug the usb in different port then you will need to change it)
<< MStar >># setenv no_compare_kernel_lx 1 # not sure what it do but u-boot nagged about it  when it is not being setted
<< MStar >># fatload usb 0 0x24D00000 uimage
<< MStar >># fatload usb 0 0x258D6574 uinitrd
<< MStar >># mmc read.p 0x23000000 dtb 0x00100000 # load the dtb from emmc (it could be loaded from usb as well but in [[User:exkc]] case it is being loaded from emmc)
<< MStar >># bootm 0x24D00000 0x258D6574 0x23000000

See Also

Contributors

Users owning this device

  • Exkc (Notes: TOPCONPro 24SM2 (Android died due to the custom partition tool messed up the fw partition that i didnt touch hence the emmc is just boot fw and swap for pmos))