Samsung Galaxy S III (samsung-m0): Difference between revisions
→Warnings and considerations: This has only ever been reproduced on a device with a very worn battery (credits to Grimler for testing the battery) |
→Miscellaneous mainline kernel information: Fix link to kernel |
||
Line 94: | Line 94: | ||
Thanks in large part to the [https://web.archive.org/web/20210518080539/https://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 [https://web.archive.org/web/20210518080539/https://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]. | ||
The pmports repo for this device's linux-postmarketos-exynos4 mainline kernel is [https://gitlab.com/postmarketOS/pmaports/-/tree/master/ | The pmports repo for this device's linux-postmarketos-exynos4 mainline kernel is [https://gitlab.com/postmarketOS/pmaports/-/tree/master/device/testing/linux-postmarketos-exynos4 here]. | ||
@pmOS_devices announcement from Nov 11, 2020: https://twitter.com/pmOS_devices/status/1326525105162293249 | @pmOS_devices announcement from Nov 11, 2020: https://twitter.com/pmOS_devices/status/1326525105162293249 |
Revision as of 17:36, 27 April 2022
![]() Samsung Galaxy S III | |
Manufacturer | Samsung |
---|---|
Name | Galaxy S III |
Codename | samsung-m0 |
Released | 2012 |
Hardware | |
Chipset | Exynos 4412 Quad |
CPU | Quad-core 1.4 GHz Cortex-A9 |
GPU | Mali 400 MP4 |
Display | 720x1280 Super AMOLED |
Storage | 16 GB/32 GB |
Memory | 1 GB (GT-i9300 & SHW-M440S) |
Architecture | armv7 |
Software | |
Original software | Android 4.1.1 |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | yes |
Flashing |
Works |
---|---|
USB Networking |
Partial |
Internal storage |
No data |
SD card |
No data |
Battery |
Works |
Screen |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
Works |
Audio |
Partial |
Camera |
No data |
Camera Flash |
No data |
Connectivity | |
WiFi |
Works |
Bluetooth |
Partial |
GPS |
Broken |
NFC |
No data |
Modem | |
Calls |
Broken |
SMS |
Broken |
Mobile data |
Broken |
Miscellaneous | |
FDE |
Works |
USB OTG |
No data |
HDMI/DP |
No data |
Sensors | |
Accelerometer |
Broken |
Magnetometer |
No data |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
No data |
Haptics |
No data |
Barometer |
No data |
Contributors
- Thiagaopluplus
- tyxieblub
- Newbyte
Maintainer(s)
Basic info
So far, what works for Samsung Galaxy S III LTE (samsung-m3) also works for the samsung-m0 (Galaxy S III international GSM version without LTE, Also known as Galaxy S III 3G SHW-M440S in South Korea) and samsung-shv-e210s (a Korean variant). (None of these S III models should be confused with the North American S III models, which require OS builds.)
Code name is MIDAS. Search for midas-mainline to find more info.
Users owning this device
- Arthurlutz (Notes: /e/ 0.11 (android 7 pie) (FIXME: m0 or m3))
- Bastindo (Notes: 2x black, 2x blue)
- ByteXD23! (Notes: Has battery, Not responsive, perhaps dead EMMC?)
- ByteXD23! (Notes: No battery, Not responsive, perhaps dead EMMC?)
- Cick0
- DALEK 77 (Notes: 16GB, Pebble Blue)
- Demodé
- Dolphinana (Notes: pmOS with non-free wifi firmware)
- Eldyj (Notes: Chinese battery, running XenonHD with Koffee kernel)
- Eloy
- EnderNightLord (Notes: 1 GB RAM)
- ExtensionDriver (Notes: m0, white, worn battery cover)
- GeraltvonNVIDIA (Notes: Running phosh (community))
- Grimler
- Illen (Notes: Battery is broken, works on charger. Runs mainline U-Boot/Linux.)
- Jack Kekzoz
- LanaX64
- Missy
- Neilvandyke
- Nergzd723 (Notes: Power button broken, otherwise in perfect condition :D)
- Newbyte
- Nieldv
- Prowindows62 (Notes: Dualboot with postmarketOS and stock Android 4.3)
- Roboe (Notes: (borrowed) GT-I9300 16GB; unreliable USB; running postmarketOS stable)
- Roboe (Notes: (borrowed) GT-I9300_TIZEN (Tizen RD-PQ); HW rev. 0xC (M0_REAL_REV1.1_2nd_120413); PIT Version 08; running Tizen 2.2.0 with U-Boot 2011.03 (Jul 16 2013))
- Russanandres (Notes: Cyanogenmod 13)
- Sputnik1973 (Notes: Broken screen and bad battery.)
- Sputnik1973 (Notes: Mint condition, no issues (with the original dock that came with it.))
- Thenightterrorx (Notes: haven't tried flashing yet)
- Thiagaoplusplus
- TPJS (Notes: dont know, where it is currently; running Lineage-OS)
- TryzenAlpensky (Notes: Pebble Blue - 16GB)
- UltrasonicMadness (Notes: GT-I9300)
- Ungeskriptet (Notes: 2x White and 1x Pebble Blue, all GT-i9300. One with U-Boot :D)
- User0 (Notes: running postmarketOS)
- Vincele (Notes: PMOS edge, problem see (2))
- Vipaol (Notes: pmos)
- Vipaol (Notes: stock)
- Vladuwka12 (Notes: Running stock)
- WonderfulShrineMaidenOfParadise
How to enter flash mode
- Hold power + Home + volume down
- When prompted, release all buttons and press volume up
Installation
Set phone to ODIN mode
1. Turn off phone 2. Connect USB cable 3. Hold VOLUME_DOWN + HOME + POWER until you get Warning!! screen 4. Push VOLUME_UP to continue to ODIN mode screen
# Ready the build
pmbootstrap init # (weston or xfce4 should do)
# Install rootfs to Micro SD Card
pmbootstrap install --sdcard=/dev/something # (typically /dev/sd<x> or /dev/mmcblk<#>, will depend on where your Micro SD Card is mounted)
# You can now insert the sdcard into the device
# Put the m0 / m3 into odin mode with the steps above and flash the kernel (to boot from the Micro SD Card)
pmbootstrap flasher flash_kernel # (in odin mode)
# and it should reboot automatically and start pmos from the sdcard
Alternative if you don't have a microSD card or the slot is broken, you can do the installation from recovery mode
WiFi
As of pmaports!2556, WiFi should "just work" (on mainline).
Miscellaneous mainline kernel information
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 pmOS patch that added initial support is here.
The pmports repo for this device's linux-postmarketos-exynos4 mainline kernel is here.
@pmOS_devices announcement from Nov 11, 2020: https://twitter.com/pmOS_devices/status/1326525105162293249
Upstream dts: exynos4412-i9305.dts
Blog announcement: https://postmarketos.org/blog/2020/11/06/postmarketOS-in-2020-11-part-1/#mainline-all-the-phones-and-tablets
Upstream kernel support matrix: Midas on Mainline.
Note that a patch is required to make it work with the stock samsung bootloader and this is included in the pmports mainline repo above.
forkbomb from LineageOS got mainline u-boot running on this device and wrote about it in this blog post: https://web.archive.org/web/20210328191127/https://blog.forkwhiletrue.me/posts/an-almost-fully-libre-galaxy-s3/
Replicant has this device booting with mainline Linux and almost mainline U-Boot with only the need for a few patches on top and would like to collaborate with us [1]
The Qualcomm Gobi MDM9615 Modem seems to have mainline kernel support as well: https://redmine.replicant.us/projects/replicant/wiki/GalaxyS3I9305#Hardware-table
The Replicant project is working on getting the i9300 modem working with a mainline kernel in a way that pmOS can also utilize: https://redmine.replicant.us/issues/1954 https://git.replicant.us/contrib/GNUtoo/kernel_replicant_linux/log/?h=replicant-11-i9300-modem
LTE modem support with the mainline kernel on Replicant is being done here: https://redmine.replicant.us/issues/2206 The Note II discussed here has the same or very similar modem as the i9305.
Replicant and LineageOS successfully got the Lima driver for Mesa working on Mali when using mainline linux: video success announcement linux-postmarketos-exynos4 now also has the same support.
Replicant currently supports this device in 6.0 and is doing a lot of research in order to get it running with a mainline kernel with a mainline bootloader for Replicant 11. More bootloader research is here.
Replicant's mainline kernel git repo: https://git.replicant.us/replicant-next/kernel_replicant_linux/
xboot might be a completely free bootloader option. Looks to have zero proprietary blobs.
Battery
With mainline, battery reporting works as of pmaports!2423, and charging works as of pmaports!2546. Charging allegedly randomly stops, but should that happen you can just unplug and re-plug the cable. Charging is also very slow and the device will probably lose power if you use it while charging.
Battery reporting and charging via postmarketOS does not work on the downstream kernel - the device gets stuck on whatever percentage it was on boot (although it does charge in recovery mode)
Modem
The modem does not work in postmarketOS. That said, there was some work done to enable the modem on the i9300 variant of this device. It can be found here: https://github.com/fourkbomb/linux/tree/modem. Note that even if you apply this, you would likely need userspace patches as well for calls and mobile data to be usable.
Audio
Audio mostly works. Notable omissions are input from the main microphone and headset audio out.
GPS
The Galaxy S III uses Broadcom BCM4751 GPS.
Warnings and considerations
Power
It used to be that the battery percentage wasn't properly monitored and would get stuck at a set percentage at boot. While this was the case, the phone would not shut down when battery levels went too low, which could make the phone behave strangely on significantly worn batteries (in the ballpark of 50% wear). There are theories that this may have caused hardware failure for one user, but this is not proven. Battery level reporting has since been fixed, but it has not been extensively tested for reliability, so we recommend that you try to not let your phone's battery percentage fall too low. It should shut down on its own before anything adverse can happen, however.
See pmaports#1115 for more information.
eMMC firmware bugs
Replicant has a good article about this: https://redmine.replicant.us/projects/replicant/wiki/EMMCFirmwareBugs
Heimdall does not consider partition sizes when flashing
See Heimdall#494
See also
- Wikipedia
- Device package
- Kernel package
- Fix long dead Galaxy S3 phone eMMC bug
- Guide to revive a bricked i9300 EMMC
- pmaports!2556 Rename from i9300 to m0
- TWRP with eMMC boot partitions patch, useful for flashing bootloaders