Ditter v21

= Identification =

The device is an HDMI "stick", defined also as an "Android mini-PC", marked with "Ditter (TM) V21" brand and model on the external case.

The PCB back has the following silkscreened on it: I11 V1.3 120130809

In android, under Settings->About Tablet, you will find:
 * Model Number: Softwinner
 * Build Number: mars_i11-eng 4.2.2 JDQ39 20131108 test-keys

= Sunxi support =

Support on sunxi-linux is still not present. Collecting info.

Manual build
Apart from below caveats, Manual build howto procedures should be used as a guideline.

Extracting "fex" file out of the file extracted with Sunxi-tools:

$ adb shell sunxi-script_extractor > script_extractor.out

But "fexc" tool fails:

$ ./sunxi-fexc -v -I bin -O fex script_extractor.out ditter_v21.fex ./sunxi-fexc: from bin:script_extractor.out to fex:ditter_v21.fex fexc-bin: script_extractor.out: version: 0.1.2 fexc-bin: script_extractor.out: size: 131113 (73 sections) E: fexc-bin: script_extractor.out: product.~!: unknown type 0

Error is because the "product" entry is none of the expected types:

enum script_value_type { SCRIPT_VALUE_TYPE_SINGLE_WORD = 1, SCRIPT_VALUE_TYPE_STRING, SCRIPT_VALUE_TYPE_MULTI_WORD, SCRIPT_VALUE_TYPE_GPIO, SCRIPT_VALUE_TYPE_NULL, };

Infact, dumping head of the file, entries are all 0:

$ hexdump -C script_extractor.out | head 00000000 49 00 00 00 00 00 00 00  01 00 00 00 02 00 00 00  |I...............| 00000010 70 72 6f 64 75 63 74 00  00 00 00 00 00 00 00 00  |product.........| 00000020 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................| 00000030  02 00 00 00 de 02 00 00  70 6c 61 74 66 6f 72 6d  |........platform| 00000040 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................| 00000050  00 00 00 00 00 00 00 00  01 00 00 00 f2 02 00 00  |................| 00000060 74 61 72 67 65 74 00 00  00 00 00 00 00 00 00 00  |target..........| 00000070 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................| 00000080  02 00 00 00 fc 02 00 00  70 6f 77 65 72 5f 73 70  |........power_sp| 00000090 6c 79 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |ly..............|

It seems with A31 type devices that the fex file forms part of the uboot image and cannot be extracted with above tools.

On the other hand, the Sunxi-tools tool extracts the memory info as expected.

Sunxi/Legacy U-Boot
Use the  build target.

Mainline U-Boot
Use the  build target.

Sunxi/Legacy Kernel
Use the  file.

Mainline kernel
Use the  device-tree binary.

= Tips, Tricks, Caveats =

FEL mode
Referring to the front PCB picture below, which shows two buttons near the lower border, device seems like getting to FEL mode trying to push the LEFT button while plugging in the power USB cable (the one marked with DC on case back).

Plugging also an OTG USB cable to a Linux host (to the other mini-USB plug), I can read basic FEL info (using Sunxi-tools):

$ sudo ./sunxi-fel ver AWUSBFEX soc=00001633(A31) 00000001 ver=0001 44 08 scratchpad=00007e00 00000000 00000000

but the fel read command:

$ sudo ./sunxi-fel read 0x42400000 0x82d0 boot1.header

just hangs there... Later, fel ver fails too (returns nothing). I also noticed chip getting very hot.

Device disassembly
Device case can be opened with a sharp knife, to speatare the two shells enclosing the PCB. No screw is used, just plastic pins for the joint. Pay attention to the flexible antenna cable.

Locating the UART
Apparently no UART pads are present on PCB (I couldn't find any evident on it).

= Pictures =

= Also known as =

The MK823 has the same PCB, but in version 1.2. It differs apparently just for the missing buttons, which this device has on the PCB front.

Manufacturer images
No manufacturer stock image is published (to present knowledge).