Я установил minicom с помощью следующей команды:
sudo apt-get minicom
Я подключен к коммутатору HP 5130 через USB-кабель последовательной консоли. Имя моего последовательного порта — /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 в устройстве меняется на /dev/ttyUSB1
или /dev/ttyUSB2
зависит от того, сколько раз вы повторно подключаете USB. Попробуйте подключиться к другому устройству.
Из ошибки ls: cannot access /dev/ttyUSB0: No such file or directory
я делаю вывод, что контроллер терминала меняется /dev/ttyUSBX
при повторном подключении USB.
решение3
Просто ls /dev/ttyUSB*
и тогдаsudo minicom -D /dev/ttyUSBx
Вы также можете использоватьмой скрипт оболочкикоторые открывают все ваши миникомы в новых терминалах:
#!/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