#!/usr/bin/env python3

import serial
import time
import sys

PORT = "/dev/ttyUSB0"
BAUDRATE = 115200

print(f"[+] Opening {PORT} at {BAUDRATE} baud...")

ser = serial.Serial(
    port=PORT,
    baudrate=BAUDRATE,
    bytesize=serial.EIGHTBITS,
    parity=serial.PARITY_NONE,
    stopbits=serial.STOPBITS_ONE,
    timeout=0.01
)

time.sleep(0.5)

print("[+] Power on the router NOW.")
print("[+] Spamming interrupt sequences...\n")

try:
    while True:
        # Send interrupt attempts
        ser.write(b" ")
        ser.write(b"\r")
        ser.write(b"\n")
        ser.write(b"tpl")
        ser.write(b"\x03")  # Ctrl+C

        # Read incoming data
        data = ser.read(1024)
        if data:
            sys.stdout.write(data.decode(errors="ignore"))
            sys.stdout.flush()

except KeyboardInterrupt:
    print("\n[+] Stopped.")
    ser.close()
