es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Obteniendo errores al realizar una conexión en serie utilizando Netmiko: he intentado con /dev/ttyS, ttyS, COM1 pero no he tenido suerte.

Obteniendo siguientes errores al conectarse a través de Serial usando Netmiko
1. Estoy utilizando OpenSUSE
2. Usando Netmiko para conectarse al switch Cisco 2960
3. el script utiliza un archivo de texto llamado commands.ios para leer y ejecutarlos después de que se establece la conexión por serial como – show ip int brief, show cdp neigh, etc..

from netmiko import ConnectHandler
import serial

with open('commands.ios') as f:
    commands_list = f.read().splitlines()

ios_device = {
    "device_type": "cisco_ios_serial",
    "port": "ttyS8",
    "username": "cisco",
    "password": "password",
    "serial_settings": {
        "baudrate": 9600,
        "bytesize": serial.EIGHTBITS,
        "parity": serial.PARITY_NONE,
        "stopbits": serial.STOPBITS_ONE,
    },
}

net_connect = ConnectHandler(ios_device)
output = net_connect.send_config_set(commands_list)
print(output)
Tags:  , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que hay un problema con el parámetro port proporcionado en ios_device. El parámetro port acepta un valor entero, pero en este caso, es un valor de cadena de texto 'ttyS8'. Para solucionar este error, se debe proporcionar el número de puerto correcto como un valor entero. Por ejemplo, si el número de puerto es 8, el diccionario ios_device debería actualizarse de la siguiente manera:

    ios_device = {
        "device_type": "cisco_ios_serial",
        "port": 8,
        "username": "cisco",
        "password": "password",
        "serial_settings": {
            "baudrate": 9600,
            "bytesize": serial.EIGHTBITS,
            "parity": serial.PARITY_NONE,
            "stopbits": serial.STOPBITS_ONE,
        },
    }
    

    Alternativamente, se puede especificar el nombre del puerto como una ruta absoluta de archivo reemplazando la línea "port": "ttyS8" por "port": "/dev/ttyS8". Esto debería solucionar el error y permitir que el script se conecte correctamente al switch mediante Netmiko.

Comments are closed.