Jump to content

Samsung Galaxy J6 2018 (samsung-j6lte): Difference between revisions

From postmarketOS Wiki
m Add type
Naproxen (talk | contribs)
m very minor fix
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox device
{{Infobox device
| manufacturer = Samsung
| image                 = File:j6lte.jpg
| name = Galaxy J6 (2018)
| imagecaption           = J6 running Phosh
| codename = samsung-j6lte
| image = File:Xfce4.jpg
| imagecaption = Samsung Galaxy J6 2018 with Xfce4
| releaseyear = 2018
| originalsoftware = Android
| originalversion = 8
| extendedversion = 10
| chipset = Samsung Exynos 7870 Octa
| cpu = Octa-core 1.6 GHz Cortex-A53
| gpu = Mali-T830 MP1
| storage = 32/64 GB, microSD
| display = 720/1480 OLED
| memory = 3/4 GB
| architecture = aarch64
| type = handset
<!-- the following status_* questions should be answered with Y for yes, P for partial, N for no, - for N/A or unavailable, or left blank for untested or unknown -->
| status_usbnet = Y
| status_flashing = P
| status_touch = Y
| status_screen = Y
| status_wifi = Y
| status_xwayland = <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? -->
| status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? -->
| status_mainline = N
| status_battery = Y
| status_3d = N
| status_audio = N
| status_bluetooth = N
| status_camera = N
| status_gps = <!-- The Global Positioning System sensor works.  -->
| status_mobiledata = N
| status_sms = N
| status_calls = N
| status = <!-- Text displayed in the "not booting" table on the Devices page , e.g "kernel compiles, doesn't boot" -->
| status_otg = N
| status_nfc = <!-- Near-Field Communication (NFC) works -->
| status_usba = -
| status_hdmidp = -
| status_keyboard = -
| status_touchpad = -
| status_irtx = -
| status_trustzone = <!-- TrustZone works -->
| status_accel = N
| status_magnet = N
| status_light = N
| status_proximity = N
| status_hall = N
| status_barometer = <!-- Barometer works -->
| status_powersensor = <!-- Power sensor works -->
| status_fossbootloader = N
| booting = yes


<!-- you can also use these lines if you need to:
| manufacturer          = Samsung
if the device haven't originally ran Android OS, e.g. Nokia N900
| name                  = Galaxy J6 (2018)
| n-android =
| codename              = samsung-j6lte
Version of the kernel that pmos is running
| releaseyear            = 2018
| pmoskernel = 3.18.14
| type                  = handset
see Unixbench page on wiki
 
| whet_dhry = 0.0
| chipset                = Samsung Exynos 7870 Octa
-->
| cpu                    = Octa-core 1.6 GHz Cortex-A53
| gpu                    = Mali-T830 MP1
| display                = 720 x 1480 OLED
| storage                = 32/64 GB
| memory                = 3/4 GB
| architecture          = aarch64
 
| originalsoftware      = Android
| originalversion        = 8.0
| extendedversion        = 10.0
 
| category              = testing
| prebuiltimages        = no
| status_mainline        = Y
| booting                = yes
 
| status_flashing        = Y
| status_usbnet          = Y
| status_emmc            = Y
| status_sdcard          = Y
| status_battery        = P
| status_screen          = P
| status_touch          = Y
 
| status_3d              = Y
| status_audio          = N
| status_camera          = N
| status_cameraflash    = N
 
| status_wifi            = Y
| status_bluetooth      = Y
| status_gps            = N
| status_nfc            = -
 
| status_calls          = N
| status_sms            = N
| status_mobiledata      = N
 
| status_fde            =
| status_otg            =
| status_hdmidp          = -
 
| status_accel          = Y
| status_magnet          = -
| status_light          = Y
| status_proximity      = Y
| status_hall            = -
| status_haptics        = Y
| status_barometer      = -
}}
}}


{{note|This is the exynos device.}}
'''Samsung Galaxy J6''', also known as '''Samsung Galaxy On6''', is an Exynos 7870 device released by Samsung in 2018.


== Contributors ==
== Contributors ==
* rmb
* naproxen


== Users owning this device ==
== Users owning this device ==
{{Device owners}}
{{Device owners}}
<!-- autogenerated, use {{Owns device|devicepage|notes}} on your profile page -->
<!-- use _ instead of spaces in device page name, e.g. {{Owns device|HTC_Desire_(htc-bravo)|custom notes}}-->
<!-- you may need to purge page cache to see changes (more->purge cache)-->
<!-- you can use {{My devices}} on your profile page to show table with all your devices -->


== Installation (Assuming stock FW) ==
== How to enter flash mode ==
# [[#Unlocking the bootloader|Unlock the bootloader]] if not done
 
# [[#Flashing TWRP|Flash TWRP]] if not done
When the phone is powered off, insert the USB cable while holding the {{Button|Volume Up}} and {{Button|Volume Down}} buttons to boot into download mode. A turquoise colored screen will appear, asking for confirmation. Press {{Button|Volume Up}} to confirm. Your device is ready for flashing via a front-end such as Odin or Heimdall.
# Select <code>j6lte</code> and Xfce4 UI with [[Installing_pmbootstrap|<code>pmbootstrap init</code>]]
 
# Generate the rootfs with <code>pmbootstrap install --android-recovery-zip</code> to install postmarketOS to the phone or <code>pmbootstrap install --sdcard /dev/sdX --android-recovery-zip</code> to install it on an SD card.
To boot into recovery, hold the {{Button|Power}} and {{Button|Volume Up}} buttons.
# Generate the flashable images with <code>pmbootstrap export</code>. They will be stored in <code>/tmp/postmarketOS-export</code>, or you can specify another location like this: <code>pmbootstrap export /home/user/Downloads/pmos</code>
 
# Reboot into [[#How to enter flash mode|recovery]]
== Installation ==
# Go to Advanced > ADB Sideload
 
# Flash postmarketOS with <code>pmbootstrap flasher --method=adb sideload</code> (Remember to unmount all partitions first.)
=== Prerequisites ===
# Click <code>Reboot System</code> and the phone should reboot straight into postmarketOS.
 
Make sure your phone:
 
* Has its bootloader unlocked.
 
=== Preparation ===
 
Choose the following in the <code>pmbootstrap init</code> wizard:
'''Vendor:''' samsung
'''Device codename:''' j6lte
 
To proceed with the installation run:
'''$''' pmbootstrap install
 
This will begin preparing your installation in your host computer.
 
=== Flashing ===
 
After the installation process is completed, get your phone booted into download mode, Then run:
'''$''' pmbootstrap flasher flash_kernel
 
The kernel gets flashed to your device. Now, the device will reboot automatically. Hold the key combination to reboot into download mode. Then run:
'''$''' pmbootstrap flasher flash_rootfs
 
The rootfs is flashed and the device gets rebooted.
It should reboot to postmarketOS now.
 
{{Notice | If there are any problems with flashing the rootfs via Heimdall, you may attempt an [[Installation_from_recovery_mode | installation via recovery]].}}


{{note|Flashing with heimdall and TWRP gets stuck, so use adb sideloading to get postmarketOS flashed.}}
== Partial features ==


== How to enter flash mode ==
=== Battery ===
* '''Recovery''': Power on the device by holding {{Button|Volume Up}} and {{Button|Power}}.
 
* '''Download''': Hold {{Button|Volume Up}} and {{Button|Volume Down}} while plugging the device to a computer with an USB cable.
The fuelgauge driver (reports the charge percentage) works fine, but there's no charger driver which is responsible for reporting charge status and control.
* '''Hard reboot''': Press and hold {{Button|Volume Down}} and {{Button|Power}} for 7 seconds.
 
=== Screen ===
 
Display works with simple-framebuffer, so brightness control is non-functional. Samsung DECON/DSIM driver for Exynos 7870 is a work-in-progress, which will properly initialize and use the display.
 
== Problems ==
 
=== USB Networking ===
 
At least on some operating systems, the host doesn't receive network packets from the device, unless the host sends packets to the device. Due to this behavior, SSH (among other things) doesn't work well. A workaround is to have <code>ping -Aq <IP></code> run in the background while you interact with the device (replace <code><IP></code> with the device IP address).
 
=== Wi-Fi ===
 
Wi-Fi behaves very erratically (practically unusable) when the SDIO is probed in DMA mode. The driver fails to communicate with the SDIO, reporting timeout errors. As a workaround, the SDIO is forced to be probed in PIO mode.


== Unlocking the bootloader ==
== Debugging (retrieving kernel logs) ==
# Enable developer mode by tapping on the build number seven times in Settings → About phone → Software information
# Return to the main settings page and go to the developer options
# In developer options, enable OEM unlocking. Make sure you have an internet connection if it doesn't show up.


== Flashing TWRP ==
Read [[Samsung_Galaxy_J7_Prime_(samsung-on7xelte)#Debugging_(retrieving_kernel_logs) | this]].
# [https://github.com/TwrpBuilder/android_device_samsung_j6ltedx/releases/latest Download TWRP.img]
# Download Heimdall and launch <code>heimdall-frontend</code>
# Enter [[#How to enter flash mode|download mode]] and head to <code>Utilities</code> tab
# Click on <code>Detect</code> button, output should show <code>Device detected</code>
# Download the PIT: click <code>Save As...</code> and save the file somewhere
# Click <code>Download</code> button and wait
# Output now should show <code>PIT file download successful.</code> If it doesn't, start from 3.
# With the PIT downloaded, head over to <code>Flash</code> tab
# Select your earlier downloaded PIT file and ensure <code>Repartition</code> is NOT checked
# Click <code>Add</code> under 'Partitions' and select <code>RECOVERY</code>
# Click <code>Browse</code> and select your <code>TWRP.img</code> file
# Check <code>No reboot</code> under 'Session' and click <code>Start</code>
# Reboot your phone to [[#How to enter flash mode|recovery]]


== Gallery ==
== Downstream Kernel ==
<gallery>
File:j6lte.jpg| Boot splash
File:sxmo.jpg| running sxmo-de-dwm


</gallery>
A port based on the downstream kernel exists which has been archived in favor of the mainline kernel. More information is available in older revisions of this page.


== See also ==
== See also ==
* [https://www.gsmarena.com/samsung_galaxy_j6-9203.php Device specifications]
 
* {{MR|4658|pmaports}} Initial merge request
{{MR|4658|pmaports}} Initial merge request
* {{Device package|samsung-j6lte}}
 
* {{Kernel package|samsung-j6lte}}
{{MR|5785|pmaports}} (Downstream → Mainline)
* [https://xdaforums.com/t/recovery-unofficial-twrp-3-2-3-0-for-galaxy-j6-on6.3819751 TWRP XDA page]
 
{{Device package|samsung-j6lte}}
 
{{Kernel package|postmarketos-exynos7870}}

Latest revision as of 18:22, 15 November 2024

Samsung Galaxy J6 (2018)
J6 running Phosh
J6 running Phosh
Manufacturer Samsung
Name Galaxy J6 (2018)
Codename samsung-j6lte
Released 2018
Type handset
Hardware
Chipset Samsung Exynos 7870 Octa
CPU Octa-core 1.6 GHz Cortex-A53
GPU Mali-T830 MP1
Display 720 x 1480 OLED
Storage 32/64 GB
Memory 3/4 GB
Architecture aarch64
Software
Original software Android
Original version 8.0
Extended version 10.0
postmarketOS
Category testing
Pre-built images no
Mainline yes
Features
Flashing
Works
USB Networking
Works
Internal storage
Works
SD card
Works
Battery
Partial
Screen
Partial
Touchscreen
Works
Multimedia
3D Acceleration
Works
Audio
Broken
Camera
Broken
Camera Flash
Broken
Connectivity
WiFi
Works
Bluetooth
Works
GPS
Broken
Modem
Calls
Broken
SMS
Broken
Mobile data
Broken
Miscellaneous
FDE
No data
USB OTG
No data
Sensors
Accelerometer
Works
Ambient Light
Works
Proximity
Works
Haptics
Works


Samsung Galaxy J6, also known as Samsung Galaxy On6, is an Exynos 7870 device released by Samsung in 2018.

Contributors

  • naproxen

Users owning this device


How to enter flash mode

When the phone is powered off, insert the USB cable while holding the Volume Up and Volume Down buttons to boot into download mode. A turquoise colored screen will appear, asking for confirmation. Press Volume Up to confirm. Your device is ready for flashing via a front-end such as Odin or Heimdall.

To boot into recovery, hold the Power and Volume Up buttons.

Installation

Prerequisites

Make sure your phone:

  • Has its bootloader unlocked.

Preparation

Choose the following in the pmbootstrap init wizard:

Vendor: samsung
Device codename: j6lte

To proceed with the installation run:

$ pmbootstrap install

This will begin preparing your installation in your host computer.

Flashing

After the installation process is completed, get your phone booted into download mode, Then run:

$ pmbootstrap flasher flash_kernel

The kernel gets flashed to your device. Now, the device will reboot automatically. Hold the key combination to reboot into download mode. Then run:

$ pmbootstrap flasher flash_rootfs

The rootfs is flashed and the device gets rebooted. It should reboot to postmarketOS now.

Notice If there are any problems with flashing the rootfs via Heimdall, you may attempt an installation via recovery.

Partial features

Battery

The fuelgauge driver (reports the charge percentage) works fine, but there's no charger driver which is responsible for reporting charge status and control.

Screen

Display works with simple-framebuffer, so brightness control is non-functional. Samsung DECON/DSIM driver for Exynos 7870 is a work-in-progress, which will properly initialize and use the display.

Problems

USB Networking

At least on some operating systems, the host doesn't receive network packets from the device, unless the host sends packets to the device. Due to this behavior, SSH (among other things) doesn't work well. A workaround is to have ping -Aq <IP> run in the background while you interact with the device (replace <IP> with the device IP address).

Wi-Fi

Wi-Fi behaves very erratically (practically unusable) when the SDIO is probed in DMA mode. The driver fails to communicate with the SDIO, reporting timeout errors. As a workaround, the SDIO is forced to be probed in PIO mode.

Debugging (retrieving kernel logs)

Read this.

Downstream Kernel

A port based on the downstream kernel exists which has been archived in favor of the mainline kernel. More information is available in older revisions of this page.

See also

pmaports!4658 Initial merge request

pmaports!5785 (Downstream → Mainline)

Device package

Kernel package