Giter Site home page Giter Site logo

Add the 6T about firmware_oneplus HOT 7 CLOSED

angela-d avatar angela-d commented on July 21, 2024
Add the 6T

from firmware_oneplus.

Comments (7)

angela-d avatar angela-d commented on July 21, 2024

I experimented with the 6 series a while back and the file structure wasn't exact and I didn't have a 6/6T to work with, that's why I did a filter to explicitly reject it.

Is your 6T a daily driver, or something you'd be able to experiment with?

from firmware_oneplus.

qeqar avatar qeqar commented on July 21, 2024

It is may daily drive, But i need to update the firmware before the next upgrade.
So i would have some testing time. Otherwise i will not get any updates, but that is why i use LinageOS :-)

So with what can i start?

from firmware_oneplus.

angela-d avatar angela-d commented on July 21, 2024

It is very risky messing with a daily driver, but if it's important to you, here's a breakdown of how this works. If you are able to get this going without bricking your device, please submit a pull request!

Updater script

  • This is originally extracted from official Oneplus zips (META-INF/com/google/android/updater-script) - though modified, so you aren't simply flashing Oxygen and only taking on the bits you need.
  1. The files we need (modem/firmware components) are all laid out in the Updater script referenced above. Note their paths in the updater script and the extract script.
  2. Now, take a look at the extract script
  3. First problem, the version check: if [ "$(grep "\"OnePlus $VERSION\"" -R tmp/META-INF/com/google/android/ | wc -l)" == '0' ]; -- META-INF/com/google/android/ does not exist in the Oneplus 6T OxygenOS zip. We could do a condition, though (if 6T was entered), to peek at META-INF/com/android/metadata to grab the pre-device variable. So that's not necessarily a problem.
  4. Next up:
unzip -q "$OXYGEN_PATH" firmware-update/* -d "tmp/"
unzip -jq "$OXYGEN_PATH" RADIO/* -d "tmp/firmware-update/"
  • RADIO/ doesn't exist in 6T
  • firmware-update/ doesn't exist in 6T

So I'm not actually sure where the update is, it might be in a giant binary blob (presumably payload.bin?) which complicates extracting only the firmware & modems.

Another thing that throws me off (from official Lineage instructions):

In some cases slot b can be unpopulated or contain much older firmware than slot a, leading to various issues including a potential hard-brick. We can ensure none of that will happen by copying the contents of slot a to slot b.

6T is an A/B device, so that adds another layer of complexity.


I saw this posted on XDA, I'm not sure if it's using the same logic to extract or not, but it's worth a shot, too: https://f-droid.org/en/packages/fr.witchdoctors.c4ffein.oosfirmwareextractor/

from firmware_oneplus.

qeqar avatar qeqar commented on July 21, 2024

Ok, thanks, will have a look, bit bricking the device would not be that good.

from firmware_oneplus.

timehlers avatar timehlers commented on July 21, 2024

I have the same problem with my new Oneplus Nord. The firmware is like for the 6T a big payload.bin file. But this is no problem, you can slice it into the partition files with https://github.com/vm03/payload_dumper.git

But now you have a lot more partition files than I had on the OnePlus 5. I divided the files by name into 3 groups:

  1. files which come from LineageOS, so presumable not to flash:

boot.img
dtbo.img
odm.img
product.img
recovery.img
system.img
vbmeta.img
vbmeta_system.img
vendor.img

  1. Files known from OnePlus 5:

abl.img
devcfg.img
hyp.img
keymaster.img
logo.img
tz.img
xbl.img

  1. Files I don't know if needed to flash, but at least a few for sure, iike bluetooth or dsp

aop.img
bluetooth.img
dsp.img
featenabler.img
imagefv.img
modem.img
oem_stanvbk.img
qupfw.img
reserve.img
storsec.img
system_ext.img
uefisecapp.img
xbl_config.img

But then there is the other problem with A/B parts of the firmware. Does anybody know more how we can make a working firmware updater? I already asked at XDA: https://forum.xda-developers.com/t/rom-official-lineageos-17-1-oneplus-nord-avicii.4185373/page-12#post-84714269 but until now nobody answered.

Best

Tim

from firmware_oneplus.

angela-d avatar angela-d commented on July 21, 2024

Oneplus seem to be coming out with new phones every month!!

I don't have any of the new models to test with, but for most .img files, you can mount and browse it's contents:

If you're able to find the modem and radio files, someone willing to test with their device could give it a go and see if this script could work on the newer models with a few modifications.

from firmware_oneplus.

angela-d avatar angela-d commented on July 21, 2024

I assume by now you guys have found solutions, but referencing this in case not.

Payload dumper go might work if your firmwares are bundled in payloads.

from firmware_oneplus.

Related Issues (3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.