Several ML OS Questions and Concerns

Current OS Version: B3E.220619.07-R.124
Machine: 13-inch 2019 Macbook Pro, running MacOS Catalina 10.15.6.

The Magic Leap headset is visible on my computer via lsusb, adb devices, and ML Hub. Currently running with aforementioned ML OS with developer and debug modes enabled. We are very new to working with this device and android machines in general, so apologies if any of these questions and concerns are overly basic.

So, the ML Hub claims my current (out of the box) OS is B3E.220619.07-R.124. Is this identical to B3E.220619.07-R.124_user (as displayed under the "OS Version to Install") panel, and therefore Build Order 5, and is just displayed without the "user" by the Magic Leap Hub, or is this a different OS altogether? If these are two different OS versions, what should I install next?

I want to begin developing with Unity. To my understanding, whatever is installed out-of-box on the ML2 cannot achieve this. When the headset was originally shipped to us back in August, we received an email claiming we needed to install B3E.220721.07-R.026_user_secure given the part number on our shipped box. However, according to the documentation (MagicLeap Developer Documentation), we must flash in a linear build order. So, if you're on build order 5 (B3E.220619.07-R.124_user, which again I'm unsure is identical to B3E.220619.07-R.124) you must next move to B3E.220721.07-R.026_user. So, there appears to be a discrepancy between what the email says I should do and what the documentation says I should do. Also, the email says to install via Lab 2.0 which has now been replaced with ML Hub (which I'm currently using), and I'm unsure how that works into this.

Additionally, there are several newer OS versions listed that are not in the OS Installer documentation. The most recent option is B3E.22081812.R-.085_user_secure. This is the OS that wants to be installed through the device bridge via the "update available" button. However, as the documentation says OS updates need to be flashed in linear build order, and this OS is not mentioned in that documentation, I'm unsure if installing this may brick the device? Also, if were I to click this button, would it go through each prior build, or would it immediately try to flash this OS?

Another more general question: what is the difference between the user, user_secure, and userdebug OS versions in general?

All in all, we want to get moving on Unity development for the ML Headset but are unsure what operating systems to install via the Magic Leap Hub given our current scenario. I'm extremely hesitant to just attempt what either the email or documentation suggest independently given that there are instances on this forum of people running into issues installing either B3E.220721.07-R.026_user_secure or B3E.220721.07-R.026_user (see Magic leap no longer responding (3 flashing center lights) after initial update and Cannot update device OS?). I obviously do not want to accidentally break the machine, so I'm hoping someone may be able to point us in the right direction.

Thank you very much for your time!

Hi @anthonylop129,

Thank you for the questions and checking here before flashing your device!
Here is the best course of action for you:
It is recommended that you work with the latest versions of the OS and Unity SDK in order to maximize the feature availability on the headset.
Right now this means you need to be on OS version B3E.220818.12-R.085, SDK 0.53.3 and using Unity editor 2022.0b4 or higher. The Magic Leap 2 OS and SDK must be installed using Magic Leap Hub, not The Lab 2.0 because it is outdated.

Because you're a couple OS's back, you are correct in assuming that you will need to flash sequentially to get to the recent OS. If you try to flash directly to R-085 you may brick your device.

The difference between _user and and _user_secure builds: If your device was given as a loaner there is a high probability that it is a _user device while devices purchased were released as _user_secure devices. This is how you can check:
ml2-box-barcodes

Relating to the barcode beginning in "P/N":

If your device's part number is either "M90AA004_RA" or "M90AA004_RC" you have a Secure device. Otherwise, your device is Unsecure.

If it is displayed without the user tag, you can just select the relevant version to flash your device with. This tagging was implemented in later OS's as new devices with different internal flags were shipped from the factory.

I also want to thank you for pointing out that our OS build order chart is missing the current version - I will update it.

Thank you so much for all this information, I went ahead and flashed the next user_secure OS on the build order and it installed without breaking the device! I'll continue up the chain now until the most recent version is installed.

2 Likes