Как альтернатива вышенаписанному можно использовать простой скрипт
посылки команд в serial порт, с предв. очисткой буфера и приём ответа модема:
#!/usr/bin/env python
# coding: utf8
import sys
import serial
import time
modem_port = '/dev/gsmmodem'
modem_baudrates = [2400, 9600, 19200, 38400, 115200]
modem_bytesize = 8
modem_parity = serial.PARITY_NONE
modem_stopbits = 1
ser_modem = serial.Serial(modem_port, modem_baudrates[1], parity=modem_parity)
ser_modem.flushInput()
ser_modem.flushOutput()
try:
command = sys.argv[1] + '\r'
except:
command = 'AT' + '\r'
for i in command:
ser_modem.write(i)
time.sleep(0.1)
res = []
while ser_modem.inWaiting() > 0:
res.append(ser_modem.readline())
ser_modem.close()
print (''.join(res))