[FC6]直接對3g網卡下AT指令的方法

一些剛開始使用linux的玩家們,最常遇到的情況是找不到適用的軟體,例如在windows下如果想直接跟modem或是3g網卡溝通或是直接下達AT指令集的話,可以使用超級終端機,但是在linux下卻不知道去那裡找這樣的東西,其實在FC6裡直接有裝好這樣東西。他的名字就叫minicom。在這裡以我正在使用的Huawei E612來說明步驟,其他的3G網卡,不論是PCMCIA或是USB的,只要能設定連接到/dev/modem的,都能用這個方法。

因為E612是使用/dev/ttyUSB0來做AT指令集的接收,所以先把/dev/ttyUSB0連接到/dev/modem。
# ln -sf /dev/ttyUSB0 /dev/modem

接下來用root的身份或是sudo指令來執行minicom,就可以看到類似windows下超級終端機的畫面,與其說是超級終端機倒不如說比較接近Telix(好懷念的名字呀)。以下列出幾個指用的AT指令集。

ATZ0 將設定回復到預設值

AT+CSQ 查詢現在的訊號強度,傳回值如下
+CSQ: 29,99 其中的29就是訊號強度了,數值的範圍從0到31,如果出現99的話千萬別高興,那表示無法測到訊號強度啦!第二個99不用理他,似乎沒什麼特殊意義。

ATD號碼 撥電話號碼

ATH 掛斷電話

AT+CPIN? 查詢是否要輸入pin碼

AT+CPIN=XXXX 輸入pin碼,XXXX代入你的密碼


想到用AT指令集來控制3g網卡,其實是因為目前我還找不到比較好的方法可以知道訊號強度和用3g網卡來收發簡訊。但是根據目前的測試,E612似乎跟我
查到的AT指令集並不完全支援,所以還無法發簡訊,甚至無法設定只收3g訊號或是3g丶2g通吃,這個部份我還是拿windows做好設定後再拿到
linux來用的,因為E612不接受AT+COPS類的指令,如果有朋友知道怎麼設定訊號模式的,麻煩告知?謝謝。

4 則留言:

  1. 您好! 我目前在使用 minicom 的地方出現了點問題。恰巧在google上面搜尋到您的網誌。想跟您請教一下。我目前使用的是威寶電信的3G,在利用ATDT撥號之後我不知道要到哪邊去輸入帳號與密碼。還有就是如果我撥接上去之後,要怎麼繼續對網卡下AT指令?

    回覆刪除
  2. 如果是想要進行3G上網,建議不要使用minicom,可以參考以下這篇
    http://blog.xuite.net/michaelr/linux/14153877
    使用minicom的時機,通常是做指令型的除錯或檢查。
    似乎每個3g modem網卡都不是完全支援所有的AT指令,例如我現在使用的E612華為網卡就是如此,我所查到的一些AT指令並沒有完全被支援。

    回覆刪除
  3. 你好~依照您的步驟
    我在/dev/下沒有modem
    是否是其他的?
    謝謝

    回覆刪除
  4. Hello, Morris, 你好....
      雖然我已經很久沒有再使用3G網卡了,不過操作原理是要先找到您使用的3G網卡是使用在/dev/下那一個項目來做AT指令集的接收,以我之前用的華維E612是 /dev/ttyUSB0 ,這個資訊得上網另外查詢或是詢問官方的技術部門。
      然後再使用 建立 soft link的方式造出 /dev/modem 也就是文中提到的指令
    # ln -sf /dev/ttyUSB0 /dev/modem
    這樣才會出現 /dev/modem 所以若/dev/ttyUSB0不存在,那麼也不會產生出/dev/modem
    希望對你有幫助....

    回覆刪除

dnf upgrade fails with Error: GPG check FAILED

 OS: Fedora 36 今天在做  dnf  更新的時候,突然有很多 package 都出現簽章問題無法更新。類似如下的錯誤訊息 .... is not signed. ...... is not signed. ......... is not...