Jump to content

Samsung Galaxy Xcover 2 (samsung-skomer)

From postmarketOS Wiki
Samsung Galaxy Xcover 2
Samsung Galaxy Xcover 2 GT-S7710
Samsung Galaxy Xcover 2 GT-S7710
Manufacturer Samsung
Name Galaxy Xcover 2
Codename samsung-skomer
Model GT-S7710
Released 2013
Type handset
Hardware
Chipset ST-Ericsson NovaThor U8500
CPU 2x 1 GHz Cortex-A9
GPU Mali-400 MP1
Display 480x800 TFT
Storage 4 GB EMMC
Memory 1 GB
Architecture armv7
Software
Original software
The software and version the device was shipped with.
Android (TouchWiz) 4.1.2
Extended version
The most recent supported version from the manufacturer.
Android (TouchWiz)
FOSS bootloader yes
postmarketOS
Category testing
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
yes
Device package device-samsung-skomer
Kernel package linux-postmarketos-stericsson
Features
Flashing
Whether it is possible to flash the device with pmbootstrap flasher.
Works
USB Networking
After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system).
Works
Battery
Whether charging and battery level reporting work.
Works
Screen
Whether the display works; ideally with sleep mode and brightness control.
Works
Touchscreen
Works
Multimedia
3D Acceleration
Works
Audio
Audio playback, microphone, headset and buttons.
Broken
Camera
Broken
Camera Flash
Works
Connectivity
WiFi
Works
Bluetooth
Partial
GPS
Broken
Modem
Calls
Broken
SMS
Broken
Mobile data
Broken
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Broken
USB OTG
USB On-The-Go or USB-C Role switching.
Untested
Sensors
Accelerometer
Handles automatic screen rotation in many interfaces.
Works
Magnetometer
Sensor to measure the Earth's magnetism
Works
Proximity
Works
Haptics
Works
U-Boot
Primary Bootloader
Whether it is possible to replace stock bootloader with U-Boot.
Broken
Secondary Bootloader
Whether it is possible to chainload U-Boot from stock bootloader.
Works
Mainline
Whether latest upstream versions of U-Boot are not broken and it is possible to use them.
Works
Internal Storage
Whether it is possible to boot from internal storage (e.g. eMMC or UFS).
Works
SD card
Whether it is possible to boot from SD card.
Untested
USB Host
Whether it is possible to boot from a USB storage or connect a keyboard.
Works
USB Peripheral
Whether it is possible to use device as a peripheral in U-Boot, e.g. for fastboot mode.
Works
Display
Works
Buttons
Whether it is possible to navigate in boot menu or grub with volume and power buttons.
Works


Contributors

Users owning this device

  • Bastindo (Notes: Works)
  • Chaosleo07 (Notes: oh god oh fuck i can't find my charger)
  • GeraltvonNVIDIA (Notes: Kernel 6.1.0 on Plasma-Mobile)
  • Linusw (Notes: Final ST-Ericsson product based on U8500)
  • Madhaxbro (Notes: GT-S7710, runs U-Boot + pmOS v25.06. Repartitioned for pmOS. Ready for testing. Fancy and indestructible calculator. GNOME actually works fine on this thing!)
  • Newbyte (Notes: I don't know how many I have, I wouldn't strictly mind giving away one if you want to work on improving it)
  • Zekiu (Notes: deleted a bunch of partitions 'cause i didn't know you can install on a microSD :P)


Model variants

  • GT-S7710 (Global) - Works.

Boot modes

Fastboot (U-Boot) - hold Volume Down during boot, or (in U-Boot Fastboot) - execute $ fastboot reboot bootloader on a connected USB host

Recovery (using U-Boot) - hold Volume Up during boot, or (in U-Boot Fastboot) - execute $ fastboot reboot recovery on a connected USB host

Recovery (using Samsung bootloader) - hold Home+Volume Up+Power, or (with USB debugging enabled) - execute $ adb reboot recovery on a connected USB host

DFU (Odin/Download) mode - hold Home+Volume Down+Power, or (with USB debugging enabled) - execute $ adb reboot download on a connected USB host

Installation

The mainline kernel can only be booted through U-Boot, not directly with the Samsung bootloader. U-Boot is installed as intermediate bootloader on the boot partition, so it does not replace the Samsung bootloader entirely.

Boot into Download Mode and follow the the NovaThor U8500 U-Boot installation instructions to install U-Boot.

Finally, just follow the Installation guide. It should be recommended that you use an external SD Card to install the rootfs to, because the internal storage is pretty small on this device.

Battery

While charging now works with the mainline kernel as of linux-postmarketos-stericsson 5.17-rc1 in postmarketOS, it is good to note that if you somehow end up depleting the battery entirely, you risk bricking your device as it cannot charge if it cannot boot to the kernel, and it cannot boot to the kernel if the battery level is too low as it shuts down before it gets there. This is also the case in Android. If you end up in this situation, you can either get an external charger or a new battery. You can also boot DFU mode when connecting the USB cable as it allows the battery to be charged.

Mainline kernel v5.18

Working:

  • Display
  • GPU (Mali-400 MP using Lima)
  • Touchscreen
  • Broadcom WiFi
  • Bluetooth (partial; needs to be set up manually)
  • Accelerometer
  • Magnetometer
  • Proximity sensor
  • USB
  • Battery charging

Not working:

  • Audio
  • Camera
  • GPS
  • FDE (keyboard appears and is GPU accelerated with working vibrator, but device hangs a few seconds after unlocking)
  • ...

Display

DSI Scaling Error in Phosh

If you are running phosh, and the scaling is wrong so that you cannot type in the password to unlock the initial login screen, this can be fixed by changing this file /usr/share/phosh/phoc.ini like this:

 [output:DSI-1]
 scale = 1

Wireless connectivity

Bluetooth

Bluetooth does not work. It should be fixable from the command line by executing:

 # btmgmt public-addr 53:33:6d:69:6e:69

Instead, it returns this output:

 Set Public Address for hci0 failed with status 0x11 (Invalid Index)

This needs further investigation.

Bluetooth does not have any Bluetooth device address (bdaddr or "MAC address") set after boot at the moment. To make Bluetooth work, you need to manually configure one:

# apk add bluez-btmgmt
# btmgmt public-addr <bdaddr>

where <bdaddr> is a MAC address like 53:33:6d:69:6e:69.

The Bluetooth controller should then show up in bluetoothctl:

# apk add bluez
# rc-service bluetooth start
$ bluetoothctl

You can e.g scan for devices:

[bluetooth]# show
[bluetooth]# power on
[bluetooth]# advertise on
[bluetooth]# system-alias skomer
[bluetooth]# scan on

GPS

This device has a CSR CSRG05TA03-ICJE-R SirfStarV 5t GPS chip. It has been added to the device tree but no userspace tests have been successful.

Sensors

Compass/Magnetometer

Light/Proximity

  • The Skomer has a Sharp gp2ap002s00f proximity sensor which only detects proximity and cannot provide ambient light measurement

Rotation/Accelerometer

  • The accelerometer is a Bosch BMA254

Mainlining TODO

  • Check functionality on the latest kernel.
  • Possibly update this article.
  • Fix #Bluetooth. Needs investigation.
  • Get #GPS support working. Needs investigation.
  • Possibly add more divers/DT nodes. Modem is 3G. Be aware of it.
  • Also, look at behavior with weak batteries.
  • Upstream as much as possible.

Links

Source code

Specifications