Hello, I am new to posting here so if this is not the correct way to post this type of thing please let me know. I am using the Cisco IOS tracker component and ran into a problem where it would no longer log in to the Cisco switch. It was producing the errors
“homeassistant.components.device_tracker.cisco_ios: pxssh failed on login.”
“homeassistant.components.device_tracker.cisco_ios: could not synchronize with original prompt”
After some research I realize that I had changed the MOTD banner recently on the switch. This was causing a problem with the Cisco IOS tracker component when it was parsing for the logon prompt causing it to fail. I removed all banners and it resolved the problem. It does not seem to fail with a banner in general but depending on how the banner is written it could cause issues. I wanted to put this out here incase someone else runs into the same problem.
Any plans to extend this plugin to support WLC? I’m using it now for my switches but WLC support would be extremely useful. I would be happy to provide a controller and access points for test/dev.
Hi @fbradyirl, I’ve noticed an issue recently with the IOS scanner not able to pull the ARP listing. I’ve included a trace back below. I’m assuming this has happened after an IOS upgrade. I’ve SSHd to the device and the only thing I’ve noticed is a blank line after putting the password in, before getting the first hostname# prompt. I’m not sure if that’s a change in a recent IOS perhaps.
Appreciate your help.
Mike
2019-05-06 21:34:27 ERROR (MainThread) [homeassistant.components.device_tracker] Error setting up platform cisco_ios
Traceback (most recent call last):
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/device_tracker/init.py”, line 170, in async_setup_platform
platform.get_scanner, hass, {DOMAIN: p_config})
File “/usr/local/lib/python3.7/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/cisco_ios/device_tracker.py”, line 26, in get_scanner
scanner = CiscoDeviceScanner(config[DOMAIN])
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/cisco_ios/device_tracker.py”, line 43, in init
self.success_init = self._update_info()
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/cisco_ios/device_tracker.py”, line 62, in _update_info
string_result = self._get_arp_data()
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/cisco_ios/device_tracker.py”, line 109, in _get_arp_data
router_hostname = initial_line[len(initial_line) - 1]
IndexError: list index out of range
IOS: Cisco IOS Software, C1900 Software (C1900-UNIVERSALK9-M), Version 15.8(3)M2
Putty Output after login:
Password:
Router#
Router#sh ip arp
Protocol Address Age (min) Hardware Addr Type Interface
I’ve extended my wlc and now have mesh to different buildings. Maybe I can hack up a way to detect which AP a user device is connected to for automation control.
The AP that the client is connected to is pulled from the controller (but not used). You’ll need a mapping of AP Name to Zone and some code to update the client when it changes.
I tried installing it and putting in the username and password I created for it and I get the following error even though I downloaded the folder and placed it directly in the config/ folder:
Platform error device_tracker.cisco_wlc - Integration ‘cisco_wlc’ not found.