[Guide] Enabling DIAG for QPST (updated)

Search This thread

HomerSp

Retired Recognized Developer
Jan 5, 2010
619
584
Stockholm
Hi everyone, I have finally figured out how to get proper diag support on our device. This will allow us to use QPST and such.
It will be a pretty short guide as it's quite simple, but it does enable us to do a whole lot of things we couldn't do before.

Downloads
* QPST
* AsusVoLTE app

Prerequsities
* Both methods require root, at least initially. There are several threads on how to do that, so look those up if you need help.

USB method
Downloads
* Qualcomm USB drivers

Step 1
Install the drivers and QPST from above. If you've already done this from my VoLTE/VoWiFi guide there's no need to reinstall them.

Step 2
When you've done that, install the AsusVoLTE app and connect the phone to the computer and open up it up. Press the Enable DIAG button, and you should hear/see a new device attaching. This should hopefully be enough, but if not, try rebooting the phone. If that still doesn't work try the Remote method below.


Remote method

Prerequsities
* Both your computer and phone have to be connected to the same network. You may also need to allow port 2500 in your firewall.

Step 1
Start by downloading and installing QPST from the link above, no drivers or such required. If you've already done this from following my VoLTE/VoWiFi guide you can safely skip this step.

Step 2
Now run QPSTConfig.exe from the bin folder of the QPST install and wait for it to open up. Head to the IP Server tab and tick the Accept client connections box - we need to do this as we will be connecting to QPST remotely. Take a note of the Server IP Address (this should simply be the ip address of your computer), and potentially the Server Port below if you have changed it from the default value of 2500.

Step 3
Open up the AsusVoLTE app on the phone, and enter the IP address from the Server IP Address in the field, and optionally, change the port number.
After this you can simply press the Start button.
Now that you have done this, you should, momentarily, see a new port appear in QPST Configuration under the Ports tab with a Port number like COM30001 and the Phone column should hopefully say SDM855 (0). If you do see this you are good to go! You can now start exploring EFS and such.

Troubleshooting
Some people have had issues connecting to the diag port, with EfsTools from the VoLTE guide returning BadCmd and QPST not working either. If you have this problem, try restoring modem settings by running this in bootloader (adb reboot bootloader, or press volume up while rebooting):

Warning: This may cause issues with no service for some, do not run this without a full backup of all of the partitions (in particular, modemst1, modemst2, fsg and fsc) on the device!
Code:
REDACTED because people still run these commands without taking a backup

Do note that this will reset any changes you may have done (like enabling VoLTE through PDC).

Thanks to @xbamaris1` for troubleshooting this with me, and for confirming this worked!

Let me know if this has worked for you, and if you have any questions!
 
Last edited:

dennis96411

Senior Member
Dec 9, 2011
1,099
498
¬_¬
I'm getting this:
Code:
ASUS_I001_1:/ # diag_socket_log -a 10.30.1.10 -p 2500
diag_socket_log: Diag_LSM_Init succeeded.
diag: In diag_register_socket_cb, registered socket callback function
diag_socket_log: Translating address: 10.30.1.10
diag_socket_log: Trying to connect to address: 10.30.1.10, port: 2500
diag_socket_log: Error calling connect: Operation already in progress, errno: 114

I'll try to restart my computer and phone. Maybe there were some remnants of tools running still.
 

xbamaris1`

Member
Dec 22, 2019
42
14
I'm getting this:
Code:
ASUS_I001_1:/ # diag_socket_log -a 10.30.1.10 -p 2500
diag_socket_log: Diag_LSM_Init succeeded.
diag: In diag_register_socket_cb, registered socket callback function
diag_socket_log: Translating address: 10.30.1.10
diag_socket_log: Trying to connect to address: 10.30.1.10, port: 2500
diag_socket_log: Error calling connect: Operation already in progress, errno: 114

I'll try to restart my computer and phone. Maybe there were some remnants of tools running still.

I had this problem to until I realized that its network based and your phone should be connected to your WIFI (at least thats what fixed it for me).

However, Despite this, i am still not getting data from it. COM30001 from an IP of 192.168.1.211 (which is my phone) and it is still not able to browse data from QPST
 

dennis96411

Senior Member
Dec 9, 2011
1,099
498
¬_¬
Wait, I think I got it. I had to use the USB tethering feature of my phone to bypass whatever my router's doing. I also had to run ipconfig to grab the IP address that was assigned to my computer, and manually set that in the "Use specified IP address" box.

Is this IP-based method necessary? I can already see my phone in normal USB mode.
BHG1qbm.png


Update: It turns out I didn't need the IP-based method as my phone's already seen through USB. I'm not sure how I managed that.
 
Last edited:

xbamaris1`

Member
Dec 22, 2019
42
14
Wait, I think I got it. I had to use the USB tethering feature of my phone to bypass whatever my router's doing. I also had to run ipconfig to grab the IP address that was assigned to my computer, and manually set that in the "Use specified IP address" box.

Is this IP-based method necessary? I can already see my phone in normal USB mode.
BHG1qbm.png



Update 2: It turns out I didn't need the IP-based method as my phone's already seen through USB. I'm not sure how I managed that.

I really hope we can get QPST fully working. I'm in the same boat as you, was able to get SDM855(0) but nothing after that with QPST. Glad you got it to work though!

I really want to try enabling some LTE bands (just want two as a start, 12 / 17. And MAYBE 66.
 

dennis96411

Senior Member
Dec 9, 2011
1,099
498
¬_¬
I really hope we can get QPST fully working. I'm in the same boat as you, was able to get SDM855(0) but nothing after that with QPST. Glad you got it to work though!

I really want to try enabling some LTE bands (just want two as a start, 12 / 17. And MAYBE 66.

Does your phone not show up as a USB device like mine? I wonder how I got it to show up. It would be nice to find out so it would be easier to use QPST.
 

xbamaris1`

Member
Dec 22, 2019
42
14
Does your phone not show up as a USB device like mine? I wonder how I got it to show up. It would be nice to find out so it would be easier to use QPST.

Yeah it shows up as a USB device with SDM855(0) as the device. I actually had a different diagnostic driver that was the ANDROID Diag mode at some point, not sure if that was useful at all, but still no QPST data. Not sure how I managed to get the Qualcomm ANDROID Diag to show up (The exact interface / driver that showed up was: Qualcomm HS-USB Android DIAG 901D) it just magically appeared after trying to change the sys.usb.config at some point. Haven't been able to recreate it and not sure of the significance of it. But I believe QPST still registered it.
 
Last edited:

dennis96411

Senior Member
Dec 9, 2011
1,099
498
¬_¬
Yeah it shows up as a USB device with SDM855(0) as the device. I actually had a different diagnostic driver that was the ANDROID Diag mode at some point, not sure if that was useful at all, but still no QPST data. Not sure how I managed to get the Qualcomm ANDROID Diag to show up (The exact interface / driver that showed up was: Qualcomm HS-USB Android DIAG 901D) it just magically appeared after trying to change the sys.usb.config at some point. Haven't been able to recreate it and not sure of the significance of it. But I believe QPST still registered it.

Try these drivers: https://androidfilehost.com/?fid=11410963190603864074

This is what mine shows up as after running "setprop sys.usb.diag2 1":
V0p4IcA.png
 

xbamaris1`

Member
Dec 22, 2019
42
14
Try these drivers: https://androidfilehost.com/?fid=11410963190603864074

This is what mine shows up as after running "setprop sys.usb.diag2 1":
V0p4IcA.png

Thats what I have now, and usually do have when I enable it. I just thought it was strange when I suddenly got that other interface to connect. Again, not sure the significance of what I had since QPST still didn't work. But just was something I came across while trying to tinker.
 

dennis96411

Senior Member
Dec 9, 2011
1,099
498
¬_¬
Thats what I have now, and usually do have when I enable it. I just thought it was strange when I suddenly got that other interface to connect. Again, not sure the significance of what I had since QPST still didn't work. But just was something I came across while trying to tinker.

Which version of QPST Configuration do you have? This is mine.
RGqbL7H.png
 

HomerSp

Retired Recognized Developer
Jan 5, 2010
619
584
Stockholm
Wait, I think I got it. I had to use the USB tethering feature of my phone to bypass whatever my router's doing. I also had to run ipconfig to grab the IP address that was assigned to my computer, and manually set that in the "Use specified IP address" box.

Is this IP-based method necessary? I can already see my phone in normal USB mode.
BHG1qbm.png


Update: It turns out I didn't need the IP-based method as my phone's already seen through USB. I'm not sure how I managed that.
It's not necessary, no - if you get it to show up in usb you won't need to do any of this. I could, however, never get the phone to connect in usb mode - it just shows as No phone.
I will try those drivers you posted and update the guide.
 

HomerSp

Retired Recognized Developer
Jan 5, 2010
619
584
Stockholm
I've updated the guide in the first post - it now has both the usb method and remote method. I managed to get diag working through USB, but it seems to be a bit fiddly and sometimes required that I reboot the phone before it started working.

If you don't want to use the app to enable diag you can simply run this in a root shell:
setprop sys.usb.diag 2
 

dennis96411

Senior Member
Dec 9, 2011
1,099
498
¬_¬
I've updated the guide in the first post - it now has both the usb method and remote method. I managed to get diag working through USB, but it seems to be a bit fiddly and sometimes required that I reboot the phone before it started working.

If you don't want to use the app to enable diag you can simply run this in a root shell:
setprop sys.usb.diag 2

Oh did those drivers make a difference for you?
 

dungnghien

Senior Member
Aug 20, 2010
134
36
Phúc Thọ
ASUS ROG Phone 5
I've updated the guide in the first post - it now has both the usb method and remote method. I managed to get diag working through USB, but it seems to be a bit fiddly and sometimes required that I reboot the phone before it started working.

If you don't want to use the app to enable diag you can simply run this in a root shell:
setprop sys.usb.diag 2
How to change imei with EFS
 

XavierBK

Member
Aug 7, 2011
30
0
Will doing this, to eventually turn on VoLTE and VoWiFi, lock me out of Google Pay and similar services?

Sorry if it's a stupid question, I've not toyed around with rooting since it began disabling pay and bank features that I have enjoyed using.
 

HomerSp

Retired Recognized Developer
Jan 5, 2010
619
584
Stockholm
Will doing this, to eventually turn on VoLTE and VoWiFi, lock me out of Google Pay and similar services?

Sorry if it's a stupid question, I've not toyed around with rooting since it began disabling pay and bank features that I have enjoyed using.
Magisk (the root method) hides itself from bank apps and such, but you can do a SafetyNet check in the magisk manager app, and if that passes so you should be good to go.
Only thing you won't be able to get with the bootloader unlocked is HD video in Netflix and Amazon video.
 

ChronoReverse

Senior Member
Jun 14, 2010
1,359
247
This is very interesting. I read in another thread that with nvram access you can try to enable bands (but it may not work). Is this to the point where that can be tried?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    Hi everyone, I have finally figured out how to get proper diag support on our device. This will allow us to use QPST and such.
    It will be a pretty short guide as it's quite simple, but it does enable us to do a whole lot of things we couldn't do before.

    Downloads
    * QPST
    * AsusVoLTE app

    Prerequsities
    * Both methods require root, at least initially. There are several threads on how to do that, so look those up if you need help.

    USB method
    Downloads
    * Qualcomm USB drivers

    Step 1
    Install the drivers and QPST from above. If you've already done this from my VoLTE/VoWiFi guide there's no need to reinstall them.

    Step 2
    When you've done that, install the AsusVoLTE app and connect the phone to the computer and open up it up. Press the Enable DIAG button, and you should hear/see a new device attaching. This should hopefully be enough, but if not, try rebooting the phone. If that still doesn't work try the Remote method below.


    Remote method

    Prerequsities
    * Both your computer and phone have to be connected to the same network. You may also need to allow port 2500 in your firewall.

    Step 1
    Start by downloading and installing QPST from the link above, no drivers or such required. If you've already done this from following my VoLTE/VoWiFi guide you can safely skip this step.

    Step 2
    Now run QPSTConfig.exe from the bin folder of the QPST install and wait for it to open up. Head to the IP Server tab and tick the Accept client connections box - we need to do this as we will be connecting to QPST remotely. Take a note of the Server IP Address (this should simply be the ip address of your computer), and potentially the Server Port below if you have changed it from the default value of 2500.

    Step 3
    Open up the AsusVoLTE app on the phone, and enter the IP address from the Server IP Address in the field, and optionally, change the port number.
    After this you can simply press the Start button.
    Now that you have done this, you should, momentarily, see a new port appear in QPST Configuration under the Ports tab with a Port number like COM30001 and the Phone column should hopefully say SDM855 (0). If you do see this you are good to go! You can now start exploring EFS and such.

    Troubleshooting
    Some people have had issues connecting to the diag port, with EfsTools from the VoLTE guide returning BadCmd and QPST not working either. If you have this problem, try restoring modem settings by running this in bootloader (adb reboot bootloader, or press volume up while rebooting):

    Warning: This may cause issues with no service for some, do not run this without a full backup of all of the partitions (in particular, modemst1, modemst2, fsg and fsc) on the device!
    Code:
    REDACTED because people still run these commands without taking a backup

    Do note that this will reset any changes you may have done (like enabling VoLTE through PDC).

    Thanks to @xbamaris1` for troubleshooting this with me, and for confirming this worked!

    Let me know if this has worked for you, and if you have any questions!
    3
    I've updated the guide in the first post - it now has both the usb method and remote method. I managed to get diag working through USB, but it seems to be a bit fiddly and sometimes required that I reboot the phone before it started working.

    If you don't want to use the app to enable diag you can simply run this in a root shell:
    setprop sys.usb.diag 2
    1
    This is very interesting. I read in another thread that with nvram access you can try to enable bands (but it may not work). Is this to the point where that can be tried?
    Yes indeed, but we have yet to find a way to enable additional bands. We are working on it though, so hopefully we'll have something soon.
    1
    Please help

    When I press enable diag, a popup appears saying that i don't have root installed. But I do have root installed. Even the second method does not work. Can you please help? I really need to flash a qcn file and my device just won't appear.
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone