Ditter v21

From linux-sunxi.org
Jump to navigation Jump to search
Ditter v21
Ditterv21-300x145.jpg
Manufacturer Ditter (Shenzen Zuftai Tecnology Co. Ltd)
Dimensions 98mm x 42mm x 10mm
Release Date 2013
Specifications
SoC A31s (A31) @ 1Ghz
DRAM 1GiB DDR3 @ 750MHz
NAND 8GB
Power DC 5V @ 2A (though dedicated USB plug)
Features
Video HDMI
Network WiFi 802.11 b/g/n (Ampak AP6210)
Storage µSD
USB 1 USB2.0 Host, 1 USB2.0 OTG

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.

Images

Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under See also. If no sunxi based images are available, this section can be removed.

HW-Pack

Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.

BSP

Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.

Manual build

WIP

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#script-extractor:

$ 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#meminfo tool extracts the memory info as expected.


U-Boot

Sunxi/Legacy U-Boot

Use the MANUFACTURER_DEVICE build target.

Mainline U-Boot

Use the MANUFACTURER_DEVICE build target.

Linux Kernel

Sunxi/Legacy Kernel

Use the MANUFACTURER_DEVICE.fex file.

Mainline kernel

Use the FAMILY-CHIP-DEVICE.dtb device-tree binary.

Tips, Tricks, Caveats

Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.

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).