Εγκαθιστούμε Custom ROM στο Xperia P δίνοντάς του ανάσα ζωής

Xperia P Slim and CyanongenMod

Σήμερα θα αναφερθώ στην περίπτωση ενός Sony Xperia P, το οποίο πήρε παράταση ζωής χάρη σε μία Custom ROM που του εγκαταστήσαμε.

Η ιστορία της συγκεκριμένης συσκευής έχει ιδιαίτερο ενδιαφέρον, καθότι θα αναφερθούμε στο πώς αντιμετώπισε το επίσημο Service τα προβλήματα που παρουσιάστηκαν, αλλά και ποια λύση τελικά ήταν αποτελεσματική.

Να αναφέρουμε ότι το Xperia P κυκλοφόρησε με Android 2.3, ενώ στην συνέχεια αναβαθμίστηκε κατευθείαν σε Android 4.1 Jelly Bean, παραλείποντας το ICS. Διαθέτει τον (ασυνήθιστο) διπύρηνο Novathor στο εσωτερικό του, συνοδευόμενο από 1 GB RAM.

Να τονίσω επίσης ότι η κάτοχος της συσκευής δεν ενδιαφερόταν να έχει την τελευταία έκδοση του Android, δεν γνώριζε (και δεν την ενδιέφεραν) οι Custom ROMs, το Root, και οποιοδήποτε είδος πειράγματος. Αγόρασε μία συσκευή και την ενδιέφερε μόνο να είναι λειτουργική στις δέκα βασικές ενέργειες που χρειαζόταν.

Δυστυχώς είχε προβλήματα ακόμα και στο πιο "βασικό" πράγμα που θες να κάνει ένα κινητό: Να πραγματοποιεί και να λαμβάνει κλήσεις. Π.χ. ενώ χτύπαγε, αργούσε πολλά δευτερόλεπτα να εμφανίσει την οθόνη απάντησης (στο τέλος ήταν πιο πιθανό να κλείσει αυτός που σε καλεί, παρά να προλάβεις να απαντήσεις) ή π.χ. όταν ήθελες να τερματίσεις μία κλήση ο Dialer πάντα αργούσε να εμφανιστεί ώστε να σου δώσει αυτή την δυνατότητα. Αν τύχαινε να εμφανιστεί θα ήταν unresponsive, το οποίο είναι εξίσου εκνευριστικό. Μέχρι να "νιώσει", η κλήση συνέχιζε να είναι σε εξέλιξη, με τον συνομιλητή να ακούει τα βρισίδια που ρίχνεις στην συσκευή και να νομίζει ότι απευθύνονται σε αυτόν. Το highlight φυσικά ήταν μία φορά που η δόνηση (!) συνέχισε ακόμα και όταν η κλήση είχε απαντηθεί, και τον μηχανισμό της προφανώς άκουγε πλέον και αυτός που είχε καλέσει. (Υπήρχαν και άλλα λιγότερο σημαντικά bugs, αλλά δεν έχει νόημα να αναφερθώ αναλυτικοερα. Ας μείνουμε στο "βασικό" των κλήσεων.)

Ξανατονίζω ότι η κάτοχος της συσκευής σε αυτή την φάση δεν είχε την παραμικρή θέληση να εγκαταστήσει κάποια Custom ROM (δεν γνώριζε κι όλας ότι υπάρχει αυτή η δυνατότητα), ή γενικότερα να πειράξει την συσκευή της. Έκανε λοιπόν το αυτονόητο: Την πήγε στο επίσημο Service.

Η ιστορία από εδώ και πέρα είναι γνωστή στους περισσότερους που έχουν επισκευτεί κάποιο -οποιοδήποτε- Service έστω και μία φορά, δίνοντας την μοναδική "λύση" που συνήθως δεν λύνει τίποτα μόνιμα: "Επαναφορά εργοστασιακών ρυθμίσεων".

Η συσκευή πήγε και δεύτερη φορά στο Service (αφού τα προβλήματα προφανώς συνέχισαν να εμφανίζονται) και αυτή την φορά εκτός από την .. "Επαναφορά εργοστασιακών ρυθμίσεων" αλλάχθηκε και η μπαταρία, που προφανώς κρίθηκε ελαττωματική ανεξάρτητα από το "βασικό" πρόβλημα.

Λίγο καιρό αργότερα αναφέρθηκαν τα προβλήματα ενώ καθόμασταν για καφέ, και από τρίτο άτομο προτάθηκε η λύση για να περάσω εγώ κάποια Custom ROM στην συσκευή. Εν δυνάμει μπορούν να διορθώσουν/βελτιώσουν μία συσκευή. (Λοιπά σχετικά άρθρα: Nexus S, Xperia Neo V)

Σε εκείνη την φάση ήμουν ιδιαίτερα διστακτικός να κάνω κάτι τέτοιο. Το Xperia P δεν υποστηρίζεται επίσημα από καμία από τις γνωστές ROMs (CM, Omni, Slim) οπότε θα έπρεπε να εγκαταστήσω κάποιο ανεπίσημο Port τους. Με ένα γρήγορο ψάξιμο στο xda από το κινητό μου είδα ότι σε όλες τις ROMs για το Xperia P δεν παίζει το FM Radio, το NFC, το HDMI out οπότε αμέσως διατύπωσα την ένστασή μου. "Δεν θα λειτουργούν κάποια Modules και ίσως υπάρχουν και άλλα Bugs"

Φυσικά η απάντηση που έλαβα ήταν αρκετά σαφής:

"Γιάννη, έχουμε ένα κινητό που δεν παίρνει τηλέφωνο. Δεν υπάρχει κάτι χειρότερο που μπορεί να πάθει με την Custom ROM."

Η διαδικασία εγκατάστασης της ROM άρχισε με ξεκλείδωμα του bootloader από fastboot (στο linux δεν χρειάζεται να εγκαθιστώ adb drivers, υπάρχουν στον kernel).

Στην συνέχεια από το flashable .zip που ήθελα να εγκαταστήσω, έκανα extract τον πυρήνα (boot.img) και τον φλάσαρα και αυτόν από fastboot, ώστε να εγκαταστήσω κάποια Custom Recovery (!). Ναι, στα Sony η Recovery είναι Packed με τον kernel, οπότε φλασάρεις kernel για να αλλάξεις Recovery(!).

fastboot flash boot boot.img

Μετά μπήκα στην CWM και -αφού κράτησα έναν Nandroid Backup- φλάσαρα και ένα ανεπίσημο Port της CM.

Για να μην τα πολυλογώ (το ξέρω ήδη σας κούρασα) η συσκευή με της ίδιες εγκατεστημένες εφαρμογές που είχαμε και στην εργοστασιακή ROM δεν αντιμετώπισε ξανά το πρόβλημα στις κλήσεις. Φυσικά έγινε γενικότερα πολύ πιο γρήγορη ως συσκευή. Κάποια bugs φυσικά υπάρχαν (τα Maps έπαιζαν σωστά, αλλά όχι όλες οι εφαρμογές που χρειάζονταν location, η ένδειξη της μπαταρίας "έπαιζε" και δεν ήταν ακριβής), αλλά σε εκείνη την φάση είχαμε ήδη πετύχει το βασικό ζητούμενο από την συσκευή.

Εχθρός του καλού είναι το καλύτερο, και λίγο καιρό αργότερα δοκιμάσαμε και ένα ανεπίσημο Port της Slim, στο οποίο δεν έχουμε βρει ακόμα κάποιο bug που να μας δημιουργεί πρόβλημα. (Και γενικά είναι ακόμα ταχύτερη από την CM).

Xperia P Slim and CyanongenModXperia P Slim and CyanongenModXperia P Slim and CyanongenModXperia P Slim and CyanongenMod

Αντί επιλόγου ( tldr; )

Δεν ισχυρίζομαι ότι οι Custom ROMs είναι πάντα η μαγική λύση για όλες τις περιπτώσεις. Κάθε μία έρχεται με τα δικά της (μεγάλα ή μικρότερα) bugs και προβλήματα, τα οποία ο καθένας κρίνει αν τα θεωρεί -ή όχι- σημαντικά. Ειδικά σε συσκευές που δεν υποστηρίζονται επίσημα από τις μεγάλες ομάδες (CM, Omni, PAC, Slim), τα ανεπίσημα Ports τους πολλές φορές έχουν αρκετά προβλήματα, και δεν περνάνε από "QC" πριν διατεθούν. Εν δυνάμει μπορεί να δώσουν ανάσα ζωής σε ορισμένες συσκευές, όπως έγινε και στην περίπτωσή μας.

Στο τέλος της μέρας το αποτέλεσμα ήταν θετικό με το Xperia P να μπορεί να λειτουργήσει "κανονικά", και πλέον να μπορεί να έχει εγκατεστημένες ακόμα και βαριές εφαρμογές (λέγε με Facebook και Messenger) χωρίς να του δημιουργούν πρόβλημα. Για την χρήση που το θέλαμε, η Custom ROM το βελτίωσε ουσιαστικά το οποίο ήταν και το ζητούμενο.

Xperia P Slim and CyanongenMod Xperia P Slim and CyanongenMod

aByte