FORUMS
Remove All Ads from XDA

Sonim XP8 (Root?)

25 posts
Thanks Meter: 2
 
By ctradio, Junior Member on 7th October 2018, 02:36 AM
Post Reply Email Thread
7th November 2019, 05:59 AM |#81  
Member
Thanks Meter: 3
 
More
Quote:
Originally Posted by eleotk

XP8800 image I only have the Images_XP8A_USC-userdebug version here.

Dude no way.. Can you send me this? I modified the XP8 flash tool to eliminate server authentication - we can apply this with ease!

Userdebug is really the right way to achieve root .

Magisk is cool depending on the case however I would personally rather keep su isolated to adb root. I managed to compile a partially working gsi-pie userdebug image however I couldn't manage to get the radio working so I abandoned that effort. This image of yours may just help to solve many things!!
7th November 2019, 12:17 PM |#82  
Member
Thanks Meter: 13
 
More
Quote:
Originally Posted by smokeyou

Dude no way.. Can you send me this? I modified the XP8 flash tool to eliminate server authentication - we can apply this with ease!

Userdebug is really the right way to achieve root .

Magisk is cool depending on the case however I would personally rather keep su isolated to adb root. I managed to compile a partially working gsi-pie userdebug image however I couldn't manage to get the radio working so I abandoned that effort. This image of yours may just help to solve many things!!

This is an old version link https://drive.google.com/file/d/1vTu...XqS2-RyOC/view

---------- Post added at 12:17 PM ---------- Previous post was at 12:12 PM ----------

Quote:
Originally Posted by smokeyou

Dude no way.. Can you send me this? I modified the XP8 flash tool to eliminate server authentication - we can apply this with ease!

Userdebug is really the right way to achieve root .

Magisk is cool depending on the case however I would personally rather keep su isolated to adb root. I managed to compile a partially working gsi-pie userdebug image however I couldn't manage to get the radio working so I abandoned that effort. This image of yours may just help to solve many things!!

XP5S image can be uploaded to google disk?BT Download No resources
7th November 2019, 05:31 PM |#83  
Member
Thanks Meter: 3
 
More
Quote:
Originally Posted by eleotk

This is an old version link https://drive.google.com/file/d/1vTu...XqS2-RyOC/view

---------- Post added at 12:17 PM ---------- Previous post was at 12:12 PM ----------



XP5S image can be uploaded to google disk?BT Download No resources

It hasn't seeded out yet but should be available. My wimpy google drive is full and I personally avoid malware carriers such as androidfilehost. It should go once the servers have bandwidth. If not ill have to figure out another way to send it over after work here.

This is a great file set! I'll plan to review in greater detail as I believe this will allow others to unlock the bootloader. Unlocking is not not really required nor useful currently however it may help with some of the gsi efforts.

Sonim included a handy backdoor. If you have the XP8 flash tool for this file set then we can try the following..

1. Prevent server communication by adding a hosts file entry
sonimexperiance.com 127.0.0.1
2. Create testlogin.txt within the XP8 flash tool install directory
Code:
{"status":"success","message":"1 successfully logged in","name":"1","activetabs":["download_tool","qcn_backup_restore"],"carriers":["00"],"multi_carrier":true,"phone_model":["8A"],"edl_user":"Yes","emc":"Yes","carrier_list":{"00":"Generic","10":"AT&T","11":"Bell","12":"Telus","13":"Sasktel","14":"Harris","15":"Verizon","16":"Ecom","17":"NAM","18":"Rogers","19":"T-Mobile","20":"EU Generic","21":"MSI","22":"CISCO","23":"NAM Public Safety","24":"Vodafone Global","25":"Orange","26":"Southern Linc","27":"OPTIO","28":"India","29":"SPRINT","30":"JVCK","31":"AUSTRALIA","32":"ACG","33":"CSPHIRE","34":"US-Cellular","multi_carrier":"Multi Carrier"}}
3. Launch flash tool and login with Username=1 / Password=1

The flashtool seems to be a UI front end for invoking methods defined within Qualcomm library's. It's very basic essentially so I have been avoiding it until now but it may be a good option for this debug image so I wanted to share what I know so far.
8th November 2019, 12:23 AM |#84  
Member
Thanks Meter: 13
 
More
Quote:
Originally Posted by smokeyou

It hasn't seeded out yet but should be available. My wimpy google drive is full and I personally avoid malware carriers such as androidfilehost. It should go once the servers have bandwidth. If not ill have to figure out another way to send it over after work here.

This is a great file set! I'll plan to review in greater detail as I believe this will allow others to unlock the bootloader. Unlocking is not not really required nor useful currently however it may help with some of the gsi efforts.

Sonim included a handy backdoor. If you have the XP8 flash tool for this file set then we can try the following..

1. Prevent server communication by adding a hosts file entry
sonimexperiance.com 127.0.0.1
2. Create testlogin.txt within the XP8 flash tool install directory

Code:
{"status":"success","message":"1 successfully logged in","name":"1","activetabs":["download_tool","qcn_backup_restore"],"carriers":["00"],"multi_carrier":true,"phone_model":["8A"],"edl_user":"Yes","emc":"Yes","carrier_list":{"00":"Generic","10":"AT&T","11":"Bell","12":"Telus","13":"Sasktel","14":"Harris","15":"Verizon","16":"Ecom","17":"NAM","18":"Rogers","19":"T-Mobile","20":"EU Generic","21":"MSI","22":"CISCO","23":"NAM Public Safety","24":"Vodafone Global","25":"Orange","26":"Southern Linc","27":"OPTIO","28":"India","29":"SPRINT","30":"JVCK","31":"AUSTRALIA","32":"ACG","33":"CSPHIRE","34":"US-Cellular","multi_carrier":"Multi Carrier"}}
3. Launch flash tool and login with Username=1 / Password=1

The flashtool seems to be a UI front end for invoking methods defined within Qualcomm library's. It's very basic essentially so I have been avoiding it until now but it may be a good option for this debug image so I wanted to share what I know so far.

SONIM xp8 upgrade tool I am always looking for


XP8 image download tool QPST can be used directly, I have been using QPST to download to XP5 XP7 XP8
Hi XP5S XP8800 link no resources available

QPST can also unlock mobile radio via QCN


The segmented graphics that are pulled out can be generated by XML after a total file is parsed and then modified by the decomposition tool. After the new file is segmented by XML, QPST can be downloaded.


Can XP5S elf XML four files be uploaded?
8th November 2019, 05:56 PM |#85  
Member
Thanks Meter: 3
 
More
Quote:
Originally Posted by eleotk

SONIM xp8 upgrade tool I am always looking for


XP8 image download tool QPST can be used directly, I have been using QPST to download to XP5 XP7 XP8
Hi XP5S XP8800 link no resources available

QPST can also unlock mobile radio via QCN


The segmented graphics that are pulled out can be generated by XML after a total file is parsed and then modified by the decomposition tool. After the new file is segmented by XML, QPST can be downloaded.


Can XP5S elf XML four files be uploaded?

I'm unable to make a lot of since of what your trying to say here but I think we are on the same page at least. Functionally the method works great as this how Sonim does it however practically for a backup scenario this will generate a few hundred files more then you actually need while skipping over critical sectors .

QPST or tools included within the suite such as QFil work very similarly. If you look at the XP8 flash tool - it's basically just a Sonim branded wrapper around the same Qualcomm library's used under the QPST suite.

Prior to XML conversion, the parsed GPT looks like this.. Sonim factory images like the one here only cover the chunks they need essentially.
Code:
-----------------------
------Header Info------
-----------------------
# of Entries      72
Signature:        6075990659671082565
HeaderSize:       92
HeaderCRC32:      589562360
ArrayCRC32:       3800902740
MyLBA:            1
AlternateLBA:     122142719
PartitionEntryLBA:2
FirstUsableLBA:   34
LastUsableLBA:    122142686
DiskGUID_higher:  7860749167125229759
DiskGUID_lower:   541926384889619150

-----------------------
----Partition Info-----
-----------------------
Entry Number:       0
PartitionName:      xbl_a
Attributes:         1172061803023171584
UniquePartitionGUID:4484B5B7D865CB69CF0F54C5BE34C851
PartitionTypeGUID:  DEA0BA2CCBDD4805B4F9F428251C3E98
StartSector:        131072
EndSector:          138239
SectorCount:        7168

Entry Number:       1
PartitionName:      xbl_b
Attributes:         1152921504606846976
UniquePartitionGUID:2BC5464E748F13DBD5E985E087EEAA45
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        138240
EndSector:          145407
SectorCount:        7168

Entry Number:       2
PartitionName:      tz_a
Attributes:         1172061803023171584
UniquePartitionGUID:F1BA22F467353B384DECB237648A4DAF
PartitionTypeGUID:  A053AA7F40B84B1CBA082F68AC71A4F4
StartSector:        145408
EndSector:          153599
SectorCount:        8192

Entry Number:       3
PartitionName:      tz_b
Attributes:         1152921504606846976
UniquePartitionGUID:A763C81E365A1F3F5DF4CD78C90B219F
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        153600
EndSector:          161791
SectorCount:        8192

Entry Number:       4
PartitionName:      rpm_a
Attributes:         1172061803023171584
UniquePartitionGUID:F41C1A242EA5EB499C655A3C7849E6EA
PartitionTypeGUID:  098DF793D712413D9D4E89D711772228
StartSector:        161792
EndSector:          162815
SectorCount:        1024

Entry Number:       5
PartitionName:      rpm_b
Attributes:         1152921504606846976
UniquePartitionGUID:9C7D2E0D9DF21271BCF59B30483B102F
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        162816
EndSector:          163839
SectorCount:        1024

Entry Number:       6
PartitionName:      hyp_a
Attributes:         1172061803023171584
UniquePartitionGUID:B2BF9289790336DED70840A5BD9E584E
PartitionTypeGUID:  E1A6A6890C8D4CC6B4E855A4320FBD8A
StartSector:        163840
EndSector:          164863
SectorCount:        1024

Entry Number:       7
PartitionName:      hyp_b
Attributes:         1152921504606846976
UniquePartitionGUID:66126601E5DB4EF54F570CA629799C76
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        164864
EndSector:          165887
SectorCount:        1024

Entry Number:       8
PartitionName:      pmic_a
Attributes:         1172061803023171584
UniquePartitionGUID:00183D0361E38A4859B4BC5A921F65A8
PartitionTypeGUID:  C00EEF24770943D69799DD2B411E7A3C
StartSector:        165888
EndSector:          166911
SectorCount:        1024

Entry Number:       9
PartitionName:      pmic_b
Attributes:         1152921504606846976
UniquePartitionGUID:AD94DE481B30EB47394C29E8A101FC0E
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        166912
EndSector:          167935
SectorCount:        1024

Entry Number:       10
PartitionName:      fsg
Attributes:         1152921504606846976
UniquePartitionGUID:D17E31B85AFF4E0A7F9795BFA062AAED
PartitionTypeGUID:  638FF8E222C9E33B8F5D0E81686A68CB
StartSector:        167936
EndSector:          172031
SectorCount:        4096

Entry Number:       11
PartitionName:      boot_a
Attributes:         33495522228568064
UniquePartitionGUID:35F6A5CAF83D2A02FEA4FE3829507AE9
PartitionTypeGUID:  20117F86E9854357B9EE374BC1D8487D
StartSector:        262144
EndSector:          393215
SectorCount:        131072

Entry Number:       12
PartitionName:      boot_b
Attributes:         0
UniquePartitionGUID:34146781ABAF544D73B0C60992991A16
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        393216
EndSector:          524287
SectorCount:        131072

Entry Number:       13
PartitionName:      system_a
Attributes:         19140298416324608
UniquePartitionGUID:03D951970B4C82F2E18E50494F7DF348
PartitionTypeGUID:  97D7B01154DA4835B3C4917AD6E73D74
StartSector:        524288
EndSector:          8912895
SectorCount:        8388608

Entry Number:       14
PartitionName:      system_b
Attributes:         0
UniquePartitionGUID:D268C33C06054E69154612A4A09B9615
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        8912896
EndSector:          17301503
SectorCount:        8388608

Entry Number:       15
PartitionName:      vendor_a
Attributes:         1172061803023171584
UniquePartitionGUID:59F1157105A6234926D6694E53399D87
PartitionTypeGUID:  97D7B01154DA4835B3C4917AD6E73D74
StartSector:        17301504
EndSector:          19398655
SectorCount:        2097152

Entry Number:       16
PartitionName:      vendor_b
Attributes:         1152921504606846976
UniquePartitionGUID:DE1C3DC592719CD9FBC72E8E29DB0DDB
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        19398656
EndSector:          21495807
SectorCount:        2097152

Entry Number:       17
PartitionName:      oem_a
Attributes:         1154047404513689600
UniquePartitionGUID:D10B3B9617493B2AC46E52F8CB1AA877
PartitionTypeGUID:  9F1088E080E949718A01E41F8A5125F5
StartSector:        21495808
EndSector:          22544383
SectorCount:        1048576

Entry Number:       18
PartitionName:      oem_b
Attributes:         1152921504606846976
UniquePartitionGUID:5BD858D79751454B85CE2A4CFE76EC1B
PartitionTypeGUID:  7F75A567CF614E54A5BA46C724058B38
StartSector:        22544384
EndSector:          23592959
SectorCount:        1048576

Entry Number:       19
PartitionName:      keymaster_a
Attributes:         1172061803023171584
UniquePartitionGUID:C39101EDA3E8DC59872A410DB6B75AFC
PartitionTypeGUID:  A11D2A7CD82A4C2F8A011805240E6626
StartSector:        23592960
EndSector:          23595007
SectorCount:        2048

Entry Number:       20
PartitionName:      keymaster_b
Attributes:         1152921504606846976
UniquePartitionGUID:5BF8F4C06949214690F55D3326436235
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        23595008
EndSector:          23597055
SectorCount:        2048

Entry Number:       21
PartitionName:      cmnlib_a
Attributes:         1172061803023171584
UniquePartitionGUID:7423F861179F6D1E3B97AC918BBDC80F
PartitionTypeGUID:  73471795AB5443F9A8474F72EA5CBEF5
StartSector:        23597056
EndSector:          23599103
SectorCount:        2048

Entry Number:       22
PartitionName:      cmnlib64_a
Attributes:         1172061803023171584
UniquePartitionGUID:5E9BB1B2C821BCCFC76D017CE307A5AB
PartitionTypeGUID:  8EA6489312674A1B947C7C362ACAAD2C
StartSector:        23599104
EndSector:          23601151
SectorCount:        2048

Entry Number:       23
PartitionName:      cmnlib_b
Attributes:         1152921504606846976
UniquePartitionGUID:4396985DDDF8745786D2527B11A9A3ED
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        23601152
EndSector:          23603199
SectorCount:        2048

Entry Number:       24
PartitionName:      cmnlib64_b
Attributes:         1152921504606846976
UniquePartitionGUID:55F4E17B8B8446028AB296482B9F7C7B
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        23603200
EndSector:          23605247
SectorCount:        2048

Entry Number:       25
PartitionName:      mdtpsecapp_a
Attributes:         1172061803023171584
UniquePartitionGUID:BE4C9CE400AC841ACDCC6F29189FCC60
PartitionTypeGUID:  EA02D68087124552A3BEE6087829C1E6
StartSector:        23605248
EndSector:          23613439
SectorCount:        8192

Entry Number:       26
PartitionName:      mdtpsecapp_b
Attributes:         1152921504606846976
UniquePartitionGUID:1A05DE4148CB4277AA214BADA840E37A
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        23613440
EndSector:          23621631
SectorCount:        8192

Entry Number:       27
PartitionName:      mdtp_a
Attributes:         1172061803023171584
UniquePartitionGUID:80723EAB1E02B4767A8CE0516F760047
PartitionTypeGUID:  3878408AE2634B67B8786340B35B11E3
StartSector:        23621632
EndSector:          23687167
SectorCount:        65536

Entry Number:       28
PartitionName:      mdtp_b
Attributes:         1152921504606846976
UniquePartitionGUID:36679842C7AE4B39685C61A5E7C71C20
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        23687168
EndSector:          23752703
SectorCount:        65536

Entry Number:       29
PartitionName:      modem_a
Attributes:         1172061803023171584
UniquePartitionGUID:393E8968D30CCE34A3D4834C32786E78
PartitionTypeGUID:  EBD0A0A2B9E5443387C068B6B72699C7
StartSector:        23752704
EndSector:          23977983
SectorCount:        225280

Entry Number:       30
PartitionName:      modem_b
Attributes:         1152921504606846976
UniquePartitionGUID:09E68ACEA2BD6EFB1E87560360DA00E6
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        23977984
EndSector:          24203263
SectorCount:        225280

Entry Number:       31
PartitionName:      dsp_a
Attributes:         1172061803023171584
UniquePartitionGUID:C3A6FF1EE3FDBDCD29291FCB8E121D9A
PartitionTypeGUID:  7EFE50102A1A4A1AB8BC990257813512
StartSector:        24203264
EndSector:          24236031
SectorCount:        32768

Entry Number:       32
PartitionName:      dsp_b
Attributes:         1152921504606846976
UniquePartitionGUID:C9E203F51348E00AE482E5BD79142D3E
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        24236032
EndSector:          24268799
SectorCount:        32768

Entry Number:       33
PartitionName:      reserve3
Attributes:         1152921504606846976
UniquePartitionGUID:5A0E2EF8FD223B7B3CE512D76EF30ED1
PartitionTypeGUID:  84E6728FA5AD4C98A791F41350E9AE7D
StartSector:        24268800
EndSector:          24286839
SectorCount:        18040

Entry Number:       34
PartitionName:      abl_a
Attributes:         1172061803023171584
UniquePartitionGUID:484B9D6361CBA44FDBAFAAF0E21D535F
PartitionTypeGUID:  BD6928A14CE0A0384F3A1495E3EDDFFB
StartSector:        24286840
EndSector:          24288887
SectorCount:        2048

Entry Number:       35
PartitionName:      abl_b
Attributes:         1152921504606846976
UniquePartitionGUID:62D9848A322A06C284B687570FDCA29C
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        24288888
EndSector:          24290935
SectorCount:        2048

Entry Number:       36
PartitionName:      dip
Attributes:         1152921504606846976
UniquePartitionGUID:AF07D06179195F7DDD4118E29578686E
PartitionTypeGUID:  4114B077005D4E12AC8CB493BDA684FB
StartSector:        24290936
EndSector:          24292983
SectorCount:        2048

Entry Number:       37
PartitionName:      devinfo
Attributes:         1152921504606846976
UniquePartitionGUID:8EB270F691DF25852D43C9D03C858006
PartitionTypeGUID:  65ADDCF40C5C4D9AAC2DD90B5CBFCD03
StartSector:        24292984
EndSector:          24292991
SectorCount:        8

Entry Number:       38
PartitionName:      apdp
Attributes:         1152921504606846976
UniquePartitionGUID:629D9CA3D7CC2B58CEC7807F3891B286
PartitionTypeGUID:  E6E98DA2E22A4D12AB33169E7DEAA507
StartSector:        24292992
EndSector:          24293503
SectorCount:        512

Entry Number:       39
PartitionName:      msadp
Attributes:         1152921504606846976
UniquePartitionGUID:271EC8E83092F44EA04EDF4BF21FCA74
PartitionTypeGUID:  ED9E810105FA46B782AA8D58770D200B
StartSector:        24293504
EndSector:          24294015
SectorCount:        512

Entry Number:       40
PartitionName:      dpo
Attributes:         1152921504606846976
UniquePartitionGUID:4AC79A2F8E8BF413B3608C6F052393DE
PartitionTypeGUID:  11406F3511734869807B27DF71802812
StartSector:        24294016
EndSector:          24294017
SectorCount:        2

Entry Number:       41
PartitionName:      splash
Attributes:         1152921504606846976
UniquePartitionGUID:FFC2D7C49FF6214F4DD33DA230E8C940
PartitionTypeGUID:  AD99F201DC714E309630E19EEF553D1B
StartSector:        24294024
EndSector:          24360871
SectorCount:        66848

Entry Number:       42
PartitionName:      limits
Attributes:         1152921504606846976
UniquePartitionGUID:FE933C1E602586E8293350991315EED3
PartitionTypeGUID:  10A0C19C516A54445CE3664C3226A794
StartSector:        24360872
EndSector:          24360879
SectorCount:        8

Entry Number:       43
PartitionName:      toolsfv
Attributes:         1152921504606846976
UniquePartitionGUID:EE5BE8BADAD8C6808BE88DBFDD37ECF6
PartitionTypeGUID:  97745ABA135A44C39ADC05616173C24C
StartSector:        24360880
EndSector:          24362927
SectorCount:        2048

Entry Number:       44
PartitionName:      logfs
Attributes:         0
UniquePartitionGUID:B0DBDDF823525A7DBE7D4A8DE5CE4EEF
PartitionTypeGUID:  E4BE69BF300E42A18A49A5AD554EE25D
StartSector:        24379392
EndSector:          24395775
SectorCount:        16384

Entry Number:       45
PartitionName:      reserve4
Attributes:         1152921504606846976
UniquePartitionGUID:C7E0BC4ABF091F27EE88FD8D9080646A
PartitionTypeGUID:  D6D91F37FBCE41B0B838B83BC46ABA40
StartSector:        24510464
EndSector:          24525735
SectorCount:        15272

Entry Number:       46
PartitionName:      reserve5
Attributes:         1152921504606846976
UniquePartitionGUID:5102BC03589B7919F05FEF1A43CA0E57
PartitionTypeGUID:  4BFE1EF93DC449389E09695AB87BE9BF
StartSector:        24525736
EndSector:          24537383
SectorCount:        11648

Entry Number:       47
PartitionName:      reserve0
Attributes:         1152921504606846976
UniquePartitionGUID:4515120742DF492070EEF1445A85B71A
PartitionTypeGUID:  20A11580EA2F49D38E2367A726B52C41
StartSector:        24537384
EndSector:          24547023
SectorCount:        9640

Entry Number:       48
PartitionName:      ddr
Attributes:         1152921504606846976
UniquePartitionGUID:AD825D40C9EFA83494C1FEFAA112DB71
PartitionTypeGUID:  20A0C19C286A42FA9CE7F64C3226A794
StartSector:        24547024
EndSector:          24549071
SectorCount:        2048

Entry Number:       49
PartitionName:      sec
Attributes:         1152921504606846976
UniquePartitionGUID:250A9842CB68D2A73AC7F284850B3641
PartitionTypeGUID:  303E6AC3AF154C549E9BD9A8FBECF401
StartSector:        24549072
EndSector:          24549103
SectorCount:        32

Entry Number:       50
PartitionName:      bluetooth_a
Attributes:         1172061803023171584
UniquePartitionGUID:2703910AE004776EF59EF8EF85953C5F
PartitionTypeGUID:  6CB747F1C2EF4092ADD0CA39F79C7AF4
StartSector:        24549104
EndSector:          24551151
SectorCount:        2048

Entry Number:       51
PartitionName:      bluetooth_b
Attributes:         1152921504606846976
UniquePartitionGUID:A958B6588FB4EB36F89B2A8D95D0AB1D
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        24551152
EndSector:          24553199
SectorCount:        2048

Entry Number:       52
PartitionName:      fsc
Attributes:         0
UniquePartitionGUID:DE611F06533FECA77F22BF6DAF56A2BD
PartitionTypeGUID:  57B90A1622C9E33B8F5D0E81686A68CB
StartSector:        24641536
EndSector:          24641537
SectorCount:        2

Entry Number:       53
PartitionName:      ssd
Attributes:         0
UniquePartitionGUID:9635D07377F397B26A9DB2A244880BD8
PartitionTypeGUID:  2C86E742745E4FDDBFD8B6A7AC638772
StartSector:        24641544
EndSector:          24641559
SectorCount:        16

Entry Number:       54
PartitionName:      modemst1
Attributes:         0
UniquePartitionGUID:A3A279323835D88D3B7FC0C84BD56CD2
PartitionTypeGUID:  EBBEADAF22C9E33B8F5D0E81686A68CB
StartSector:        24641560
EndSector:          24645655
SectorCount:        4096

Entry Number:       55
PartitionName:      modemst2
Attributes:         0
UniquePartitionGUID:633126E914581D8671DD28909F6624AC
PartitionTypeGUID:  0A288B1F22C9E33B8F5D0E81686A68CB
StartSector:        24645656
EndSector:          24649751
SectorCount:        4096

Entry Number:       56
PartitionName:      persist
Attributes:         0
UniquePartitionGUID:A7D5F7D5DB347144DD13A781A33E2B96
PartitionTypeGUID:  6C95E238E3434BA8B4898681ED22AD0B
StartSector:        24649752
EndSector:          24715287
SectorCount:        65536

Entry Number:       57
PartitionName:      misc
Attributes:         0
UniquePartitionGUID:A6671984FACF80CEF74ECCB5E18D8EF1
PartitionTypeGUID:  82ACC91F357C4A689C8F689E1B1A23A1
StartSector:        24715288
EndSector:          24717335
SectorCount:        2048

Entry Number:       58
PartitionName:      keystore
Attributes:         0
UniquePartitionGUID:808BB0E03AEBE060B0ACAAD893AC43B5
PartitionTypeGUID:  DE7D40290F5B41C8AE7EF6C023A02B33
StartSector:        24717336
EndSector:          24718359
SectorCount:        1024

Entry Number:       59
PartitionName:      devcfg_a
Attributes:         19140298416324608
UniquePartitionGUID:F5175F8647257A4DB10FF3CA59532B54
PartitionTypeGUID:  F65D4B16343D4E25AAFCBE99B6556A6D
StartSector:        24718360
EndSector:          24720407
SectorCount:        2048

Entry Number:       60
PartitionName:      devcfg_b
Attributes:         0
UniquePartitionGUID:DE2C3DD7FC55FDA74B4D648B3ED5D73D
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        24720408
EndSector:          24722455
SectorCount:        2048

Entry Number:       61
PartitionName:      frp
Attributes:         0
UniquePartitionGUID:7956EE4368C9960F13A7237D99429C50
PartitionTypeGUID:  91B72D4D71E04CBF9B8E236381CFF17A
StartSector:        24722456
EndSector:          24723479
SectorCount:        1024

Entry Number:       62
PartitionName:      logdump
Attributes:         0
UniquePartitionGUID:F2ACF659E44CA652958B022F82A697A4
PartitionTypeGUID:  5AF80809AABB49439168CDFC38742598
StartSector:        24723480
EndSector:          24854551
SectorCount:        131072

Entry Number:       63
PartitionName:      sti
Attributes:         0
UniquePartitionGUID:78B4C09575E004F0F0F1538C9F7D7AA5
PartitionTypeGUID:  AA9A5C4C4F1F7D3A014A22BD33BF7191
StartSector:        24854552
EndSector:          24858647
SectorCount:        4096

Entry Number:       64
PartitionName:      storsec
Attributes:         1152921504606846976
UniquePartitionGUID:9D4F6A07A696E3631A465981B5FAFA81
PartitionTypeGUID:  02DB45FEAD1B4CB6AECC0042C637DEFA
StartSector:        24903680
EndSector:          24903935
SectorCount:        256

Entry Number:       65
PartitionName:      rawdump
Attributes:         0
UniquePartitionGUID:82BAD4D153AEE3A18AB9D25EF2B3C673
PartitionTypeGUID:  66C9B323F7FC48B6BF966F32E335A428
StartSector:        25034752
EndSector:          25296895
SectorCount:        262144

Entry Number:       66
PartitionName:      vbmeta_a
Attributes:         1154047404513689600
UniquePartitionGUID:6189F426220BC850D306B03896566C77
PartitionTypeGUID:  4B7A15D6322C42AC811088B7DA0C5D77
StartSector:        25296896
EndSector:          25297023
SectorCount:        128

Entry Number:       67
PartitionName:      vbmeta_b
Attributes:         1152921504606846976
UniquePartitionGUID:0E35F237C91EF9799ECD3FE55FB9BA56
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        25297024
EndSector:          25297151
SectorCount:        128

Entry Number:       68
PartitionName:      userdata
Attributes:         0
UniquePartitionGUID:94A1AF557C6CD99AA52CA203DEF1DF14
PartitionTypeGUID:  1B81E7E6F50D419BA7392AEEF8DA3335
StartSector:        25427968
EndSector:          122142686
SectorCount:        96714719

I'm sure many methods exist but the best way I found to parse the GPT is to simply use Qualcomm methods provided under SubSysSwDownload.dll. This DLL is hard to find as it's part of DART but it's there on the internet. Create a new VS project using the sample code below while referencing the required dll. This will parse the live GPT from the device and produce an accurate rawprogram0 xml.

Code:
using SwDownload;
using System.Diagnostics;
using System.Threading;
using System.IO;
using System;
namespace GPTConsole{
    class Program{
        static void Main(string[] args)
        {
            string arg0 = "";
            string arg1 = "";
            string startsector = "";
            Console.WriteLine(args.Length);
            if (args.Length != 0) {
                arg0 = args[0];
                if (args.Length == 1) startsector = "1";
                if (args.Length == 2) startsector = args[1]; 
            }
            else
            {
                Console.WriteLine("Please provide a COM Port # - Example: GPTConsole 14");
            }           
            

            string XMLFile = "rawprogram0.xml";
            if (File.Exists(XMLFile)) File.Delete(XMLFile);
            StreamWriter sw1 = new StreamWriter(XMLFile);
            sw1.WriteLine("<?xml version=\"1.0\"?>");
            sw1.WriteLine("<data>");
            sw1.WriteLine("  <!--NOTE: This is an ** Autogenerated file **-->");
            sw1.WriteLine("  <!--NOTE: Sector size is 512bytes-->");
            try
            {
                using (Process myProcess = new Process())
                {
                    myProcess.StartInfo.FileName = "fh_loader.exe";
                    myProcess.StartInfo.Arguments = ("--port=\\\\.\\COM" + arg0 + " --convertprogram2read --sendimage=gpt_header --start_sector=" + startsector + " --lun=0 --num_sectors=1 --noprompt --showpercentagecomplete --zlpawarehost=1 --memoryname=emmc");
                    myProcess.StartInfo.UseShellExecute = false;
                    myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
                    myProcess.StartInfo.RedirectStandardOutput = true;
                    myProcess.StartInfo.RedirectStandardError = true;
                    myProcess.Start();
                    Thread.Sleep(2000);
                    myProcess.Close();
                }

                gpt_header_t HInfo = GPTParser.ParseGPTHeader("gpt_header");
                Console.WriteLine("-----------------------");
                Console.WriteLine("------Header Info------");
                Console.WriteLine("-----------------------");
                Console.WriteLine("# of Entries       " + HInfo.NumberofPartitionEntries);
                Console.WriteLine("Signature:         " + HInfo.Signature);
                Console.WriteLine("HeaderSize:        " + HInfo.HeaderSize);
                Console.WriteLine("HeaderCRC32:       " + HInfo.HeaderCRC32);
                Console.WriteLine("ArrayCRC32:        " + HInfo.PartitionEntryArrayCRC32);
                Console.WriteLine("MyLBA:             " + HInfo.MyLBA);
                Console.WriteLine("AlternateLBA:      " + HInfo.AlternateLBA);
                Console.WriteLine("PartitionEntryLBA: " + HInfo.PartitionEntryLBA);
                Console.WriteLine("FirstUsableLBA:    " + HInfo.FirstUsableLBA);
                Console.WriteLine("LastUsableLBA:     " + HInfo.LastUsableLBA);
                Console.WriteLine("DiskGUID_higher:   " + HInfo.DiskGUID_higher);
                Console.WriteLine("DiskGUID_lower:    " + HInfo.DiskGUID_lower);
                Console.WriteLine();
                Console.WriteLine("-----------------------");
                Console.WriteLine("----Partition Info-----");
                Console.WriteLine("-----------------------");

                using (Process myProcess2 = new Process())
                {
                    myProcess2.StartInfo.FileName = "fh_loader.exe";
                    myProcess2.StartInfo.Arguments = ("--port=\\\\.\\COM" + arg0 + " --convertprogram2read --sendimage=gpt_entries --start_sector=" + HInfo.PartitionEntryLBA + " --lun=0 --noprompt --num_sectors=20 --showpercentagecomplete --zlpawarehost=1 --memoryname=emmc");
                    myProcess2.StartInfo.UseShellExecute = false;
                    myProcess2.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
                    myProcess2.StartInfo.RedirectStandardOutput = true;
                    myProcess2.StartInfo.RedirectStandardError = true;
                    myProcess2.Start();
                    Thread.Sleep(2000);
                    myProcess2.Close();
                }
                
                partition_info_list PIList = GPTParser.ParseGPTEntries("gpt_entries", HInfo.NumberofPartitionEntries, HInfo.SizeOfPartitionEntry);
                Int32 CurrentPart = 0;
                foreach (var item in PIList)
                {
                    string size = (item.EndingLBA - item.StartingLBA + 1L).ToString(); 
                    Console.WriteLine("Entry Number:        " + CurrentPart);                    
                    Console.WriteLine("PartitionName:       " + item.PartitionName);
                    Console.WriteLine("Attributes:          " + item.Attributes);
                    Console.WriteLine("PartitionGUIDRaw:    " + item.UniquePartitionGUID);
                    Console.WriteLine("PartitionGUIDPrint:  " + item.UniquePartitionGUID_Printable);
                    Console.WriteLine("TypeGUIDRaw:         " + item.PartitionTypeGUID);
                    Console.WriteLine("TypeGUIDPrint:       " + item.UniquePartitionGUID_Printable);
                    Console.WriteLine("StartSector:         " + item.StartingLBA);
                    Console.WriteLine("EndSector:           " + item.EndingLBA);
                    Console.WriteLine("SectorCount:         " + size);
                    Console.WriteLine();
                    sw1.WriteLine("<program SECTOR_SIZE_IN_BYTES=\"512\" file_sector_offset=\"0\" start_sector=\"" + item.StartingLBA + "\" sparse=\"false\" readbackverify=\"false\" physical_partition_number=\"0\" partofsingleimage=\"false\" num_partition_sectors=\"" + size + "\" label=\"" + item.PartitionName + "\" filename=\"" + item.PartitionName + ".img\" />");
                    CurrentPart = CurrentPart + 1;
                }
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
            }

            sw1.WriteLine("</data>");
            sw1.Close();
            Console.ReadLine();
            }        
    }
}
(All XML data posted by me has been validated under this method)

So this seems to be the vanilla (non-carrier specific) firmware variant. Since USCellular does not appear to carry the XP8, I'm assuming USC means "US Carriers". With the image applied the device only produces Sonim branding on boot and no pre-loaded apps exist aside from a few engineering apps due to this being a USERDEBUG variant.

Bootloader can be unlocked easily however still remains with limited functionality. Also hitting the intrusive red eio screen at boot with/without a locked bootloader. After flashing back to AT&T the eio is gone and bootloader remains unlocked also. It seems like this early debug variant does not contain verity data (causing eio errors) - or this could be stored somewhere else on the device and I'm just missing it.

The GPT is the same as we have seen with AT&T and Telus making flashing easy. No OTA unfortunately however I have a feeling that we can force an update by changing the build fingerprint to a non-debug string. Have you done testing around this aspect by chance?

Did that XP5s download ever kick off for you?
8th November 2019, 10:56 PM |#86  
Member
Thanks Meter: 13
 
More
Did that XP5s download ever kick off for you?[/QUOTE]

XP5s link still has no resources for one day
9th November 2019, 12:21 AM |#87  
Member
Thanks Meter: 13
 
More
Quote:
Originally Posted by smokeyou

I'm unable to make a lot of since of what your trying to say here but I think we are on the same page at least. Functionally the method works great as this how Sonim does it however practically for a backup scenario this will generate a few hundred files more then you actually need while skipping over critical sectors .

QPST or tools included within the suite such as QFil work very similarly. If you look at the XP8 flash tool - it's basically just a Sonim branded wrapper around the same Qualcomm library's used under the QPST suite.

Prior to XML conversion, the parsed GPT looks like this.. Sonim factory images like the one here only cover the chunks they need essentially.

Code:
-----------------------
------Header Info------
-----------------------
# of Entries      72
Signature:        6075990659671082565
HeaderSize:       92
HeaderCRC32:      589562360
ArrayCRC32:       3800902740
MyLBA:            1
AlternateLBA:     122142719
PartitionEntryLBA:2
FirstUsableLBA:   34
LastUsableLBA:    122142686
DiskGUID_higher:  7860749167125229759
DiskGUID_lower:   541926384889619150

-----------------------
----Partition Info-----
-----------------------
Entry Number:       0
PartitionName:      xbl_a
Attributes:         1172061803023171584
UniquePartitionGUID:4484B5B7D865CB69CF0F54C5BE34C851
PartitionTypeGUID:  DEA0BA2CCBDD4805B4F9F428251C3E98
StartSector:        131072
EndSector:          138239
SectorCount:        7168

Entry Number:       1
PartitionName:      xbl_b
Attributes:         1152921504606846976
UniquePartitionGUID:2BC5464E748F13DBD5E985E087EEAA45
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        138240
EndSector:          145407
SectorCount:        7168

Entry Number:       2
PartitionName:      tz_a
Attributes:         1172061803023171584
UniquePartitionGUID:F1BA22F467353B384DECB237648A4DAF
PartitionTypeGUID:  A053AA7F40B84B1CBA082F68AC71A4F4
StartSector:        145408
EndSector:          153599
SectorCount:        8192

Entry Number:       3
PartitionName:      tz_b
Attributes:         1152921504606846976
UniquePartitionGUID:A763C81E365A1F3F5DF4CD78C90B219F
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        153600
EndSector:          161791
SectorCount:        8192

Entry Number:       4
PartitionName:      rpm_a
Attributes:         1172061803023171584
UniquePartitionGUID:F41C1A242EA5EB499C655A3C7849E6EA
PartitionTypeGUID:  098DF793D712413D9D4E89D711772228
StartSector:        161792
EndSector:          162815
SectorCount:        1024

Entry Number:       5
PartitionName:      rpm_b
Attributes:         1152921504606846976
UniquePartitionGUID:9C7D2E0D9DF21271BCF59B30483B102F
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        162816
EndSector:          163839
SectorCount:        1024

Entry Number:       6
PartitionName:      hyp_a
Attributes:         1172061803023171584
UniquePartitionGUID:B2BF9289790336DED70840A5BD9E584E
PartitionTypeGUID:  E1A6A6890C8D4CC6B4E855A4320FBD8A
StartSector:        163840
EndSector:          164863
SectorCount:        1024

Entry Number:       7
PartitionName:      hyp_b
Attributes:         1152921504606846976
UniquePartitionGUID:66126601E5DB4EF54F570CA629799C76
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        164864
EndSector:          165887
SectorCount:        1024

Entry Number:       8
PartitionName:      pmic_a
Attributes:         1172061803023171584
UniquePartitionGUID:00183D0361E38A4859B4BC5A921F65A8
PartitionTypeGUID:  C00EEF24770943D69799DD2B411E7A3C
StartSector:        165888
EndSector:          166911
SectorCount:        1024

Entry Number:       9
PartitionName:      pmic_b
Attributes:         1152921504606846976
UniquePartitionGUID:AD94DE481B30EB47394C29E8A101FC0E
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        166912
EndSector:          167935
SectorCount:        1024

Entry Number:       10
PartitionName:      fsg
Attributes:         1152921504606846976
UniquePartitionGUID:D17E31B85AFF4E0A7F9795BFA062AAED
PartitionTypeGUID:  638FF8E222C9E33B8F5D0E81686A68CB
StartSector:        167936
EndSector:          172031
SectorCount:        4096

Entry Number:       11
PartitionName:      boot_a
Attributes:         33495522228568064
UniquePartitionGUID:35F6A5CAF83D2A02FEA4FE3829507AE9
PartitionTypeGUID:  20117F86E9854357B9EE374BC1D8487D
StartSector:        262144
EndSector:          393215
SectorCount:        131072

Entry Number:       12
PartitionName:      boot_b
Attributes:         0
UniquePartitionGUID:34146781ABAF544D73B0C60992991A16
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        393216
EndSector:          524287
SectorCount:        131072

Entry Number:       13
PartitionName:      system_a
Attributes:         19140298416324608
UniquePartitionGUID:03D951970B4C82F2E18E50494F7DF348
PartitionTypeGUID:  97D7B01154DA4835B3C4917AD6E73D74
StartSector:        524288
EndSector:          8912895
SectorCount:        8388608

Entry Number:       14
PartitionName:      system_b
Attributes:         0
UniquePartitionGUID:D268C33C06054E69154612A4A09B9615
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        8912896
EndSector:          17301503
SectorCount:        8388608

Entry Number:       15
PartitionName:      vendor_a
Attributes:         1172061803023171584
UniquePartitionGUID:59F1157105A6234926D6694E53399D87
PartitionTypeGUID:  97D7B01154DA4835B3C4917AD6E73D74
StartSector:        17301504
EndSector:          19398655
SectorCount:        2097152

Entry Number:       16
PartitionName:      vendor_b
Attributes:         1152921504606846976
UniquePartitionGUID:DE1C3DC592719CD9FBC72E8E29DB0DDB
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        19398656
EndSector:          21495807
SectorCount:        2097152

Entry Number:       17
PartitionName:      oem_a
Attributes:         1154047404513689600
UniquePartitionGUID:D10B3B9617493B2AC46E52F8CB1AA877
PartitionTypeGUID:  9F1088E080E949718A01E41F8A5125F5
StartSector:        21495808
EndSector:          22544383
SectorCount:        1048576

Entry Number:       18
PartitionName:      oem_b
Attributes:         1152921504606846976
UniquePartitionGUID:5BD858D79751454B85CE2A4CFE76EC1B
PartitionTypeGUID:  7F75A567CF614E54A5BA46C724058B38
StartSector:        22544384
EndSector:          23592959
SectorCount:        1048576

Entry Number:       19
PartitionName:      keymaster_a
Attributes:         1172061803023171584
UniquePartitionGUID:C39101EDA3E8DC59872A410DB6B75AFC
PartitionTypeGUID:  A11D2A7CD82A4C2F8A011805240E6626
StartSector:        23592960
EndSector:          23595007
SectorCount:        2048

Entry Number:       20
PartitionName:      keymaster_b
Attributes:         1152921504606846976
UniquePartitionGUID:5BF8F4C06949214690F55D3326436235
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        23595008
EndSector:          23597055
SectorCount:        2048

Entry Number:       21
PartitionName:      cmnlib_a
Attributes:         1172061803023171584
UniquePartitionGUID:7423F861179F6D1E3B97AC918BBDC80F
PartitionTypeGUID:  73471795AB5443F9A8474F72EA5CBEF5
StartSector:        23597056
EndSector:          23599103
SectorCount:        2048

Entry Number:       22
PartitionName:      cmnlib64_a
Attributes:         1172061803023171584
UniquePartitionGUID:5E9BB1B2C821BCCFC76D017CE307A5AB
PartitionTypeGUID:  8EA6489312674A1B947C7C362ACAAD2C
StartSector:        23599104
EndSector:          23601151
SectorCount:        2048

Entry Number:       23
PartitionName:      cmnlib_b
Attributes:         1152921504606846976
UniquePartitionGUID:4396985DDDF8745786D2527B11A9A3ED
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        23601152
EndSector:          23603199
SectorCount:        2048

Entry Number:       24
PartitionName:      cmnlib64_b
Attributes:         1152921504606846976
UniquePartitionGUID:55F4E17B8B8446028AB296482B9F7C7B
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        23603200
EndSector:          23605247
SectorCount:        2048

Entry Number:       25
PartitionName:      mdtpsecapp_a
Attributes:         1172061803023171584
UniquePartitionGUID:BE4C9CE400AC841ACDCC6F29189FCC60
PartitionTypeGUID:  EA02D68087124552A3BEE6087829C1E6
StartSector:        23605248
EndSector:          23613439
SectorCount:        8192

Entry Number:       26
PartitionName:      mdtpsecapp_b
Attributes:         1152921504606846976
UniquePartitionGUID:1A05DE4148CB4277AA214BADA840E37A
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        23613440
EndSector:          23621631
SectorCount:        8192

Entry Number:       27
PartitionName:      mdtp_a
Attributes:         1172061803023171584
UniquePartitionGUID:80723EAB1E02B4767A8CE0516F760047
PartitionTypeGUID:  3878408AE2634B67B8786340B35B11E3
StartSector:        23621632
EndSector:          23687167
SectorCount:        65536

Entry Number:       28
PartitionName:      mdtp_b
Attributes:         1152921504606846976
UniquePartitionGUID:36679842C7AE4B39685C61A5E7C71C20
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        23687168
EndSector:          23752703
SectorCount:        65536

Entry Number:       29
PartitionName:      modem_a
Attributes:         1172061803023171584
UniquePartitionGUID:393E8968D30CCE34A3D4834C32786E78
PartitionTypeGUID:  EBD0A0A2B9E5443387C068B6B72699C7
StartSector:        23752704
EndSector:          23977983
SectorCount:        225280

Entry Number:       30
PartitionName:      modem_b
Attributes:         1152921504606846976
UniquePartitionGUID:09E68ACEA2BD6EFB1E87560360DA00E6
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        23977984
EndSector:          24203263
SectorCount:        225280

Entry Number:       31
PartitionName:      dsp_a
Attributes:         1172061803023171584
UniquePartitionGUID:C3A6FF1EE3FDBDCD29291FCB8E121D9A
PartitionTypeGUID:  7EFE50102A1A4A1AB8BC990257813512
StartSector:        24203264
EndSector:          24236031
SectorCount:        32768

Entry Number:       32
PartitionName:      dsp_b
Attributes:         1152921504606846976
UniquePartitionGUID:C9E203F51348E00AE482E5BD79142D3E
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        24236032
EndSector:          24268799
SectorCount:        32768

Entry Number:       33
PartitionName:      reserve3
Attributes:         1152921504606846976
UniquePartitionGUID:5A0E2EF8FD223B7B3CE512D76EF30ED1
PartitionTypeGUID:  84E6728FA5AD4C98A791F41350E9AE7D
StartSector:        24268800
EndSector:          24286839
SectorCount:        18040

Entry Number:       34
PartitionName:      abl_a
Attributes:         1172061803023171584
UniquePartitionGUID:484B9D6361CBA44FDBAFAAF0E21D535F
PartitionTypeGUID:  BD6928A14CE0A0384F3A1495E3EDDFFB
StartSector:        24286840
EndSector:          24288887
SectorCount:        2048

Entry Number:       35
PartitionName:      abl_b
Attributes:         1152921504606846976
UniquePartitionGUID:62D9848A322A06C284B687570FDCA29C
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        24288888
EndSector:          24290935
SectorCount:        2048

Entry Number:       36
PartitionName:      dip
Attributes:         1152921504606846976
UniquePartitionGUID:AF07D06179195F7DDD4118E29578686E
PartitionTypeGUID:  4114B077005D4E12AC8CB493BDA684FB
StartSector:        24290936
EndSector:          24292983
SectorCount:        2048

Entry Number:       37
PartitionName:      devinfo
Attributes:         1152921504606846976
UniquePartitionGUID:8EB270F691DF25852D43C9D03C858006
PartitionTypeGUID:  65ADDCF40C5C4D9AAC2DD90B5CBFCD03
StartSector:        24292984
EndSector:          24292991
SectorCount:        8

Entry Number:       38
PartitionName:      apdp
Attributes:         1152921504606846976
UniquePartitionGUID:629D9CA3D7CC2B58CEC7807F3891B286
PartitionTypeGUID:  E6E98DA2E22A4D12AB33169E7DEAA507
StartSector:        24292992
EndSector:          24293503
SectorCount:        512

Entry Number:       39
PartitionName:      msadp
Attributes:         1152921504606846976
UniquePartitionGUID:271EC8E83092F44EA04EDF4BF21FCA74
PartitionTypeGUID:  ED9E810105FA46B782AA8D58770D200B
StartSector:        24293504
EndSector:          24294015
SectorCount:        512

Entry Number:       40
PartitionName:      dpo
Attributes:         1152921504606846976
UniquePartitionGUID:4AC79A2F8E8BF413B3608C6F052393DE
PartitionTypeGUID:  11406F3511734869807B27DF71802812
StartSector:        24294016
EndSector:          24294017
SectorCount:        2

Entry Number:       41
PartitionName:      splash
Attributes:         1152921504606846976
UniquePartitionGUID:FFC2D7C49FF6214F4DD33DA230E8C940
PartitionTypeGUID:  AD99F201DC714E309630E19EEF553D1B
StartSector:        24294024
EndSector:          24360871
SectorCount:        66848

Entry Number:       42
PartitionName:      limits
Attributes:         1152921504606846976
UniquePartitionGUID:FE933C1E602586E8293350991315EED3
PartitionTypeGUID:  10A0C19C516A54445CE3664C3226A794
StartSector:        24360872
EndSector:          24360879
SectorCount:        8

Entry Number:       43
PartitionName:      toolsfv
Attributes:         1152921504606846976
UniquePartitionGUID:EE5BE8BADAD8C6808BE88DBFDD37ECF6
PartitionTypeGUID:  97745ABA135A44C39ADC05616173C24C
StartSector:        24360880
EndSector:          24362927
SectorCount:        2048

Entry Number:       44
PartitionName:      logfs
Attributes:         0
UniquePartitionGUID:B0DBDDF823525A7DBE7D4A8DE5CE4EEF
PartitionTypeGUID:  E4BE69BF300E42A18A49A5AD554EE25D
StartSector:        24379392
EndSector:          24395775
SectorCount:        16384

Entry Number:       45
PartitionName:      reserve4
Attributes:         1152921504606846976
UniquePartitionGUID:C7E0BC4ABF091F27EE88FD8D9080646A
PartitionTypeGUID:  D6D91F37FBCE41B0B838B83BC46ABA40
StartSector:        24510464
EndSector:          24525735
SectorCount:        15272

Entry Number:       46
PartitionName:      reserve5
Attributes:         1152921504606846976
UniquePartitionGUID:5102BC03589B7919F05FEF1A43CA0E57
PartitionTypeGUID:  4BFE1EF93DC449389E09695AB87BE9BF
StartSector:        24525736
EndSector:          24537383
SectorCount:        11648

Entry Number:       47
PartitionName:      reserve0
Attributes:         1152921504606846976
UniquePartitionGUID:4515120742DF492070EEF1445A85B71A
PartitionTypeGUID:  20A11580EA2F49D38E2367A726B52C41
StartSector:        24537384
EndSector:          24547023
SectorCount:        9640

Entry Number:       48
PartitionName:      ddr
Attributes:         1152921504606846976
UniquePartitionGUID:AD825D40C9EFA83494C1FEFAA112DB71
PartitionTypeGUID:  20A0C19C286A42FA9CE7F64C3226A794
StartSector:        24547024
EndSector:          24549071
SectorCount:        2048

Entry Number:       49
PartitionName:      sec
Attributes:         1152921504606846976
UniquePartitionGUID:250A9842CB68D2A73AC7F284850B3641
PartitionTypeGUID:  303E6AC3AF154C549E9BD9A8FBECF401
StartSector:        24549072
EndSector:          24549103
SectorCount:        32

Entry Number:       50
PartitionName:      bluetooth_a
Attributes:         1172061803023171584
UniquePartitionGUID:2703910AE004776EF59EF8EF85953C5F
PartitionTypeGUID:  6CB747F1C2EF4092ADD0CA39F79C7AF4
StartSector:        24549104
EndSector:          24551151
SectorCount:        2048

Entry Number:       51
PartitionName:      bluetooth_b
Attributes:         1152921504606846976
UniquePartitionGUID:A958B6588FB4EB36F89B2A8D95D0AB1D
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        24551152
EndSector:          24553199
SectorCount:        2048

Entry Number:       52
PartitionName:      fsc
Attributes:         0
UniquePartitionGUID:DE611F06533FECA77F22BF6DAF56A2BD
PartitionTypeGUID:  57B90A1622C9E33B8F5D0E81686A68CB
StartSector:        24641536
EndSector:          24641537
SectorCount:        2

Entry Number:       53
PartitionName:      ssd
Attributes:         0
UniquePartitionGUID:9635D07377F397B26A9DB2A244880BD8
PartitionTypeGUID:  2C86E742745E4FDDBFD8B6A7AC638772
StartSector:        24641544
EndSector:          24641559
SectorCount:        16

Entry Number:       54
PartitionName:      modemst1
Attributes:         0
UniquePartitionGUID:A3A279323835D88D3B7FC0C84BD56CD2
PartitionTypeGUID:  EBBEADAF22C9E33B8F5D0E81686A68CB
StartSector:        24641560
EndSector:          24645655
SectorCount:        4096

Entry Number:       55
PartitionName:      modemst2
Attributes:         0
UniquePartitionGUID:633126E914581D8671DD28909F6624AC
PartitionTypeGUID:  0A288B1F22C9E33B8F5D0E81686A68CB
StartSector:        24645656
EndSector:          24649751
SectorCount:        4096

Entry Number:       56
PartitionName:      persist
Attributes:         0
UniquePartitionGUID:A7D5F7D5DB347144DD13A781A33E2B96
PartitionTypeGUID:  6C95E238E3434BA8B4898681ED22AD0B
StartSector:        24649752
EndSector:          24715287
SectorCount:        65536

Entry Number:       57
PartitionName:      misc
Attributes:         0
UniquePartitionGUID:A6671984FACF80CEF74ECCB5E18D8EF1
PartitionTypeGUID:  82ACC91F357C4A689C8F689E1B1A23A1
StartSector:        24715288
EndSector:          24717335
SectorCount:        2048

Entry Number:       58
PartitionName:      keystore
Attributes:         0
UniquePartitionGUID:808BB0E03AEBE060B0ACAAD893AC43B5
PartitionTypeGUID:  DE7D40290F5B41C8AE7EF6C023A02B33
StartSector:        24717336
EndSector:          24718359
SectorCount:        1024

Entry Number:       59
PartitionName:      devcfg_a
Attributes:         19140298416324608
UniquePartitionGUID:F5175F8647257A4DB10FF3CA59532B54
PartitionTypeGUID:  F65D4B16343D4E25AAFCBE99B6556A6D
StartSector:        24718360
EndSector:          24720407
SectorCount:        2048

Entry Number:       60
PartitionName:      devcfg_b
Attributes:         0
UniquePartitionGUID:DE2C3DD7FC55FDA74B4D648B3ED5D73D
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        24720408
EndSector:          24722455
SectorCount:        2048

Entry Number:       61
PartitionName:      frp
Attributes:         0
UniquePartitionGUID:7956EE4368C9960F13A7237D99429C50
PartitionTypeGUID:  91B72D4D71E04CBF9B8E236381CFF17A
StartSector:        24722456
EndSector:          24723479
SectorCount:        1024

Entry Number:       62
PartitionName:      logdump
Attributes:         0
UniquePartitionGUID:F2ACF659E44CA652958B022F82A697A4
PartitionTypeGUID:  5AF80809AABB49439168CDFC38742598
StartSector:        24723480
EndSector:          24854551
SectorCount:        131072

Entry Number:       63
PartitionName:      sti
Attributes:         0
UniquePartitionGUID:78B4C09575E004F0F0F1538C9F7D7AA5
PartitionTypeGUID:  AA9A5C4C4F1F7D3A014A22BD33BF7191
StartSector:        24854552
EndSector:          24858647
SectorCount:        4096

Entry Number:       64
PartitionName:      storsec
Attributes:         1152921504606846976
UniquePartitionGUID:9D4F6A07A696E3631A465981B5FAFA81
PartitionTypeGUID:  02DB45FEAD1B4CB6AECC0042C637DEFA
StartSector:        24903680
EndSector:          24903935
SectorCount:        256

Entry Number:       65
PartitionName:      rawdump
Attributes:         0
UniquePartitionGUID:82BAD4D153AEE3A18AB9D25EF2B3C673
PartitionTypeGUID:  66C9B323F7FC48B6BF966F32E335A428
StartSector:        25034752
EndSector:          25296895
SectorCount:        262144

Entry Number:       66
PartitionName:      vbmeta_a
Attributes:         1154047404513689600
UniquePartitionGUID:6189F426220BC850D306B03896566C77
PartitionTypeGUID:  4B7A15D6322C42AC811088B7DA0C5D77
StartSector:        25296896
EndSector:          25297023
SectorCount:        128

Entry Number:       67
PartitionName:      vbmeta_b
Attributes:         1152921504606846976
UniquePartitionGUID:0E35F237C91EF9799ECD3FE55FB9BA56
PartitionTypeGUID:  77036CD403D542BB8ED137E5A88BAA34
StartSector:        25297024
EndSector:          25297151
SectorCount:        128

Entry Number:       68
PartitionName:      userdata
Attributes:         0
UniquePartitionGUID:94A1AF557C6CD99AA52CA203DEF1DF14
PartitionTypeGUID:  1B81E7E6F50D419BA7392AEEF8DA3335
StartSector:        25427968
EndSector:          122142686
SectorCount:        96714719

I'm sure many methods exist but the best way I found to parse the GPT is to simply use Qualcomm methods provided under SubSysSwDownload.dll. This DLL is hard to find as it's part of DART but it's there on the internet. Create a new VS project using the sample code below while referencing the required dll. This will parse the live GPT from the device and produce an accurate rawprogram0 xml.

Code:
using SwDownload;
using System.Diagnostics;
using System.Threading;
using System.IO;
using System;
namespace GPTConsole{
    class Program{
        static void Main(string[] args)
        {
            string arg0 = "";
            string arg1 = "";
            string startsector = "";
            Console.WriteLine(args.Length);
            if (args.Length != 0) {
                arg0 = args[0];
                if (args.Length == 1) startsector = "1";
                if (args.Length == 2) startsector = args[1]; 
            }
            else
            {
                Console.WriteLine("Please provide a COM Port # - Example: GPTConsole 14");
            }           
            

            string XMLFile = "rawprogram0.xml";
            if (File.Exists(XMLFile)) File.Delete(XMLFile);
            StreamWriter sw1 = new StreamWriter(XMLFile);
            sw1.WriteLine("<?xml version=\"1.0\"?>");
            sw1.WriteLine("<data>");
            sw1.WriteLine("  <!--NOTE: This is an ** Autogenerated file **-->");
            sw1.WriteLine("  <!--NOTE: Sector size is 512bytes-->");
            try
            {
                using (Process myProcess = new Process())
                {
                    myProcess.StartInfo.FileName = "fh_loader.exe";
                    myProcess.StartInfo.Arguments = ("--port=\\\\.\\COM" + arg0 + " --convertprogram2read --sendimage=gpt_header --start_sector=" + startsector + " --lun=0 --num_sectors=1 --noprompt --showpercentagecomplete --zlpawarehost=1 --memoryname=emmc");
                    myProcess.StartInfo.UseShellExecute = false;
                    myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
                    myProcess.StartInfo.RedirectStandardOutput = true;
                    myProcess.StartInfo.RedirectStandardError = true;
                    myProcess.Start();
                    Thread.Sleep(2000);
                    myProcess.Close();
                }

                gpt_header_t HInfo = GPTParser.ParseGPTHeader("gpt_header");
                Console.WriteLine("-----------------------");
                Console.WriteLine("------Header Info------");
                Console.WriteLine("-----------------------");
                Console.WriteLine("# of Entries       " + HInfo.NumberofPartitionEntries);
                Console.WriteLine("Signature:         " + HInfo.Signature);
                Console.WriteLine("HeaderSize:        " + HInfo.HeaderSize);
                Console.WriteLine("HeaderCRC32:       " + HInfo.HeaderCRC32);
                Console.WriteLine("ArrayCRC32:        " + HInfo.PartitionEntryArrayCRC32);
                Console.WriteLine("MyLBA:             " + HInfo.MyLBA);
                Console.WriteLine("AlternateLBA:      " + HInfo.AlternateLBA);
                Console.WriteLine("PartitionEntryLBA: " + HInfo.PartitionEntryLBA);
                Console.WriteLine("FirstUsableLBA:    " + HInfo.FirstUsableLBA);
                Console.WriteLine("LastUsableLBA:     " + HInfo.LastUsableLBA);
                Console.WriteLine("DiskGUID_higher:   " + HInfo.DiskGUID_higher);
                Console.WriteLine("DiskGUID_lower:    " + HInfo.DiskGUID_lower);
                Console.WriteLine();
                Console.WriteLine("-----------------------");
                Console.WriteLine("----Partition Info-----");
                Console.WriteLine("-----------------------");

                using (Process myProcess2 = new Process())
                {
                    myProcess2.StartInfo.FileName = "fh_loader.exe";
                    myProcess2.StartInfo.Arguments = ("--port=\\\\.\\COM" + arg0 + " --convertprogram2read --sendimage=gpt_entries --start_sector=" + HInfo.PartitionEntryLBA + " --lun=0 --noprompt --num_sectors=20 --showpercentagecomplete --zlpawarehost=1 --memoryname=emmc");
                    myProcess2.StartInfo.UseShellExecute = false;
                    myProcess2.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
                    myProcess2.StartInfo.RedirectStandardOutput = true;
                    myProcess2.StartInfo.RedirectStandardError = true;
                    myProcess2.Start();
                    Thread.Sleep(2000);
                    myProcess2.Close();
                }
                
                partition_info_list PIList = GPTParser.ParseGPTEntries("gpt_entries", HInfo.NumberofPartitionEntries, HInfo.SizeOfPartitionEntry);
                Int32 CurrentPart = 0;
                foreach (var item in PIList)
                {
                    string size = (item.EndingLBA - item.StartingLBA + 1L).ToString(); 
                    Console.WriteLine("Entry Number:        " + CurrentPart);                    
                    Console.WriteLine("PartitionName:       " + item.PartitionName);
                    Console.WriteLine("Attributes:          " + item.Attributes);
                    Console.WriteLine("PartitionGUIDRaw:    " + item.UniquePartitionGUID);
                    Console.WriteLine("PartitionGUIDPrint:  " + item.UniquePartitionGUID_Printable);
                    Console.WriteLine("TypeGUIDRaw:         " + item.PartitionTypeGUID);
                    Console.WriteLine("TypeGUIDPrint:       " + item.UniquePartitionGUID_Printable);
                    Console.WriteLine("StartSector:         " + item.StartingLBA);
                    Console.WriteLine("EndSector:           " + item.EndingLBA);
                    Console.WriteLine("SectorCount:         " + size);
                    Console.WriteLine();
                    sw1.WriteLine("<program SECTOR_SIZE_IN_BYTES=\"512\" file_sector_offset=\"0\" start_sector=\"" + item.StartingLBA + "\" sparse=\"false\" readbackverify=\"false\" physical_partition_number=\"0\" partofsingleimage=\"false\" num_partition_sectors=\"" + size + "\" label=\"" + item.PartitionName + "\" filename=\"" + item.PartitionName + ".img\" />");
                    CurrentPart = CurrentPart + 1;
                }
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
            }

            sw1.WriteLine("</data>");
            sw1.Close();
            Console.ReadLine();
            }        
    }
}
(All XML data posted by me has been validated under this method)

So this seems to be the vanilla (non-carrier specific) firmware variant. Since USCellular does not appear to carry the XP8, I'm assuming USC means "US Carriers". With the image applied the device only produces Sonim branding on boot and no pre-loaded apps exist aside from a few engineering apps due to this being a USERDEBUG variant.

Bootloader can be unlocked easily however still remains with limited functionality. Also hitting the intrusive red eio screen at boot with/without a locked bootloader. After flashing back to AT&T the eio is gone and bootloader remains unlocked also. It seems like this early debug variant does not contain verity data (causing eio errors) - or this could be stored somewhere else on the device and I'm just missing it.

The GPT is the same as we have seen with AT&T and Telus making flashing easy. No OTA unfortunately however I have a feeling that we can force an update by changing the build fingerprint to a non-debug string. Have you done testing around this aspect by chance?

Did that XP5s download ever kick off for you?

XP5s link still has no resources for one day

QFlashTool.9.1.6 https://www.mediafire.com/file/lsce3...9.1.6.rar/file
Attached Files
File Type: zip SubSysSwDownload.zip - [Click for QR Code] (94.0 KB, 8 views)
9th November 2019, 03:49 AM |#88  
Member
Thanks Meter: 3
 
More
Quote:
Originally Posted by eleotk

QFlashTool.9.1.6 https://www.mediafire.com/file/lsce3...9.1.6.rar/file

You are just full of treasures for the community .

I'll gladly share images and even my own janky c# but I get hesitant when it comes to this stuff.. Greatly appreciate you helping to cover the gaps!
9th November 2019, 04:14 AM |#89  
Member
Thanks Meter: 13
 
More
Quote:
Originally Posted by smokeyou

You are just full of treasures for the community .

I'll gladly share images and even my own janky c# but I get hesitant when it comes to this stuff.. Greatly appreciate you helping to cover the gaps!

The download is successful, it is not the image I want. I used to have an XP5S image and the data is lost.
9th November 2019, 05:45 AM |#90  
Member
Thanks Meter: 3
 
More
Quote:
Originally Posted by eleotk

The download is successful, it is not the image I want. I used to have an XP5S image and the data is lost.

That is a full XP5s system image.. If you were looking for a debug image then I'm not sure if I can help unfortunately.
10th November 2019, 12:16 AM |#91  
Member
Thanks Meter: 13
 
More
Quote:
Originally Posted by smokeyou

That is a full XP5s system image.. If you were looking for a debug image then I'm not sure if I can help unfortunately.

Yes, full image, Firehose = prog_emmc_firehose_8917_ddr.mbn
Program = rawprogram0_unsparse_upgrade.xml
Patch = patch0.xml
Post Reply Subscribe to Thread

Tags
sonim-xp8

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes