[OnePlus 6 & 6T Cross Device Development] Terminator.J:
LOGS OR IT DIDN'T HAPPEN​

How to make bug reports (and how not to):​

i appreciate bug reports, but I also need details. If an app is crashing ("FCing", meaning "force closing") then at a bare minimum, copy the crash log URL and share that with your report.

That probably won't be enough, though, which is why there are two main logs that I'll ask for:

1. logcat​

You can either use the built-in MatLog tool to acquire this, or get it via USB debugging and adb on the computer (which was in the prerequisites section of the XDA first post, so you installed platform-tools and have adb & fastboot on your PATH, riiiight? 😜)

Using MatLog

MatLog is shipped built-in, and it works great. It's built for an older API though, so you'll need to manually grant it permission to access all files (it doesn't know enough to ask since it's a system app and assumes itself to be privileged). If you don't, then you can only use the "Sharing" interface to save logs, rather than saving them to internal storage.

To use, open the MatLog app, and go into settings and tick the box for "omit sensitive info" so that you don't end up sharing your IMEI or email addresses with the world. Probably still best if you PM me the logs instead of share to the group.

Ideally if it's a reproducible problem, reboot, open MatLog, do the thing that causes the buggy behavior, switch back to MatLog, tap on the menu and choose "Save Zip", then send me the resulting file (they're saved to /sdcard/matlog/saved_logs/). Otherwise, try to open it as soon after the issue as possible and Save Zip.

Using ADB (Android debug bridge)

Since we're currently building as "userdebug", you can always grab a logcat even without being rooted. I'm assuming you've got adb and fastboot installed & can run them from a terminal.

Enable Developer Options if you haven't already by going to "Settings" > "About Phone" > scroll down to the bottom and tap on the "Build number" field 7 times to enable, then back up to System and choose the new "Developer options" menu, and toggle on "Enable USB debugging".

Connect the phone to computer via USB, then on the computer open a terminal type adb devices to start the server & verify you can see the phone. At this point you might get a prompt on the phone asking if you want to trust the computer with some ID for debugging; tell it yes (probably always yes, in case you need to do troubleshooting later due to a boot loop). You should see your phone's serial number listed under the output of adb devices in the terminal window. If not, you probably need to install OnePlus USB drivers.

Run adb logcat from the terminal and get ready for a wall of text. Ctrl-C to stop the firehose after about 10 seconds. Save the output to a file. Note: this is the stupid way assuming you just opened a command window or built-in PowerHhell in Windows. Any linux shell or current version of PowerShell should instead be able to just run adb logcat > logcat.txt to dump the output directly to a text file in the current working directory without the wall of text; just give it about 10-15 seconds and Ctrl-C to stop the capture.

That's it! PM me the file, with any other details about what's happening and your setup (device, how you flashed, GApps, and so on).

2. dmesg​

Requires root, probably USB debugging, platform-tools added to your PATH, and knowledge of what the below instructions mean

Open a root shell on the phone (via local terminal or adb shell via USB).

Run dmesg and save the output to a text file.

PM me the dmesg.txt file, along with a logcat capture as well, and a detailed description of what the problem is, what the behavior is you noticed, how to reproduce, details of your setup (which device, what GApps, what Magisk modules, any custom kernels, how you installed, and so on).

Protip: If you're not rooted, since this is a "userdebug" build, you can go into Settings > System > Developer options, turn on the toggle for "Rooted debugging", and then on your computer, do adb root to restart the adb server process. The next adb shell you run from the computer will get superuser privilege instead and you can run dmesg or do other things without having to root with Magisk.

If you are rooted, I highly recommend installing & using SysLog (by Tortel), available on the Play Store and on F-Droid; it's a GUI app that lets you easily capture both logcat & dmesg & can generate zip archives to send to your favorite maintainer, while allowing for scrubbing potentially sensitive data, and has some other advanced filtering options.

3. A detailed description of the actual problem & how to reproduce​

Maintainer is not a mind-reader

Describe what the actual problematic behavior is, compared to what the expected behavior is. Don't just throw a logcat at me and expect me to figure out what you think was actually wrong. Explain how to reproduce the bug, and what you were doing at the time. Give me details about your configuration: are you actually on the most current version, did you clean install, did you use the recommended MindTheGapps package, are you rooted & if so what add ons/modules/root-required utilities are you using regularly, etc.

A picture is worth a thousand words. Moving pictures even moreso. If you can use screenshots, or better yet a screen recording, to show me how something is failing, that helps a TON.

Realize that a number of things are beyond my control. I'm not a software developer, I'm not on the ROM dev team, and some things might never get resolved. It's *still* better than OnePlus though, hey? :D

Feature requests are not bug reports. If you don't have a stack of tested commits that you can submit as a pull request for the dev team to merge, it's not likely to happen. But you can always ask politely!

Other Notes:​

It's your device to use the way you want of course, but don't expect support for your bug reports if you:​

didn't update firmware in both slots.

didn't do a clean flash.

installed with TWRP/any other custom recovery (or, worse yet, installed that custom recovery after).

aren't using the built-in kernel.

are using extensive root-required modifications & Magisk modules like Project Themer, Xposed/Riru, Dolby Atmos, Viper4A, modified Adreno GPU drivers, etc.

immediately start flashing stuff like "finalize.zip" or migrate restore zips instead of following the actual instructions.

are running decrypted (ugh, just don't).

re-locked your bootloader for some reason... you're on a custom ROM; don't do that.

followed some other installation method different than the steps in the first post.

"Supported" status - Updating from crDroid 7.x:​

To be considered a "supported configuration", I need for folks to do a clean installation when jumping from Android 11 to 12, rather than trying to migrate from crDroid 7.x (Android 11, prebuilt vendor partition) to 8.x (Android 12.1, source-built vendor partition). So do your backups accordingly, because internal storage on the phone is gonna get wiped.

It generally works to do a dirty upgrade from recovery, as long as you reboot to recovery & flash a newer version of the EXACT SAME GOOGLE APPS PACKAGE AS YOU HAD BEFORE, but there's going to be odd things broken and you're really better off doing a clean install for a new major Android version number change.

Connectivity issues:​

If you are having problems with mobile data under Android 12, try some of the following (and please let us know if one/all actually fixed things for you):

Go into Settings > Network & internet, scroll down to "Adaptive Connectivity" and turn it off

Go into Settings > Network & internet > Calls & SMS, and make sure your primary SIM is actually selected for calls, messages, and mobile data, then back up one menu level, go into SIMs, select your SIM if needed, and make sure "Mobile data" is toggled on

Go into Settings > Network & internet > SIMs, select your SIM, and change the radio mode to one of the ones that *doesn't* start with "NR", like "LTE/TDSCDMA/CDMA/EvDO/GSM/WCDMA" (or the one without the CDMA/EvDO stuff if you know you're not on a CDMA carrier)

Go into Settings > Network & internet > SIMS, select your SIM, go into Access Point Names, and make sure you've got the correct APN selected

Go into Phone (whatever you have for the default dialer), keypad, type in *#*#4636#*#* to open the "Testing" activity, choose "Phone information", then in the three-dot menu in the upper-right, choose "Select Radio Band" and choose the correct region instead of leaving it on "Automatic"