MULTI 5.3.20 (Final)


Status
Not open for further replies.
Patch it? ...I've avoided the crash by de-compiling and patching smali, just you might need to set your own homepage.

  1. Download the following patched apk
  2. Copy provided Browser.apk to convenient place on your devices internal storage
  3. Use any 'Root explorer' app to replace '/system/priv-app/Browser.apk'
  4. Set permissions to '0644' and reboot...
Result...

Tested on Mi3W
( the attached is Browser.apk based upon 5.3.20 with offending code removed - p.s. MA-dev team this should be easy for you to correct in future builds; needn't replace with chrome )

Best Regards,

s89
Thx to share this info! Do you have solution for battery graph FC too?

Sent from my Mi2S / MIUI6
 
Thx to share this info! Do you have solution for battery graph FC too?

Sent from my Mi2S / MIUI6


My solution for battery graphics in this post. http://xiaomi.eu/community/index.php?posts/242808

Изпратено от моя XiaoMi MI 2S през Tapatalk

That's a good enough solution; replace Settings.apk & SettingsProvider.apk. Not much really changed in last weeks build in that area compared to it's predecessor. Could patch those also, but really not much point. Replacing will do. Good show krassiy.

Did my patched Browser.apk work for the Mi2s also? Should be fine, different resolutions but both should share XXHDPI res.
 
Patch it? ...I've avoided the crash by de-compiling and patching smali, just you might need to set your own homepage.

  1. Download the following patched apk
  2. Copy provided Browser.apk to convenient place on your devices internal storage
  3. Use any 'Root explorer' app to replace '/system/priv-app/Browser.apk'
  4. Set permissions to '0644' and reboot...
Result...

Tested on Mi3W
( the attached is Browser.apk based upon 5.3.20 with offending code removed - p.s. MA-dev team this should be easy for you to correct in future builds; needn't replace with chrome )

Best Regards,

s89
Nice, it works perfectly!!!! Thanks
 
Hello, I have a problem with my facebook messenger, i had the update error 944, tried to uninstalle and now i cannot re-install it, and the same error 944!!!


Edit: today its all good... probably faceshit app problems
 
Last edited:
HELP !!!!!
hello everyone!
I can not unlock the screen directly with miband my mi2s.
Appears before unlocking with the slide DX and SX and UP and then the unlock with miband ...
How do I disable unlocking DX and SX and UP?
please help me! I want only the unlock miband
 
MIUI Browser in 5.3.20 works fine after removing it via Root Explorer (@:/system/priv-app/browser.apk), re-adding it and assigning apk permissions to 0644. Reboot + voila.

Was most likely caused by conflicting app data/cache; which if this was the case may have also been solved via:

Settings > 'Installed apps' > All > Browser > 'Clear data' / 'Clear cache'

Perhaps webkit libraries got updated... Hence the fatal if you rollback Browser.apk.
sorry after readding how/whereassigning apk permissions?
 
Permissions of the Browser.apk should look like this though my example is with a different .apk:
uploadfromtaptalk1427223079531.png


Изпратено от моя XiaoMi MI 2S през Tapatalk
 
If Xiaomi doesn't lie next Friday we will have official lollipop base MIUI6 for Mi2S

It is copied from Xiaomi roadmap:

"Dolby Digital Sound Effects (Mi2S): Mi2S MIUI 6 Special Edition is yet to be perfected, official MIUI 6 for Mi2S will be out some time within this month and will solve this problem."

So there is only one week left from this month! I am very curious...


Sent from my Mi2S / MIUI6
 
Last edited:
Hello,

Did anything change with the developer options ? I had the "Skip screenlock" function on, making my phone directly to unlock after waking. I do have a pattern unlock and a miband (making it to skip the unlock).

However, since this week I suddently see my lockscreen after I press the "wake" (on/off) button, without anything else on it besides the clock and date, when I swipe somewhere on that screen, some black spot arrives and then I see the pattern unlock (that directly seems to disappear because of the miband).

How can I bypass this first screen after waking ?

Thanks!
 
Note to Moderators: I tried to make the post shorter with the
tag
but it doesn't seem to work. If there's another way to do it, please let me know and I'll re-edit my post (or please feel free to make any changes yourself).
I wanted to share some patches I use, perhaps someone else will find them useful as well:

First, a patch to enable Assisted GPS (satellite data is pre-downloaded to speed up GPS fix). Xiaomi disabled this in their Chinese images most likely because Google servers are banned in China. If you're anywhere else, it makes a lot of sense to re-enable this. Apply to /system/etc/gps.conf:
Code:
--- gps.conf.orig	Fri Jan 30 14:38:51 2015
+++ gps.conf	Fri Jan 30 14:51:42 2015
@@ -37,7 +37,7 @@
 # ON_DEMAND_TIME = 0x10
 # GEOFENCE = 0x20
 # default = ON_DEMAND_TIME | MSA | MSB | SCHEDULING | GEOFENCE
-CAPABILITIES=0x31
+CAPABILITIES=0x37
 
 # Accuracy threshold for intermediate positions
 # less accurate positions are ignored, 0 for passing all positions
@@ -50,8 +50,8 @@
 # FOR SUPL SUPPORT, set the following
 # SUPL_HOST=supl.host.com or IP
 # SUPL_PORT=1234
-# SUPL_HOST=supl.google.com
-# SUPL_PORT=7276
+SUPL_HOST=supl.google.com
+SUPL_PORT=7276
 
 # FOR C2K PDE SUPPORT, set the following
 # C2K_HOST=c2k.pde.com or IP

Second, ADB settings. With the Xiaomi defaults, basically anything connected to your device through USB can get full root access to it, no questions asked. You might not even know it's happening, thinking you're just connected to a charger. I'm not a security freak but this is seriously quite unsafe, and the fix is simple. In /system/build.prop add:
Code:
ro.adb.secure=1
Now, the first time something wants ADB access, you need to tap on the screen to allow it. This permission will be remembered, so it's not much of an inconvenience at all. While you're there, you can also switch off the redundant ADB notification in the status bar:
Code:
persist.adb.notify=0
For completeness, the ro.adb.secure setting should also be modified in the file /default.prop: note that this file is inside the boot.img file, so you need to unpack the image, make the change, repackage it back and flash it.

Third, doing away with the emulated CD-ROM image when connected through USB. I appreciate Xiaomi's creativity with this approach but have no need for it and would rather not have the clutter. Note that these changes are again inside the boot.img file. In /default.prop, add:
Code:
persist.service.cdrom.enable=0
From the name of it, you'd be excused to think that should be it. Alas, it is not. The patches for /init.qcom.usb.rc and /init.qcom.usb.sh are attached, I'm not quoting them as this post is already getting too long.

Fourth, if you are using neither the stock browser or Chrome (which is already added to this list by Xiaomi.eu), you can make the system give your browser of choice slightly more resources. To do this, add the package name filter to the list in the file /system/etc/mcd_default.conf. The attached patch is an example I use with another browser called Sleipnir, you will probably want to edit it to match your needs.

All the patches are included below as an attachment, except for the file /system/build.prop, as it is more practical to edit it manually (just add your stuff at the end). The patch for /default.prop in boot.img also changes the default timezone to UTC: this is mostly for cosmetic reasons, as the timezone is overriden through the settings anyway but unless you're in Asia/Shanghai, I guess you'll not object. :)
 

Attachments

  • StrangeOrange Patch Set.zip
    2.1 KB · Views: 641
Last edited:
And I will hope, that the next friday update will fix battery graphic error! So, like I say it before:"I Love Friday"
 
Some other changes I make, except the patches, which I posted about before. Hopefully useful for others too:

Deletion list
The quoted names follow the Edify format for easy inclusion in your updater-script but all of it can also be deleted manually:
Code:
delete("/system/recovery-from-boot.p");
delete("/system/etc/install-recovery.sh");
If you are using custom recovery, this script will replace it with the stock one. Removing it might also make the device boot slightly faster. The other file is a binary patch to bring back the stock recovery.

Even if you use the stock recovery, there's no harm in getting rid of this script. The worst that can happen is you'll need to re-flash the recovery on your own (adb reboot bootloader, fastboot flash recovery ...).
Code:
delete_recursive("/system/etc/jeejen/");
In their images, Xiaomi bundles a separate, simplified user interface originally intended for elderly people. I think it's not really that bad but it's removed in Xiaomi.eu's ROMs, probably because it's not translated. This directory is just a leftover that serves no purpose, all the other stuff was already removed anyway.
Code:
delete("/data/miui/apps/vanward_applist");
Leftover file, list of apps to be provisioned for some customer profile. Incidentally, Vanward appears to be a water-boiler manufacturer in Canton, China.
Code:
delete("/data/app/com.google.android.googlequicksearchbox-1.apk");
This is the Google Now app that is actually bundled by Xiaomi.eu. Some people perhaps find it very useful, others feel exactly the opposite about it; I belong to the latter group. If you change your mind, you can always get it from the Play Store. I really wish this were not included with the Xiaomi.eu image, as it adds nearly 40 MiB to the download (unless you're getting some revenue from it, then I understand).
Code:
delete("/data/miui/mms/understand.zip");
This appears to be a collection of pattern-recognition algorithms for parsing text messages so that some parts can be tapped on for more options. The idea is very good, unfortunately it all appears to be specific to China and a few other countries (you might want to give it a try if you're in Russia).
Code:
delete("/system/etc/spn-conf.xml");
This file provides a mapping of mobile network identification numbers to their names. There are some defaults for this somewhere else, and the preferred name for your network is stored on most modern SIM cards, so I don't really see the purpose of it, unless it's to address some specific, per-user issues. In any case, this file seems to be seriously out of date.

Replace /system/etc/install_app_filter.xml with a nearly-empty file

This file is used to decide which apps should be provisioned in different usage scenarios (e.g. don't install China Mobile app for China Unicom customers, etc.). In other words, it's basically useless but removing it completely might trigger some error, so I created the minimum permissible version, which is attached to this post. This is mostly for cosmetic reasons but it probably gets parsed sometimes, so keeping it as empty as possible might reduce some overhead.

Replace /system/etc/init.qcom.post_boot.sh with the stock Xiaomi version

The Xiaomi.eu version of this file is customized with some "tweaks" at the end. For example:

(1) Hard-coded resolver settings override
Code:
setprop net.rmnet0.dns1 8.8.8.8
setprop net.rmnet0.dns2 8.8.4.4
setprop net.ppp0.dns1 8.8.8.8
setprop net.ppp0.dns2 8.8.4.4
This changes the DNS settings from those obtained with DHCP to Google's Public DNS servers. While it might be an excellent idea for some broken networks where the ISP's DNS is slower despite being topologically closer, hard-coding it in an obscure place without giving the user an opt-out (or in fact informing them at all that this is going on) is the best way to create difficult-to-isolate issues for many people. It's because of "tweaks" like this that people are cluttering support forums with complaints such as "can't open any website when using data" or "why is my phone using Google DNS that I never set up?"

Even if you want to have the DNS resolvers changed manually, I think it's a much better idea to do so with a user-space app as this way (i) you'll remember you're doing it, (ii) it can be easily disabled if (when) it stops working. The app will need superuser access but that's not a problem in MIUI. There's at least one app called SetDNS that seems to do just that (disclaimer: never used it).

(2) Setting magical properties and hoping for the best
Code:
setprop profiler.force_disable_err_rpt 1
setprop profiler.force_disable_ulog 1

This is simply cargo cult. These properties only ever applied to some legacy HTC devices, and even then any benefit from changing them was dubious.

At this point I think a reasonably informed guess can be attempted about all the remaining "tweaks." I don't have the patience to go through all of them but if you're a tweaks guy, reading the Comprehensive guide to Android tweaks by Jeff Mixon is highly recommended, and there's also the second part. If after reading that you still want to do the "tweaks," or other configuration changes, there are proper places to put them in and this shell script is not such a place. Seriously guys, you can do better than that: this part is the low point of the whole Xiaomi.eu ROM. By the way, the most obvious tweak would be getting rid of Whetstone.

TL;DR: Revert to stock /system/etc/init.qcom.post_boot.sh without the "tweaks" (attached below, version as of 5.3.20 but it didn't change since 2008, so it's unlikely it'll be changing soon).

To wrap it up and give it some perspective this is everything I've found so far, and it's not a lot at all. It needs to be said here that the quality of the Xiaomi.eu ROM is really excellent, and for that the developers deserve a BIG. THANK. YOU. :)
 

Attachments

  • StrangeOrange File Replacement Set.zip
    4.3 KB · Views: 480
Last edited:
After every ROM update, I download A-GPS data manually through a GPS App, because I noticed, that GPS is bad after every Update.

Now if A-GPS data is missing by default, that could explain that I guess?!
 
@StrangeOrange
I will apply some of those suggestions but..

1. GPS fix. Its already there. MIUI enabled back google supl servers 1 or 2 versions ago. So now the file is like you suggest. We also fix ntp servers to europe.
2. No we won't remove mi recovery code overwrite. Just no. We keep MIUI rom stock. Thats why our rom can be used to easy return to mi recovery from CWM/TWRP.
3. I will remove some init post boot tweaks but no, we will keep some tweaks in that file. See our host name hack - as its quite useful, and some little corrections for cancro builds.
 
No we won't remove mi recovery code overwrite. Just no. We keep MIUI rom stock. Thats why our rom can be used to easy return to mi recovery from CWM/TWRP.
That's perfectly fine. I really respect the decision to keep everything as close to stock as possible and never actually thought you should remove the recovery check by default. I only posted this for people who know what they're doing so that they know they can disable it manually.
GPS fix. Its already there. MIUI enabled back google supl servers 1 or 2 versions ago. So now the file is like you suggest.
I've just checked, and as of xiaomi.eu_multi_dior_5.3.20_v6-4.4.zip it's set to CAPABILITIES=0x31, which excludes MSB (= 0x02), and MSA (= 0x04) (for those interested, Wikipedia has MSA and MSB explained). The SUPL (Secure User Plane Location) server is also commented out. As far as I remember, this was always enabled by Xiaomi but only in international (ie. not China) ROMs, and it's CAPABILITIES=0x37 there.

By the way, I've just looked at /system/etc/gps.conf on a CyanogenMod 12 device and the settings are different yet (actually, it can also be seen on GitHub as well). For comparison, it's:
  • SUPL_VER=0x10000 (MIUI: = 0x20000)
  • CAPABILITIES=0x33 (ie. MSA disabled)
  • SUPL_HOST=supl.google.com (same)
  • SUPL_PORT=7275 (MIUI: = 7276)
So perhaps there's still some investigation necessary as for what the optimal settings are.
We also fix ntp servers to europe.
I saw it, and I applaud this decision. I think commercial projects don't want to use ntp.org, but it's the best choice, if anything because of the "pool." You might consider using "just" pool.ntp.org though, as according to their website:
Looking up pool.ntp.org [...] will usually return IP addresses for servers in or close to your country. For most users this will give the best results.

Disclaimer: What I wrote before might have seemed to focus on the weak points but my only objective is to help improve the project. It needs to be said for balance, and repeated, that 99%, or even 99.9% of Xiaomi.eu's ROM is simply outstanding, and these are all relatively minor details I'm picking on. Thank you developers and keep up the good work!

Update: Just checked and it's indeed CAPABILITIES=0x37 in international stock ROM V6.3.5.0.KHIMIBL. Attaching the full contents of gps.conf files for comparison (converted to CR+LF line breaks for easy viewing on Windows).
 

Attachments

  • gps.conf_cyanogenmod.txt
    2.3 KB · Views: 815
  • gps.conf_miui_intl.txt
    2.2 KB · Views: 593
Last edited:
  • Like
Reactions: jauling
I've just checked, and as of xiaomi.eu_multi_dior_5.3.20_v6-4.4.zip it's set to CAPABILITIES=0x31, which excludes MSB (= 0x02), and MSA (= 0x04) (for those interested, Wikipedia has MSA and MSB explained). The SUPL (Secure User Plane Location) server is also commented out. As far as I remember, this was always enabled by Xiaomi but only in international (ie. not China) ROMs, and it's CAPABILITIES=0x37 there.

By the way, I've just looked at /system/etc/gps.conf on a CyanogenMod 12 device and the settings are different yet (actually, it can also be seen on GitHub as well). For comparison, it's:
  • SUPL_VER=0x10000 (MIUI: = 0x20000)
  • CAPABILITIES=0x33 (ie. MSA disabled)
  • SUPL_HOST=supl.google.com (same)
  • SUPL_PORT=7275 (MIUI: = 7276)
Well it seems there are differences between devices. My Mi Note has 0x37.
As for this:
Code:
SUPL_PORT=7275 (MIUI: = 7276)
From my research some time ago the 7276 port is secured supl port and should be used here instead of 7275.
Cyanogen might have this entry outdated.
 
  • Like
Reactions: StrangeOrange
@StrangeOrange:

It seems to be you are very skilled in ROM development and modding. Maybe you have suggestion against major MIUI issue as well, please see below.

Subject: MIUI outgoing calls, making a call

1. There is no busy tone and also the "busy" text is not displayed on the screen when the number you have dialed has call waiting feature disabled and it is busy.

2. "call waiting" text is not displayed on the screen when the number you have dialed has call waiting feature enabled and it is busy.

Issues above are existing from the beginning. These are very basic phone functions and working with any other phone.

Could you please try to solve these issues. It would be greatly appreciated! Thanks a lot in advance!

Edited:
Micha with Cyanogen has solved both issue in CM11 aries for Mi2S. I have reported some month before when I used that ROM on the other system partition with True Dual Boot.

Sent from my Mi2S / MIUI6
 
Last edited:
  • Like
Reactions: jpenzo
Status
Not open for further replies.

Similar threads