diff --git a/README.md b/README.md index a2e5074..12e5315 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,152 @@ -# Avaya / Extreme ERS 5952 Switch Manager +# Avaya / Extreme ERS Switch Manager -A browser-based management interface for the Avaya / Extreme Networks ERS 5952 switch. You click buttons. The software figures out the CLI. You never type a switch command. +A browser-based management interface for Avaya / Extreme Networks ERS switches. You click buttons. The software figures out the CLI. You never type a switch command. -Compatible with: ERS 5928, ERS 5948, ERS 5952, ERS 5952-PWR+ +Compatible with: ERS 5928, ERS 5948, ERS 5952, ERS 5952-PWR+, ERS 59100GTS-PWR+ + +--- + +## Physical Setup — First Time Out of the Box + +Everything here happens before you run any software. You need a console cable and a laptop. + +--- + +### Step 1 — Find the Service Port + +The **console (service) port** is a physical RJ-45 serial port on the switch. It is **not** a regular ethernet port. + +**ERS 59100GTS-PWR+:** +The console port is on the **front panel**, left side. It is labelled **"Console"** and looks like a standard ethernet jack but is wired as RS-232 serial. It is located next to the USB port and the out-of-band management port. + +**ERS 5952 / 5952-PWR+:** +The console port is on the **front panel**, far left, labelled **"Console"**. + +--- + +### Step 2 — Get a Console Cable + +Search **"RJ45 to USB console cable Cisco compatible"** — around $8. This is the same cable used for Cisco, Juniper, and most enterprise switches. It has an RJ-45 plug on one end and USB-A on the other. + +**Do not** use a standard ethernet cable — it will not work. + +--- + +### Step 3 — Connect and Open a Terminal + +Plug the RJ-45 end into the switch console port. Plug USB into your laptop. + +**Settings:** `9600 baud · 8 data bits · No parity · 1 stop bit · No flow control` + +Open a terminal session: + +| OS | Command | +|---|---| +| Linux | `sudo picocom -b 9600 /dev/ttyUSB0` | +| Mac | `screen /dev/tty.usbserial-* 9600` | +| Windows | PuTTY → Serial → COM port → 9600 baud | + +To find your COM/device name if unsure: +- Linux: `ls /dev/ttyUSB*` before and after plugging in +- Mac: `ls /dev/tty.usb*` before and after plugging in +- Windows: Device Manager → Ports (COM & LPT) + +--- + +### Step 4 — Power On and Read the Boot Screen + +Power on the switch. You will see a banner like this: + +``` +Enter Ctrl-Y to begin. + +************************************************************* +*** Ethernet Routing Switch 59100GTS-PWR+ *** +*** Copyright (C) 1996-2024 Extreme Networks. *** +*** HW:22 FW:7.5.0.4 SW:v7.9.6.015 *** +************************************************************* +``` + +**Press Ctrl-Y.** The switch is waiting for this keypress to continue booting — it will not proceed without it. After pressing Ctrl-Y the switch runs POST and boots normally in about 60–90 seconds. + +When it is ready you will see: + +``` +Login: +``` + +--- + +### Step 5 — Log In with Default Credentials + +``` +Login: admin +Password: (press Enter — no password by default) +``` + +If that fails, try `admin` / `admin`. If the switch was previously configured you may need to do a factory reset (see Troubleshooting below). + +You will land at the `5952#` or `59100GTS-PWR+#` prompt in privileged exec mode. + +--- + +### Step 6 — Bootstrap VLAN 99 via Console + +This is the only time you need the console cable for normal operation. Enter these commands one at a time, waiting for the prompt before each: + +``` +enable +configure terminal +vlan create 99 name "Management" type port +interface vlan 99 +ip address 192.168.99.1 255.255.255.0 +no shutdown +exit +vlan members add 99 1 +vlan pvid 1 99 +ip ssh +username admin password YourPassword +end +copy running-config nvram:config.cfg +``` + +Replace `1` with the port number your management computer will plug into. Replace `YourPassword` with a strong password (8–32 characters; allowed special characters: `! @ # $ % ^ & * - _ = + [ ] ; : , . /` — no spaces, no quotes). + +**ERS 59100 note:** Port numbering on the 59100 is `1/1` through `1/96` for copper and `1/97` through `1/100` for SFP+ uplinks. Substitute accordingly: + +``` +vlan members add 99 1/1 +vlan pvid 1/1 99 +``` + +After the last command the switch confirms with `CP1 [07/04/15 12:00:00.000:INFO]: Operation Success` or similar. + +--- + +### Step 7 — Give the Management Computer a Static IP + +On the machine that will run the switch manager software: + +```bash +# Find your interface name first +ip link show + +# Set a static IP on the management network interface (adjust eth0 to your interface) +sudo ip addr add 192.168.99.50/24 dev eth0 +sudo ip link set eth0 up +``` + +Verify: `ping 192.168.99.1` — you should get replies from the switch. + +--- + +### Step 8 — Run the Setup Script + +```bash +python Avaya_5952_setup.py +``` + +The script handles everything from here. When it pauses and asks you to load the SSH public key onto the switch, it will show you exactly what to paste into the console. --- @@ -116,7 +260,7 @@ Build Access Control Lists visually. Each rule specifies action (permit/deny), p ### Review & Push -Every change across all tabs is translated into the exact CLI commands the ERS 5952 understands. This tab shows those commands before anything is sent. +Every change across all tabs is translated into the exact CLI commands the switch understands. This tab shows those commands before anything is sent. **You never write CLI commands.** The tool generates them. The review step exists so you can inspect what will be sent. @@ -270,60 +414,14 @@ The switch host key is pinned after the first connection. If the switch's host k ## Console Cable -Needed once only — to configure VLAN 99 and load the SSH public key. After that, the ethernet cable from the management computer to the switch handles everything. +See [Physical Setup — First Time Out of the Box](#physical-setup--first-time-out-of-the-box) above for the complete walkthrough including where the console port is, what cable to buy, and what to do at the boot screen. -**What to buy:** Search "RJ45 console cable USB Cisco compatible" — get the RJ-45 to USB version (~$8). Works on any laptop with a USB port. - -**Software:** -- Windows: PuTTY (putty.org) or TeraTerm -- Mac: `screen /dev/tty.usbserial-* 9600` in Terminal -- Linux: `sudo picocom -b 9600 /dev/ttyUSB0` - -**Settings:** 9600 baud · 8 data bits · No parity · 1 stop bit · No flow control - -Enter one command at a time. Wait for the `5952(config)#` prompt before sending the next. +The short version: one-time only, RJ-45 to USB console cable (~$8), 9600 baud, no parity. **Switch password rules:** 8–32 characters. Special characters allowed: `! @ # $ % ^ & * - _ = + [ ] ; : , . /`. No spaces. No quotes. --- -## Bootstrap — VLAN 99 First-Time Setup - -Before the management tool can run, the switch needs VLAN 99 configured. Connect the console cable and enter these commands one at a time: - -``` -enable -configure terminal -vlan create 99 name "Management" type port -interface vlan 99 -ip address 192.168.99.1 255.255.255.0 -no shutdown -exit -vlan members add 99 1 -vlan pvid 1 99 -ip ssh -username admin password YourPassword -end -copy running-config nvram:config.cfg -``` - -Replace `1` with the port your management computer plugs into. Replace `YourPassword` with a strong password following the rules above. - -Then give your management computer a static IP: - -```bash -# Temporary (immediate, lost on reboot) -sudo ip addr add 192.168.99.50/24 dev eth0 -sudo ip link set eth0 up - -# Find your interface name first: ip link show -# Replace eth0 with your actual interface name -``` - -Verify it works: `ping 192.168.99.1` — then run `python Avaya_5952_setup.py`. - ---- - ## Live Polling The backend polls the switch using a connection pool: @@ -412,9 +510,9 @@ docker compose ps --- -## On the ERS 5952 +## On the ERS Switch Family -This switch has no REST API. Everything this tool does is via SSH sessions that parse text output and send CLI commands — the same thing a human would do at a terminal, automated and wrapped in a browser interface. +These switches have no REST API. Everything this tool does is via SSH sessions that parse text output and send CLI commands — the same thing a human would do at a terminal, automated and wrapped in a browser interface. There is an inherent limit to how reliably the tool can detect every possible error condition. The danger blocking system catches the known lethal patterns but cannot anticipate every possible misconfiguration. Use the CLI review step. Read what is about to be sent.