Mein BQ Aquaris E5 (Ubuntu Edition) wurde in der Ubuntu 15.10 Desktop Edition nicht als GSM-Modem erkannt. Daher habe ich folgendes Shell-Script ausprobiert:
Danach wurde die folgende Meldung in / var / log / syslog angezeigt:
Nov 9 08:14:32 family-desktop kernel: [ 1038.246463] usbcore: registered new interface driver usbserial Nov 9 08:14:32 family-desktop kernel: [ 1038.246487] usbcore: registered new interface driver usbserial_generic Nov 9 08:14:32 family-desktop kernel: [ 1038.246504] usbserial: USB Serial support registered for generic Nov 9 08:14:32 family-desktop kernel: [ 1038.246525] usbserial_generic 4-1.8:1.1: The "generic" usb-serial driver is only for testing and one-off prototypes. Nov 9 08:14:32 family-desktop kernel: [ 1038.246528] usbserial_generic 4-1.8:1.1: Tell linux-usb@vger.kernel.org to add your device to a proper driver. Nov 9 08:14:32 family-desktop kernel: [ 1038.246530] usbserial_generic 4-1.8:1.1: generic converter detected Nov 9 08:14:32 family-desktop kernel: [ 1038.246648] usb 4-1.8: generic converter now attached to ttyUSB0 Nov 9 08:14:36 family-desktop kernel: [ 1042.266838] usbcore: registered new interface driver option Nov 9 08:14:36 family-desktop kernel: [ 1042.266865] usbserial: USB Serial support registered for GSM modem (1-port)
Wenn Sie lsusb auf meinem System ausführen, wird Folgendes angezeigt:
Bus 004 Device 004: ID 2a47:0c02 Bus 004 Device 003: ID 0781:5590 SanDisk Corp. ..... Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 004: ID 2188:0ae1
Der Versuch, AT-Befehle an das Modem zu senden (erkannt als / dev / ttyUSB0), schlägt jedoch fehl. Das folgende Demo-Skript von python-gsmmodem wird verwendet:
!/usr/bin/env python """\ Demo: handle incoming SMS messages by replying to them Simple demo app that listens for incoming SMS messages, displays the sender's number and the messages, then replies to the SMS by saying "thank you" """ from __future__ import print_function import logging import sys PORT = "/dev/ttyUSB%s" % (sys.argv[1]) BAUDRATE = 9600 PIN = '<my Pin>' # SIM card PIN (if any) from gsmmodem.modem import GsmModem def handleSms(sms): print(u'== SMS message received ==\nFrom: \nTime: \nMessage:\n\n'.format(sms.number, sms.time, sms.text)) print('Replying to SMS...') sms.reply(u'SMS received: ""'.format(sms.text[:20], '...' if len(sms.text) > 20 else '')) print('SMS sent.\n') def main(): print('Initializing modem...') # Uncomment the following line to see what the modem is doing: logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.DEBUG) modem = GsmModem(PORT, BAUDRATE, smsReceivedCallbackFunc=handleSms) modem.smsTextMode = False modem.connect(PIN) print('Waiting for SMS message...') try: modem.rxThread.join(230**31) # Specify a (huge) timeout so that it essentially blocks indefinitely, but still receives CTRL+C interrupt signal finally: modem.close(); if __name__ == '__main__': main()
Es gibt etwas wie folgt zurück:
# python sms_handler_demo.py 0 Initializing modem... INFO: Connecting to modem on port /dev/ttyUSB0 at 9600bps DEBUG: write: ATZ Traceback (most recent call last): File "sms_handler_demo.py", line 41, in <module> main() File "sms_handler_demo.py", line 33, in main modem.connect(PIN) File "/usr/local/lib/python2.7/dist-packages/gsmmodem/modem.py", line 177, in connect self.write('ATZ') # reset configuration File "/usr/local/lib/python2.7/dist-packages/gsmmodem/modem.py", line 413, in write responseLines = super(GsmModem, self).write(data + writeTerm, waitForResponse=waitForResponse, timeout=timeout, expectedResponseTermSeq=expectedResponseTermSeq) File "/usr/local/lib/python2.7/dist-packages/gsmmodem/serial_comms.py", line 140, in write raise TimeoutException() gsmmodem.exceptions.TimeoutException: None
Irgendeine Idee, was könnte falsch sein?
Bharath Kanakasabha vor 8 Jahren
0
1 Antwort auf die Frage
0
Bharath Kanakasabha
Diese Frage wurde in der Ubuntu-Phone-Mailingliste gestellt. Nachfolgend die Antwort von einem der Mitglieder dieser Mailingliste (Kopieren der Antwort hier):
Ich glaube nicht, dass das Basisband-Modul im MediaTek-Chipsatz im "normalen" Betriebsmodus direkt an den USB-Controller angeschlossen ist. Es gibt einige spezielle Engineering-Tools wie MTK Catcher, aber AFAIK hat keine "Standard" AT-Befehlsschnittstelle, die für den USB-Hostcomputer sichtbar ist. Android-basierte Geräte sprechen auf Betriebssystemebene nicht mit AT, sondern RIL und ein proprietärer Treiber konvertieren die RIL-Befehle in herstellerspezifische Befehle für das Modem.
Sie können ADB oder SSH auf dem Telefon aktivieren, sich mit "adb shell" / "phablet-shell" oder SSH verbinden und dann mit der auf dem Telefon ausgeführten ofono-Komponente alles tun, was Sie möchten. Es gibt viele Beispielskripte in
/ usr / share / ofono / scripts /
SMS senden, Anrufe tätigen usw. Wenn Sie sich diese anzeigen, werden Sie feststellen, dass es sich meist um Python-Skripte handelt, die D-Bus-Aufrufe ausgeben. Sie können also mithilfe der ofono D-Bus-API, die unter dokumentiert ist, Ihre eigene Logik aufbauen