yashsingh1/xdaforums huggingface dataset:
[MTCB Software Development] dhmsjs:
Just a few points to add:

1) In general we can assume that a higher rev MCU has better features/fewer bugs than a lower rev. (Otherwise why would the authors bother to create it?) But as [MENTION=3266355]pa.ko[/MENTION] has cautioned several times, that is not necessarily always true. There is some risk that a higher rev may seem to work fine, yet introduce subtle bugs that don't show up right away.

So while it is generally good to install the MCU image with highest rev #, it is also really important to remember which MCU you had originally, and make sure you have a copy of that image before you upgrade. Then if you do come across something that seems like an MCU bug, you can revert to your original MCU image to see if it goes away. If you can't get the exact rev#, then you will want to have the closest rev# to your original.

Note that there is currently no way to "upload" an MCU image from your HU, so you can only get them from the HU vendor (or from a fileserver).

2) You can save the "factory" settings to a 516 byte file called mcu.cfg; the option is in the factory settings area (behind the "126" password). You can then reload the mcu.cfg file and it should restore your factory settings to their prior values. There is no guarantee that an mcu.cfg file from a lower rev MCU will be compatible with a higher rev MCU, but they usually are (in my experience anyway).

Incidentally, 512 bytes of that 516 byte config file get downloaded into the MCU's memory (the 4 other bytes are a short header "MTC" and a checksum byte), and that memory area then configures the "personality" of the MCU. There is a one-to-one correspondence between the bytes of the config file and the bytes in that memory area in the MCU. If you look at the mcu.cfg file you will see that most of those bytes are zeros.
[MTCB Software Development] pa.ko:
Ina cases of issues with/after loading mcu.cfg (problems, incomparibility,...) you may reset my to default (factory default / clear) state by creating empty mcu.cfg (don't forget to check permissions)

Empty MCU.cfg forces MCU to reinitialise ... At least Russians are saying so, in some previous MCU vers, I didn't check in code for myself

Truck with empty MCU.cfg reset us better than reglazing my as reglazing is not overriding that particular memory area of config params
[MTCB Software Development] Oldpapa49:
Call Home...

Ok, I have tried this on 4.4.4 and 5.1 (both roms)

1. Works better on 5.1 and not 4.4.4. It seems to crash google using 4.4.4 unless I did something incorrect.

2. You need to get the mtcservice (headunit 2.34 or 2.35) to make it function. I tried the one off playstore and I just don't really know about it.

When you use the mic to call the 1st time, make sure you select 'mtcsevice' (steering wheel icon) to make calls. It should complete after.
[MTCB Software Development] itwazntmoi:
Hi there -

Were you able to gather the ROMs in one location? I am badly in need of Malaysk ROM (4.4 & 5.1.1) for an MTCC LKLD 2.94 Headunit. Thanks for the documentation you provided in this thread as well. Very helpful. Any help in locating these ROMs would be awesome.
[Magisk] topjohnwu:
​

Welcome to the Magisk Release / Announcement thread!

For all up-to-date info and links, please directly check Magisk's GitHub Page​

Installation

Download count of previously XDA hosted files: 25,490,945

v1: 8746 v2: 2251 v3: 3790 v4: 1220 v5: 2914

v6: 138838 v7: 119744 v8: 116796 v9: 203836 v10.2: 215176

v11.1: 573322 v11.6:438886 v12.0: 3263706

1300: 274438 1310: 1018692 1320: 403556 1330: 1844372

1350: 39188 1360: 69874 1400: 4456314

1410: 11512 1420: 112020 1437: 247988 1455: 30652

1456: 253042 1468: 85978 1500: 434572 1510: 460120

1520: 927436 1530: 218164 1531: 3143686 1540: 97368

1600: 6043710 1610: 87628 1620: 140382
[Magisk] topjohnwu:
2016.10.04

Magisk-v7 is quite a significant update compared to v6. A lot has changed, new features are added, and improved compatibility a lot, especially in selinux issues.

Open Source!

My previous releases has some controversy due to the fact that I included closed source property with unexpected intentions. I had worked hard to create/improve open source tools, so that they can fit my own needs. Magisk is now 100% open source, including the binary it uses.

Brand New Magisk Manager

The Magisk Manager is completely a different application compared to the previous crappy app. It has now packed with features, and it is now part of the core experience of Magisk itself. New features and improvements are still planned, so stay tuned in this application's development!

Repo System, Module Management

We've been putting a lot of effort into constructing this repo system. This change is to make installing Magisk Modules a lot more easier. What I'm aiming is to make Magisk something like Xposed, an interface and a platform for developers to work on. Providing a repo system is a good step towards the goal, as it makes installing new stuffs and receiving updates super simple. I also drastically simplified the Magisk Module template. Right now, I believe anyone with basic knowledge can create their own Magisk Module easily. Changing a few values into a config file should make porting existing mods to Magisk much easier.

Safety Net

My decision to remove root management from Magisk seems to cause some debate. People might wonder why I would remove such feature that made Magisk so popular. Well, I have to emphasize again, Magisk is never meant for bypassing Safety Net. The Xposed and root bypasses are some fun projects that I'm messing with what Magisk is capable of. One of the two main reasons I dropped this feature in Magisk is

1. Xposed is no longer working with Safety Net enabled. I had tried to bypass it with some mounting tricks and process killing, but all of those are not able to fix the issue. Soon suhide is available and it is able to bypass Xposed had made me really frustrated, as I do not want to keep working on a "not complete solution".

2. On the open source side, phh is also developing his own "suhide". phh just released a test build for hiding root (link to his test build), I'm gonna take a look and include it into the Magisk version of phh root.

These two methods are much better than the one I was using. It doesn't need a toggle, it is per app basis, and many more. Also, I'm not creating a root solution, I'm creating an interface that root solutions can rely on. So I decide to give the hiding root "responsibility" to the root solutions, not managed by the interface, Magisk, itself.

Just to let all of you know, one of Magisk Manager's future feature will be a GUI to manage these two root hiding solutions. It will need some time to develop, and I also wanted to do some things in the core Magisk side to add this support natively. So please don't be pissed that I dropped the whole root management thing. It is for a bigger plan :)
[Magisk] topjohnwu:
Due to a bug in the template zip, there will be issues flashing the zip files if the path has spaces.

This commit in magisk-module-template should fix the issue.

All repos online is updated with this fix, developers please include this patch into your modules.
[Magisk] topjohnwu:
Magisk MultiROM - POC

I spend some time playing with the possibility of Universal MultiROM by only using Magisk.

Surprisingly, it is not that difficult at all! Here is a small POC video demonstrating my HTC 10 dual booting stock rom and CM 13.

[YOUTUBE]uN6pgG0IJz0[/YOUTUBE]

No other dependency is required (e.g. modified TWRP recovery, kext kernel patch etc.). You only need Magisk injected into the boot image, and along with proper settings, by swapping out the boot image, you can load any rom systemless-ly.

What this means is that all Magisk supported device can enjoy MultiROM features! What a great news for flashaholics LOL.

NOTE! The process showed in this video in far from what it will be eventually. I will make the process nice and smooth :)
[Magisk] topjohnwu:
Here are some news.... :p

Lack of Support

School have been super busy lately (getting the last metro to home nearly every day...), I have little if any time to spend on Android development. Another big factor is that I'm still waiting for my laptop to be repaired.

Sorry for all the private messages sending to my inbox, I've got way too many PMs that I'm not in the mood to read through dozens and dozens of them, since a large fraction of them are simply just asking for instructions for installing Magisk on their device.

I prefer REAL issues to be opened on Github, as I check them from time to time, and I can keep track of which are not yet resolved.

Build Friendly

I added build script for Unix-like systems (Linux and macOS) and also for Windows. I tested on all three platforms and all of them are working as expected. For people interested in the latest feature added to Magisk but not included into an official release yet, feel free to build it yourself. I automated the process that even people with no experience in NDK or scripting can build it easily.

Also for people willing to report bugs, please test Magisk built against the latest commit before opening issues on Github, thanks a lot!

Magisk Module Repo?

It has been a while since I last updated the Magisk Module Repo. I know there are a few requests for adding their own modules to the repo. I'm gonna change the way for requests to be handled from the current "posting in a request thread on XDA", to most likely handled through Github. When the new way for requests is decided, I'll add the current requests at once, and close the current thread.

I really appreciate every person who is interested in making a Magisk Module and willing to share it with others, once the new method is decided, the requests should be addressed in a timely manner.

Multirom? Updates?

I've spend my extremely limited free time to fix current Magisk issues, and so far (the latest commit on Github) it has improved a lot compared with the current v9 release.

I haven't really spend much time in the multirom feature, however I found an interesting open source project: DualBootPatcher.

It exists for quite a while, and it is very impressive just like the Multirom Tasssadar created. I haven't looked into how DualBootPatcher works, so I'm not sure if it is using similar tactics method that I switch between systems in a super simple way through Magisk.
[Magisk] topjohnwu:
Sorry guys, in v10 (and the v10.1 if you're fast), when updating within the Magisk Manager, my scripts didn't handle the phh upgrading correctly.

For those got stuck with no root, please flash the latest phh zip downloaded in this thread in custom recovery (or Magisk Manager, because it is the only app that have root access).

Sorry for the inconvenience, please forgive me lol, I'm only one man!
[Magisk] topjohnwu:
2017.1.11

Magisk Manager v3.1

I'm still dealing with my finals (got an exam tomorrow, and 3 more projects to do......), but the online repo is no longer accessible on Magisk Manager, which forces me to push out an update.

Apart from that critical bug fix, it also comes with a lot of updates and improvements, please check the changelog for further info.

Please update your Magisk Manager from Play Store. The direct link is also updated with the new v3.1 version
[Magisk] topjohnwu:
Before I got the in-app guides done, here are some tips for you

Many people seems missing these details :)
[Magisk] topjohnwu:
2017.2.19 Magisk Manager v4.2

Magisk Manager v4.2 is now live on Play Store. OP direct links are also updated accordingly.

Tons of improvements to the app, check the changelog for more info

Where is the Magisk Update?

I'm aware there are issue in Magisk v11.1 (vendor mount issues, and MagiskSU system rw issue)

I already fixed the system rw MagiskSU issue (so TiBack now 100% functional), you can check the Superuser sources if you're interested into the solution

I'll push an update soon after I fixed all currently known issues, AND add compatibility to more devices.

Please note that I'm only one single man, and also got a real life to deal with, so I can only focus one thing at a time.

I decided to first improve the Magisk Manager application to a point I think it's acceptable. Android application development is quite tedious, I have to put quite some time and effort into it.

After this Magisk Manager update, I will put all my attention on the core Magisk part, so please stay tuned!

New Online Module Info Display

I updated the way Magisk Manager show the details of Online Magisk Modules in the repo.

Previously I let each module include a changelog.txt, donate link, and support link

However, I think it would be better to let module developers to write anything they want

And considering the text rendering needs to be nice and clean, I think Markdown is the best choice here!

You can include links to your thread, links to your donation link, download link for an app required, changelog.... anything!

All Repo Developers Aware!

In Magisk Manager v4.2, the app will read the README.md file within your repo, and render the file properly

The changelog.txt file, support and donate entry within module.prop are no longer read, they can be removed.

Please update your README.md file ASAP to let the new app properly display what your modules do.

Here is an example, I updated the Xposed module's README.md, you can see the results in attachments

This is also a screenshot of what the new UI looks like
[Magisk] topjohnwu:
Magisk Manager v4.2.5 is live!

Hot fix for Samsung crashes (theoretically, no device to test), also did several adjustments here and there

As usual, full changelog in 2nd post, direct links and Play Store (might need to wait a few hours) are also updated

Sorry for the inconvenience!
[Magisk] topjohnwu:
Magisk Manager v4.2.6

Finally got the Samsung crash fixed!! Thank you for everyone reporting giving feedback, really appreciate the community!

As a compensate for the frequent updates and inconvenience, I added another feature that was requested to Magisk Manager - add a setting to disable update notifications

Play Store might take a few hours to update, direct link in OP is updated

Finally, I can now focus on the core part, which IMO is much much more important :)

Device compatibility should be GREATLY improved once the work is done, stay tuned!

For Pixel support though, I'll need to borrow my friend's Pixel XL for a couple of weeks to develop, but this might not happen soon since school is quite busy.
[Magisk] topjohnwu:
Magisk v11.6 Hotfix

The issue turns out to be a veeeery minor issue, but causes the whole script unable to run correctly on Samsung devices.

Also, I fixed the incorrect value for selinux prop patching for MagiskHide, so people with selinux issues should now be settled.

I guarantee all future releases will go through serious beta testing, especially Samsung devices. This project is in a scale that these kind of mistakes cannot be tolerated.

I'm sorry for all the inconvenience the previous release gave you, and the mess and headaches for all broken devices.

The Module Template is again updated. This bug will also affect module templates, so please update accordingly, thanks!!

But still, I hope you will enjoy this new release :)
[Magisk] topjohnwu:
Why is Magisk Manager not available on Play Store? Is development abandoned?

This is what I get from Google this morning:

What is the so-called "malicious behavior"? From what I've suspect, viewing the definition of malicious behavior, most likely I violated the two following policies:

For the first policy: Magisk bypasses Google's strict compatibility check - the CTS check on tampered devices (SafetyNet checks CTS status). CTS is what Google judge whether a manufacturer can ship a device with its Google services, so Google is definitely really serious about this issue. Also, Magisk roots your device, patches tons of SELinux policies (all rooting method do) etc, which is also an obvious security breach.

However, I doubt this was the main reason, since many superuser management apps are also on the Play Store. The main reason should be the other one.

The second rule I listed can be translated to: you cannot have anything "market-like" to let users download and run code on your device. Apparently, Magisk's Online Repo is a complete violation against this rule.

Now I have two choices: Remove the online repo from Magisk Manager, and re-release a NEW APP on the store (yes, once your app is pulled down, the package name and app name is permanently banned).

The other way is to simply just distribute the app through places like XDA and third-party markets (just like Xposed Installer).

I prefer the second decision, because I can still use the same package name, also I wouldn't need to remove the online repo feature, which is one of the most precious thing for a development community like XDA. What I really lost is the $25 dollars for Play Store registration lol.

Development is definitely NOT suspended in any way, in fact, I had significant progress lately.

There are still some bugs not sorted out, and I need some feedback from the users, so I decide to start a new thread for public beta testing!

Expect the new thread to be live very soon, but I still need to do some small adjustments to deal with the unfortunate Play Store situation....

So the conclusion is: Yes, Magisk Manager is pulled from Play Store due to policy violation; and no, this is not a sign for the end of development.

In fact, I think Magisk is undergoing the most active development since release!
[Magisk] topjohnwu:
2017.7.14 Magisk v13.2

Here comes the release to fix many fairly small but critical issues in the last release

MagiskPolicy Update

Thanks to [MENTION=8340552]jenslody[/MENTION] for finding this bug! This is the reason why many cannot make Magisk v13.1 run on your device, since selinux patching is a critical part in both Magisk's boot patch and boot sequence. Most victims seems to run on Marshmallow. If your device wasn't running v13.1, this release worth a shot :)

/sbin Re-link Fixes

One of the most important part in MagiskHide is the /sbin re-linking part. In previous versions there is a bug where the selinux context was set to a non-target folder, which casues some issues. Also, along with the bug fix, I also adjusted the context to match other files in the ramdisk, so that it might also eliminate a lot of weird issues (phone feature breaking non-related to Magisk) if MagiskHide is enabled. For one that I know is that HTC U11 users suffering the USB-C headphone jack adaptor malfunctioning should now be fixed.

Please Migrate Modules to v4!!

Currently, there is only few modules on the repo that has updated to the new template format. This release still WILL NOT block out v3 modules, but this will happen most likely when the next verison comes out. For the many module submissions on Github, please also update your module to the new template. Many thanks!!
[Magisk] topjohnwu:
2017.7.18 Magisk v13.3

Google really doesn't want me to rest, let's just jump right into it, shall we?

SafetyNet

This update is pushed out earlier than I planned to do so, but apparently users cannot wait anytime longer for the SafetyNet fix lol. This time, the additional detections are fairly easy to figure out, some even cracked it before I even know the issue exists.

This particular change is still within my expectations; in fact, being the creator of Magisk, I personally have TONS of other ways to detect Magisk, apart from "package name" detection which I currently do not have an optimal solution, I can hide all the other methods (note: I'm no security expert, this is only MY point of view, a university student who can't stop coding). I won't go on and implement all the hiding techniques and put all my cards on the table though, Google will slowly add more and more detections, and I'll just update Magisk each time something breaks. I believe there is still a long way till I run out of ideas :)

Resetprop

Google is targeting system props this time, resetprop FTW! The init process will record all start up services and set a property for each to indicate the state of the service. Well, we'll just parse through all props, and remove those which Google doesn't like! Something worth noting though, previously deleting props only happens in the memory, so the props disappears immediately, but persist props will actually stick for the next reboot. Resetprop is updated to support completely eradicating persist props when using its delete command, and the "-n" flag can give you the option to only modify the data structure within memory without actually touching anything.

The uninstaller is also updated to remove all persist prop it left behind.

Magisk Manager

The big thing here is actually Magisk Manager! I have massively rewritten a lot of portions of the code, mostly under-the-hood changes. However, there is a feature I always wanted.

You can already enjoy the new flashing log screen if you upgrade Magisk Manager before upgrading Magisk through the application!

A video is always better than a million of words, check it out with your own eyes :D

[YOUTUBE]G5myK3RsDxY[/YOUTUBE]
[Magisk] topjohnwu:
2017.7.20 Magisk Manager v5.1.1

Here comes the update of Magisk Manager to fix the notorious "app cannot start" issue. Fun fact: this issue is not even my fault!

According Posix Standards, a line in Unix is defined as a sequence of characters following a terminating <newline> character. So what this means is that if the last line of the file does not end with a newline, technically speaking the text file is not "ended". Magisk Manager didn't handle this situation, so it simply hangs there while parsing an improperly formated module.prop file, since it cannot find the end of the file. Magisk Manager will now handle this properly, so things should work just fine!

Magisk-v13.3.zip in the OP is re-uploaded with Magisk Manager v5.1.1 bundled, so users flashing a newly downloaded zip will not suffer from the bugs in the older versions. I'm constantly improving the Magisk Manager since the app code is a bit crappy (not an expert in Android Application development...), so each Magisk Manager update should come with many improvements and updates.
[Magisk] topjohnwu:
Several Announcements

It has been really busy for me lately, having a daytime job as an intern isn't that easy :p

Magisk Module Template v5 Removed

As stated in the previous beta release notes, the v5 module template is considered as a developer preview. I haven't fully tested the template yet, and apparently there are some critical bugs, so I temporarily removed v5 template from Github.

Documentation

I promised a documentation for quite a while, and it finally happened! The original Wiki thread here on XDA is discontinued, all new documentations are hosted on Github.

The links to the docs are in the OP, or here

Install Magisk With ADB: No Custom Recovery Needed!

A lot of work were already done to make patching boot images in a non-root shell work properly, even the Magisk binary itself has added some functionality to support it. However, it wasn't fully tested, and the instructions never came out. Since the busybox environment started from v13.5, a consistent shell was established, so I took a bit more effort to finalize the way to manually inject magisk into a boot image. The method is added to the Installation section in the OP, people interested can check them out!

Note: This new installation method only works on the beta version v13.6, go to the beta thread for more info