Jump to content

Samsung Galaxy S III (samsung-m0): Difference between revisions

From postmarketOS Wiki
Edit infobox
Added info about downstream charging/battery reporting, and audio information
Line 176: Line 176:
== Battery ==
== Battery ==


With mainline, battery reporting works as of {{MR|2423|pmaports}}, and charging works as of {{MR|2546|pmaports}}. Support for battery reporting and charging with the downstream kernel is unknown. Charging allegedly randomly stops, but should that happen you can just unplug and re-plug the cable.
With mainline, battery reporting works as of {{MR|2423|pmaports}}, and charging works as of {{MR|2546|pmaports}}. Charging allegedly randomly stops, but should that happen you can just unplug and re-plug the cable.
 
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 ==
== 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.
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 does not work. See {{issue|1281|pmaports}} for more information.


== Warnings and considerations ==
== Warnings and considerations ==

Revision as of 03:24, 5 November 2021

Samsung Galaxy S III
Samsung Galaxy S III
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
Features
Flashing
Works
USB Networking
Works
Internal storage
No data
SD card
No data
Battery
Partial
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
Works
Audio
Broken
Camera
No data
Camera Flash
No data
Connectivity
WiFi
Works
Bluetooth
Broken
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

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


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

WiFi

To get the WiFi working, you'll need to modify the wpa_supplicant configuration. If this is not done, wpa_supplicant starts with -ip2p0 which is not supported on our device.

 $ echo 'wpa_supplicant_args="-Dwext"' | sudo tee /etc/conf.d/wpa_supplicant

You can use either NetworkManager or networking and wpa_supplicant. NetworkManager is recommend in most cases as it handles reconnection.

Network Manager

Ensure the networkmanger service is running

 $ sudo rc-status | grep 'networkmanager'

if it not visible, try to start the service:

 $ sudo rc-service networkmanager start

Search for available WiFi networks and connect to network

 $ sudo nmcli device wifi list ifname wlan0
 $ sudo nmcli --ask dev wifi connect SSID

Reboot and you should be connected.

Networking and wpa_supplicant

You will need to manually configure the interfaces by creating

/etc/network/interfaces

e.g.,

 $ sudo vi /etc/network/interfaces
  auto lo
  iface lo inet loopback
  auto wlan0
  iface wlan0 inet dhcp
  

Save changes and add networking to start with system

$ sudo rc-update add networking

Add WiFi network information

$ wpa_passphrase YOUR_SSID YOUR_PASSPHRASE | sudo tee /etc/wpa_supplicant/wpa_supplicant.conf

Restart services

$ sudo rc-service wpa_supplicant restart
$ sudo rc-service networking start

WiFi on mainline

As of pmaports!2556, WiFi should "just work" on mainline. However, note that reception is very poor and you have to be very close to the router to be able to connect and use it.

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://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.

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 does not work. See pmaports#1281 for more information.

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. 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