Reboot Linksys WAG160N / WAG54 / WAG320 / WAG120N Router / Gateway

Posted on in Categories , last updated August 25, 2010

I‘m using a Cisco Linksys WAG320N Router to connect my OS X UNIX and Linux systems to the Web. How do I reboot my Linksys WAG series router / gateway (modem) from UNIX / Linux / OS X bash command prompt or using a shell script?

The Cisco linksys series modem removed reboot option from its web interface but you can reboot the router using the following url format:


Sample outputs:

Fig.01: Rebooting Cisco Linksys Router / Gateway
Fig.01: Rebooting Cisco Linksys Router / Gateway

The web interface hack works with any web browser regardless of the operating system.

Command Line Options

curl is a command line tool for transferring data with URL syntax, supporting various protocosl such as FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, IMAP, SMTP, POP3, RTMP and RTSP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, kerberos), file transfer resume, proxy tunneling and much more. The same tool can be used to reboot your router as follows:

curl -u 'Router-username:password' ''
curl -u 'admin:Your-Password-Here' ''

Further readings:

man curl

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

14 comment

  1. Hi, I’m trying to do the same thing with 2 WRVS4400N in to different locations, But CURL says ‘Authorization required.’

    Could anyone help???

    full output of CURL below

    Many Thanks


    * About to connect() to port 80 (#0)
    *   Trying connected
    * Connected to ( port 80 (#0)
    * Server auth using Basic with user 'admin'
    > GET /setup.cgi?todo=reboot HTTP/1.1
    > Authorization: Basic YWRtaW46c3Rhbm1hcnNo
    > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/ zlib/1.2.3 libidn/1.18 libssh2/1.4.2
    > Host:
    > Accept: */*
    < HTTP/1.1 401 Unauthorized
    < Server: 
    < Date: Thu, 01 Jan 1970 13:14:50 GMT
    < WWW-Authenticate: Digest qop="auth", realm="Router", algorithm="md5", nonce="69d06f17b485a43084f444ac2958e99e"
    < Content-Type: text/html
    < Connection: close
                401 Unauthorized
                401 Unauthorized
    Authorization required.
    * Closing connection #0

Leave a Comment