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.37k stars 243 forks source link

Snapdragon 8 gen 3 PCI Express #103

Open phodina opened 5 months ago

phodina commented 5 months ago

Hi, I have laptop with Snapdragon 8 gen 3 (Lenovo x13s) and it has Qualcomm modem.

However, this modem is connected over PCIe on the board. In the help I have not found this option.

Could you please give a hint which parts of the Python code to modify to allow connection over PCIe?

Here's the modem manager output:

(venv) ~/QCSuper $ ./qcsuper.py 
usage: qcsuper.py [-h] [--cli] [--efs-shell] [-v] (--adb | --adb-wsl2 ADB_WSL2 | --usb-modem TTY_DEV | --dlf-read DLF_FILE | --json-geo-read JSON_FILE) [--info] [--pcap-dump PCAP_FILE] [--wireshark-live] [--memory-dump OUTPUT_DIR]
                  [--dlf-dump DLF_FILE] [--json-geo-dump JSON_FILE] [--decoded-sibs-dump] [--reassemble-sibs] [--decrypt-nas] [--include-ip-traffic] [--start MEMORY_START] [--stop MEMORY_STOP]
qcsuper.py: error: one of the arguments --adb --adb-wsl2 --usb-modem --dlf-read --json-geo-read is required
(venv) ~/QCSuper $ mmcli -m 0
  -----------------------------------
  General  |                    path: /org/freedesktop/ModemManager1/Modem/0
           |               device id: XXXXXX
  -----------------------------------
  Hardware |            manufacturer: foxconn
           |                   model: Qualcomm Snapdragon X55 5G
           |       firmware revision: T99W175.F0.6.0.0.6.GC.004
           |                          049  1  [May 30 2023 09:00:00]
           |          carrier config: GCF
           | carrier config revision: 0A000804
           |            h/w revision: Qualcomm Snapdragon X55 5G
           |               supported: gsm-umts, lte, 5gnr
           |                 current: gsm-umts, lte, 5gnr
           |            equipment id: XXXXX
  -----------------------------------
  System   |                  device: /sys/devices/platform/soc@0/1c10000.pcie/pci0004:00/0004:00:00.0/0004:01:00.0
           |                 physdev: /sys/devices/platform/soc@0/1c10000.pcie/pci0004:00/0004:00:00.0/0004:01:00.0
           |                 drivers: mhi-pci-generic
           |                  plugin: foxconn
           |            primary port: wwan0mbim0
           |                   ports: wwan0 (net), wwan0at0 (at), wwan0mbim0 (mbim), 
           |                          wwan0qcdm0 (ignored)

I'm using Alpine linux on the machine:

$ uname -a
Linux dragon 6.8.0 #1-lenovo-21bx SMP PREEMPT Thu Mar 14 18:00:12 UTC 2024 aarch64 Linux
peremen commented 5 months ago

The /dev/wwan0qcdm0 seems to not be a normal TTY device which is also used by the serial modem. We also have similar issue on SCAT too: https://github.com/fgsect/scat/issues/97