Samsung Galaxy Mini 2 (samsung-s6500d)

From postmarketOS
Revision as of 06:42, 30 September 2018 by Halamix2 (talk | contribs)
Jump to: navigation, search
Samsung Galaxy Mini 2
Samsung s6500d
Samsung s6500d
Manufacturer Samsung
Name Galaxy Mini 2
Codename samsung-s6500d, s6500, jena
Released 2012
Original software Android 2.3.4
postmarketOS kernel 3.4 from Cyanogen
Chipset Qualcomm MSM7227A Snapdragon S1
CPU ARM Cortex-A5 800 Mhz
GPU Adreno 200
Display 320×480
Storage 4GB
Memory physically probably 512MiB, limited by kernel to ~385MiB (faulty dices/Java something?)
Architecture armhf
USB Networking
3D Acceleration
Mobile data


What works

  • Boots
  • SSH through USB
  • display
  • flashing

What does not work

  • Restart after ~2 minutes 22 seconds
  • No input (keys and screen)
  • osk-keyboard
  • Wi-Fi
  • XWayland
  • FDE
  • Not mainlined
  • No charging with turned off phone (is it even supported?)
  • 3D acceleration
  • Accelerometers and other sensors
  • Audio
  • Bluetooth
  • Camera
  • GPS
  • Mobile data
  • SMS
  • Voice

To do

informations below may be chaotic and change often


Most annoying problem sunce everything on the phone has to be done within 2 minutes. After about 2mins 22secs phone reboots with dmesg showing SMSM: Modem SMSM state changed to SMSM_RESET This message is hardcoded into arch/arm/mach-msm/smd.c

Probably caused my modem, check all MODEM and MSM*_MODEM_* related options in menuconfig (there is one called reset, one reboot and one just modem) or find binary blobs if possible.

Touch screen

The screen as well as two touch buttons (menu and back) are combined together as /dev/input/event1. It displays some sort of animation when pressing buttons in postmarket demos window in weston but only for first press or two. weston-calibrate does not work

Home button and volume buttons are /dev/input/event1, where power button is recognised as /dev/input/event6


Currently we have working 2.6 kernel, no DTS files for qcom-msm7227a.

Get data form all over the kernel source code (mainly arch/mach-msm/board-<board name>.c for starters and recreate it in .dts file(s).

Get UART working, then test basic DTS with just basics to get earlycon/earlyprintk working:

  • used voltage is 1.8V
  • needed resistor is *probably* 619kΩ
  • unknown name of the port in original kernel, candidates are ttyMSM0, tty0, ttyHS0, ttyHSL0 and ttyGS0
  • trying to get UART on 0xa9a00000 (ttyMSM0)
  • dtb probably misses clocks, maybe interrupts and other things
This dtb file goal is to get working UART, nothing more, rest of the work will be continued on regular git repository when/if UART starts working

Unfinished, not working dtb

Useful links (mainly dts stuff)

The Mainline Kernel – our docs about mainlining

Qualcomm mainline porting — our sparse docs about Qualcomm mainlining

Qualcomm SOC Mainlining Project – sadly no MSM7227a

Documentation/devicetree/ inside linux kernel files, should contain newest documentation about dts files, should be most reliable source of information

How to enter flash mode

Press power button and hold home button and VOL-, then press VOL+ to continue

Alternatively, plug in microUSB plug with GND and ID pins connected through 300KΩ resistor. (so-called USB jig)


For now see Installation Guide and Flashing on Porting to a new device


fdisk -l /dev/mmcblk0
omitting empty partition (25)
Disk /dev/mmcblk0: 3.7 GiB, 3909091328 bytes, 7634944 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device          Boot   Start     End Sectors  Size Id Type
/dev/mmcblk0p1  *          1      40      40   20K 4d QNX4.x               CFG_DATA
/dev/mmcblk0p2            41     340     300  150K 45 unknown              QCSBL
/dev/mmcblk0p3           341   41300   40960   20M  c W95 FAT32 (LBA)      FAT
/dev/mmcblk0p4         41301 7634943 7593643  3.6G  5 Extended             ? / partition.bin
/dev/mmcblk0p5         49152   51151    2000 1000K 46 unknown              OEMSBL
/dev/mmcblk0p6         51152   53151    2000 1000K 47 unknown              APPSBL
/dev/mmcblk0p7         53152   57151    4000    2M 5d unknown              SSD
/dev/mmcblk0p8         57152   81727   24576   12M 48 unknown              APPS / boot partition
/dev/mmcblk0p9         81728   87871    6144    3M 4a unknown              MODEM_ST1
/dev/mmcblk0p10        87872   94015    6144    3M 4b unknown              MODEM_ST2
/dev/mmcblk0p11        94016  110399   16384    8M 90 unknown              PERSIST
/dev/mmcblk0p12       110400  134975   24576   12M 91 unknown              RECOVERY
/dev/mmcblk0p13       134976  143167    8192    4M 92 unknown              PARAMETER
/dev/mmcblk0p14       143168  151359    8192    4M 93 Amoeba               SECURE
/dev/mmcblk0p15       151360  152383    1024  512K 95 unknown              PIT
/dev/mmcblk0p16       152384 1176383 1024000  500M 82 Linux swap / Solaris SYSTEM
/dev/mmcblk0p17      1176384 1483583  307200  150M 94 Amoeba BBT           CACHE
/dev/mmcblk0p18      1483584 3396415 1912832  934M 83 Linux                USERDATA
/dev/mmcblk0p19      3396416 3420991   24576   12M 65 Novell Netware 386   EFS
/dev/mmcblk0p20      3420992 3470143   49152   24M 9a unknown              IMG_BACKUP
/dev/mmcblk0p21      3470144 3478335    8192    4M 63 GNU HURD or SysV     MISC
/dev/mmcblk0p22      3478336 3580735  102400   50M 67 unknown              HIDDEN
/dev/mmcblk0p23      3580736 7429803 3849068  1.9G 64 Novell Netware 286   UMS
/dev/mmcblk0p24      7429804 7437995    8192    4M 58 unknown              MODEM_BKP