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

From postmarketOS
Jump to navigation Jump to search
m
m
 
(14 intermediate revisions by 8 users not shown)
Line 3: Line 3:
 
| name = Galaxy Note II
 
| name = Galaxy Note II
 
| codename = samsung-t03g
 
| codename = samsung-t03g
| image = File:Samsung Galaxy Note II.png
+
| image = File:Samsung Galaxy Note II Phosh.png
 
| imagecaption = Samsung Galaxy Note II
 
| imagecaption = Samsung Galaxy Note II
 
| releaseyear = 2012
 
| releaseyear = 2012
 +
| category = testing
 
| originalsoftware = Android 4.1.1 on Linux 3.0.31
 
| originalsoftware = Android 4.1.1 on Linux 3.0.31
| pmoskernel = 5.17.1
+
| pmoskernel = 6.0.2
| chipset = Exynos 4412 Quad
+
| chipset = Samsung Exynos 4412 Quad
 
| cpu = Quad-core 1.6 GHz Cortex-A9
 
| cpu = Quad-core 1.6 GHz Cortex-A9
 
| gpu = Mali-400 MP4
 
| gpu = Mali-400 MP4
Line 15: Line 16:
 
| memory = 2 GB
 
| memory = 2 GB
 
| architecture = armv7
 
| architecture = armv7
| status_usbnet = Y
+
| whet_dhry = 302 (single) <br/>/ 890 (multithreaded)
 +
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) -->
 +
| status_usbnet = P
 
| status_flashing = Y
 
| status_flashing = Y
| status_touch = Y <!-- S Pen not working -->
+
| status_touch = Y <!-- S Pen doesn't work without additional changes -->
 
| status_screen = Y
 
| status_screen = Y
| status_wifi = P
+
| status_wifi = Y
| status_xwayland =  
+
| status_xwayland = <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? -->
| status_fde =  
+
| status_fde = Y
 
| status_mainline = Y
 
| status_mainline = Y
| status_battery =
+
| status_battery = Y
 
| status_3d = Y
 
| status_3d = Y
| status_accel =
 
 
| status_audio = P
 
| status_audio = P
| status_bluetooth =
+
| status_bluetooth = P
| status_camera =
+
| status_camera = <!-- Taking photos and videos works. -->
| status_gps =  
+
| status_gps = N
| status_mobiledata =  
+
| status_mobiledata = N
| status_sms =  
+
| status_sms = N
| status_calls =  
+
| status_calls = N
| | status_fossbootloader = P
+
| status_otg = Y
 +
| status_nfc = <!-- Near-Field Communication (NFC) works -->
 +
| status_usba = -
 +
| status_hdmidp = P <!-- Requires few changes to the kernel to make MHL work or to disable patch and use different DE -->
 +
| status_keyboard = -
 +
| status_touchpad = -
 +
| status_irtx = -
 +
| status_trustzone = <!-- TrustZone works -->
 +
| status_accel = <!-- The sensor that measures proper acceleration works -->
 +
| status_magnet = <!-- Magnetometer works -->
 +
| status_light = <!-- Ambient light sensor works -->
 +
| status_proximity = <!-- Proximity sensor works -->
 +
| status_hall = -
 +
| status_barometer = <!-- Barometer works -->
 +
| status_powersensor = -
 +
| status_fossbootloader = P
 +
| status_uboot = Y
 +
| status_uboot_primary = Y
 +
| status_uboot_secondary = Y
 +
| status_uboot_mainline = -
 +
| status_uboot_internalstorage = Y
 +
| status_uboot_sd = Y
 +
| status_uboot_usbhost =
 +
| status_uboot_usbperipheral = Y
 +
| status_uboot_screen = Y
 +
| status_uboot_keyboard = -
 +
| status_uboot_buttons = Y
 
| booting = yes
 
| booting = yes
 
}}
 
}}
 +
 +
__TOC__
 +
 
== Contributors ==
 
== Contributors ==
 
* Bloo
 
* Bloo
 +
* [[user:Frost_I7|Frost_I7]]
  
 
== Users owning this device ==
 
== Users owning this device ==
 
{{Device owners}}
 
{{Device owners}}
  
 +
== Information ==
 +
Code name of the device is '''Midas'''.
  
== Display ==
+
For the LTE variant, see [[Samsung_Galaxy_Note_II_LTE_(samsung-t0lte)|this page]].
There is an issue with the display in that the brightness is too high when it turns on. Simply turning down the brightness, even a little, makes it jump to the correct setting.  
 
  
== Audio ==
+
See the [[Samsung_Galaxy_S_III_(samsung-m0)|Samsung Galaxy S III]] page for more information.
Speaker and (main) mic work, but not headphone, as the kernel driver needs work to support that.  In its current state the headphone audio is very crackly.
 
  
 +
== How to enter flash mode ==
 +
Hold {{Button|Power}} + {{Button|Volume Down}} + {{Button|Home}}. When prompted, release all buttons and click {{Button|Volume Up}}.
  
== What does not work ==
+
== How to enter recovery mode ==
 +
Hold {{Button|Power}} + {{Button|Volume Up}} + {{Button|Home}}. When the Samsung logo appears, release all buttons.
  
* WiFi is not working correctly on the mainline yet
+
== Installation ==
 +
=== System Image ===
 +
You can install the system to an SD card or make a [[Installation from recovery mode|recovery zip]] (probably won't fit in the partition size).
  
== How to enter flash mode ==
+
{{Note|Be warned, the SD card will be formatted.}}
 +
To install the system image to an SD card, use:
 +
<source lang="shell-session">$ pmbootstrap install --sdcard=/dev/mmcblk</source>
  
Press and hold &quot;volume down + home + power&quot; simultaneously. Then click volume up to confirm.
+
=== Kernel Image ===
 +
Boot into flash mode and then flash the kernel:
 +
<source lang="shell-session">$ pmbootstrap flasher flash_kernel</source>
  
== Installing system ==
+
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.
  
The device package and kernel is now available, pre-built, from the repositories.
+
== Display ==
<!--
+
{{note|There is an issue with the display that the brightness is too high when the display turns on. Simply change the brightness so that it jumps to the correct value.}}
First build the device package:
+
This device has two variants of display panels. To find out which panel your device 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:
  
<source lang="shell-session">$ pmbootstrap build device-samsung-n7100</source>
+
<pre>
 +
<6>[    3.177303] lcd panel: ea8061 lcd panel driver has been probed.
 +
</pre>
  
<p hidden>
+
In this example, <code>ea8061</code> is the panel type. Other variants use the <code>s6evr02</code> panel.
Then you need to configure the kernel before building with <code>menuconfig</code> like so:
 
  
<pre class="shell">./pmbootstrap.py menuconfig linux-samsung-n7100</pre>
 
You can hold down the enter key while it asks you the y/n questions until you get to the menu, then you want to enable the <code>DEVTMPFS</code> kconfig flag located in <code>Device Drivers ---&gt; Generic Driver Options</code>.
 
</p>
 
  
Now you want to compile the kernel itself:
+
<!--
 
+
== Mainline ==
<source lang="shell-session">$ pmbootstrap build linux-samsung-n7100 --arch=armhf</source>
 
 
-->
 
-->
  
You can install the OS to an SD card or your system partition. I've only tried an SD card:
+
== Downstream ==
 
+
=== S Pen ===
<source lang="shell-session">$ pmbootstrap install --sdcard=/dev/sdb</source>
+
To get the S Pen working, you may need to do the following:
You will need a 1GB SD card in order for this to work, also keep in mind that this will format the sd card.
 
 
 
Please also note, that you cannot flash directly to the system due to an error in Heimdall.
 
 
 
Next you want to put your phone in download mode by holding <code>power + vol down + home</code> all together until you enter download mode, press volume up again to continue past the warning.
 
 
 
Now you can flash the boot image:
 
 
 
<source lang="shell-session">$ pmbootstrap flasher flash_kernel</source>
 
We're using <code>flash_kernel</code> because the N7100 packages its kernel and initfs file into one boot image, where as some other phones have separate partitions for each '''unlike''' the N7100.
 
 
 
If everything checks out OK, your N7100 should reboot and you should see the Samsung logo. Dont worry if the screen is flashing on and off and its taking a while, after a minute or 2 it should show up the pmOS splash!
 
 
 
=== Getting the S Pen to work on downstream ===
 
 
 
To get the S Pen working, you might have to do the following:
 
  
* Write the following into <code>/etc/udev/hwdb.d/60-evdev.hwdb</code>:
+
* Put the following lines to <code>/etc/udev/hwdb.d/60-evdev.hwdb</code>:
<source lang="shell-session">
+
<pre>
$ sudo cat /etc/udev/hwdb.d/60-evdev.hwdb
 
 
evdev:name:*e-pen*
 
evdev:name:*e-pen*
EVDEV_ABS_00=::300
+
EVDEV_ABS_00=::300
EVDEV_ABS_01=::300
+
EVDEV_ABS_01=::300
</source>
+
</pre>
''(Note: The file's contents should be improved)''
+
* Possibly update the hwdb:
* Possibly: update the hwdb
 
 
<source lang="shell-session">$ sudo udevadm hwdb --update</source>
 
<source lang="shell-session">$ sudo udevadm hwdb --update</source>
* Restart the phone
+
* Restart the phone.
  
== FOSS U-Boot ==
+
== U-Boot ==
According to [https://blog.forkwhiletrue.me/pages/midas-mainline/ this blog] there is a working U-Boot port on the N7100 (and some others). Build from [https://github.com/fourkbomb/u-boot/ this repository], U-Boot works successfully with SD-card.
+
According to [https://blog.forkwhiletrue.me/pages/midas-mainline/ this blog], there is a working U-Boot port for the Midas devices.
 +
Build it from [https://github.com/fourkbomb/u-boot/ this repository].
  
 
=== Installation ===
 
=== Installation ===
This manual describes installation on sdcard without bootloader in eMMC. U-Boot should boot directly from eMMC but I haven't tested this.
+
This manual describes the installation on the SD card as a secondary bootloader.
  
Clone the repository
+
Clone the repository:
$ git clone https://github.com/fourkbomb/u-boot
+
<source lang="shell-session">
$ cd u-boot
+
$ git clone https://github.com/fourkbomb/u-boot
Optionally, I made some u-boot patches to fix some issues
+
$ cd u-boot
 +
</source>
 +
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
$ git am 000*
+
<source lang="shell-session">$ git am 000*</source>
Set up the toolchain
+
Set up the toolchain:
$ export ARCH=arm
+
<source lang="shell-session">
$ export CROSS_COMPILE=arm-none-eabi-
+
$ export ARCH=arm
Build U-Boot
+
$ export CROSS_COMPILE=arm-none-eabi-
$ make midas_defconfig && make -jN
+
</source>
$ ./create_4412_sd_image.sh u-boot.image
+
Build U-Boot:
Install postmarketOS in the usual way on sdcard and AFTER that write u-boot to sdcard
+
<source lang="shell-session">
$ dd if=u-boot.image of=/dev/mmcblkN bs=512 skip=1 seek=1
+
$ make midas_defconfig && make -jN
 
+
$ ./create_4412_sd_image.sh u-boot.image
== Mainline Kernel ==
+
</source>
Thanks in large part to the [http://blog.forkwhiletrue.me/pages/midas-mainline/ Midas on Mainline] work that was done a few years ago, we now have initial mainline support for this device.
+
Install pmOS the usual way to the SD card and then flash U-Boot on top of it:
 
+
<source lang="shell-session">
The merged request which added mainline support in PostmarketOS is [https://gitlab.com/postmarketOS/pmaports/-/merge_requests/3077 here].
+
$ dd if=u-boot.image of=/dev/mmcblkN bs=512 skip=1 seek=1
 +
</source>
  
This device's pmaports repo, Samsung-t03g, is current in "testing" [https://gitlab.com/postmarketOS/pmaports/-/tree/master/device/testing/device-samsung-t03g here].
+
== TWRP ==
 +
{{note|Make sure to boot into recovery mode at least once after flashing, otherwise it will be overwritten by the default recovery.}}
 +
Using [[Heimdall]]:
 +
<source lang="shell-session">$ heimdall flash --RECOVERY TWRP.img --no-reboot</source>
  
There is a [https://github.com/fourkbomb/linux/blob/8ce0752f2cc22b8f8fa980c21be802ea387f9a86/arch/arm/boot/dts/exynos4412-n7100.dts downstream patch] to create a necessary exynos4412-n7100 specific DTS for this device in the mainline kernel, as opposed to the current more generic [https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/exynos4412-n710x.dts exynos4412-n710x] DTS, but it has yet to be submitted upstream. Please feel free to submit this patch on behalf of the author if you are willing and able.
+
== Issues ==
 +
* Currently, only S6EVR02 panel is available in the kernel package.
  
The [https://replicant.us Replicant project] is interested in further mainlining this device and replacing the bootloader with u-boot and would like to collaborate with us [https://github.com/postmarketOS/pmbootstrap/pull/293#issuecomment-395889596].
+
== Gallery ==
 +
<gallery>
 +
File:Samsung Galaxy Note II.png
 +
</gallery>
  
 
== See also ==
 
== See also ==
 
+
* {{Device package|samsung-t03g}}
* [http://www.gsmarena.com/samsung_galaxy_note_ii_n7100-4854.php more specs]
+
* {{Kernel package|postmarketos-exynos4|community}}
* [https://github.com/bigbiff/android_kernel_samsung_smdk4412 Unofficial TWRP kernel repo]
+
* {{Firmware package|samsung-midas|community}} (Common board firmware for Exynos Note 2 and S3 devices)
* Exynos4412 [https://redmine.replicant.us/projects/replicant/wiki/Exynos4412Devices#Galaxy-Note-II Galaxy Note II] hardware table for t03g (and [[Samsung_Galaxy_Note_II_LTE_(samsung-t0lte)|t0lte]]) variants.
+
* [https://www.gsmarena.com/samsung_galaxy_note_ii_n7100-4854.php GSMArena]
 +
* [https://twrp.me/samsung/samsunggalaxynote2international.html TWRP]
 +
* [https://redmine.replicant.us/projects/replicant/wiki/GalaxyNote2N7100 Replicant]
 +
* [https://redmine.replicant.us/projects/replicant/wiki/Exynos4412Devices#Galaxy-Note-II Hardware table for Note II and its variants]

Latest revision as of 13:19, 6 December 2022

Samsung Galaxy Note II
Samsung Galaxy Note II
Samsung Galaxy Note II
Manufacturer Samsung
Name Galaxy Note II
Codename samsung-t03g
Released 2012
Category testing
Original software Android 4.1.1 on Linux 3.0.31
postmarketOS kernel 6.0.2
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
Unixbench Whet/Dhry score 302 (single)
/ 890 (multithreaded)
Features
USB Networking
Partial
Flashing
Works
Touchscreen
Works
Display
Works
WiFi
Works
FDE
Works
Mainline
Works
Battery
Works
3D Acceleration
Works
Audio
Partial
Bluetooth
Partial
Camera
GPS
Broken
Mobile data
Broken
SMS
Broken
Calls
Broken
USB OTG
Works
NFC
Sensors
Accelerometer
Magnetometer
Ambient Light
Proximity
Hall Effect
Unavailable
Barometer
Power Sensor
Unavailable
Misc
Keyboard
Unavailable
Touchpad
Unavailable
USB-A
Unavailable
HDMI/DP
Partial
Ir TX
Unavailable
TrustZone
FOSS bootloader
Partial
U-Boot
Primary Bootloader
Works
Secondary Bootloader
Works
Mainline
Unavailable
Internal Storage
Works
SD card
Works
USB Host
USB Peripheral
Works
Display
Works
Keyboard
Unavailable
Buttons
Works



Contributors

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 image to an SD card, use:

$ pmbootstrap install --sdcard=/dev/mmcblk

Kernel Image

Boot into flash mode and 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.

Display

Note There is an issue with the display that the brightness is too high when the display turns on. Simply change the brightness so that it jumps to the correct value.

This device has two variants of display panels. To find out which panel your device 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 should be similar to:

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

In this example, ea8061 is the panel type. Other variants use the s6evr02 panel.


Downstream

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.

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

TWRP

Note Make sure to boot into recovery mode at least once after flashing, otherwise it will be overwritten by the default recovery.

Using Heimdall:

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

Issues

  • Currently, only S6EVR02 panel is available in the kernel package.

Gallery

See also