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

Xdevillived666

Senior Member
Feb 29, 2012
1,335
214
93
Massy
Hey guys, am I doing this right?
Install the op's version of magisk, reboot.


Install his module, reboot

adb shell
su
setprop sys.usb.config diag,adb

should appear as other device or something in windows?
 

Xdevillived666

Senior Member
Feb 29, 2012
1,335
214
93
Massy
Advanced PDC Tool to swap the mbn file.
Debugging vendor image cause th dm-verity failure and bootloop. Also there are no PDC\QXDM settings in Debugging image. to support Diag mode we have to have an access to the rmnet usb function.
https://android.googlesource.com/de...eo-m2-release/init.hardware.diag.rc.userdebug
VS
https://android.googlesource.com/device/google/wahoo/+/master/init.hardware.diag.rc.userdebug
managed to flash op magisk

instlled module

adb shell
su
setprop sys.usb.config rndis,diag,adb
(can only do above if phone is connected as mtp)

windows now shows com 4 port and qpst recognizes it but says no phone?
 

Airpil

Senior Member
Feb 12, 2007
258
73
0
managed to flash op magisk

instlled module

adb shell
su
setprop sys.usb.config rndis,diag,adb
(can only do above if phone is connected as mtp)

windows now shows com 4 port and qpst recognizes it but says no phone?
Nobody read the 1st post in our days, yeah ?
The module and Magisk are designed to support the only one 1 additional configuration
setenforce -> 0
setprop sys.usb.configfs 1 && setprop sys.usb.config diag,serial_cdev,rmnet_gsi,adb
 
  • Like
Reactions: Xdevillived666

Xdevillived666

Senior Member
Feb 29, 2012
1,335
214
93
Massy
Nobody read the 1st post in our days, yeah ?
The module and Magisk are designed to support the only one 1 additional configuration
setenforce -> 0
setprop sys.usb.configfs 1 && setprop sys.usb.config diag,serial_cdev,rmnet_gsi,adb
I did read that. I tried using it but it says something like " only one setprop can be used".

Sorry, mate. I'm not that experienced with this, hence my lack of understanding on the subject.

---------- Post added at 10:39 AM ---------- Previous post was at 10:20 AM ----------

Nobody read the 1st post in our days, yeah ?
The module and Magisk are designed to support the only one 1 additional configuration
setenforce -> 0
setprop sys.usb.configfs 1 && setprop sys.usb.config diag,serial_cdev,rmnet_gsi,adb
Went back through

Installed magisk

Installed module

then:
C:\Program Files (x86)\Minimal ADB and Fastboot>adb shell
[email protected]:/ $ su
[email protected]:/ # setenforce -> 0
/system/bin/sh: can't create 0: Read-only file system
1|[email protected]:/ # setenforce -> 0

1|[email protected]:/ # setprop sys.usb.configfs 1 && setprop sys.usb.config diag,serial_cdev,rmnet_gsi,adb


I now have modem showing and also com
under ports.


I will try qpst and let you know so you I can let others with pixel know it works. Thanks for your work, sir!


Edit: qpst shows com but "no phone".

---------- Post added at 11:11 AM ---------- Previous post was at 10:39 AM ----------

Update:
This is what I have
https://imgur.com/gallery/aiji653


but when I try to open pdc , I get

QMI connection not ready, please use USB driver version 1.00.32 or later and fix the connection before using PDC tool.


Any advice?
 
Last edited:

Airpil

Senior Member
Feb 12, 2007
258
73
0


I did read that. I tried using it but it says something like " only one setprop can be used".

Sorry, mate. I'm not that experienced with this, hence my lack of understanding on the subject.

---------- Post added at 10:39 AM ---------- Previous post was at 10:20 AM ----------



Went back through

Installed magisk

Installed module

then:
C:\Program Files (x86)\Minimal ADB and Fastboot>adb shell
[email protected]:/ $ su
[email protected]:/ # setenforce -> 0
/system/bin/sh: can't create 0: Read-only file system
Any advice?
Sorry i wouldn't meant to be rude

First of all you are using pixel 3 (blueline) however according to the AOSP source code diag script is almost identical to pixel 2 xl so there is a small chance that the method will be applicable for P3.
1) Does the direct method works for you ? what do you see when you simply install the Magisk_Taimen_Diag and activate the Pixel 2 Diag Enabler module ?
The main reason behind the Module is disabling SE enforcement as early as possible. Because in my tests i was not able to connect to the phone via PDC when i set "setenforce 0" manually after the boot.
2) Still you can type the same commands manually, the error you have right now - is a wrong syntaxis setenforce -> 0"
PHP:
setenforce  0
setprop sys.usb.configfs 1
setprop sys.usb.config diag,serial_cdev,rmnet_gsi,adb
3) Because you are using another HW it is quite possible that Vendor ID and Product ID hardcoded in Magisk is not applicable to Pixel3 chipset.

PHP:
:::::
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x9091
:::::
I dont have a P3 to test but assuming that the CPU is Snapdragon 845 try to manually select an another driver for WWAN the current one is 9091
try update it to 9025, 9035 or 90AD. the same is applicable for QPST itself. But Please remember that the phone could be invisible for QPST while the PDC tool can successfully recognise it.

4) It is quite possible that the diag function is completely disabled inside the kernel.
I cannot advise anything here but you may try to flash custom kernel Elemental X for example. I know it support diag functions because i've tested it on my P2
 
Last edited:
  • Like
Reactions: Xdevillived666

Xdevillived666

Senior Member
Feb 29, 2012
1,335
214
93
Massy
Sorry i wouldn't meant to be rude

First of all you are using pixel 3 (blueline) however according to the AOSP source code diag script is almost identical to pixel 2 xl so there is a small chance that the method will be applicable for P3.
1) Does the direct method works for you ? what do you see when you simply install the Magisk_Taimen_Diag and activate the Pixel 2 Diag Enabler module ?
The main reason behind the Module is disabling SE enforcement as early as possible. Because in my tests i was not able to connect to the phone via PDC when i set "setenforce 0" manually after the boot.
2) Still you can type the same commands manually, the error you have right now - is a wrong syntaxis setenforce -> 0"
PHP:
setenforce  0
setprop sys.usb.configfs 1
setprop sys.usb.config diag,serial_cdev,rmnet_gsi,adb
3) Because you are using another HW it is quite possible that Vendor ID and Product ID hardcoded in Magisk is not applicable to Pixel3 chipset.

PHP:
:::::
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x9091
:::::
I dont have a P3 to test but assuming that the CPU is Snapdragon 845 try to manually select an another driver for WWAN the current one is 9091
try update it to 9025, 9035 or 90AD. the same is applicable for QPST itself. But Please remember that the phone could be invisible for QPST while the PDC tool can successfully recognise it.

4) It is quite possible that the diag function is completely disabled inside the kernel.
I cannot advise anything here but you may try to flash custom kernel Elemental X for example. I know it support diag functions because i've tested it on my P2
You weren't being rude. I know the feeling of people not reading the entire thread and then asking questions. My bad for giving that impression




1. Direct method? Do mean just plug and try? I didn't get anything this way. I only got the ports and modem after using your module and magisk+commands

2. The commands stuck. Thanks for that tip. Im still in the same situation and windows keeps installing drivers after I rollback:-/

3.Very true !

4. Im on DU , which doesnt play nice with elmental, but I may flash stock and try.


Sidenote:

I found this thread. He doesnt explain much but is in same situation as me

https://www.clien.net/service/board/park/12770281

---------- Post added at 11:24 PM ---------- Previous post was at 11:18 PM ----------

Sorry i wouldn't meant to be rude

First of all you are using pixel 3 (blueline) however according to the AOSP source code diag script is almost identical to pixel 2 xl so there is a small chance that the method will be applicable for P3.
1) Does the direct method works for you ? what do you see when you simply install the Magisk_Taimen_Diag and activate the Pixel 2 Diag Enabler module ?
The main reason behind the Module is disabling SE enforcement as early as possible. Because in my tests i was not able to connect to the phone via PDC when i set "setenforce 0" manually after the boot.
2) Still you can type the same commands manually, the error you have right now - is a wrong syntaxis setenforce -> 0"
PHP:
setenforce  0
setprop sys.usb.configfs 1
setprop sys.usb.config diag,serial_cdev,rmnet_gsi,adb
3) Because you are using another HW it is quite possible that Vendor ID and Product ID hardcoded in Magisk is not applicable to Pixel3 chipset.

PHP:
:::::
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x9091
:::::
I dont have a P3 to test but assuming that the CPU is Snapdragon 845 try to manually select an another driver for WWAN the current one is 9091
try update it to 9025, 9035 or 90AD. the same is applicable for QPST itself. But Please remember that the phone could be invisible for QPST while the PDC tool can successfully recognise it.

4) It is quite possible that the diag function is completely disabled inside the kernel.
I cannot advise anything here but you may try to flash custom kernel Elemental X for example. I know it support diag functions because i've tested it on my P2
Ah, just before I forget, what version qpst are you using?
 

Xdevillived666

Senior Member
Feb 29, 2012
1,335
214
93
Massy
Thanks a lot. Helped me to get VoLTE and WiFi Calling working on my Pixel 2 XL on Swisscom network (Switzerland).
Though it was a bit tricky to get the diag mode enabled so that my computer would recognize the Qualcomm modem. After installation of patched Magisk and of the Magisk module zip (Diag port) I also had to execute the "setprop" commands via Terminal on the phone. Plus the Magisk VoEnabler module needs to be active constantly for it to work after adding the mbn via the PDC tool.
Was curios did you go through modem(qualcomm hs-usb modem) then and not ports(com &lpt)
 

pokkaf

Member
Sep 15, 2010
14
8
3
After installing the Qualcomm drivers in Windows and then connect the phone (which was ready in diag mode) I just opened PDC tool and I only had one device to choose from.
 
  • Like
Reactions: Xdevillived666

Xdevillived666

Senior Member
Feb 29, 2012
1,335
214
93
Massy
After installing the Qualcomm drivers in Windows and then connect the phone (which was ready in diag mode) I just opened PDC tool and I only had one device to choose from.
Which driver side you use? What version of qpst are you using?

---------- Post added at 09:35 AM ---------- Previous post was at 09:33 AM ----------

Sorry i wouldn't meant to be rude

First of all you are using pixel 3 (blueline) however according to the AOSP source code diag script is almost identical to pixel 2 xl so there is a small chance that the method will be applicable for P3.
1) Does the direct method works for you ? what do you see when you simply install the Magisk_Taimen_Diag and activate the Pixel 2 Diag Enabler module ?
The main reason behind the Module is disabling SE enforcement as early as possible. Because in my tests i was not able to connect to the phone via PDC when i set "setenforce 0" manually after the boot.
2) Still you can type the same commands manually, the error you have right now - is a wrong syntaxis setenforce -> 0"
PHP:
setenforce 0
setprop sys.usb.configfs 1
setprop sys.usb.config diag,serial_cdev,rmnet_gsi,adb
3) Because you are using another HW it is quite possible that Vendor ID and Product ID hardcoded in Magisk is not applicable to Pixel3 chipset.

PHP:
:::::
write /config/usb_gadget/g1/idVendor 0x05C6
write /config/usb_gadget/g1/idProduct 0x9091
:::::
I dont have a P3 to test but assuming that the CPU is Snapdragon 845 try to manually select an another driver for WWAN the current one is 9091
try update it to 9025, 9035 or 90AD. the same is applicable for QPST itself. But Please remember that the phone could be invisible for QPST while the PDC tool can successfully recognise it.

4) It is quite possible that the diag function is completely disabled inside the kernel.
I cannot advise anything here but you may try to flash custom kernel Elemental X for example. I know it support diag functions because i've tested it on my P2
I tried again and went to stock to try but can still only get "no phone". I'll probably try again in a few days . Its irritating because I know I'm close to getting it .
 

Airpil

Senior Member
Feb 12, 2007
258
73
0
Which driver side you use? What version of qpst are you using?

---------- Post added at 09:35 AM ---------- Previous post was at 09:33 AM ----------


I tried again and went to stock to try but can still only get "no phone". I'll probably try again in a few days . Its irritating because I know I'm close to getting it .
I am using the following drivers for P2 7/8/15 4.0.3.7 for WWAN and 2.1.2.0 for QPST COM port.

When we issue this commands we create a composite device with 4 functions

PHP:
diag.diag  -> /config/usb_gadget/g1/configs/b.1/f1  USB Diagnostic
cser.dun.0 -> /config/usb_gadget/g1/configs/b.1/f2  USB Modem
gsi.rmnet -> /config/usb_gadget/g1/configs/b.1/f3    RMNet
ffs.adb  ->     /config/usb_gadget/g1/configs/b.1/f4 .  ADB
This is quite important could you please compare the hardware IDs. &MI_00 at the end of HW ID should belong to the Diag COM Port.
May be Windows is trying to assign the drivers to the wrong subfunctions.
Could you try to do one trick. you need terminal emulator on you Phone for that.
1) login to adb shell.
2) setprop sys.usb.configfs 1
3) setprop sys.usb.config none
After that the ADB connection should be dropped.
4) from the terminal emulator
5) su
6) setprop sys.usb.config diag,serial_cdev,rmnet_gsi,adb
adb connection should be available again.
7) Go to /config/usb_gadget/g1/configs/b.1/ on the phone and do
ls -lart
8) send the output to me.

Also can you send me the entire output of the "dmesg" command from you device.
Logcat could be quite useful. just type "adb logcat" in console and reboot the phone.
 

Attachments

Last edited:
  • Like
Reactions: Xdevillived666

Xdevillived666

Senior Member
Feb 29, 2012
1,335
214
93
Massy
I am using the following drivers for P2 7/8/15 4.0.3.7 for WWAN and 2.1.2.0 for QPST COM port.

When we issue this commands we create a composite device with 4 functions

PHP:
diag.diag  -> /config/usb_gadget/g1/configs/b.1/f1  USB Diagnostic
cser.dun.0 -> /config/usb_gadget/g1/configs/b.1/f2  USB Modem
gsi.rmnet -> /config/usb_gadget/g1/configs/b.1/f3    RMNet
ffs.adb  ->     /config/usb_gadget/g1/configs/b.1/f4 .  ADB
This is quite important could you please compare the hardware IDs. &MI_00 at the end of HW ID should belong to the Diag COM Port.
May be Windows is trying to assign the drivers to the wrong subfunctions.
Could you try to do one trick. you need terminal emulator on you Phone for that.
1) login to adb shell.
2) setprop sys.usb.configfs 1
3) setprop sys.usb.config none
After that the ADB connection should be dropped.
4) from the terminal emulator
5) su
6) setprop sys.usb.config diag,serial_cdev,rmnet_gsi,adb
adb connection should be available again.
7) Go to /config/usb_gadget/g1/configs/b.1/ on the phone and do
ls -lart
8) send the output to me.

Also can you send me the entire output of the "dmesg" command from you device.
Logcat could be quite useful. just type "adb logcat" in console and reboot the phone.
Ive attached logcat and dmesg as zip because txt files exceeded limits of xda.
I have also attached a screen shot of hardware IDs
attached ls -lart as text

in regards to:
diag.diag-> /config/usb_gadget/g1/configs/b.1/f1 USB Diagnostic
cser.dun.0 -> /config/usb_gadget/g1/configs/b.1/f2 USB Modem
gsi.rmnet -> /config/usb_gadget/g1/configs/b.1/f3 RMNet
ffs.adb -> /config/usb_gadget/g1/configs/b.1/f4 . ADB

should I try to use these in terminal or adb on pc?
If I run, should look like:
setprop diag.diag /config/usb_gadget/g1/configs/b.1/f1 USB Diagnostic

or
setprop diag.diag /config/usb_gadget/g1/configs/b.1/f1

?

Or are these references?




In regards to previous post:
write /config/usb_gadget/g1/idVendor 0x05C6

this returns" cannot find this file"




write /config/usb_gadget/g1/idProduct 0x9091

returns

cannot find this file
Let me know if I did this correctly. Thanks for the help, too. I greatly appreciate it!
 

Attachments

Last edited:

Xdevillived666

Senior Member
Feb 29, 2012
1,335
214
93
Massy
Last edited:

Xdevillived666

Senior Member
Feb 29, 2012
1,335
214
93
Massy
Thanks a lot. Helped me to get VoLTE and WiFi Calling working on my Pixel 2 XL on Swisscom network (Switzerland).
Though it was a bit tricky to get the diag mode enabled so that my computer would recognize the Qualcomm modem. After installation of patched Magisk and of the Magisk module zip (Diag port) I also had to execute the "setprop" commands via Terminal on the phone. Plus the Magisk VoEnabler module needs to be active constantly for it to work after adding the mbn via the PDC tool.
Hey sir, which mbn did you use to get wifi and volte?
 

pokkaf

Member
Sep 15, 2010
14
8
3
Hey sir, which mbn did you use to get wifi and volte?
I downloaded the attached Nokia zip from the first post in this thread. And then I looked for the right mbn (in my case for provider Swisscom) which was in the zip path "modem_pr\mcfg\configs\mcfg_sw\generic\eu\swisscom\commerci\swiss" . You need to use the one for your provider of course.

Btw: Did you try using a terminal emulator (as app on the phone itself) while it's not connected to the pc and input the following?
Code:
su
setprop sys.usb.configfs 1
setprop sys.usb.config diag,serial_cdev,rmnet_gsi,adb
I had to use the terminal on the phone itself for the modem to show up in devices in device manager, it didn't work when I tried to input it into adb on the pc. However it seems that you made the modem show up in device manager.
 
Last edited:

Xdevillived666

Senior Member
Feb 29, 2012
1,335
214
93
Massy
I downloaded the attached Nokia zip from the first post in this thread. And then I looked for the right mbn (in my case for provider Swisscom) which was in the zip path "modem_pr\mcfg\configs\mcfg_sw\generic\eu\swisscom\commerci\swiss" . You need to use the one for your provider of course.

Btw: Did you try using a terminal emulator (as app on the phone itself) while it's not connected to the pc and input the following?
Code:
su
setprop sys.usb.configfs 1
setprop sys.usb.config diag,serial_cdev,rmnet_gsi,adb
I had to use the terminal on the phone itself for the modem to show up in devices in device manager, it didn't work when I tried to input it into adb on the pc. However it seems that you made the modem show up in device manager.
Ahhhh, okay. So my provider doesnt support nokia 8. I will hve to find mbn from devices it supports I guess.


I had to do terminal on phone as well to enable diagnostic , otherwise it only connected from adb via mtp