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 244 forks source link

Trying to work on ZTE MF79S 4G #25

Open imnotconvinced opened 5 years ago

imnotconvinced commented 5 years ago

Hi guys! I've been trying to run QCSuper on a 4g ZTE MF79S dongle, but so far unsucessfully. What i've done: 1) Mount command to find out the /dev directory of the dongle

This gives me the following result: /dev/sr1 on /media/root/ZTEMODEM type iso9660 (ro,nosuid,nodev,relatime,norock,check=r,map=n,blocksize=2048,uid=0,gid=0,dmode=500,fmode=400,uhelper=udisks2)

2) I'm trying to run QCSuper with the following command: ./qcsuper.py --usb-modem /dev/sr1 --wireshark-live

This gets me the following error: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 323, in _reconfigure_port orig_attr = termios.tcgetattr(self.fd) termios.error: (22, 'Invalid argument')

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "./qcsuper.py", line 68, in diag_input = UsbModemConnector(args.usb_modem) File "/root/tsworkshop/QCSuper/inputs/usb_modem.py", line 66, in init dsrdtr = True File "/usr/lib/python3/dist-packages/serial/serialutil.py", line 240, in init self.open() File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 272, in open self._reconfigure_port(force_update=True) File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 326, in _reconfigure_port raise SerialException("Could not configure port: {}".format(msg)) serial.serialutil.SerialException: Could not configure port: (22, 'Invalid argument')

I'm pretty sure i'm doing something wrong. Could use your help. Thanks in advance!

p1-mmr commented 5 years ago

Hello,

/dev/sr1 actually means that you are trying to provide the name of the emulated CD-ROM exposed by your USB dongle (SR = optical disk), which contains, for example, the installation program for Windows drivers.

The device name that you should pass to QCSuper should instead being with /dev/tty something (/dev/ttyS*, /dev/ttyACM*...), indicating a serial port.

First, you should know that 3G dongles often start in a mode where only the emulated CD-ROM port is exposed, and the AT serial port providing network connectivity is not always directly exposed. To have the AT serial port, as well as the Diag port (if available), exposed to your system, you should perform an action called "USB mode switching", for which specific tools are available, see: https://wiki.archlinux.org/index.php/USB_3G_Modem#Mode_switching

Once proper USB mode switching (if any is required) has been operated, you should then be able to connect to the Internet through your 3G dongle using NetworkManager, like you would do in order to access the Internet using it on most Linux distributions.

Once you confirmed that you can use your 3G dongle to connect the Internet, you should follow the following instructions in order to know which /dev/tty* device you can use in order to using QCSuper with your 3G dongle: https://github.com/P1sec/QCSuper#using-qcsuper-with-an-usb-modem

Regards,