Skip to content

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.

The primary diagnostic tool is the artisan rconfig:download-device command with debug flag:

Basic syntax:

Terminal window
cd /var/www/html/rconfig8/current
php artisan rconfig:download-device <device_id> -d

Examples:

Debug single device (ID 1001):

Terminal window
cd /var/www/html/rconfig8/current
php artisan rconfig:download-device 1001 -d

Debug multiple devices:

Terminal window
php artisan rconfig:download-device 1001 1002 1003 -d

Debug without verbose output (no -d flag):

Terminal window
php artisan rconfig:download-device 1001

Multiple methods to obtain device ID for debug command:

Method 1: Device list page:

  1. Navigate to Devices list
  2. Device ID appears in leftmost column of devices table
  3. Note the ID for the device to troubleshoot

Method 2: Device detail page:

  1. Navigate to specific device detail page
  2. Device ID appears in page header
  3. 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 ID

Debug output provides detailed protocol interaction showing exactly what rConfig sends to devices and receives back:

SSH debug output structure:

Connecting to device...
Authentication successful
Detecting prompt...
Prompt detected: Router#
Sending command: show running-config
[command output appears here line by line]
Prompt detected: Router#
Command complete
Sending command: show version
[command output appears here]
Prompt detected: Router#
Command complete
Configuration saved to: /path/to/config/file

Telnet debug output structure:

Connecting to device...
Username: admin
Password: ********
Login successful
Detecting prompt...
Prompt detected: Router>
Sending command: enable
Enable Password: ********
Prompt detected: Router#
Sending command: show running-config
[command output appears here]
Prompt detected: Router#

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.

Timeout pattern:

Connecting to device...
Authentication successful
Detecting prompt...
[60 second pause]
Error: Timeout waiting for prompt

Indicates: 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 complete

Indicates: 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: admin
Password: ********
Error: Authentication failed
Permission denied

Indicates: Incorrect username, password, or account disabled on device.

Hung connection pattern:

Connecting to device...
Authentication successful
Detecting prompt...
[indefinite hang with no output]

Indicates: Device not responding after login, possibly due to banner prompts, interactive messages, or device expecting additional input.

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:

Terminal window
php artisan rconfig:download-device 1001 -d > /tmp/device-1001-debug.txt 2>&1

Compare 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.