Jump to content

Samsung Galaxy Xcover 3 (samsung-xcover3lte): Difference between revisions

From postmarketOS Wiki
No edit summary
Halamix2 (talk | contribs)
mNo edit summary
 
(17 intermediate revisions by 6 users not shown)
Line 6: Line 6:
| imagecaption = Xcover 3 running XFCE
| imagecaption = Xcover 3 running XFCE
| releaseyear = 2015
| releaseyear = 2015
| originalsoftware = Android 4.4.4
| originalsoftware = Android
| originalversion = 4.4.4
| chipset = Marvell PXA1908
| chipset = Marvell PXA1908
| cpu = Quad-core 1.2 GHz Cortex-A53
| cpu = Quad-core 1.2 GHz Cortex-A53
Line 14: Line 15:
| memory = 1.5 GB
| memory = 1.5 GB
| architecture = aarch64
| architecture = aarch64
| type = handset
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) -->
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) -->
| status_usbnet = Y
| status_usbnet = Y
| status_flashing = P
| status_flashing = Y
| status_touch = Y
| status_touch = Y
| status_screen = Y
| status_screen = Y
Line 22: Line 24:
| status_xwayland = Y
| status_xwayland = Y
| status_fde =
| status_fde =
| status_mainline = N
| status_mainline = P
| status_battery = Y
| status_battery = Y
| status_3d = N
| status_3d = N
Line 33: Line 35:
| status_calls =
| status_calls =
| status =
| status =
| status_otg =
| status_otg = Y
| status_nfc =
| status_nfc =
| status_irtx = -
| status_irtx = -
| status_accel =
| status_accel = P
| status_magnet =
| status_magnet = Y
| status_light =
| status_light =
| status_proximity =
| status_proximity = Y
| status_hall = -
| status_hall = -
| booting = yes
| booting = yes
Line 64: Line 66:
* TTYEscape
* TTYEscape
* fbkeyboard
* fbkeyboard
* Flashing the boot image.
* MUIC/UART


== What doesn't work ==
== What doesn't work ==


* Blanking and Unblanking leads to framebuffer flickering, which stays after reboot and even battery-removal for some time.
* Blanking and Unblanking leads to framebuffer flickering, which stays after reboot and even battery-removal for some time.
* Only kernels built with GCC4 will boot.
* Only kernels built with GCC4 will boot downstream.
* AlsaUCM profile must be reapplied before each audio play.
* AlsaUCM profile must be reapplied before each audio play.
* LEDs
* LEDs
* Serial/extern console (MUIC SM5504)
* Flashing to SYSTEM or USER partition currently fails after 10% for unknown reason. The phone is in rescue mode afterwards, which can be fixed by flashing a boot image.


== Installation ==
== Installation ==


Flashing of boot-image works.
Flash the boot-image


<source lang="shell">
<syntaxhighlight lang="shell-session">
pmbootstrap flash flash_kernel
$ pmbootstrap flash flash_kernel
</source>
</syntaxhighlight>


Installation of rootfs can be be done either to SD-card
Installation of rootfs can be be done either to SD-card


<source lang="shell">
<syntaxhighlight lang="shell-session">
pmbootstrap install --sdcard=/dev/XXXXX
$ pmbootstrap install --sdcard=/dev/XXXXX
</source>
</syntaxhighlight>


This makes manual dual boot (by replacing boot-image) possible.
This makes manual dual boot (by replacing boot-image) possible.


Alternatively installation can be done via android-recovery-zip to USER partition (5.3GB).
Alternatively installation can be done via recovery to USER partition (5.3GB).
The system partition is rather small (1536M) for postmarketos with UI.
The system partition is rather small (1536M) for postmarketos with UI.


For installation to USER partition via android-recovery-zip you need a TWRP recovery.
For installation to USER partition via android-recovery-zip you need a TWRP recovery (codename xcover3ltexx).
The latest TWRP recovery isn't flash-able after update to latest vendor version (Android 5.0).
The latest TWRP recovery isn't flash-able after update to latest vendor version (Android 5.0).
A "Hackish TWRP" alternative recovery image can be found in XDA forum.
A "Hackish TWRP" alternative recovery image can be found in XDA forum.


<source lang="shell">
<syntaxhighlight lang="shell-session">
$ pmbootstrap install --android-recovery-zip --recovery-install-partition USER
$ pmbootstrap install --android-recovery-zip --recovery-install-partition USER
$ cp /tmp/postmarketOS-export/pmos-samsung-xcover3lte.zip ...
$ cp /tmp/postmarketOS-export/pmos-samsung-xcover3lte.zip ...
</source>
</syntaxhighlight>
 
== Boot image ==
 
The created pxa-bootimage contains a legacy uImage which is slightly different from vendor one.
Despite having keyword <code>postmarketos</code> and missing extra gzip compression, it boots as well.
 
== Debugging ==
 
To enable ramoops the kernel cmdline must be extended by these module parameters. See also [https://wiki.postmarketos.org/wiki/Mainlining_FAQ#Writing_dmesg_to_RAM_and_reading_it_out_after_reboot ramoops]
 
<syntaxhighlight lang="text">
ramoops.mem_size=0x40000 ramoops.mem_address=0x8100000 ramoops.record_size=0x8000 ramoops.console_size=0x30000 ramoops.dump_oops=1
</syntaxhighlight>
 
After kernel panic the console can be extracted in e.g. recovery.
 
<syntaxhighlight lang="shell-session">
$ hexdump -C -s 0x8108000 /dev/mem | less
</syntaxhighlight>
 
== UART ==
 
You can get serial console with a
[https://wiki.postmarketos.org/wiki/Serial_debugging:Cable_schematics#microUSB.2FCarkit_debug_cable microUSB/Carkit_debug_cable] and 619KΩ resistor.
The phone will boot when plugging the cable in, after the phone has been powered off or battery inserted. Might take several attempts.
150KΩ will start the phone in flash mode.


== Audio ==
== Audio ==


The Alsa UCM usecase must be set before each play, e.g.
The Alsa UCM usecase must be set before each play, e.g.
<source lang="shell">
<syntaxhighlight lang="text">
alsaucm -c map_asoc set _verb HiFi set _enadev Speaker
alsaucm -c map_asoc set _verb HiFi set _enadev Speaker
</source>
</syntaxhighlight>


== Mainline ==
== Mainline ==


Attempt to add mainline support for pxa1908 aka iap140 was done in 2017 for https://en.opensuse.org/HCL:AndromedaBoxEdge
See [https://wiki.postmarketos.org/wiki/Marvell_PXA1908 SoC Marvell PXA1908] for git-repo and DTS booting mainline.
 
https://lore.kernel.org/linux-arm-kernel/20170222022929.10540-1-afaerber@suse.de/


== Mainline driver support ==
== Partitions ==


Wifi/Bluetooth
<pre>
Disk /dev/block/mmcblk0: 15269888 sectors, 3360M
Logical sector size: 512
Disk identifier (GUID):
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 15269854


Adding SD8777 support to mwifiex & btmrvl_sdio might be doable, based on comparison of wlan/mbtc-driver diff between SD8777 and SD8787.
Number  Start (sector)    End (sector)  Size      Code  Name
  1            8192            9215        512K  0700  MRD
  2            9216          10239        512K  0700  MRD1
  3          10240          24575      7168K  0700  MEP2
  4          24576          28671      2048K  0700  LOKE2ND
  5          28672          32767      2048K  0700  LOKE1ST
  6          32768          65535      16.0M  0700  EFS
  7          65536          73727      4096K  0700  PARAM
  8          73728          106495      16.0M  0700  RECOVERY
  9          106496          139263      16.0M  0700  KERNEL
  10          139264          196607      28.0M  0700  MODEM
  11          196608          262143      32.0M  0700  SSTD
  12          262144          264191      1024K  0700  OTA
  13          264192          313343      24.0M  0700  NVM
  14          313344        3459071      1536M  0700  SYSTEM
  15        3459072        3868671        200M  0700  CACHE
  16        3868672        4073471        100M  0700  HIDDEN
  17        4073472        15267839      5466M  0700  USER
</pre>


== Similar devices ==
== Similar devices ==

Latest revision as of 11:37, 1 February 2025

Samsung Galaxy Xcover 3
Xcover 3 running XFCE
Xcover 3 running XFCE
Manufacturer Samsung
Name Galaxy Xcover 3
Codename samsung-xcover3lte
Released 2015
Type handset
Hardware
Chipset Marvell PXA1908
CPU Quad-core 1.2 GHz Cortex-A53
GPU Vivante GC7000UL
Display 480x800
Storage 8 GB
Memory 1.5 GB
Architecture aarch64
Software
Original software Android
Original version 4.4.4
postmarketOS
Category testing
Pre-built images no
Mainline partial
postmarketOS kernel 3.14.27
Unixbench Whet/Dhry score 1137.7
Features
Flashing
Works
USB Networking
Works
Internal storage
No data
SD card
No data
Battery
Works
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
Broken
Audio
Partial
Camera
No data
Camera Flash
No data
Connectivity
WiFi
Works
Bluetooth
No data
GPS
No data
NFC
No data
Modem
Calls
No data
SMS
No data
Mobile data
No data
Miscellaneous
FDE
No data
USB OTG
Works
HDMI/DP
No data
Sensors
Accelerometer
Partial
Magnetometer
Works
Ambient Light
No data
Proximity
Works
Haptics
No data
Barometer
No data


Contributors

  • Blacksilver

Users owning this device


How to enter flash mode

Volume Down + Home + Power

How to enter recovery mode

Volume Up + Home + Power

What works

  • XFCE
  • Weston
  • TTYEscape
  • fbkeyboard
  • MUIC/UART

What doesn't work

  • Blanking and Unblanking leads to framebuffer flickering, which stays after reboot and even battery-removal for some time.
  • Only kernels built with GCC4 will boot downstream.
  • AlsaUCM profile must be reapplied before each audio play.
  • LEDs

Installation

Flash the boot-image

$ pmbootstrap flash flash_kernel

Installation of rootfs can be be done either to SD-card

$ pmbootstrap install --sdcard=/dev/XXXXX

This makes manual dual boot (by replacing boot-image) possible.

Alternatively installation can be done via recovery to USER partition (5.3GB). The system partition is rather small (1536M) for postmarketos with UI.

For installation to USER partition via android-recovery-zip you need a TWRP recovery (codename xcover3ltexx). The latest TWRP recovery isn't flash-able after update to latest vendor version (Android 5.0). A "Hackish TWRP" alternative recovery image can be found in XDA forum.

$ pmbootstrap install --android-recovery-zip --recovery-install-partition USER
$ cp /tmp/postmarketOS-export/pmos-samsung-xcover3lte.zip ...

Boot image

The created pxa-bootimage contains a legacy uImage which is slightly different from vendor one. Despite having keyword postmarketos and missing extra gzip compression, it boots as well.

Debugging

To enable ramoops the kernel cmdline must be extended by these module parameters. See also ramoops

ramoops.mem_size=0x40000 ramoops.mem_address=0x8100000 ramoops.record_size=0x8000 ramoops.console_size=0x30000 ramoops.dump_oops=1

After kernel panic the console can be extracted in e.g. recovery.

$ hexdump -C -s 0x8108000 /dev/mem | less

UART

You can get serial console with a microUSB/Carkit_debug_cable and 619KΩ resistor. The phone will boot when plugging the cable in, after the phone has been powered off or battery inserted. Might take several attempts. 150KΩ will start the phone in flash mode.

Audio

The Alsa UCM usecase must be set before each play, e.g.

alsaucm -c map_asoc set _verb HiFi set _enadev Speaker

Mainline

See SoC Marvell PXA1908 for git-repo and DTS booting mainline.

Partitions

Disk /dev/block/mmcblk0: 15269888 sectors, 3360M
Logical sector size: 512
Disk identifier (GUID):
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 15269854

Number  Start (sector)    End (sector)  Size       Code  Name
   1            8192            9215        512K   0700  MRD
   2            9216           10239        512K   0700  MRD1
   3           10240           24575       7168K   0700  MEP2
   4           24576           28671       2048K   0700  LOKE2ND
   5           28672           32767       2048K   0700  LOKE1ST
   6           32768           65535       16.0M   0700  EFS
   7           65536           73727       4096K   0700  PARAM
   8           73728          106495       16.0M   0700  RECOVERY
   9          106496          139263       16.0M   0700  KERNEL
  10          139264          196607       28.0M   0700  MODEM
  11          196608          262143       32.0M   0700  SSTD
  12          262144          264191       1024K   0700  OTA
  13          264192          313343       24.0M   0700  NVM
  14          313344         3459071       1536M   0700  SYSTEM
  15         3459072         3868671        200M   0700  CACHE
  16         3868672         4073471        100M   0700  HIDDEN
  17         4073472        15267839       5466M   0700  USER

Similar devices

The following devices are similar to SM-G388F.

See also