sigmoid

..oo..oo..oo..oo..oo..oo..

Browsing Posts published by stathis

The two phones I refer to extensively in this post can be obtained from Amazon UK and US, respectively:

Wiko Fever 4G from Amazon UK.
BLU Life One X from Amazon US.

Please do NOT email me asking where to buy the phones! Use google to search online if you don’t like amazon.


Long story short: convert a BLU Life One X to Wiko Fever 4G

I bought the BLU Life One X (2016 edition) in the US, but it doesn’t support the 4G LTE Bands available in the EU. The phone is absolutely great! Maybe the only complain would be battery life, but for the price it retails its a steal. The same hardware ships in Europe as Wiko Fever 4G. Now the problem is that if you buy the BLU Life One X and travel/relocate to the EU, chances are you won’t be able to receive 4G since carriers offer a different set of LTE Bands. Inversely, if you buy the Wiko Fever 4G in the EU and go to the US, you will be stuck with 3G.
So how could one possibly enable a BLU Life One X to “talk” 4G in the EU? Can the LTE Bands be unlocked on this phone?

Just to preface this. Let me give you a quick overview of why this is possible and why this may be interesting.
If you shuffle through the XDA forums and also look at the specs of the BLU Life One X (2016 edition) and the Wiko Fever 4G, it is clear these two phones are powered by identical hardware. Going even a bit further, this phone is also sold in India as Micromax Canvas 5 E481. You got that right: one phone sold under (at least) three different brands. I do own both a BLU Life One X and a Wiko Fever 4G, but not a Micromax Canvas, so the method further below may, or may not, work on the latter.

BLU Life One X

BLU Life One X

Wiko Fever 4G

Wiko Fever 4G

BLU Life One X is sold in the US and has LTE Bands 2, 4, 7, 12 and 17 enabled. In contrast, the Wiko Fever 4G has enabled LTE Bands 1, 3, 7 and 20. Note that you cannot unlock the LTE Bands with MTK Engineering Mode app, even if you have root. There are many reasons why people may want to turn one phone to the other (e.g. moving countries, or buying it cheaper, etc.) I have only changed a BLU to a FEVER, and not vice versa. However, I believe that the reverse process can be performed without a problem (i.e. turn a FEVER into a BLU).

As I explained above, the main reason for doing this is to unlock the European LTE bands, that Wiko Fever has enabled. Unfortunately, this means you will lose access to the LTE Bands that the BLU has. I do not know if there is a method to unlock all LTE bands supported at once. Maybe I will look into it at some point.

Transplanting Wiko FEVER 4G to a BLU Life One X (2016)

I think it’s obvious, that if you carry out any of the following steps it is your choice: do not come back blaming me! This is purely for my own reference and use. If you don’t agree feel free to browse the rest of the internet :) Your phone will be completely wiped. Make sure you take a backup, there is no turning back :)

The procedure described below will erase EVERYTHING on your phone (trust me, a format will be performed!!!). Via this process I managed to unbrick a BLU Life One X and bring it to life as a Wiko Fever 4G :) So you could potentially follow the same steps to just unbrick your BLU (or FEVER), given you have the stock rom. It does work, I tried it.

What we will do: reinstall the factory rom of BLU Life One X, but we will replace the system image with that of the Wiko Fever 4G phone.

Before we start, disconnect any phones from your computer and make sure you have the USB cable that came with the device (ideally you shouldn’t use old, damaged or cheap USB cables originally bundled with other devices, but good USB cables from other phones are fine).

Here is the procedure on Windows 7 (should be similar on other Windows versions):

Install USB Drivers
You first need to have the Wiko Fever 4G USB Drivers installed for recognizing and flashing your phone.
Download the [WIKO_Android_USB_Driver.zip] linked from http://www.wikogeek.com. Unzip and execute WIKO Android USB Driver.exe You will see a Windows Security message window coming up on Win 7 for 3-5 times, as shown below. Make sure you choose “Install this driver software anyway” each time. wiko_fever_USB_drivers_security_warning
Note: on some OSes you may have to check the drivers are not silently refused installation, due to security settings, e.g. on Windows 10.
Verify USB driver installation
After installation open your Control Panel > Device Management console and observe you have the following 4 devices. They will be marked with an exclamation mark (!) and their COM numbers may differ from the screenshot. That’s perfectly fine. wiko_fever_USB_drivers
Get the BLUFEVER hybrid rom :)
Download and decompress the BLUFEVER hybrid rom that contains the Wiko Fever 4G system image for BLU. There is no magic there. This is the BLU repair stock rom (originally obtained from BadMofo33’s androidfilehost), in which I have replaced the system.img with that of the Wiko Fever 4G stock rom that can be fetched from http://www.wikogeek.com/. :)
Get the SP Flash Tool
  1. Download the latest SP Flash Tool and run flash_tool.exe. (I used v5.1604)
  2. Go to the Download tab of the tool and set the Download Agent to point to the MTK_AllInOne_DA.bin file located in the folder of SP Flash Tool itself.
  3. Set the Scatter-loading file to MT6753_Android_scatter.txt that is in the BLUFEVER folder.
  4. Remember to set the flashing mode in the drop-down menu to Format All + Download.
  5. SP Flash Tool ready to go!

    SP Flash Tool ready to go!

Make sure your phone is disconnected from the host computer and switched off.
Flash the phone
  1. Press the Download button on the SP Flash Tool. The tool will go into stand by waiting for your phone.
  2. Now connect your switched off phone to the computer via USB.
  3. Sit back and wait, do NOT interrupt the process, even if it looks stale!!! You will eventually see an activity progress bar changing at the bottom of SP Flash Tool.
  4. SP Flash Tool progress while flashing rom.

    SP Flash Tool progress while flashing rom.

Once flashing completes succesfully you will see a large green tick.

BLUFEVER flashed successfully :)

BLUFEVER flashed successfully :)

Disconnect your BLU. Boot and watch it launch as Fever :)

blu_fever_1 blu_fever_2 blu_fever_3
Booting my BLU Life One X as Wiko Fever 4G! :)

For the record, I was able to do this on a well-bricked BLU, which now works like a charm. I now enjoy 4G connectivity in Europe without any problems.

I would be happy to know if there are any other people who have modified their BLU or WF. Leave your comments below and share what other cool things we can do on these cool smartphones :)

0

The latest ICU 57.1 is compiled with MSVC 2008, 2010, 2012, 2013 and 2015. The precompiled static libraries are linked against the static MSVC runtimes (/MT instead of /MD).
In this build I have dropped the compilation of the Layout Engine, which has long been deprecated.

You can fetch it as usual in the Precompiled ICU page. To clean up that page a little, as it started to grow a bit too long, I have moved the older builds in the Precompiled ICU (Past Builds) page.

Any feedback is welcome. enjoy.

0

Building on Boost with ICU statically on Windows using MSVC does not link against the static ICU libraries; instead it links always against the ICU DLLs.

Years after reporting this to the Boost.Locale bug tracker, and asking on the Boost users mailing list, I decided it’s time to make a step forward, as it seems, no one has an answer.

Tracking down the problem and fixing it was not easy. I spent a considerable amount of time, primarily because Boost’s Jam syntax and capabilities were new to me, so I had to learn it … well at least enough to get on with the actual problem.

Looking at the jam build scripts of the Boost libraries that use ICU, i.e. Boost.Locale and Boost.Regex, it became apparent that there was no detection code for the static ICU libraries. This of course is not explicitly mentioned while building and I found no indication of this in the documentation. It’s unlikely many users even notice, until they attempt to use it for statically linking their executables. Certainly there must be a reason behind this, but from what I understand it has to do probably with ICU’s past.

Ok, so knowing where the problem was, I felt I was making progress.

I hacked quickly into the respective Jamfiles the necessary support for the static ICU libraries, which are named sicuXX.lib for release and sicuXXd.lib for debug. However, despite my best efforts to pass the libraries to the linker the resulting static Boost.Locale and Boost.Regex contained no trace of ICU. I went to the Boost IRC channel on Freenode and asked, but nobody quite knew what’s wrong. Nevertheless, I got a bit of extra info on how to debug Boost.Build scripts (many thx to jhunold & grafikrobot!). I added on my b2 command line -d +2, which enabled me to see what is passed on the linker. Clearly, the MSVC linker was never aware of the ICU static libraries, despite adding the right <linkflags> feature for the linker.

I decided to dig deeper. I searched through the msvc toolset code of Boost Jam (in boost_src/tools/build/src/tools/msvc.jam) and there you had it:

	l.1174:  toolset.flags msvc.archive .LD  $(api)/$(cpu-conditions) : $(setup-script)$(linker) /lib /NOLOGO  ;

That means the library is build using the msvc.archive, not the msvc.link. What does msvc.archive is using then?

	l.1482: toolset.flags msvc.archive AROPTIONS <archiveflags> ;

Aha! So msvc.archive is using the <archiveflags> feature and not <linkflags> as the msvc.link does! That’s typical on unix environments, when statically linking, I should have thought of it earlier! Unfortunately, this is not documented in the Boost.Build documentation either. Once I switched to <archiveflags> for the static libs and rebuild the Boost.Libraries I got these sizeable .lib files that were a good indication that the ICU code was included. I looked at the build log and it was clearly there: the various sicuXX.lib files were passed properly to the linker this time.

I hacked together a test case and compiled it against the freshly build static Boost.Regex, and there you have it. A static binary that can be run without requiring further ICU linking and have no other dependencies whatsoever!

I hope the Boost maintainers of the respective Boost Locale and Regex libs will eventually be able to polish and integrate this into upstream Boost. Boost is understaffed and the maintainers can’t keep up with the load of fixing bugs and adding features. It’s clear, don’t blame them; I don’t. My patch is not clean right now, because it uses my own custom Precompiled ICU libraries, that link against static runtimes (/MT). To go upstream it would at least require that my changes are nicely integrated into the existing Jamfiles. Maybe I find some time and do that too. In the meantime, you can find Boost with ICU and Python support in my Precompiled Boost page; complete with patches, built instructions and a batch file to use to build Boost yourself, if you don’t like my builds.

I shall not forget to thank the Boost developers for handing to the world one of the most advanced C++ libraries around. Thanks!

Enjoy!

2+

I have finished patching all necessary libraries and finally compiled bug fix release Qt5 v5.5.1. It is compiled against OpenSSL v1.0.2d and MariaDB v5.5.46 with Microsoft Visual Studio 2010, 2012, 2013 and 2015! I have not tested them yet, so bear with me. You can download them at the Precompiled Qt5 page.

0

Just finished compiling Boost 1.59 for all popular MSVC compilers, MSVC 2008 through 2015. You can download them at the Precompiled Boost page, as always. Keep in mind that Boost.Locale does not link against the static ICU, only shared, therefore you may need to include the ICU dlls. These binaries are untested and are only here for my own use, however chances are some of you may find them useful. Let me know if you have any issues and I will try to help.

You can always grab my script and make a custom build with different options for your own use.

enjoy!

0