次のコマンドで minicom をインストールしました:
sudo apt-get minicom
私は USB シリアル コンソール ケーブルを介して HP 5130 スイッチに接続しています。次のコマンドによると、シリアル ポートの名前は /dev/ttyUSB0 です。
dmesg | grep tty
[ 0.000000] console [tty0] enabled
[49689.082419] usb 3-2: pl2303 converter now attached to ttyUSB0
追加チェック:
ls -l /dev/ttyUSB0
USB ケーブルを抜くと、次のエラーが発生します。
ls: cannot access /dev/ttyUSB0: No such file or directory
したがって、ttyUSB0が正しいポートであると仮定します
minicomの設定を以下のように編集しました。
+-----------------------------------------------------------------------+
| A - Serial Device : /dev/ttyUSB0 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program : |
| E - Bps/Par/Bits : 9600 8N1 |
| F - Hardware Flow Control : Yes |
| G - Software Flow Control : No |
| |
| Change which setting? |
+-----------------------------------------------------------------------+
ミニコムを始めた
ただし、これ以外の出力は得られません:
Welcome to minicom 2.7
OPTIONS: I18n
Compiled on Jan 1 2014, 17:13:22.
Port /dev/ttyUSB0, 15:02:26
Press CTRL-A Z for help on special keys
CTRL-A Z for help | 9600 8N1 | NOR | Minicom 2.7 | VT102 | Offline | ttyUSB0
問題はオフライン状態にあると思いますか?
答え1
この部分を見てください...
F - ハードウェアフロー制御: はい
これを「いいえ」(またはオフなど)に変更し、minicom を再起動します。
答え2
デバイスの USB を抜き差しすると、USB を何回抜き差ししたかによって、デバイスの状態が変わります。別のデバイスに接続してみてください/dev/ttyUSB1
。/dev/ttyUSB2
エラーから 判断すると、 USB を再接続するとls: cannot access /dev/ttyUSB0: No such file or directory
端末コントローラーが変更されると考えられます。/dev/ttyUSBX
答え3
そしてls /dev/ttyUSB*
そしてsudo minicom -D /dev/ttyUSBx
使用することもできます私のシェルスクリプトすべての minicom を新しい端末で開きます。
#!/bin/bash
open_minicom(){
PORT_IP=2
PORT_IP=$((PORT_IP+$1))
gnome-terminal -t "Minicom port $1 - 192.168.1.$PORT_IP" -x ./tmp_script"$1".sh
#./minicom_PORT.sh "$PORT_NUM"
}
generate_script(){
echo "$1"
PORT_NUM="$1"
PORT_IP=2
PORT_IP=$((PORT_IP+$1))
#gconftool-2 --set /apps/gnome-terminal/profiles/Default/title --type=string "Minicom port $PORT_NUM"
#############################generat script
touch tmp_script"$1".sh
chmod 777 tmp_script"$1".sh
cat <<EOT >> tmp_script"$1".sh
#!/usr/bin/expect -f
spawn sudo minicom -D /dev/ttyUSB$PORT_NUM -S set_ip"$PORT_IP".sh
expect {
-re ".*sword.*" {
exp_send "$pass\r"
}
}
interact
EOT
###############################
#open terminal
}
generate_eth(){
PORT_IP=2
PORT_IP=$((PORT_IP+$1))
touch set_ip"$PORT_IP".sh
chmod 777 set_ip"$PORT_IP".sh
cat <<EOT >> set_ip"$PORT_IP".sh
#!/bin/bash
ifconfig eth0 192.168.1.$PORT_IP down up
EOT
}
MY_distractor(){
rm tmp_script*.sh set_ip*.sh
}
#printf "\n$NUM_OF_PORTS\n"
##############################
# MAIN #
##############################
NUM_OF_PORTS="$(ls /dev/ttyUSB* | grep -v ^l | wc -l)"
if [ $# -eq 0 ]
then
printf "No password arguments supplied\n Plase run ./your_script password \n Exiting......\n" && exit 1;
else
pass="$1"
fi
if [ "$NUM_OF_PORTS" == "0" ]; then
printf "Not found any minicom ports\n Exiting......\n" && exit 1;
fi
for (( i=0; i < $NUM_OF_PORTS ; i++ ))
do
generate_script "$i"
done
echo "$(ls tmp_script*.sh)"
for (( i=0; i < $NUM_OF_PORTS ; i++ ))
do
generate_eth "$i"
done
for (( i=0; i < $NUM_OF_PORTS ; i++ ))
do
open_minicom "$i"
done
sleep 1
MY_distractor