Jump to content

Samsung Galaxy Ace i (samsung-cooperve): Difference between revisions

From postmarketOS Wiki
Maxnet (talk | contribs)
mNo edit summary
Knuxify (talk | contribs)
m Knuxify moved page Samsung Galaxy Ace i (samsung-s5830i) to Samsung Galaxy Ace i (samsung-cooperve): use correct codename; this device is not in pmOS anyways, so it doesn't hurt to do this
(44 intermediate revisions by 14 users not shown)
Line 1: Line 1:
{{Infobox device
{{Infobox device
| manufacturer = Samsung
| manufacturer = Samsung
| name = Samsung Galaxy Ace i
| name = Galaxy Ace i
| codename = s5830i
| codename = samsung-cooperve
| model = GT-S5830i
| image = File:Samsung-S5830i.jpg
| image = File:Samsung-S5830i.jpg
| imagecaption = S5830i in recovery mode
| imagecaption = S5830i Black
| releaseyear = 2011
| releaseyear = 2011
| originalsoftware = Android 2.2
| originalsoftware = Android
| originalversion = 2.3.6
<!--| pmoskernel = 3.18.79-->
<!--| pmoskernel = 3.18.79-->
| chipset = Broadcom BCM21553
| chipset = Broadcom BCM21553
| cpu = ARM11 @ 832MHz
| cpu = ARM11 @ 832MHz
| gpu = VideoCore IV
| gpu = VideoCore IV
| storage = 8GB
| storage = 512 MB
| display = 320 x 480
| display = 320 x 480
| memory = 362 MB
| memory = 362 MB
| architecture = armhf
| architecture = armhf
| type = handset
<!--| whet_dhry = 910.4-->
<!--| whet_dhry = 910.4-->
| status_usbnet = Y
| status_usbnet = Y
Line 36: Line 39:
| status_otg = -
| status_otg = -
| status = Tested,Wifi and ssh are working
| status = Tested,Wifi and ssh are working
| booting = no
| booting = Y}}
}}


== Contributors ==
== Contributors ==
* takluyver
* takluyver
* teddynight
* teddynight
* Mabope


== Users owning this device ==
== Users owning this device ==
Line 47: Line 50:
== Entering Recovery Mode ==
== Entering Recovery Mode ==


Press Power + Volume up + Home to start the phone into recovery mode.
Press {{Button|Power}} + {{Button|Volume Up}} + {{Button|Home}} to start the phone into recovery mode.


You can choose the items with Volume up and down and enter with home button
You can choose the items with {{Button|Volume Up}} and {{Button|Volume Down}} and enter with the {{Button|Home}} button


== Entering flash Mode==
== Entering flash Mode==


Press Power + Volume up + Volume down to start the phone into flash mode
Press {{Button|Power}} + {{Button|Volume Up}} + {{Button|Volume Down}} to start the phone into flash mode


== Installation ==
== Installation ==
<!-- add more sections below as necessary, e.g. Wifi, photos, ... -->
 
First,enter the flash mode and flash the kernel into the phone.
* The previous port from 2018 was outdated (using former APKBUILD format) so a new port was started. We did not achieve to flash the bootimg + intramfs on the device, even if this was stated as working in the previous port (see error in Heimdall below). Any information on how to perform this step is very welcomed. Also keep in mind that the information is not consistent : some information in this page may still reflect the status of the previous port (device booting, kernel flashing etc ...) whereas this section clearly states that we can not get pass the flashing step. If it is confirmed that this step does not work, someone should move this device to the "not booting" section and homogenize this page's content. - Mabope - December 2020
Then, install rootfs to the sdcard. (As there is no enough space on the phone.)
 
You need [[Pmbootstrap]] installed.
 
===Building the kernel (working)===
 
pmbootstrap init # select samsung-s5830i
pmbootstrap kconfig check
pmbootstrap checksum linux-samsung-s5830i
pmbootstrap build linux-samsung-s5830i
pmbootstrap checksum device-samsung-s5830i
pmbootstrap build device-samsung-s5830i
 
===Flash the kernel to the phone (not working)===
 
This phone is not compatible with fastboot. The kernel was not successfully booted yet, but here are the explored leads.
 
====With heimdall====
 
[https://glassechidna.com.au/heimdall/ Heimdall] ([https://forum.xda-developers.com/wiki/Heimdall XDA Forum], [https://gitlab.com/BenjaminDobell/Heimdall gitlab]) is the open-source alternative to Odin.
 
First, enter the flash mode and flash the kernel into the phone.
Then, install rootfs to the sdcard. (As there is not enough space on the phone.)
 
pmbootstrap install --sdcard=/dev/mmcblk0
pmbootstrap flasher flash_kernel
 
Problem: flashing the kernel fails at the step <code>Setting up interface</code> with error <code>error [op_set_interface] setintf failed error -1 errno 110</code>, you can refer to the [https://gitlab.com/BenjaminDobell/Heimdall/-/issues/278 6 years old gitlab issue on heimdall].
 
Possible workaround: there is a workaround patching heimdall for bypassing libusb checks, more info in comments of github issue: https://github.com/Benjamin-Dobell/Heimdall/issues/340
 
====With Odin====
 
Odin is a proprietary software from Samsung to flash Samsung phone. A [https://odinforum.com community forum] started in May 2020, with an [https://odinforum.com/discussion/79/understanding-odin-terminologies explanation of the interface].
 
Create an Odin-compatible file with the following commands.
 
pmbootstrap install --sdcard=/dev/mmcblk0
pmbootstrap export --odin
 
Then run the exported file <code>samsung-s5830i.tar.md5</code> in Odin using the BL section.
 
Problem: Odin fails with the following log
 
<ID:0/005> KERNEL.bin.md5
<ID:0/005> FAIL!
 
It may come from bad values in the deviceinfo file.
 
====With recovery====
 
You can flash [https://www.droidthunder.com/install-android-5-0-lollipop-rom-on-galaxy-ace-s5830i/ Clockworkmod Recovery] (CWM, discontinued in 2016), which enables to flash a zip from sdcard. For S5830i there is only CWM 5.0.2.8 available (maybe others ?), which does not feature sideloading. So you have to export the zip file <code>pmos-*.zip</code>, copy it to the sdcard and install it in recovery mode.
 
To create the zip use
 
pmboostrap install --android-recovery-zip
pmbootstrap export
 
The problem is the size of the android internal partitions. From start you have the following:
 
$ df -h
Filesystem                Size      Used Available Use% Mounted on
tmpfs                  144.6M    52.0K    144.6M  0% /dev
tmpfs                  144.6M        0    144.6M  0% /mnt/asec
tmpfs                  144.6M        0    144.6M  0% /mnt/obb
/dev/stl9              219.0M    151.2M    67.8M  69% /system
/dev/stl10              35.4M      4.0M    31.4M  11% /cache
df: /mnt/.lfs: Function not implemented
/dev/stl11              187.3M    130.5M    56.7M  70% /data
 
And the zip file is 158.9MB so it does not fit into the internal storage.
 
{{note|Possible solution: find a way to [https://forum.xda-developers.com/xiaomi-mi-3/general/howto-resize-extend-partition-capacity-t3011918 extend the storage] or to export only the kernel to zip while the rootfs is on the sdcard (similarly to Odin and Heimdall method).}}


== What works ==
== What works ==


* Kernel compiles (https://github.com/androidarmv6/android_kernel_samsung_bcm21553-common )
* Kernel compiles (https://github.com/androidarmv6/android_kernel_samsung_bcm21553-common )
* Boot up
* SSH works
* Wifi works


== What does not work ==
== What does not work ==


* Screen
* No way to flash the kernel on the phone yet
* Audio
 
See [[Broadcom_chipsets]]


== Additional info ==
== Additional info ==
Line 78: Line 150:


* XDA-Forum: https://forum.xda-developers.com/galaxy-ace/s5830i-general
* XDA-Forum: https://forum.xda-developers.com/galaxy-ace/s5830i-general
There are different kinds of BCM21553 (thunderbird, athena-ray, cooperve, ...), as seen in the [https://github.com/androidarmv6/android_kernel_samsung_bcm21553-common/tree/cm-11.0/arch/arm/configs list of configs], for this phone the kind is '''cooperve'''.
====Discontinued port====
* Port from takluyver: [https://github.com/takluyver/pmbootstrap/tree/samsung-s5830i repository] [https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/merge_requests/1493/diffs pull-request]
====On-going port====
* Port from Mabope: [https://gitlab.com/mabope/pmaports/-/tree/s5830i-port repository]
====Possible base kernels====
Kernels from CM11 are good candidates, corresponding to version 2.6.35. They are built with GCC6 (not tested with more recent GCC versions).
Possible candidates:
* [https://github.com/broadcomCM/android_kernel_samsung_bcm21553-common broadcomCM/android_kernel_samsung_bcm21553-common] Last commit August 2014
* [https://github.com/androidarmv6/android_kernel_samsung_bcm21553-common androidarmv6/android_kernel_samsung_bcm21553-common] Last commit Dec 2014
* [https://github.com/lokesh3440/android_kernel_samsung_cooperve/tree/master/common lokesh3440/android_kernel_samsung_cooperve/tree/master/common] Last commit April 2014
* [https://github.com/RafaelBaugis/Kernel-cooperve RafaelBaugis/Kernel-cooperve] Last commit March 2014
* [https://forum.xda-developers.com/showthread.php?t=2335947 Thunder kernel]
== See also ==
== See also ==
<!--
* [https://github.com/takluyver/pmbootstrap WIP-port]
Link to related GitHub issues or pull requests like the following (replace CHANGEME with the ID, e.g. 1234):
* {{github|CHANGEME}} Initial pull request
* {{github|CHANGEME}} Some related issue
You can also add normal web links:
* [https://redmine.replicant.us/projects/replicant/wiki/GalaxyS2I9100 Replicant wiki page]
-->
 
* [https://github.com/androidarmv6/ Kernel and firmware]
* [https://github.com/androidarmv6/ Kernel and firmware]
* [https://www.gsmarena.com/samsung_galaxy_ace_s5830i-4664.php Specs on GSMArena]
* [https://www.gsmarena.com/samsung_galaxy_ace_s5830i-4664.php Specs on GSMArena]
* [https://www.raspberrypi.org/blog/a-birthday-present-from-broadcom/ A birthday present from Broadcom] - the Raspberry Pi foundation got an open-source release of the VideoCore IV firmware, also used in this phone.
* [https://www.raspberrypi.org/blog/a-birthday-present-from-broadcom/ A birthday present from Broadcom] - the Raspberry Pi foundation got an open-source release of the VideoCore IV firmware, also used in this phone.
* [https://www.broadcom.com/blog/android-for-all-broadcom-gives-developers-keys-to-the-videocore Android for All] - the same announcement on the Broadcom blog.
* [https://www.broadcom.com/blog/android-for-all-broadcom-gives-developers-keys-to-the-videocore Android for All] - the same announcement on the Broadcom blog.
* [http://bieltv3.blogspot.com/p/broadcomcm.html Many links for custom ROMs]

Revision as of 19:41, 18 December 2024

Warning WARNING: This device is not recommended for future use with postmarketOS due to its armhf architecture. Alpine Linux (the distribution that postmarketOS extends) pmaports#599 has been considering dropping it.
The processor of the device may support the armv7 architecture. If so, you can modify the device package and change the architecture accordingly.
Samsung Galaxy Ace i
S5830i Black
S5830i Black
Manufacturer Samsung
Name Galaxy Ace i
Codename samsung-cooperve
Model GT-S5830i
Released 2011
Type handset
Hardware
Chipset Broadcom BCM21553
CPU ARM11 @ 832MHz
GPU VideoCore IV
Display 320 x 480
Storage 512 MB
Memory 362 MB
Architecture armhf
Software
Original software Android
Original version 2.3.6
postmarketOS
Category testing
Pre-built images no
Features
Flashing
Partial
USB Networking
Works
Internal storage
No data
SD card
No data
Battery
Works
Screen
Partial
Touchscreen
Partial
Multimedia
3D Acceleration
No data
Audio
Broken
Camera
Partial
Camera Flash
No data
Connectivity
WiFi
Works
Bluetooth
Partial
GPS
No data
NFC
No data
Modem
Calls
No data
SMS
No data
Mobile data
No data
Miscellaneous
FDE
No data
HDMI/DP
No data
Sensors
Accelerometer
No data
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Hall Effect
No data
Haptics
No data
Barometer
No data


Contributors

  • takluyver
  • teddynight
  • Mabope

Users owning this device

Entering Recovery Mode

Press Power + Volume Up + Home to start the phone into recovery mode.

You can choose the items with Volume Up and Volume Down and enter with the Home button

Entering flash Mode

Press Power + Volume Up + Volume Down to start the phone into flash mode

Installation

  • The previous port from 2018 was outdated (using former APKBUILD format) so a new port was started. We did not achieve to flash the bootimg + intramfs on the device, even if this was stated as working in the previous port (see error in Heimdall below). Any information on how to perform this step is very welcomed. Also keep in mind that the information is not consistent : some information in this page may still reflect the status of the previous port (device booting, kernel flashing etc ...) whereas this section clearly states that we can not get pass the flashing step. If it is confirmed that this step does not work, someone should move this device to the "not booting" section and homogenize this page's content. - Mabope - December 2020

You need Pmbootstrap installed.

Building the kernel (working)

pmbootstrap init # select samsung-s5830i
pmbootstrap kconfig check
pmbootstrap checksum linux-samsung-s5830i
pmbootstrap build linux-samsung-s5830i
pmbootstrap checksum device-samsung-s5830i
pmbootstrap build device-samsung-s5830i

Flash the kernel to the phone (not working)

This phone is not compatible with fastboot. The kernel was not successfully booted yet, but here are the explored leads.

With heimdall

Heimdall (XDA Forum, gitlab) is the open-source alternative to Odin.

First, enter the flash mode and flash the kernel into the phone. Then, install rootfs to the sdcard. (As there is not enough space on the phone.)

pmbootstrap install --sdcard=/dev/mmcblk0
pmbootstrap flasher flash_kernel

Problem: flashing the kernel fails at the step Setting up interface with error error [op_set_interface] setintf failed error -1 errno 110, you can refer to the 6 years old gitlab issue on heimdall.

Possible workaround: there is a workaround patching heimdall for bypassing libusb checks, more info in comments of github issue: https://github.com/Benjamin-Dobell/Heimdall/issues/340

With Odin

Odin is a proprietary software from Samsung to flash Samsung phone. A community forum started in May 2020, with an explanation of the interface.

Create an Odin-compatible file with the following commands.

pmbootstrap install --sdcard=/dev/mmcblk0
pmbootstrap export --odin

Then run the exported file samsung-s5830i.tar.md5 in Odin using the BL section.

Problem: Odin fails with the following log

<ID:0/005> KERNEL.bin.md5
<ID:0/005> FAIL!

It may come from bad values in the deviceinfo file.

With recovery

You can flash Clockworkmod Recovery (CWM, discontinued in 2016), which enables to flash a zip from sdcard. For S5830i there is only CWM 5.0.2.8 available (maybe others ?), which does not feature sideloading. So you have to export the zip file pmos-*.zip, copy it to the sdcard and install it in recovery mode.

To create the zip use

pmboostrap install --android-recovery-zip
pmbootstrap export

The problem is the size of the android internal partitions. From start you have the following:

$ df -h
Filesystem                Size      Used Available Use% Mounted on
tmpfs                   144.6M     52.0K    144.6M   0% /dev
tmpfs                   144.6M         0    144.6M   0% /mnt/asec
tmpfs                   144.6M         0    144.6M   0% /mnt/obb
/dev/stl9               219.0M    151.2M     67.8M  69% /system
/dev/stl10               35.4M      4.0M     31.4M  11% /cache
df: /mnt/.lfs: Function not implemented
/dev/stl11              187.3M    130.5M     56.7M  70% /data

And the zip file is 158.9MB so it does not fit into the internal storage.

Note Possible solution: find a way to extend the storage or to export only the kernel to zip while the rootfs is on the sdcard (similarly to Odin and Heimdall method).

What works

What does not work

  • No way to flash the kernel on the phone yet

See Broadcom_chipsets

Additional info

Information about this phone is sparse, there is one place with somewhat complete data about that device:

http://specdevice.com/showspec.php?id=3b87-5692-0000-00000033c587

There are different kinds of BCM21553 (thunderbird, athena-ray, cooperve, ...), as seen in the list of configs, for this phone the kind is cooperve.

Discontinued port

On-going port

Possible base kernels

Kernels from CM11 are good candidates, corresponding to version 2.6.35. They are built with GCC6 (not tested with more recent GCC versions).

Possible candidates:

See also