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

From postmarketOS
Jump to navigation Jump to search
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{note| This device is still running on armhf, although the processor supports armv7. If you own it, change it and test it [https://wiki.postmarketos.org/wiki/Tips_and_tricks#Update_the_architecture_of_your_device that] way.}}
 
 
{{Infobox device
 
{{Infobox device
 
| manufacturer = Samsung
 
| manufacturer = Samsung
Line 8: Line 7:
 
| releaseyear = 2012
 
| releaseyear = 2012
 
| originalsoftware = Android 4.1.1 on Linux 3.0.31
 
| originalsoftware = Android 4.1.1 on Linux 3.0.31
 +
| pmoskernel = 5.17.1
 
| chipset = Exynos 4412 Quad
 
| chipset = Exynos 4412 Quad
 
| cpu = Quad-core 1.6 GHz Cortex-A9
 
| cpu = Quad-core 1.6 GHz Cortex-A9
Line 17: Line 17:
 
| status_usbnet = Y
 
| status_usbnet = Y
 
| status_flashing = Y
 
| status_flashing = Y
| status_touch = P <!-- S Pen not working -->
+
| status_touch = Y <!-- S Pen not working -->
 
| status_screen = Y
 
| status_screen = Y
 
| status_wifi = P
 
| status_wifi = P
Line 41: Line 41:
 
{{Device owners}}
 
{{Device owners}}
  
== Basic info ==
 
  
* [http://www.gsmarena.com/samsung_galaxy_note_ii_n7100-4854.php more specs]
+
== Display ==
* [https://github.com/bigbiff/android_kernel_samsung_smdk4412 Unofficial TWRP kernel repo]
+
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.  
* 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.
 
  
== What works ==
+
== Audio ==
 +
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.
  
* Compiling the kernel
 
* Flashing with Heimdall
 
* Booting initramfs
 
* SSH
 
* Touch screen fully calibrated
 
  
 
== What does not work ==
 
== What does not work ==
  
* Sound
+
* WiFi is not working correctly on the mainline yet
* Weston
 
 
 
== Not tested ==
 
 
 
* WiFi (needs kernel modules compiling first)
 
  
 
== How to enter flash mode ==
 
== How to enter flash mode ==
Line 104: Line 93:
 
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!
 
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 ===
+
=== Getting the S Pen to work on downstream ===
  
 
To get the S Pen working, you might have to do the following:
 
To get the S Pen working, you might have to do the following:
Line 120: Line 109:
 
* Restart the phone
 
* Restart the phone
  
== Issues ==
+
== FOSS U-Boot ==
* Weston does not run, presumably because of missing API calls. This should be fixed once the device runs mainline.
+
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.
* The kernel seems to have a bug which causes it to reboot a large number of times. It will eventually be able to boot properly though. ([https://matrix-client.matrix.org/_matrix/media/r0/download/matrix.org/rWxLNbGACqTlpXVuUZEWNQaG])
 
  
== Mainline U-Boot ==
+
=== Installation ===
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. Unfortunately my device instance has dead eMMC memory so I can't test U-Boot with eMMC.
+
This manual describes installation on sdcard without bootloader in eMMC. U-Boot should boot directly from eMMC but I haven't tested this.
 +
 
 +
Clone the repository
 +
$ git clone https://github.com/fourkbomb/u-boot
 +
$ cd u-boot
 +
Optionally, I made some u-boot patches to fix some issues
 +
* https://gist.github.com/ave4/b4ac6c8a3abd3fd5d5b9f255cb2719d3
 +
* https://gist.github.com/ave4/3e30c7d10eba42e948a78176f4da4326
 +
$ 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 postmarketOS in the usual way on sdcard and AFTER that write u-boot to sdcard
 +
$ dd if=u-boot.image of=/dev/mmcblkN bs=512 skip=1 seek=1
  
 
== Mainline Kernel ==
 
== Mainline Kernel ==
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. The pmOS patch that added initial support is [https://gitlab.com/postmarketOS/pmaports/-/commit/0bab9b5f8a99b6e80cf5def6590d82e6d5dddc3d here].
+
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.
  
The pmports repo for this device's linux-postmarketos-exynos4 mainline kernel is [https://gitlab.com/postmarketOS/pmaports/-/tree/master/main/linux-postmarketos-exynos4 here].
+
The merged request which added mainline support in PostmarketOS is [https://gitlab.com/postmarketOS/pmaports/-/merge_requests/3077 here].
 +
 
 +
This device's pmaports repo, Samsung-t03g, is current in "testing" [https://gitlab.com/postmarketOS/pmaports/-/tree/master/device/testing/device-samsung-t03g here].
  
 
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.
 
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.
Line 136: Line 142:
 
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].
 
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].
  
This device's Qualcomm Gobi MDM9615 Modem has limited mainline kernel support: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/clk/qcom/gcc-mdm9615.c?h=v5.2.7
+
== See also ==
 +
 
 +
* [http://www.gsmarena.com/samsung_galaxy_note_ii_n7100-4854.php more specs]
 +
* [https://github.com/bigbiff/android_kernel_samsung_smdk4412 Unofficial TWRP kernel repo]
 +
* 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.

Revision as of 14:11, 9 June 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 5.17.1
Hardware
Chipset 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
Features
USB Networking
Works
Flashing
Works
Touchscreen
Works
Display
Works
WiFi
Partial
FDE
Mainline
Works
Battery
3D Acceleration
Works
Audio
Partial
Bluetooth
Camera
GPS
Mobile data
SMS
Calls
USB OTG
NFC
Sensors
Accelerometer
Magnetometer
Ambient Light
Proximity
Hall Effect
Barometer
Power Sensor
Misc
Keyboard
Touchpad
USB-A
HDMI/DP
Ir TX
TrustZone
FOSS bootloader


Contributors

  • Bloo

Users owning this device

  • Blacksilver
  • Km2 (Notes: Dead emmc, but I have an idea how to restore it)


Display

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

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.


What does not work

  • WiFi is not working correctly on the mainline yet

How to enter flash mode

Press and hold "volume down + home + power" simultaneously. Then click volume up to confirm.

Installing system

The device package and kernel is now available, pre-built, from the repositories.

You can install the OS to an SD card or your system partition. I've only tried an SD card:

$ pmbootstrap install --sdcard=/dev/sdb

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 power + vol down + home all together until you enter download mode, press volume up again to continue past the warning.

Now you can flash the boot image:

$ pmbootstrap flasher flash_kernel

We're using flash_kernel 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 /etc/udev/hwdb.d/60-evdev.hwdb:
$ sudo cat /etc/udev/hwdb.d/60-evdev.hwdb
evdev:name:*e-pen*
 EVDEV_ABS_00=::300
 EVDEV_ABS_01=::300

(Note: The file's contents should be improved)

  • Possibly: update the hwdb
$ sudo udevadm hwdb --update
  • Restart the phone

FOSS U-Boot

According to this blog there is a working U-Boot port on the N7100 (and some others). Build from this repository, U-Boot works successfully with SD-card.

Installation

This manual describes installation on sdcard without bootloader in eMMC. U-Boot should boot directly from eMMC but I haven't tested this.

Clone the repository

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

Optionally, I made some u-boot patches to fix some issues

$ 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 postmarketOS in the usual way on sdcard and AFTER that write u-boot to sdcard

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

Mainline Kernel

Thanks in large part to the Midas on Mainline work that was done a few years ago, we now have initial mainline support for this device.

The merged request which added mainline support in PostmarketOS is here.

This device's pmaports repo, Samsung-t03g, is current in "testing" here.

There is a downstream patch to create a necessary exynos4412-n7100 specific DTS for this device in the mainline kernel, as opposed to the current more generic 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.

The Replicant project is interested in further mainlining this device and replacing the bootloader with u-boot and would like to collaborate with us [1].

See also