P1sec / QCSuper

QCSuper is a tool communicating with Qualcomm-based phones and modems, allowing to capture raw 2G/3G/4G radio frames, among other things.
GNU General Public License v3.0
1.31k stars 234 forks source link

Update for Android 13 & 14 #91

Open TrusterBSW opened 7 months ago

TrusterBSW commented 7 months ago

I like QCSuper, awsome tool that help me a lot. Since I updated my phones, I can't no longer use it, and that's sad.

Tested on Windows 10 and Debian 10, same results Phones used :

Here some debug I did :

PS C:\Users\Test\Desktop\QCSuper-master> python .\qcsuper.py --adb Could not find /dev/diag, does your phone have a Qualcomm chip? PS C:\Users\Test\Desktop\QCSuper-master> adb.exe shell ls /dev/diag ls: /dev/diag: No such file or directory PS C:\Users\Test\Desktop\QCSuper-master>adb.exe shell ls /dev/ffs* ls: /dev/ffs-diag: Permission denied ls: /dev/ffs-diag-1: Permission denied ls: /dev/ffs-diag-2: Permission denied PS C:\Users\Test\Desktop\QCSuper-master> adb.exe shell cat /dev/cpu_variant\:arm64 kryo300

I remember seeing some prop setting in the OnePlus 9 for debug interface name, but i can't find it anymore.

Is it possible to use those /dev/ffs-diag{,-1,-2} instead of /dev/diag in QCSuper ?

jelson-tech94 commented 7 months ago

Hello,

Can i ask what tool do you use to root your phone? I am trying to test this but can't do it so far in any phone, i have VIVO V21 (Android 13), Samsung Galaxy J2 (Android 5). Both of them return /dev/diag not found, but i have not rooted any of them, since i dont know how to do it!

Thanks in advance

TrusterBSW commented 7 months ago

Hello,

Can i ask what tool do you use to root your phone? I am trying to test this but can't do it so far in any phone, i have VIVO V21 (Android 13), Samsung Galaxy J2 (Android 5). Both of them return /dev/diag not found, but i have not rooted any of them, since i dont know how to do it!

Thanks in advance

I used Magisk to root them

p1-mmr commented 6 months ago

Hello,

This is likely due to the fact that the /dev/diag device has disappeared over recent Android 10+ phone firmwares, due to the diagchar kernel module being disabled by default in AOSP Linux 5.14+ kernels (see issue #77). In this case, a folder named /dev/ffs-diag is present on the filesystem (it is used internally to the phone to have the USB gadget that is able to expose Diag over USB work), but /dev/diag is not.

I have updated the tool to extend the --usb-modem flag in order to connect directly to the Diag port of the device over a USB pseudo-TTY device, when it is exposed, and to have --adb mode-switch the phone when this is the case: https://github.com/P1sec/QCSuper#usage-notice

You can find more details about this here: https://github.com/P1sec/QCSuper#how-to-manually-enable-the-diagnostic-ports-on-my-phone

Feel free to send feedback about the update,

Regards,