One of the most annoying bugs in the everyday use of Sony's official ICS firmware version 4.1.B.0.431 (and later, including v4.1.B.0.587) is that the notification LED only works for missed calls, and it doesn't notify anything else anymore.
Ironically, the previous beta firmware ICS 4.0.3 v4.1.A.0.562 showed a specular bug: the notification LED didn't notify missed calls, but it was working for everything else (SMS, Email, ..).
The "Ultimate Notification LED fix"
I've got around fixing this bug by reversing and doing a minor change in a 4.1.B.0.587 framework file (services.[o]dex).
The patched file has the notification LED working for everything as it was in GB firmware: the LED now blinks for missed calls, sms, emails, and any other application showing LED notifications (eg: K9-mail, Whatsapp..).
This patch works on all Xperia devices with 4.1.B.0.587 firmware, and it has been tested initially tested on a Xperia Mini Pro sk17i.
These files come with no warranty, express or implied.
By downloading and using files linked in this page you express your understanding that you use those files at your sole risk.
No one can be held responsible for any damage directly on indirectly related to files linked in this page.
If you flash something to your phone you must remember that there's always a minimal chance that something goes wrong: you know it, I can't be held responsible if your phone gets wrecked, if your working LED flashes during a work meeting and you get fired, or anything else.
Downloads and Install Instructions
To install this fix you have to be in a stock ICS 4.0.4 firmware v4.1.B.0.587, with root and ClockWorkMod (CWM) recovery installed.
To install the fix simply download the right package for you, and:
- make sure your phone is charged! It's always safer when you need to flash something.
- put the downloaded ZIP it in the root of your SD Card
- reboot into CWM recovery
- Do a Nandroid backup using CWM ("backup and restore" => "backup"): you shouldn't end in a bootloop if you download and apply the proper file, but it is a good practice to a CWM backup before applying mods and patches, so you can easily restore it and go back if anything goes wrong!
- did I mention to do a Nandroid backup? :P
- choose "Install ZIP from sdcard" => "Choose zip from sdcard"
- browse to the ZIP in your SD Card
- choose apply and reboot device.
- enjoy a properly working led
Use the following list and infos to find the proper download for you:
- If you have an Xperia device on stock ICS 4.0.4 v4.1.B.0.587, and never applied other LED patches: install Busybox if you don't have it already, and download the following universal patch Ultimate_4.1.B.0.587_Notification_LED_FIX_UNIVERSA L_stock_rom_by_zxp.zip.
Note: Busybox must be installed on your device before installing this package, or it will not work. The patch scripts expects Busybox to be installed into /system/bin or /system/xbin.
If you never applied any patch and don't know what to download, this is the file you want!
Why: it is smaller, and only replaces the services.odex file with the patched one, that's all you need; the services.odex is automagically generated in your device, that's why Busybox is used, and this is what makes this package "universal".
- If you your device currently has arcatarc's fix applyed: download Ultimate_4.1.B.0.587_Notification_LED_FIX_by_zxp_F OR_arcatarc_fix_users.zip
Why: if you used on arcatarc fix, this package will restore 4.0.B.0.587 framework files along with the patched services.odex, because arcatarc's fix installed the old 4.1.A.0.562 framework files and this change needs to be reverted.
- If you are using a stock deodexed ICS 4.0.4 v4.1.B.0.587 firmware: download Ultimate_4.1.B.0.587_Notification_LED_FIX_FOR_DEod exd_roms_by_zxp.zip
Why: it will replace the services.jar with the patched classes.dex inside.
This works for all Xperia Devices, including but not limited to the Xperia Mini Pro sk17i/a.
- If you are using the old firmware v4.1.B.0.431: you are lucky, I originally released the Ultimate LED FIX for firmware 4.1.B.0.431, you can download it from the old version thread.
- If you are using a newer firmware: you have to wait for Sony to release this firmware for my sk17i, so that I can port the patch over the new version, or wait for someone to port it.
Background info, closing notes and thanks
As already specified this patch is based off stock 4.1.B.0.587 framework: I simply deodexed with baksmali, manually edited one .smali file to change the offending code that prevented the LED to work properly, and packed everything back.
I hope to find time to post very soon a Tutorial on how to apply the fix yourself, for educational purposes and to help less experienced people to port it over newer versions.
Experienced users should be able to compare the stock 587 baksmali-ed services.odex and the patched one to find the small change, and port it over new versions without the need of my forthcoming guide.
If you happen to port this patch to a newer firmware please post a link to your thread, so that I can add it in this post to inform users with such firmware that a patch exists for them.
If you want to inform other users of this patch please link back to this thread and don't simply re-upload/re-post a package. A link to this thread is the only way to be sure that users chose the proper package and can be updated if there is the need for a new/updated patch.
Bugs & Known Issues
This patch is now used by thousand of users without any reported issue or strange behavior.
If you install this patch and you end in a boot loop it means you have applied the wrong package. Please re-read the download info & instructions, and apply the proper zip. Period.
If you find any real problem please post it, and I'll update this section.
- 2012.10.04 (current): applied my fix to the new firmware version 4.1.B.0.587, and released specific packages for this firmware version. The universal package now supports busybox both in xbin and sbin.
Additional Notes for those coming from arcatarc's fix
If you have used arcatarc "partial" fix you may have noticed that it had 2 major user visible problems:
- the LED notification for missed calls was not working
- it showed a single white blink when some notifications appeared in the statusbar: eg the Xperia Keyboard "choose input method" notification caused a white LED blink each time it appeared.