Miyoo PocketGo-S30

= Identification = On the back of the device, the following is printed: Pocket-Go S30 Game Console MODEL: PocketGo-S30 INPUT: 2600MmAh          Made In China

The PCB has the following silkscreened on it: Miyoo353-B 2020.11.20

Using ADB Shell

cat /sys/class/sunxi_info/sys_info sunxi_platform   : Sun8iw5p1 sunxi_secure     : normal sunxi_chipid     : 000000002af798c78a5460400461872a sunxi_chiptype   : Not Supported! sunxi_batchno    : 0

cat /proc/kmsg Linux version 3.4.39 (jf@jf) (gcc version 6.4.1 (OpenWrt/Linaro GCC 6.4-2017.11 2017-11))

= Sunxi support =

Current status
Building and running your own build of u-boot and Linux is currently unsupported. The device seems to be running a custom build of u-boot version 1.1.0 and Linux version 3.4.39.

Images
The NAND partition dumps can be found here.

mtd0

 * Data offsets
 * 0x000000: SPL
 * 0x006000: U-BOOT
 * 0x056000: script.bin
 * 0x05F000: MTD name data?

For some reason if you extract the U-BOOT and script.bin from mtd0 it will result in seemingly corrupt or weirdly formatted data, making it unusable. Script.bin however can be successful extracted from memory using the sunxi-script-extractor tool.

sunxi-script_extractor > script.bin

mtd1
Contains boot.cmd

mtd2
Contains image of rootfs

mtd3
SquashFS partition containing only a small directory tree.

/dev/console /sbin

mtd4
Contains a single JPG image of the device boot logo.

mtd5
The U-DISK

Manual build
You can build things for yourself by following our Manual build howto and by choosing from the configurations available below.

Sunxi/Legacy U-Boot
Use the  build target.

Mainline U-Boot
Use the  build target.

Sunxi/Legacy Kernel
Use the PocketGoS30.fex file.

Mainline kernel
Use the  device-tree binary.

FEL mode
A specially formatted µSD card can activate FEL mode. It's possible there is a button that can activate FEL mode, but it is currently undiscovered. UART access has not been acquired yet, but it's possible this may also be a potential, undiscovered, option.

ADB
The PocketGo-S30 is running ADB, allowing us to access the shell using `adb shell` in a terminal. You can dump the nand partitions onto the µSD card and access other information about the device here. This shell access is how most of the information here has been gathered.

= Adding a serial port (voids warranty) =



Device disassembly
Remove two screws on the back of the case. The back case will now pop free and reveal the battery. The battery is double-sided taped down onto the button assembly that holds the L1, R1, L2, and R2 buttons. You can peel it free with relative ease and disconnect it from the header on the left-hand side of the board. Remove the 4 more screws on the button assembly bar will allow it to be easily removed, giving you full access to the motherboard. Be gentle and pop open the little plastic tabs on the the LCD and joystick headers to open and slip out the ribbon cables. Also be sure to remove the speaker connector on the opposite side. You can now unscrew the last 2 remaining screws and remove the motherboard from the front shell housing. The LCD seems to be glued or taped inside the front housing, making removing it destructive.

Locating the UART
UART pins can be found right underneath the battery and button assembly. They are the 3 unpopulated pins with a white rectangle around them. The port is enabled and functional, however, the kernel is not configured to use it. For some reason, there is also no output when u-boot is booting. UART howto

= Pictures =

= Schematic =

= Also known as =

This device seems to have many different names associated with it, and it's hard to determine the original name. The motherboard has Miyoo353 on the silkscreen, but the Linux kernel and script.fex seems to call it zkswe_a33 internally. The most commonly used name and easily recognizable name is the PocketGo S30 or S30 for short.

= See also =