rConfig CLI Diagnostic Tools
Using rConfig CLI Diagnostic Tools
Section titled “Using rConfig CLI Diagnostic Tools”rConfig provides powerful command-line tools for detailed device connectivity troubleshooting. These tools provide verbose output showing exact protocol interactions, timing, and where failures occur.
Download Device Debug Command
Section titled “Download Device Debug Command”The primary diagnostic tool is the artisan rconfig:download-device command with debug flag:
Basic syntax:
cd /var/www/html/rconfig8/currentphp artisan rconfig:download-device <device_id> -dExamples:
Debug single device (ID 1001):
cd /var/www/html/rconfig8/currentphp artisan rconfig:download-device 1001 -dDebug multiple devices:
php artisan rconfig:download-device 1001 1002 1003 -dDebug without verbose output (no -d flag):
php artisan rconfig:download-device 1001Obtaining Device ID
Section titled “Obtaining Device ID”Multiple methods to obtain device ID for debug command:
Method 1: Device list page:
- Navigate to Devices list
- Device ID appears in leftmost column of devices table
- Note the ID for the device to troubleshoot
Method 2: Device detail page:
- Navigate to specific device detail page
- Device ID appears in page header
- Click Copy Debug Command icon to copy complete debug command to clipboard
Method 3: Device URL: Device ID is the number in the URL when viewing device details:
https://rconfig.company.com/devices/1001 ^^^^ Device IDInterpreting Debug Output
Section titled “Interpreting Debug Output”Debug output provides detailed protocol interaction showing exactly what rConfig sends to devices and receives back:
SSH debug output structure:
Connecting to device...Authentication successfulDetecting prompt...Prompt detected: Router#Sending command: show running-config[command output appears here line by line]Prompt detected: Router#Command completeSending command: show version[command output appears here]Prompt detected: Router#Command completeConfiguration saved to: /path/to/config/fileTelnet debug output structure:
Connecting to device...Username: adminPassword: ********Login successfulDetecting prompt...Prompt detected: Router>Sending command: enableEnable Password: ********Prompt detected: Router#Sending command: show running-config[command output appears here]Prompt detected: Router#Key Information in Debug Output
Section titled “Key Information in Debug Output”Connection timing: How long each step takes. Long delays indicate slow device response or network latency.
Prompt detection: Shows when prompts are detected and what prompt text matched. If prompt never detected, output shows timeout after 60 seconds.
Command execution: Displays each command sent and full output received. Verify commands execute successfully and return expected output.
Authentication flow: Shows authentication steps including username submission, password submission, and privilege escalation. Authentication failures display specific error messages from device.
Error messages: Any protocol errors, timeouts, or exceptions appear in debug output with detailed context about when and why they occurred.
Common Debug Output Patterns
Section titled “Common Debug Output Patterns”Timeout pattern:
Connecting to device...Authentication successfulDetecting prompt...[60 second pause]Error: Timeout waiting for promptIndicates: Prompt never detected, likely due to incorrect prompt configuration or device not displaying expected prompt.
False prompt match pattern:
Sending command: show running-config#config-version=...Prompt detected: #Command completeIndicates: rConfig detected false prompt match in command output (the # at start of config line), truncating remainder of configuration.
Authentication failure pattern:
Connecting to device...Username: adminPassword: ********Error: Authentication failedPermission deniedIndicates: Incorrect username, password, or account disabled on device.
Hung connection pattern:
Connecting to device...Authentication successfulDetecting prompt...[indefinite hang with no output]Indicates: Device not responding after login, possibly due to banner prompts, interactive messages, or device expecting additional input.
Debug Command Best Practices
Section titled “Debug Command Best Practices”Run debug from rConfig server: Execute debug command directly on rConfig server, not from remote system. This ensures network path and timing match actual configuration download operations.
Debug one device at a time: While multiple device IDs can be specified, debugging single device produces cleaner output easier to analyze. Debug additional devices individually after resolving first device’s issues.
Save debug output: Redirect debug output to file for detailed analysis and sharing with support:
php artisan rconfig:download-device 1001 -d > /tmp/device-1001-debug.txt 2>&1Compare working and failing devices: If some devices work correctly, debug both working and failing devices to identify differences in protocol interaction, prompt detection, or timing.
Test during different times: Network latency and device load vary throughout day. Test during different time periods to identify performance-related issues.