{Guide} QXDM Port activation on Pixel 2 XL, (VoLTE,WoWIFI,CA)

Search This thread

bias_hjorth

Senior Member
Jan 9, 2012
78
8
My device doesn't show up in PDC tool but I can add it in QPST config, where it see's it on port COM3 and recognizes the phone. What am I doing wrong?
 

zeact

New member
Jun 14, 2007
4
0
I also can't get it to activate the diag port on march update. It was working till feb update. Anyone else ?
Same here, updated to march patch from 2018.dec patch.
Seems diagport module are broken? I managed to activate diag port by input command what module do in the shell manually, then using PDC to upload mbn successfully.

Code:
su
setenforce 0  
setprop sys.usb.configfs 1 && setprop sys.usb.config diag,serial_cdev,rmnet_gsi,adb
 

fourpsk

Member
Oct 28, 2008
20
7
Tokyo
pub.slateblue.tk
You got it to work on pixel 3? What rom? Dis you manage to flash mbn? What qpst did you use?

You got it to work on pixel 3?
---> yes, got it my pixel 3

What rom?
---> Stock rom (20190305 Released)

blueline:/ $ getprop | grep ro.build.id
[ro.build.id]: [PQ2A.190305.002]

Dis you manage to flash mbn?
--->mbn's Flash has not tried yet.

What qpst did you use? ---> QPST 2.7 Build 460

[How?]
I was able to open a Diag port just by doing the following.

1. flash Magisk-v18.0_Taimen_Diag.zip from TWRP & reboot
2. flash Pixel_2_Diag_Port.zip at Magisk Manager & reboot
3. When the OS starts up Execute the following command from "Android Terminal"
> su
# setprop sys.usb.config diag,serial_cdev,rmnet_gsi,adb
(After flashing Pixel_2_Diag_Port.zip, adb can not connect,
so I needed to execute the command from Terminal on PIXEL 3.)

This should be recognized by QPST:good:


-------------------------------------
I'm not good at English, so I'm using a software for translation to message.
I'm so sorry that I sometimes don't understand conversation or it takes time.
Thank you for your understanding.
 
  • Like
Reactions: Xdevillived666

Xdevillived666

Senior Member
Feb 29, 2012
1,357
224
Massy
Google Pixel 6
You got it to work on pixel 3?
---> yes, got it my pixel 3

What rom?
---> Stock rom (20190305 Released)

blueline:/ $ getprop | grep ro.build.id
[ro.build.id]: [PQ2A.190305.002]

Dis you manage to flash mbn?
--->mbn's Flash has not tried yet.

What qpst did you use? ---> QPST 2.7 Build 460

[How?]
I was able to open a Diag port just by doing the following.

1. flash Magisk-v18.0_Taimen_Diag.zip from TWRP & reboot
2. flash Pixel_2_Diag_Port.zip at Magisk Manager & reboot
3. When the OS starts up Execute the following command from "Android Terminal"
> su
# setprop sys.usb.config diag,serial_cdev,rmnet_gsi,adb
(After flashing Pixel_2_Diag_Port.zip, adb can not connect,
so I needed to execute the command from Terminal on PIXEL 3.)

This should be recognized by QPST:good:


-------------------------------------
I'm not good at English, so I'm using a software for translation to message.
I'm so sorry that I sometimes don't understand conversation or it takes time.
Thank you for your understanding.
Thank you for the detailed feedback!

Do not stress . I understood what you wrote just fine. I speak French , too if that helps.

Let me know if you try flashing mbn and if it is successful.
 

Xdevillived666

Senior Member
Feb 29, 2012
1,357
224
Massy
Google Pixel 6
You got it to work on pixel 3?
---> yes, got it my pixel 3

What rom?
---> Stock rom (20190305 Released)

blueline:/ $ getprop | grep ro.build.id
[ro.build.id]: [PQ2A.190305.002]

Dis you manage to flash mbn?
--->mbn's Flash has not tried yet.

What qpst did you use? ---> QPST 2.7 Build 460

[How?]
I was able to open a Diag port just by doing the following.

1. flash Magisk-v18.0_Taimen_Diag.zip from TWRP & reboot
2. flash Pixel_2_Diag_Port.zip at Magisk Manager & reboot
3. When the OS starts up Execute the following command from "Android Terminal"
> su
# setprop sys.usb.config diag,serial_cdev,rmnet_gsi,adb
(After flashing Pixel_2_Diag_Port.zip, adb can not connect,
so I needed to execute the command from Terminal on PIXEL 3.)

This should be recognized by QPST:good:


-------------------------------------
I'm not good at English, so I'm using a software for translation to message.
I'm so sorry that I sometimes don't understand conversation or it takes time.
Thank you for your understanding.

meant to ask if you tried pdc and flashing mbn. Sorry for not being clear

---------- Post added at 11:48 PM ---------- Previous post was at 11:33 PM ----------

took it for another try on pixel 3

First pdc tool recognized but wouldnt let me interact

Then would recognize at all


then gives usb driver error I mentioned earlier
 

fourpsk

Member
Oct 28, 2008
20
7
Tokyo
pub.slateblue.tk
meant to ask if you tried pdc and flashing mbn. Sorry for not being clear

---------- Post added at 11:48 PM ---------- Previous post was at 11:33 PM ----------

took it for another try on pixel 3

First pdc tool recognized but wouldnt let me interact

Then would recognize at all


then gives usb driver error I mentioned earlier

I'm sorry, I have not tried writing with pdc tool, but download by QPST Software Download and reading and writing by EFS explore are working without problems.
 
  • Like
Reactions: SGH-i200

Xdevillived666

Senior Member
Feb 29, 2012
1,357
224
Massy
Google Pixel 6
I'm sorry, I have not tried writing with pdc tool, but download by QPST Software Download and reading and writing by EFS explore are working without problems.

I get this when trying to update wwan to be detected by pdc

Any idea or have you had a similar experience?
QDCa5f8


---------- Post added at 05:48 PM ---------- Previous post was at 05:47 PM ----------

I get this when trying to update wwan to be detected by pdc

Any idea or have you had a similar experience?
QDCa5f8

error here

https://imgur.com/a/QDCa5f8
 

ozguroge

Member
Mar 23, 2011
27
2
Tampa
I am getting error 1 about modified boot image on Android Q beta when trying to install magisk on TWRP. Is there a way to fix it?
 

Airpil

Senior Member
Feb 12, 2007
258
75
Ive uploaded the updated version to support Android Q based on the current version of the Magisk. Check the first post. Works fine on my P2XL.
 

Attachments

  • Screenshot_20190323-160918.png
    Screenshot_20190323-160918.png
    140 KB · Views: 246
Last edited:
  • Like
Reactions: somin.n

Top Liked Posts

  • There are no posts matching your filters.
  • 24
    Hi all.
    First of all
    I DO NOT PROVIDE ANY KIND OF SUPPORT. YOU ALONE RESPONSIBLE FOR ANY POSSIBLE ISSUES.

    I wrote this post during my vacation. I know it could be quite handy, but unfortunately/thankfully my primary sources of money are completely aside from this findings.
    I came to XDA from iOS jailbreak community and still believe that any findings have to be published if they allow to escape any kind of jail .
    Sorry for any delays in my responses in PM and here, but i am really busy. In case somebody wants to share this info with other communities, feel free to do so.

    Sorry for my EN
    P.S.
    all this small findings and adjustments would not be possible without @topjohnwu i have tried to rase a CR on github to enable a sub-function in Magisk for init.rc scripts injection through the existing magicg.rc but it was rejected. So any one who intrested in the same kind of projects please open an issue on Magis github page we really need *.rc injection as a part of Magisk module.

    [/MENTION]



    For the past couple of months I've been looking into finding the way to get an access to the Pixel 2 XL diag port.
    As many of you know this feature is disabled by default on user builds. Thanks to @deeproot for his ROM. Because this is the only one userbuild ROM available right now with diag configuration. https://xdaforums.com/pixel-2-xl/development/aosp-tamien-8-1-opengapps-t3727948

    The only downside of this ROM is outdated version of the Android. To fix this unpleasant issue. I've took the init.taimen.diag.rc init script from the ROM and put it into the custom ROM. Later I have discovered couple of issues. First - dm-verity have to be disabled. Second - different ROMs dont play nice with instructions from init.taimen.diag.rc. (adb doesn't work properly).

    With this being said I started to looking for a way to inject this instructions into Google Official ROM. Without touching the file system itself.
    Unfortunately i haven't found the way make it via Magisk Modules. Because MagiskMount mount the module directory after init stage.
    As many of you know Magisk injects init.magisk.rc into init.rc script. So ive decided to recompile the Magisk with the necessary init instructions. I simply updated init.magisk.rc with the following instructions. ( Thanks @topjohnwu for Magisk )

    on property:sys.usb.config=diag,serial_cdev,rmnet_gsi,adb && property:sys.usb.configfs=1
    start adbd
    start port-bridge

    on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,serial_cdev,rmnet_gsi,adb && property:sys.usb.configfs=1
    write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "Default composition"
    rm /config/usb_gadget/g1/configs/b.1/f1
    rm /config/usb_gadget/g1/configs/b.1/f2
    rm /config/usb_gadget/g1/configs/b.1/f3
    rm /config/usb_gadget/g1/configs/b.1/f4
    rm /config/usb_gadget/g1/configs/b.1/f5
    write /config/usb_gadget/g1/idVendor 0x05C6
    write /config/usb_gadget/g1/idProduct 0x9091
    write /config/usb_gadget/g1/os_desc/use 1
    symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1
    symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2
    symlink /config/usb_gadget/g1/functions/gsi.rmnet /config/usb_gadget/g1/configs/b.1/f3
    symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f4
    write /config/usb_gadget/g1/UDC ${sys.usb.controller}
    setprop sys.usb.state ${sys.usb.config}


    as a result I was able to open diag port when the following properties are set.
    setprop property:sys.usb.configfs 1
    sys.usb.config diag,serial_cdev,rmnet_gsi,adb

    There are two files attached.
    1) Magisk-v18-Taimen-Diag.zip - Modified version of the Magisk. I strongly recommend to install the original version when you finish to play with QXDM. Because I am not a SW developer at all. From the Word "COMPLETELY"
    2) Pixel 2 Diag Port.zip - Module for Magisk to properly enable the Diag port on boot via
    PHP:
    setenforce   0 
    setprop sys.usb.configfs 1 && setprop sys.usb.config diag,serial_cdev,rmnet_gsi,adb

    When you flash the Magisk via twrp and install the module you should be able to get an access to the diag port
    Screenshot-2018-12-31-at-17-59-06.png


    To activate VoLTE on you phone you have to install VoEnabler module and upload proper mcfg_sw.mbn for your MNO.
    ive tested Russian MNOs on my phone using Nokia 8 mbn. Works fine for me.
    3)Open PDC tool -> Load -> Choose proper MBN -> SetSelectedConfig -> Sub0 -> Activate.

    About VoEnabler and other OS methods.
    There are actually two methods to get VoLTE\VoWiFI on the phone from OS point of view (VoLTE and VoWiFI provisioned) in *#*#4636#*#* Phone info -> IMS Status.
    1) install VoEnabler it performs setprop for Vo*** related parameters.
    2)modify /data/user_de/0/com.android.phone/files/carrierconfig-com.android.carrierconfig-XXXXXXXXXXX.xml .
    Parameters for xml file you can get from https://developer.android.com/reference/android/telephony/CarrierConfigManager
    for example
    PHP:
    <boolean name="carrier_volte_available_bool" value="true" />
    <boolean name="carrier_wfc_supports_wifi_only_bool" value="true" />
    <boolean name="carrier_wfc_ims_available_bool" value="true" />
    I use several SIM cards so for me it is more comfortable to use second method because this files configure phone module with different settings and it is easier to troubleshoot the issues

    <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
    <carrier_config>
    <package_version>2</package_version>
    <bundle_data>
    <string name="_carrier_settings_version_string">25099-3000000346</string>
    <boolean name="carrier_volte_available_bool" value="true" />
    <boolean name="carrier_wfc_supports_wifi_only_bool" value="true" />
    <boolean name="carrier_wfc_ims_available_bool" value="true" />
    <boolean name="display_hd_audio_property_bool" value="true" />
    <boolean name="editable_enhanced_4g_lte_bool" value="true" />
    <boolean name="hide_ims_apn_bool" value="false" />
    <boolean name="remove_modify_call_capability" value="false" />
    <boolean name="transmit_static_image" value="false" />
    <boolean name="support_video_conference_call_bool" value="true" />
    <boolean name="emergency_sms_support_bool" value="false" />
    <boolean name="vowifi_call_quality" value="false" />
    <boolean name="show_apn_setting_cdma_bool" value="true" />
    <boolean name="carrier_rtt_downgrade_supported" value="false" />
    <boolean name="allow_video_call_in_low_battery" value="true" />
    <boolean name="world_phone_bool" value="true" />
    <boolean name="carrier_rtt_upgrade_supported" value="false" />
    <boolean name="hide_preferred_network_type_bool" value="false" />
    <boolean name="show_static_image_ui" value="false" />
    <boolean name="show_video_quality_ui" value="false" />
    <boolean name="show_video_quality_toast" value="true" />
    <string-array name="ratchet_rat_families" num="3">
    <item value="1,2" />
    <item value="7,8,12" />
    <item value="3,11,9,10,15" />
    </string-array>
    <boolean name="apn_expand_bool" value="true" />
    <boolean name="allow_adding_apns_bool" value="true" />
    <boolean name="carrier_rtt_auto_upgrade" value="false" />
    <boolean name="config_carrier_cs_retry_available" value="false" />
    <boolean name="video_call_use_ext" value="true" />
    <boolean name="show_cdma_choices_bool" value="true" />
    <boolean name="carrier_rtt_supported_on_vtcalls" value="false" />
    <boolean name="show_data_usage_toast" value="true" />
    <boolean name="use_custom_video_ui" value="false" />
    <boolean name="carrier_allow_deflect_ims_call_bool" value="false" />
    <boolean name="config_hide_preview_in_vt_confcall" value="false" />
    <boolean name="config_enable_display_14digit_imei" value="false" />
    <boolean name="carrier_rtt_supported" value="false" />
    <boolean name="show_call_session_event_toast" value="true" />
    <string name="config_ims_package_override_string" value="com.google.android.ims" />
    <string name="default_sim_call_manager_string" value="com.google.android.ims" />
    </bundle_data>
    </carrier_config>


    Update 23/03/2019
    Thanks to @topjohnwu work on Android Q i've updated the Magisk.zip with diag scripts enabled. Magisk-v18.2-f5f7fd91_Taimen_Diag.zip
    The same approach the same steps.
    That is true that Magisk module is not required, just disable enforcement and change the sys.usb.config settings.
    Just be sure you are using correct drivers.

    VoEnabler needs to be updated, not sure whether is works or not. VoLTE provisioning is disabled under "Phone Info"
    I was able to open Phone Info app only through the "QuikShortcutMaker" app.
    Because i modified /data/user_de/0/com.android.phone/files/carrierconfig-com.android.carrierconfig as well i am not sure what exactly activate the VoLTE. VoEnabler, or the file modification.

    Also because TWRP was not able to decrypt the storage in my Phone i uploaded Magisk.zip to /tmp/ directory on my phone.
    + i installed the modified version of the Magisk on top of original canary build. Don;t know whether it important or not.

    Update 14/04/2019
    Android Q Beta 2 Magisk 19 attached.
    Magisk-v19.0_Taimen_Diag
    Magisk-uninstaller-20190413


    Update 09/05/2019

    I have forked Magisk repo. Now OTA updates should work for Taimen_Diag mod.
    Testet on Android Q beta 3
    App
    https://github.com/AGagarin/magisk_files/blob/master/canary_builds/app-debug.apk
    Zip
    https://github.com/AGagarin/magisk_files/blob/master/canary_builds/magisk-debug.zip


    For Drivers search for QUD.WIN.1.1 Installer-10037.3 Setup
    For CA https://mt-tech.fi/en/modify-sony-xz-xzs-xz-premium-xz1-and-xz2-lte-a-band-combos/
    For more information about PDC tool and mbn files https://xdaforums.com/oneplus-5t/how-to/guide-volte-vowifi-german-carriers-t3817542
    Command line tool to read\write EFS settings https://github.com/JohnBel/EfsTools
    8
    Able to successfully enable both Airtel India VoLTE and Airtel India VoWiFi on my Google Pixel 2 XL running Android 10 March 2020 update by following steps.

    1.Unlock bootloader
    2.Fastboot boot twrp img for temporary twrp
    3.Install twrp zip from twrp recovery for permanent twrp
    4.Flash Magisk-v19.0_Taimen_Diag.zip from twrp
    5.turn ON mobile
    5.Install app-debug.apk (Magisk) app
    6.Flash Pixel 2 Diag Port.zip Module as Magisk Module
    7.Flash VoEnabler Module as Magisk Module
    8.Reboot

    Done

    It worked for my using Pixel 2 Walleye with Android March 2020 installation, i'm going to detail more this procedure, because it's hard to do it from scratch.
    I also used information/files from here: https://xdaforums.com/pixel-2/how-to/guide-enable-volte-unsupported-carriers-t3892659

    Steps with links
    0. Remove any fingerprint/pin/lock pattern from your phone and keep it that way until the end. ALSO, UNLOCKING THE BOOTLOADER WILL WIPE ALL YOUR DEVICE (apps, photos, files, accounts) BE CAREFUL AND DO A BACKUP

    1. Find the QPST installer (only available for Windows) (seems to be an internal Qualcomm software), I used version 2.7.474 from here https://qpsttool.com/qpst-tool-v2-7-474 . Save it and install it in your Windows machine.

    2. Install adb tools Windows, macOS, Linux: https://www.xda-developers.com/install-adb-windows-macos-linux/

    3. Enter Developer Mode in your Pixel: https://developer.android.com/studio/debug/dev-options#enable

    4. Unlock bootloader of Pixel 2 (this one is easy BUT IT WILL WIPE YOUR DEVICE), connect your phone to your PC (you may need to wait a few minutes for the automatic installation of drivers) and follow the procedure (you may need to run this as an Administrator) https://www.xda-developers.com/how-to-unlock-bootloader-and-root-the-google-pixel-2-and-pixel-2-xl/

    5. Fastboot boot twrp img for temporary twrp: https://aubykhan.wordpress.com/2013...t-into-twrp-or-cwm-recovery-without-flashing/

    6. Install twrp zip from twrp recovery for permanent twrp. I installed TWRP (TWRP is a recovery replacement of the official recovery inside Android phones) https://www.xda-developers.com/how-to-install-twrp/ TWRP will help you to install Magisk

    7. Flash Magisk-v19.0_Taimen_Diag.zip from twrp: You have to download the file from first post https://xdaforums.com/attachment.php?attachmentid=4742296&d=1555223123 and save it in your Phone. And then open TWRP (go to recovery mode https://www.hardreset.info/devices/google/google-pixel-2/recovery-mode/ ), then you have select the install grey button in TWRP and find your Magisk file and install it, you will need to reboot your phone. Magisk is a tool that helps to modify Android behavior without root access, old times ago having root was not an issue, but right now because of security and restrictions (Netflix, DRM, etc) it's better to not root your phone. Magisk will help you to made modifications without touching too many things in your phone.

    8. Install drivers inside Windows to recognize your phone (these are special drivers, as your phone will be recognized as a Serial device for QPST) I used this for Window: https://mega.nz/#!oMEHTIbA!0g7ahr8r81Q3ue8LpEy-sfd7FTLEEQlGRi2CJfG_Kq0

    9. Download to your Android the file app-debug.apk https://xdaforums.com/attachment.php?attachmentid=4742298&d=1555223123, this is the Magisk App to manage Magisk from Android. Open it to install the App.

    10. Download Pixel 2 Diag Port.zip file to your phone from here https://xdaforums.com/attachment.php?attachmentid=4677339&d=1546269352 and VoEnabler to your Phone from here https://xdaforums.com/attachment.php?attachmentid=4788885&d=1562579515 (this is for Pixel 2, you may need to change the VoEnabler for other Pixels, or it may work, who knows)

    11. Open the Magisk App (installed in step 9) go to Modules section, add with the yellow button at the bottom the Modules that you downloaded in the step 10, Pixel2DiagPort and VoEnabler. This will allow you yo use a setting under Settings -> Network & internet -> Mobile network -> VoLTE.

    12. Download the mbn file from here inside Windows https://xdaforums.com/attachment.php?attachmentid=4691778&d=1548185827, unzip it and search for your region and your Mobile Network Operator . Android OS is split in multiple parts, the mbn have the Mobile Network operator information needed. All this procedure is to change this file!

    13. Connect the phone to your Windows PC, now open QPST tool in Windows (the name is Advanced PDC Tool and the icon is orange and grey), fingers crossed!, in the dropdown called Device you will see a Device Qualcomm... serial... choose it. Then press the button Load and select the .mbn file for your Operator (Step 13). This will allow you a new option in the list of the Advanced PDC Tool. You have to be careful and look for the one that you just added. Right-click on new loaded profile and select SetSelectedConfig - Sub0 then press Activate.

    14. Restart device and check if VoLTE is working! You may need to enable it in the preferences Settings -> Network & internet -> Mobile network -> VoLTE

    If you need more detail please let me know.

    I'm sick of the current tutorials in XDA, previously (8 years ago) everything was in this way, open for everybody, good explanations of procedures and of each new component. Please, no body is master in Android, devices, serial ports, drivers, operating systems, be more careful with your procedures!
    5
    @Airpil I modified the magisk module to make it work flawlessy on xz1/xz1c. Only module is required on these devices.
    The crucial change was to set the persist.sys.usb.config property correctly. I attached the edited magisk module.
    Thak you very much for the idea :)
    5
    Successfully enabled Volte and vowifi on Pixel 2 xl with Airtel India

    Able to successfully enable both Airtel India VoLTE and Airtel India VoWiFi on my Google Pixel 2 XL running Android 10 March 2020 update by following steps.

    1.Unlock bootloader
    2.Fastboot boot twrp img for temporary twrp
    3.Install twrp zip from twrp recovery for permanent twrp
    4.Flash Magisk-v19.0_Taimen_Diag.zip from twrp
    5.turn ON mobile
    5.Install app-debug.apk (Magisk) app
    6.Flash Pixel 2 Diag Port.zip Module as Magisk Module
    7.Flash VoEnabler Module as Magisk Module
    8.Reboot

    Done
    5
    Magisk-v19.0_Taimen_Diag attached to the first post.
    Works fine for me on the latest Q build.