Linux

建立連接後如何向調製解調器發送 AT 命令?

  • November 24, 2020

我有一個中興 3g 調製解調器。我使用運營商提供的撥號器建立連接。一旦 ppp 連接處於活動狀態,我想發送一些 AT 命令(例如查詢信號強度,AT+CSQ)。但是我使用的撥號器鎖定了/dev/ttyUSB0埠,這是為我的調製解調器發送 AT 命令的命令埠。那麼,一旦連接處於活動狀態,有什麼方法可以發送命令?


編輯:我還嘗試了附加埠/dev/ttyUSB1。但是該埠正在傳輸來自調製解調器的隨機數據。下面給出一個範例。

T^PREFMODE??                                                                    
^PREFMODE:8                                                                     

OK                                                                              
TC                                                                              
^DSDORMANT:1                                                                    

+CSQ:19, 99                                                                     

OK                                                                              
T^SYSINFO                                                                       
^SYSINFO:2,3,0,4,255                                                            

OK                                                                              
TT^SYSINFO?                                                                     
^SYSINFO:2,3,0,4,255  

我嘗試添加我的命令,我什至得到了輸出。但是反響很差。大多數時候,我的 AT 命令沒有被注意到。

只要設備用於 ppp 流量,就不可能同時執行 AT 命令1。出於這個原因,所有現代調製解調器都將提供多個串列介面,例如 /dev/ttyUSB0 和 /dev/ttyUSB1(或 /dev/ttyACM0 和 /dev/ttyACM1 用於 Linux 上的 USB CDC 調製解調器)。

早在手機具有 RS-232 兼容連接器(可能帶有額外的 IrDA)的時代,3GPP 將多路復用協議標準化為07.10以克服物理限制,儘管這需要 PC 上的特殊驅動程序,因此它從未成功。如今,憑藉 USB 固有的多路復用功能,沒有理由不提供多個串列介面(儘管通常只有兩個)。

因此,正如評論中已經提到的,您應該使用其他串列設備,例如/dev/ttyUSB1.


1從理論上講,調製解調器可能支持+++轉義,這將允許您在連接進行時執行 AT 命令,儘管您必須以某種方式修改撥號程序以注入這些並提取響應。 .

引用自:https://unix.stackexchange.com/questions/203106