Home > OnePlus

How to Enable Factory Mode in any OnePlus Device

In this guide, we will show you three methods to enable the Factory Mode on your OnePlus device. The Chinese OEM is probably one of the most developer-friendly devices out there. Not only does its OS skin beholds a plethora of customizations, but it is also quite active in custom development. Be it for flashing custom ROMs or installing a custom recovery like TWRP, there are a lot of tweaks to try out. The fact that it comes with an underlying Qualcomm chipset further makes it possible to boot your device to the Emergency Download Mode.

This will then allow you to flash firmware via MSM Download Tool and hence unbrick your device. That’s not it. There are a couple of developer modes baked into these devices that the tech enthusiasts could make full use of. These include the likes of Log Kit, Engineer Mode, and  Factory Mode. These modes allow you to access Function Switch, Debugging Tools, and Fingerprint Calibration among others. if we keep our focus on the Factory Mode, then here are some of the noteworthy tests that you could try out-

How to Enable Factory Mode in OnePlus

Fingerprint test, 
Keypad test, 
All Device Sensor Tests, 
Normal and Fast Charging Test, 
All Camera Lens tests, 
Screen and Display tests including refresh rate, 
LCD, Brightness test, 
WiFi, Bluetooth, and GPS test, 
SIM, NFC, and USB 3.1 test, 
Root Status Test, 
Secure Boot Test, 
Reset the device.

How to Enable Factory Mode in OnePlus

Now, without any further ado, let’s get started with the steps to enable the Factory Mode on your OnePlus device. Follow along.

How to Enable Factory Mode in any OnePlus Device

There exist three different methods through which you could carry out the said task. The first two are non-root methods whereas the third one is the rooted method. You may try out the one that is in sync with your requirement. Droidwin and its members wouldn’t be held responsible in case of a thermonuclear war, your alarm doesn’t wake you up, or if anything happens to your device and data by performing the below steps.

Method 1: Via ADB Shell

Out of the two non-root methods, this is a slightly technical one and requires a PC, but still, it should be your go-to choice as it doesn’t ask for your device’s IMEI number.

  1. To begin with, download and extract Android SDK Platform Tools on your PC.install adb platform tools windows
  2. Then enable USB Debugging on your device and connect it to the PC via USB cable.How to Enable Factory Mode in OnePlus
  3. After that, head over to the platform-tools folder, type in CMD in its address bar, and hit Enter.
  4. This will launch the Command Prompt. Type in the below command to open the shell environment.
    adb shell

    How to Enable Factory Mode in OnePlus

  5. You might now get a Debugging authorization prompt on your device, tap Allow/Grant.How to Enable Factory Mode in OnePlus
  6. Now download the OnePlus Tool.exe [Credits: XDA Senior Member ju5t3nc4s3].
  7. Then launch it, type in 1, and hit Enter.How to Enable Factory Mode in OnePlus
  8. It will bring up the code for your device.How to Enable Factory Mode in OnePlus
  9. Once done, type in 5 and hit Enter. It will bring up the Input Code window. [You may also bring up this window by typing in *#*#5646#*#* in the dialer app on your phone].How to Enable Factory Mode in OnePlus
  10. Type in the code that you got earlier and hit OK. You should get the “Decrypted successfully” message.How to Enable Factory Mode in OnePlus
  11. Now bring up the dialer and input the below code [Google Dialer worked for me, OnePlus Dialer didn’t].
    *#808* OR *#36446337#

    How to Enable Factory Mode in OnePlus

  12. That’s it. You will now be taken to the Factory Mode and you may now carry out the desired test.

Method 2: Via IMEI Number

This is the easiest of the three methods but comes with an associated risk. This is a web-based method wherein you need to enter your device’s IMEI number. While the website has mentioned that they don’t store IMEI, however, there’s always an element of risk involved in using the device’s IMEI in such places. But the ultimate decision lies in your hands, so decide accordingly.

  1. Open the dialer and type in *#06#. This shall bring up the IMEI number. Long press on IMEI 1 and copy it.
  2. Then head over to the OnePlus Unlock Code Generator website.
  3. Select Unlock for 10 minutes, type in the IMEI in the space provided, and hit Convert.How to Enable Factory Mode in OnePlus
  4. You will now get the Unlock Code.How to Enable Factory Mode in OnePlus
  5. So open the dialer app and type in the below code:
    *#*#5646#*#*
  6. Type in the Unlock Code that you and hit OK. You should get the “Decrypted successfully” message.How to Enable Factory Mode in OnePlus
  7. Now bring up the dialer and input the below code [Google Dialer worked for me, OnePlus Dialer didn’t].
    *#808* OR *#36446337#

    How to Enable Factory Mode in OnePlus

  8. That’s it. You will now be taken to the Factory Mode and you may now carry out the desired test.

Method 3: Via Root

How to Enable Factory Mode in OnePlus

For this process to work, you need to have administrative privileges as you will have to access the persist partition. So make sure that you have rooted your device via Magisk before proceeding ahead.

[UPDATE: Instead of the below steps, you may also just flash this Magisk module by XDA Senior Member jamal2367.3068641 and type in *#808* to straightaway enable the Factory Mode on your onePlus device].

  1. To begin with, download and install a file explorer that supports root [such as Solid Explorer].
  2. Then tap on the hamburger menu situated at the top left and select the Root partition.
  3. It will ask for a SuperUser request, make sure to Allow/Grant it.
  4. Then go to the below location:
    /mnt/vendor/persist/engineermode/
  5. There you should find the engineermode_config file, open it via the text editor.
  6. It will have the following contents:
    encrypt_app=true
    encrypt_adb=true
    rc4_key=**********************
    imei=*******************
    last_download_time=***********
    encrypt_log=true
  7. Change the value of encrypt_app and encrypt_adb to False, i.e.
    encrypt_app=false
    encrypt_adb=false
    rc4_key=********************************
    imei=*******************
    last_download_time=*******************
    encrypt_log=true
  8. Now save the changes and restart your device.
  9. Once it boots up, open the stock OnePlus phone app.
  10. Then type in the desired factory code of your choice.
  11. For example, to access the OnePlus Factory Mode main menu, type in the below code:
    *#808#

That’s it. These were the steps to enable the Factory Mode on your OnePlus device. If you have any queries concerning the aforementioned steps, do let us know in the comments. We will get back to you with a solution at the earliest.

All Commands in OnePlus Factory Mode

Here’s a list of all the tests [along with their unique code] that you could carry out in the Factory Mode

*#66# com.android.engineeringmode.IMeiAndPcbCheck
*#99# com.android.engineeringmode.KeepSrceenOn
*#008# com.android.engineeringmode.LanguageSwitchToChineseActivity
*#268# com.android.engineeringmode.qualcomm.QualCommActivity
*#391# com.android.engineeringmode.SwitchSoftwareVersion
*#789# com.android.engineeringmode.qualcomm.ClearTelcelnetlock
*#800# com.android.engineeringmode.qualcomm.LogSwitch
*#800# com.oem.oemlogkit.OEMLogKitMainActivity
*#801# com.android.engineeringmode.qualcomm.DiagEnabled
*#802# com.android.engineeringmode.gps.GpsActivity
*#803# com.android.engineeringmode.wifitest.WifiSettings
*#804# com.android.engineeringmode.NetworkSearch
*#805# com.android.engineeringmode.bluetoothtest.BluetoothTest
*#806# com.android.engineeringmode.autoaging.AutoAgingMainListActivity
*#807# com.android.engineeringmode.autotest.AutoTest
*#808# com.android.engineeringmode.EngineerModeMain
*#808# com.android.engineeringmode.manualtest.ManualTest
*#809# com.android.engineeringmode.echotest.EchoTest
*#810# com.android.engineeringmode.SwitchSetupWizardActivity
*#814# com.android.engineeringmode.TDSNetworkSearch
*#818# com.android.engineeringmode.NetworkSearch_New
*#820# com.android.engineeringmode.DeleteNoNeedFilesActivity
*#824# com.android.engineeringmode.WCDMANetworkSearch
*#834# com.android.engineeringmode.LTENetworkSearch
*#838# com.android.engineeringmode.NetworkSearch_New
*#845# com.android.engineeringmode.wifitest.WifiApSettings
*#888# com.android.engineeringmode.PcbShow
*#899# com.oneplus.factorymode.aftersale.ChooseBackCoverColor
*#900# com.android.engineeringmode.BackCameraAdjusting
*#911# com.android.engineeringmode.PowerOff (Warning: Does factory reset)
*#912# com.android.engineeringmode.qualcomm.RecoverTelcelnetlock
*#912# com.android.engineeringmode.RebootManager
*#928# com.android.engineeringmode.wifitest.WifiFTMActivity
*#1234# com.android.engineeringmode.SHOW_ONEPLUS_VERSION
*#4321# com.android.engineeringmode.LanguageSwitchToZimbabweService
*#6776# com.android.engineeringmode.CheckSoftwareInfo
*#7327# com.oem.rftoolkit.RfToolkitCustomerService
*#7328# com.oem.rftoolkit.RfToolkitAgingTest
*#7332# com.oem.rftoolkit.RfToolkitFactory
*#8011# com.android.engineeringmode.NoUI
*#8017# com.android.engineeringmode.wifitest.WifiAdbHelper
*#8019# com.android.engineeringmode.wifitest.WifiSocketHelper
*#8020# com.android.engineeringmode.wifitest.WifiAdbHelper
*##*8110# com.android.engineeringmode.qualcomm.OtaSwitch
*#8668# com.oppo.activation.action.STOP_ACTIVATION
*#8669# com.oppo.activation.action.START_ACTIVATION
*#8778# com.android.engineeringmode.manualtest.MasterClear
*#8888# com.android.engineeringmode.manualtest.MasterClear
*#9886# com.oppo.screensaver.off
*#9889# com.oppo.screensaver.on
*#10000# com.android.engineeringmode.MarkResultShow
*#12345# com.android.activation.action.STOP_SERVICE
*#3954391# Switch activated
*##*37847# com.android.engineeringmode.manualtest.DeviceListActivity
*#2288379# com.android.engineeringmode.BatteryExtraInfo
*#36446337# com.android.engineeringmode.EngineeringMode
*#6776001# set_language en_US
*#6776007# set_language ru_RU
*#67760052# set_language es_MX
*#67760055# set_language pt_BR
*#67760066# set_language th_TH
*#67760062# set_language in_IN
*#67760084# set_language vi_VI
*#67760086# set_language zh_CN
*#67760886# set_language zh_TW
*#67760044# com.android.engineeringmode.LanguageSwitchToEnglishActivity
*#67766776# com.android.engineeringmode.OppoConnectionADBActivity
*#677667764482# com.android.engineeringmode.UserAgentSwitchService
*#*#5646#*#* com.android.engineeringmode.manualtest.DecryptActivity
*#*#7668#*#* com.android.engineeringmode.manualtest.CheckRootStatusActivity
*#3439# = oem.cust.flag=1
*#9339# = oem.cust.flag=2
*#3392# = oem.cust.flag=0

Share: