Jump to content

Samsung Galaxy Note II (samsung-t03g): Difference between revisions

From postmarketOS Wiki
Frost I7 (talk | contribs)
m Added Extended version; Moved Original kernel version to the desc.; Removed single-core result of the Unixbench
S0p0st (talk | contribs)
Display: unable to use specific grep command, but for s6evr02 (on t0lte!), a more general command works
 
(19 intermediate revisions by one other user not shown)
Line 3: Line 3:
| name = Galaxy Note II
| name = Galaxy Note II
| codename = samsung-t03g
| codename = samsung-t03g
| model = N7100
| image = File:Samsung Galaxy Note II Phosh.png
| image = File:Samsung Galaxy Note II Phosh.png
| imagecaption = Samsung Galaxy Note II running Phosh
| imagecaption = Samsung Galaxy Note II running Phosh
Line 10: Line 11:
| originalversion = 4.1.1
| originalversion = 4.1.1
| extendedversion = 4.4.2
| extendedversion = 4.4.2
| pmoskernel = 6.0.2
| pmoskernel = 6.4.2
| chipset = Samsung Exynos 4412 Quad
| chipset = Samsung Exynos 4412 Quad
| cpu = Quad-core 1.6 GHz Cortex-A9
| cpu = Quad-core 1.6 GHz Cortex-A9
Line 18: Line 19:
| memory = 2 GB
| memory = 2 GB
| architecture = armv7
| architecture = armv7
| type = handset
| whet_dhry = 890
| whet_dhry = 890
<!-- 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 = Y
| status_flashing = Y
| status_touch = Y <!-- S Pen won't work without additional work on drivers and device tree -->
| status_touch = Y
| status_screen = Y
| status_screen = Y
| status_wifi = Y
| status_wifi = Y
Line 30: Line 32:
| status_battery = Y
| status_battery = Y
| status_3d = Y
| status_3d = Y
| status_audio = P
| status_audio = Y
| status_bluetooth = P
| status_bluetooth = P
| status_camera = <!-- Taking photos and videos works. -->
| status_camera = <!-- Taking photos and videos works. -->
| status_cameraflash = Y
| status_gps = N
| status_gps = N
| status_mobiledata = N
| status_mobiledata = N
| status_sms = N
| status_sms = N
| status_calls = N
| status_calls = N
| status_otg = N
| status_otg = P
| status_nfc = <!-- Near-Field Communication (NFC) works -->
| status_nfc = <!-- Near-Field Communication (NFC) works -->
| status_usba = -
| status_usba = -
| status_hdmidp = P <!-- Requires few changes to the kernel to make MHL work or to disable patch and use different DE -->
| status_hdmidp = Y
| status_dvb = -
| status_keyboard = -
| status_keyboard = -
| status_touchpad = -
| status_touchpad = -
| status_irtx = -
| status_irtx = -
| status_trustzone = <!-- TrustZone works -->
| status_irrx = -
| status_uart = Y
| status_stylus = N <!-- S Pen won't work without additional work on the drivers and device tree -->
| status_haptics = Y
| status_ethernet = -
| status_accel = <!-- The sensor that measures proper acceleration works -->
| status_accel = <!-- The sensor that measures proper acceleration works -->
| status_magnet = <!-- Magnetometer works -->
| status_magnet = <!-- Magnetometer works -->
Line 71: Line 79:
== Contributors ==
== Contributors ==
* Bloo
* Bloo
* [[user:Frost_I7|Frost_I7]]
* [[user:Frost_I7|Frost_I7]] (''I'll try to keep the wiki page up-to-date with the available info when I'm active.'')


== Users owning this device ==
== Users owning this device ==
Line 94: Line 102:


{{Note|Be warned, the SD card will be formatted.}}
{{Note|Be warned, the SD card will be formatted.}}
To install the system image to an SD card, use:
To install the system to an SD card, use:
<source lang="shell-session">$ pmbootstrap install --sdcard=/dev/mmcblk</source>
<syntaxhighlight lang="shell-session">$ pmbootstrap install --sdcard=/dev/mmcblk</syntaxhighlight>


=== Kernel Image ===
=== Kernel Image ===
Boot into flash mode and then flash the kernel:
Boot into flash mode, then flash the kernel:
<source lang="shell-session">$ pmbootstrap flasher flash_kernel</source>
<syntaxhighlight lang="shell-session">$ pmbootstrap flasher flash_kernel</syntaxhighlight>


If you have done everything correctly, your Note II should reboot and you should see the Samsung logo. All that remains is to wait for the pmOS splash to appear.
If you have done everything correctly, your Note II should reboot and you should see the Samsung logo. All that remains is to wait for the pmOS splash to appear.
Line 111: Line 119:


Clone the repository:
Clone the repository:
<source lang="shell-session">
<syntaxhighlight lang="shell-session">
$ git clone https://github.com/fourkbomb/u-boot
$ git clone https://github.com/fourkbomb/u-boot
$ cd u-boot
$ cd u-boot
</source>
</syntaxhighlight>
Optionally, apply patches made by [https://github.com/ave4/ ave4]:
Optionally, apply patches made by [https://github.com/ave4/ ave4]:
* https://gist.github.com/ave4/b4ac6c8a3abd3fd5d5b9f255cb2719d3
* https://gist.github.com/ave4/b4ac6c8a3abd3fd5d5b9f255cb2719d3
* https://gist.github.com/ave4/3e30c7d10eba42e948a78176f4da4326
* https://gist.github.com/ave4/3e30c7d10eba42e948a78176f4da4326
<source lang="shell-session">$ git am 000*</source>
<syntaxhighlight lang="shell-session">$ git am 000*</syntaxhighlight>
Set up the toolchain:
Set up the toolchain:
<source lang="shell-session">
<syntaxhighlight lang="shell-session">
$ export ARCH=arm
$ export ARCH=arm
$ export CROSS_COMPILE=arm-none-eabi-
$ export CROSS_COMPILE=arm-none-eabi-
</source>
</syntaxhighlight>
Build U-Boot:
Build U-Boot:
<source lang="shell-session">
<syntaxhighlight lang="shell-session">
$ make midas_defconfig && make -jN
$ make midas_defconfig && make -jN
$ ./create_4412_sd_image.sh u-boot.image
$ ./create_4412_sd_image.sh u-boot.image
</source>
</syntaxhighlight>
Install pmOS the usual way to the SD card and then flash U-Boot on top of it:
Install pmOS the usual way to the SD card and then flash U-Boot on top of it:
<source lang="shell-session">
<syntaxhighlight lang="shell-session">
$ dd if=u-boot.image of=/dev/mmcblkN bs=512 skip=1 seek=1
$ dd if=u-boot.image of=/dev/mmcblkN bs=512 skip=1 seek=1
</source>
</syntaxhighlight>


== Display ==
== Hardware ==
Note II has two variants of the display panel. To find out which panel yours has, run <code>dmesg | grep 'panel driver'</code> in TWRP or in a rooted Android shell (immediately after booting, otherwise the logs will have time to rotate and you won't see this message). Output should be similar to:
=== Display ===
Note II has two variants of the display panel. S6EVR02 and EA8061. To find out which panel yours has, run <code>dmesg | grep 'panel driver'</code> in TWRP or in a rooted Android shell (immediately after booting, otherwise the logs will have time to rotate and you won't see this message). Output will be similar to:
<pre>
<pre>
<6>[    3.177303] lcd panel: ea8061 lcd panel driver has been probed.
<6>[    3.177303] lcd panel: ea8061 lcd panel driver has been probed.
</pre>
</pre>
In this example, <code>ea8061</code> is the panel type. Other variants use the <code>s6evr02</code> panel.


== Partitions ==
TWRP dmesg is rather verbose.  If no result, tap the power button to turn the display on (or off), and try <code>dmesg | grep panel</code>
{{note|This will vary between devices.}}
<pre>
<source lang="shell-session">$ sudo parted /dev/mmcblk2 print</source>
<6>[  106.148463] c0 lcd panel: s6evr02_check_fb, fb0
</pre>
 
=== eMMC ===
==== Partitions ====
{{note|This will vary from device to device.}}
<syntaxhighlight lang="shell-session">$ sudo parted /dev/mmcblk2 print</syntaxhighlight>
<pre>
<pre>
Model: MMC VTU00M (sd/mmc)
Model: MMC VTU00M (sd/mmc)
Line 151: Line 165:
Disk Flags:
Disk Flags:
</pre>
</pre>
<b>N7100XXSFQA1</b> firmware:
{| class="wikitable"
{| class="wikitable"
! Number
! Number
Line 289: Line 304:
|}
|}


== TWRP ==
=== USB ===
{{note|Only if you still have Android installed. Make sure to boot into recovery mode at least once after flashing it, otherwise it will be overwritten by the default recovery.}}
==== OTG ====
Using [[Heimdall]]:
USB OTG only works in the host mode, which requires changing "dr_mode" from "peripheral" to "host" in the device tree.
<source lang="shell-session">$ heimdall flash --RECOVERY TWRP.img --no-reboot</source>
 
Notes: Device itself can be charged in the host mode, but you'll need to have an external power source to power the USB device.


== Downstream ==
== Downstream ==
{{note|This section is left for informational purposes only.}}
Original kernel version: 3.0.31
Original kernel version: 3.0.31
LineageOS kernel version: 3.0.101
=== S Pen ===
=== S Pen ===
To get the S Pen working, you may need to do the following:
To get the S Pen working, you may need to do the following:
Line 306: Line 326:
</pre>
</pre>
* Possibly update the hwdb:
* Possibly update the hwdb:
<source lang="shell-session">$ sudo udevadm hwdb --update</source>
<syntaxhighlight lang="shell-session">$ sudo udevadm hwdb --update</syntaxhighlight>
* Restart the phone.
* Restart the phone.


Line 314: Line 334:
</gallery>
</gallery>


== Recommendations ==
== Other ==
=== TWRP ===
{{note|Only if you still have Android installed. Make sure to boot into recovery mode at least once after flashing it, otherwise it will be overwritten by the default recovery.}}
Using [[Heimdall]]:
<syntaxhighlight lang="shell-session">$ heimdall flash --RECOVERY TWRP.img --no-reboot</syntaxhighlight>
 
=== Recommendations ===
* Enable [[SWAP]].
* Enable [[SWAP]].
* Enable [https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html binfmt_misc] (CONFIG_BINFMT_MISC).
* Enable [https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html binfmt_misc] (CONFIG_BINFMT_MISC).


== Issues ==
== Issues ==
* Currently, only S6EVR02 panel is available in the kernel package.
* The display brightness is too high when the display turns on.
* The panel S6EVR02 is currently disabled. Expected to be enabled in the ''near'' future.
** Solution: Enable CONFIG_DRM_PANEL_SAMSUNG_S6EVR02 in the config file.
* The display brightness is too high when the display turns on.  
** Solution: Change the brightness so it changes to the correct value.
** Solution: Change the brightness so it changes to the correct value.
* The sound output is distorted.
* The sound output is distorted.
** Note: It's based on the CPU load.
** Note: It's based on the CPU load.
* Headphone jack doesn't work.
* USB OTG doesn't switch modes automatically.
** Solution: Add ALSA section for it.
* USB OTG currently doesn't seem to work.
** Note: USB itself seems to work just fine. Note II is detected as "Netchip Technology, Inc. Linux-USB Ethernet/RNDIS Gadget" with <code>lsusb</code> command. Able to connect via SSH after adding required rule to [[nftables]].
** Note: External power to the USB device doesn't help.
* Default CPU frequency is only 1.4GHz.
* Default CPU frequency is only 1.4GHz.
** Solution: Modify device tree and add required frequencies.
** Solution: Modify the device tree and add required frequencies.
** <div style="color:#ff0000;font-weight:bold">Warning: Do not touch it unless you know what you're doing!</div>
** <div style="color:#ff0000;font-weight:bold">Warning: Do not touch it unless you know what you're doing!</div>



Latest revision as of 22:51, 26 August 2024

Samsung Galaxy Note II
Samsung Galaxy Note II running Phosh
Samsung Galaxy Note II running Phosh
Manufacturer Samsung
Name Galaxy Note II
Codename samsung-t03g
Model N7100
Released 2012
Type handset
Hardware
Chipset Samsung Exynos 4412 Quad
CPU Quad-core 1.6 GHz Cortex-A9
GPU Mali-400 MP4
Display 720x1280 AMOLED
Storage 16/32/64 GB
Memory 2 GB
Architecture armv7
Software
Original software Android
Original version 4.1.1
Extended version 4.4.2
FOSS bootloader partial
postmarketOS
Category testing
Pre-built images no
Mainline yes
postmarketOS kernel 6.4.2
Unixbench Whet/Dhry score 890
Features
Flashing
Works
USB Networking
Works
Internal storage
No data
SD card
No data
Battery
Works
Screen
Works
Touchscreen
Works
Stylus
Broken
Multimedia
3D Acceleration
Works
Audio
Works
Camera
No data
Camera Flash
Works
Connectivity
WiFi
Works
Bluetooth
Partial
GPS
Broken
NFC
No data
Modem
Calls
Broken
SMS
Broken
Mobile data
Broken
Miscellaneous
FDE
Works
USB OTG
Partial
HDMI/DP
Works
Sensors
Accelerometer
No data
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Haptics
Works
Barometer
No data
U-Boot
Primary Bootloader
Works
Secondary Bootloader
Works
Internal Storage
Works
SD card
Works
USB Host
No data
USB Peripheral
Works
Display
Works
Buttons
Works

Contributors

  • Bloo
  • Frost_I7 (I'll try to keep the wiki page up-to-date with the available info when I'm active.)

Users owning this device


Information

Code name of the device is Midas.

For the LTE variant, see this page.

See the Samsung Galaxy S III page for more information.

How to enter flash mode

Hold Power + Volume Down + Home. When prompted, release all buttons and click Volume Up.

How to enter recovery mode

Hold Power + Volume Up + Home. When the Samsung logo appears, release all buttons.

Installation

System Image

You can install the system to an SD card or make a recovery zip (probably won't fit in the partition size).

Note Be warned, the SD card will be formatted.

To install the system to an SD card, use:

$ pmbootstrap install --sdcard=/dev/mmcblk

Kernel Image

Boot into flash mode, then flash the kernel:

$ pmbootstrap flasher flash_kernel

If you have done everything correctly, your Note II should reboot and you should see the Samsung logo. All that remains is to wait for the pmOS splash to appear.

U-Boot

According to this blog, there is a working U-Boot port for the Midas devices. Build it from this repository.

Installation

This manual describes the installation on the SD card as a secondary bootloader.

Clone the repository:

$ git clone https://github.com/fourkbomb/u-boot
$ cd u-boot

Optionally, apply patches made by ave4:

$ git am 000*

Set up the toolchain:

$ export ARCH=arm
$ export CROSS_COMPILE=arm-none-eabi-

Build U-Boot:

$ make midas_defconfig && make -jN
$ ./create_4412_sd_image.sh u-boot.image

Install pmOS the usual way to the SD card and then flash U-Boot on top of it:

$ dd if=u-boot.image of=/dev/mmcblkN bs=512 skip=1 seek=1

Hardware

Display

Note II has two variants of the display panel. S6EVR02 and EA8061. To find out which panel yours has, run dmesg | grep 'panel driver' in TWRP or in a rooted Android shell (immediately after booting, otherwise the logs will have time to rotate and you won't see this message). Output will be similar to:

<6>[    3.177303] lcd panel: ea8061 lcd panel driver has been probed.

TWRP dmesg is rather verbose. If no result, tap the power button to turn the display on (or off), and try dmesg | grep panel

<6>[  106.148463] c0 lcd panel: s6evr02_check_fb, fb0

eMMC

Partitions

Note This will vary from device to device.
$ sudo parted /dev/mmcblk2 print
Model: MMC VTU00M (sd/mmc)
Disk /dev/mmcblk2: 15.8GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

N7100XXSFQA1 firmware:

Number Start End Size File system Name Flags
1 4194kB 8389kB 4194kB BOTA0 msftdata
2 8389kB 12.6MB 4194kB BOTA1 msftdata
3 12.6MB 33.6MB 21.0MB ext4 EFS msftdata
4 33.6MB 37.7MB 4194kB m9kefs1 msftdata
5 37.7MB 41.9MB 4194kB m9kefs2 msftdata
6 41.9MB 46.1MB 4194kB m9kefs3 msftdata
7 46.1MB 54.5MB 8389kB PARAM msftdata
8 54.5MB 62.9MB 8389kB BOOT msftdata
9 62.9MB 71.3MB 8389kB RECOVERY msftdata
10 71.3MB 164MB 92.3MB RADIO msftdata
11 164MB 168MB 4194kB TOMBSTONES msftdata
12 168MB 1602MB 1434MB ext4 CACHE msftdata
13 1602MB 3750MB 2147MB ext4 SYSTEM msftdata
14 3750MB 4337MB 587MB ext4 HIDDEN msftdata
15 4337MB 4345MB 8389kB OTA msftdata
16 4345MB 15.8GB 11.4GB ext4 USERDATA msftdata

USB

OTG

USB OTG only works in the host mode, which requires changing "dr_mode" from "peripheral" to "host" in the device tree.

Notes: Device itself can be charged in the host mode, but you'll need to have an external power source to power the USB device.

Downstream

Note This section is left for informational purposes only.

Original kernel version: 3.0.31

LineageOS kernel version: 3.0.101

S Pen

To get the S Pen working, you may need to do the following:

  • Put the following lines to /etc/udev/hwdb.d/60-evdev.hwdb:
evdev:name:*e-pen*
EVDEV_ABS_00=::300
EVDEV_ABS_01=::300
  • Possibly update the hwdb:
$ sudo udevadm hwdb --update
  • Restart the phone.

Gallery

Other

TWRP

Note Only if you still have Android installed. Make sure to boot into recovery mode at least once after flashing it, otherwise it will be overwritten by the default recovery.

Using Heimdall:

$ heimdall flash --RECOVERY TWRP.img --no-reboot

Recommendations

Issues

  • The display brightness is too high when the display turns on.
    • Solution: Change the brightness so it changes to the correct value.
  • The sound output is distorted.
    • Note: It's based on the CPU load.
  • USB OTG doesn't switch modes automatically.
  • Default CPU frequency is only 1.4GHz.
    • Solution: Modify the device tree and add required frequencies.
    • Warning: Do not touch it unless you know what you're doing!

See also