W systemie Linux (Ubuntu) próbuję wysłać polecenia AT do modemu na adres /dev/ttyACM0
. Próbowałem to zrobić jako:
sudo socat - /dev/ttyACM0
ale podczas pisania czegokolwiek pojawia się wiersz powtarzający to polecenie (oczekuję, że OK
).
Kiedy robię
sudo minicom modem1
wydaje się, że działa. Piszę AT
i dostaję OK
. Piszę bzdury, dostaję ERROR
.
Wydaje się, że modem1
dla Minicom jest jakoś skonfigurowany do korzystania z modemu na /dev/ttyACM0
.
Jak mogę użyć socat do wysyłania poleceń AT? Czy muszę coś skonfigurować? Może mogę użyć konfiguracji dla modem1
Minicom (nie wiem, jak znaleźć / zobaczyć tę konfigurację)?
Dodatkowe informacje
Czy podane socat
polecenie jest poprawne? Czy powinienem grać z niektórymi opcjami? Z -v
opcją widzę następujące:
AT
> 2013/10/23 17:10:28.917413 length=3 from=0 to=2
AT
< 2013/10/23 17:10:28.921598 length=3 from=0 to=2
AT
AT
ksjdhfjdgfhjkdfh
> 2013/10/23 17:10:30.244923 length=17 from=3 to=19
ksjdhfjdgfhjkdfh
< 2013/10/23 17:10:30.251383 length=29 from=3 to=31
ksjdhfjdgfhjk\b \bd\b \bf\b \bh\b \b
ksjdhfjdgfhj
Samo urządzenie ma następujące wyjście dmesg:
[5983726.808063] usb 2-1: USB disconnect, device number 3
[5983730.800021] usb 2-1: new full-speed USB device number 4 using uhci_hcd
[5983730.920014] usb 2-1: device descriptor read/64, error -71
[5983733.629524] usb 2-1: New USB device found, idVendor=0572, idProduct=1329
[5983733.629533] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[5983733.629539] usb 2-1: Product: USB Modem
[5983733.629544] usb 2-1: Manufacturer: Conexant
[5983733.629549] usb 2-1: SerialNumber: 24680246
[5983733.632673] cdc_acm 2-1:1.0: ttyACM0: USB ACM device
I tty jest skonfigurowany w następujący sposób:
speed 57600 baud; line = 0;
eof = ^A; min = 1; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -echo -echoe
źródło
Odpowiedzi:
Próbować
socat - /dev/ttyUSB2,crnl
Mówi to socat o wysłaniu zwrotu karetki, a także wysuwu wiersza.
Wyjaśnienie - to sięga mrocznych dni elektrycznych maszyn do pisania, gdzie trzeba by powiedzieć mu, aby przewrócił karetkę z powrotem do pozycji 0 na stronie - ergo, powrót karetki - a także nakazał mu przesunąć papier o jedną linię w górę .
źródło
Najlepszym sposobem wysyłania poleceń AT do modemu w systemie Linux jest użycie programu atinout, który jest napisany wyłącznie w celu wysyłania poleceń AT do modemu z wiersza poleceń.
Możesz go użyć do sprawdzenia, czy modem jest uruchomiony i zrób kopię zapasową książki telefonicznej:
lub dowolne inne rzeczy, do których używasz komend AT.
źródło
Natknąłem się na ten post z projektu Chromium, który pokazuje, czego chcesz. Nosi tytuł: Debugowanie modemu komórkowego .
fragment z tej strony
źródło
dmesg
dzienniku. Przepraszam, nie mogę ci pomóc więcej niż to.