Samsung Galaxy S24 Ultra (samsung-e3q): Difference between revisions
Appearance
Ungeskriptet (talk | contribs) Add note about eUSB2 repeater driver |
Ungeskriptet (talk | contribs) Add link to TechInsights article and mainboard picture |
||
Line 198: | Line 198: | ||
* [https://archive.org/details/sm-s928b Firmware archive] | * [https://archive.org/details/sm-s928b Firmware archive] | ||
* [https://www.youtube.com/watch?v=mHVUPd-6-eE In-depth disassembly video (in Chinese)] | * [https://www.youtube.com/watch?v=mHVUPd-6-eE In-depth disassembly video (in Chinese)] | ||
* [https://web.archive.org/web/20240419131744/https://david-w.eu/download/Screenshot_20240419_145649_Kiwi%20Browser.jpg TechInsights Article (Saved as image to bypass login requirement)] | |||
* [https://web.archive.org/web/20240419131051/https%3A%2F%2Fdavid-w.eu%2Fdownload%2F01_Galaxy_S24_Ultra_Boards_UPDATED-1519x2048.png Mainboard picture (from TechInsights)] |
Revision as of 13:24, 19 April 2024
This device is marked as not booting.
File:Samsung-e3q.jpg | |
Manufacturer | Samsung |
---|---|
Name | Galaxy S24 Ultra |
Codename | samsung-e3q |
Model | SM-S928B |
Released | 2024 |
Type | handset |
Hardware | |
Chipset | Qualcomm Snapdragon 8 Gen 3 (SM8650) |
CPU | 8-core (1x3.40GHz Cortex-X4 & 3x3.15GHz Cortex-A720 & 2x2.96GHz Cortex-A720 & 2x2.26GHz Cortex-A520) |
GPU | Adreno 750 |
Display | 1440 x 3120 (120Hz 6.8" LTPO AMOLED) |
Storage | 256 GB / 512 GB / 1 TB |
Memory | 12 GB |
Architecture | aarch64 |
Software | |
Original software | Android (One UI) |
Original version | 14 (One UI 6.1) |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | partial |
Users owning this device
- Ungeskriptet (Notes: LineageOS porting victim)
How to enter flash mode
- Download mode: Hold and while connecting the device to a computer with a USB cable.
- Recovery mode: Hold and while connecting the device to a computer with a USB cable.
How to unlock bootloader
WARNING: This process will wipe all user data and will irreversibly trip Knox. |
- Enable OEM unlocking in the developer options
- Reboot into download mode
- At the blue warning screen, hold
- On the second screen, press to unlock the bootloader
Mainline
A work-in-progress mainline kernel is being developed here. (Will be upstreamed as soon as possible)
Mainline status and hardware
Component | Model | Status | Mainline driver available? | Notes |
---|---|---|---|---|
Display | Samsung E3_S6E3HAF_AMB679FN01 | N | N | Command mode, DSC, Single DSI |
Touchscreen | Synaptics S3916T | N | N | |
Pen input | Wacom WEZ02 | N | N | |
USB-C | USB 2.0 (TI eUSB2 repeater) | Y | P | Driver from sm8450-mainline |
USB 3.1 Gen 2 | N | Y | Booting with fw_devlink=permissive breaks USB | |
DisplayPort | N | Y | ||
Camera | Samsung ISOCELL S5KHP2 | N | N | Main camera |
Samsung ISOCELL S5K3LU | N | N | Front camera | |
Sony IMX564 | N | N | Ultrawide | |
Sony IMX754 | N | N | Telephoto | |
Sony IMX854 | N | N | Periscope Telephoto | |
Accelerometer & Gyroscope | STMicroelectronics LSM6DSV / LSM6DSO | N | Y | Datasheet |
Ambient light sensor | Sensortek STK33F11 | N | N | Front |
Sensortek STK6D2X | N | N | Rear, maybe for laser autofocus? | |
Proximity sensor | Samsung Palm Proximity Sensor V2 | N | N | Virtual sensor :/ |
Magnetometer | AKM AK09918 | N | N | Datasheet |
Barometer | STMicroelectronics LPS22DF | N | Y | Datasheet |
Hall effect | Hall IC | N | N | |
Charger | NXP PCA9481 | N | N | Datasheet; Direct charger |
NuVolta NU1668 | N | N | Wireless charger | |
PMIC | Maxim MAX77775 | N | N | Fuel gauge & main charger |
Samsung S2DOS07 | N | N | Display PMIC | |
Samsung S2MPB03 | N | N | Camera PMIC | |
Samsung S2MPB02 | N | N | Camera PMIC | |
eSIM | Samsung S3K250AF | N | N | |
NFC | NXP PN547 | N | Y | |
Audio | Cirrus Logic CS35L43 | N | N | 2x, One for each speaker |
Haptics | Cirrus Logic CS40L26 | N | P | Driver available on LKML |
Fingerprint sensor | Qualcomm QFS4008 | N | N |
Miscellaneous info
Creating empty dtbo image
Simply erasing the dtbo partition is not enough to make mainline boot on this phone. In order to make it boot we need to sign an empty dtbo image with avbtool:
$ dd if=/dev/zero of=empty_dtbo.img count=1
$ avbtool add_hash_footer --partition_name dtbo --partition_size 16777216 --image empty_dtbo.img
$ heimdall flash --DTBO empty_dtbo.img
If the phone still boots to the blue download screen, make sure stock vbmeta is flashed.
simplefb
Since at least the "SM Gen 4"/Waipio era, abl checks if a node named exactly /reserved-memory/splash_region
exists in the device tree. If not, it will disable the display hardware:
ret = FdtPathOffset (fdt, "/reserved-memory/splash_region");
if (ret < 0) {
DEBUG ((EFI_D_WARN, "Splash region not found in device tree, " \
"powering down the display and controller\n"));
Command to create boot.img
$ make O=output-e3q ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc) defconfig sm8650.config
$ make O=output-e3q ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc) &&
rm -f output-e3q/arch/arm64/boot/Image-dtb output-e3q/arch/arm64/boot/boot.img &&
cat output-e3q/arch/arm64/boot/Image.gz output-e3q/arch/arm64/boot/dts/qcom/sm8650-samsung-e3q.dtb > output-e3q/arch/arm64/boot/Image-dtb &&
mkbootimg --kernel output-e3q/arch/arm64/boot/Image-dtb \
--ramdisk /tmp/postmarketOS-export/initramfs \
--pagesize 4096 \
--kernel_offset 0x8000 \
--ramdisk_offset 0x2000000 \
--second_offset 0x0 \
--tags_offset 0x0 \
--header_version 0 \
-o output-e3q/arch/arm64/boot/boot.img &&
(adb reboot download; heimdall flash --BOOT output-e3q/arch/arm64/boot/boot.img)