Router Upgrade Project: Extending the life of my NETGEAR AC1750 Smart Wi-Fi Router (R6350)


With electronics hardware costs at an all-time high, I, like so many others, am trying to get more life out of my existing devices than ever before. As of this writing in September 2026, I've been looking at available options for my home's wireless router — a now several-year-old NETGEAR AC1750 Smart Wi-Fi Router (Model R6350) that I purchased in 2018. Sadly, NETGEAR's final firmware update for this router model (V1.1.1.88_1.0.1) was released quite some time ago, and the R6350 has since been designated as "End of Service," with no further firmware updates planned.

When a product reaches end of service (end of support) with no further updates planned, security issues and non-security-related (i.e., functional and performance) bugs will not be remediated. For a device that sits at the edge of my home network, having a router that cannot be updated regularly is a significant concern. Just like a PC or a smartphone, routers — which are themselves simple, purpose-built computers — require regular software maintenance to ensure a reasonable degree of security for the network they operate on.

Although my router works perfectly fine, given its age and NETGEAR's product policies it is no longer supported, much like how Microsoft has ended support for past versions of Windows (95, 98, NT, 2000, XP, Vista, 7, 8, etc.). Instead of shelling out the cash to purchase a new router in today's market, I decided to find an alternative operating system (OS) for my router. To that end, I chose to implement OpenWrt, an open-source, Linux-based operating system specifically compiled, packaged, and maintained for use on routers, switches, and other embedded computing devices.

In this blog post, I will provide a brief overview of what an OS is, what Linux is, and what OpenWrt is. I will also walk through the procedure I used to prepare for and perform the migration from NETGEAR's firmware to OpenWrt 25.12.2, the latest release as of this writing. Please note that while you are welcome to use this post as a reference if you are considering switching any of your devices to OpenWrt, any actions you take based on this content are entirely at your own risk — up to and including voiding existing warranties or support agreements, or rendering your devices or network unusable. This post documents my own personal experience and is not intended as an authoritative guide to installing OpenWrt. As always, refer to your device's vendor documentation, OpenWrt's official documentation, and your own common sense.

What is an Operating System?

To put it simply, an operating system, or OS, is a complex set of software that manages access to hardware resources. The U.S. National Institute of Standards and Technology (NIST) defines "operating system" in several of its Special Publications (SP). A few notable definitions:

NIST SP 800-44 version 2, "Guidelines on Securing Public Web Servers":

"The software 'master control application' that runs the computer. It is the first program loaded when the computer is turned on, and its main component, the kernel, resides in memory at all times. The operating system sets the standards for all application programs (such as the Web server) that run in the computer. The applications communicate with the operating system for most user interface and file management operations."

NIST SP 800-82 revision 3, "Guide to Operational Technology (OT) Security":

"An integrated collection of service routines for supervising the sequencing of programs by a computer. An operating system may perform the functions of input/output control, resource scheduling, and data management. It provides application programs with the fundamental commands for controlling the computer."

NIST SP 800-152, "A Profile for U.S. Federal Cryptographic Key Management Systems":

"A collection of software that manages computer hardware resources and provides common services for computer programs."

NIST SP 800-86, "Guide to Integrating Forensic Techniques into Incident Response":

"A program that runs on a computer and provides a software platform on which other programs can run."

Also from NIST, Interagency Report (NISTIR) 7695, "Common Platform Enumeration: Naming Specification Version 2.3," defines an operating system as:

"A computer program, implemented in either software or firmware, which acts as an intermediary between users of a computer and the computer hardware. The purpose of an operating system is to provide an environment in which a user can execute applications."

In summary, an OS is the software sitting between your device's hardware, your apps, and the behind-the-scenes services that let you use your device. An OS is tasked with numerous responsibilities, including but not limited to:

  • Managing hardware resources
    • Central Processing Units (CPUs)
    • Random Access Memory (RAM)
    • Auxiliary (secondary) storage (hard disk drives, solid-state drives, USB mass storage devices, etc.)
  • Managing system software such as device drivers
  • Managing peripheral devices
    • Mice/trackpads
    • Keyboards
    • Monitors
    • Printers and print queues
  • Handling hardware and software interrupts
  • Handling process conflicts

As you probably already know, there are many examples of OSes on the market. Some are general-purpose, such as Microsoft Windows, while others are more niche — such as IBM's z/OS for their mainframe computers, or Zephyr RTOS, a real-time operating system (RTOS) for microcontroller boards.

Depending on the OS, this software can be highly complex and very large. Different components of an OS can also be written in different programming languages — including C, C++, Assembly, Rust, and many others — each with their own tooling, coding paradigms, and potential for introducing bugs. Developers try their best to ensure efficient, bug-free code through well-thought-out software design, rigorous code review and testing, and AI-assisted development, but the probability of completely bug-free code remains effectively zero. Therefore, regular security updates are still required.

What is Linux?

Linux itself is an operating system kernel, or "core." The Microsoft Windows equivalent, used in all modern versions of Windows since Windows NT 3.1, is called the "NT kernel." The kernel powering Apple's operating systems, including macOS (formerly Mac OS X), is called "XNU." It is sometimes confused with "Darwin," which is actually the broader open-source OS layer underlying macOS and its derivatives such as iOS and watchOS. Darwin includes XNU as its kernel but also encompasses Berkeley Software Distribution (BSD)-derived system utilities and other components; Darwin and XNU are related but not the same thing.

Linux began as a personal project by Linus Torvalds in the spring of 1991, during his time as a computer science student at the University of Helsinki in Finland. Inspired by MINIX — a minimal, education-focused Unix-like OS developed by Andrew Tanenbaum, a computer science professor at the Vrije Universiteit in Amsterdam — Torvalds announced his new kernel project publicly in August 1991, with the first release (Linux 0.01) following in September of that year. Rather than pursuing commercial success, Torvalds contributed significantly to the open-source software movement by licensing his kernel under the Free Software Foundation's (FSF) GNU General Public License (GPL). This license allows anyone to copy and modify Linux's source code, as long as any distributed modifications are also made available to others under the same terms — a principle commonly known as "copyleft." When the Linux kernel is combined with FSF's GNU Core Utilities, a complete and freely available OS is formed, frequently referred to as "GNU/Linux." For the curious, GNU is a recursive acronym standing for "GNU's Not Unix," reflecting that GNU software is not derived from proprietary Unix operating systems, such as AT&T's Unix System V.

Because of this decentralized and freely licensed model, Linux-based OSes have been developed and adapted for a wide variety of purposes, powering PCs, servers, networking equipment, smartphones, embedded devices, mainframes, distributed computing clusters, space satellites, and effectively all of the world's top supercomputers. Thanks to Google's Android, Linux-based OSes are collectively the most widely deployed operating system family in the world by number of active devices.

What is OpenWrt?

OpenWrt is a GNU/Linux-based OS focused on providing an efficient, feature-rich, and widely supported open-source firmware alternative for embedded devices — particularly networking equipment such as routers, switches, wireless access points (WAPs), load balancers, and firewalls. The name originates from the Linksys WRT54G wireless router, a landmark consumer networking device released in 2002 and the first platform targeted by OpenWrt. The "WRT" in the router's model designation stands for "Wireless RouTer," which was incorporated directly into the original project's name. OpenWrt's initial release (codename "White Russian") specifically targeted the WRT54G after Linksys published the router's source code under the GNU GPL.

The project aims to be highly configurable and modifiable, allowing users to install additional software packages on their devices just like a desktop or server OS. For example, an OpenWrt user can install Squid — an open-source web proxy and caching server — to optimize and cache web traffic, reducing Internet bandwidth consumption. By comparison, my NETGEAR router's stock firmware doesn't allow me to install a proxy server of my choosing, but with OpenWrt, I have that option.

The NETGEAR AC1750 (R6350) Wi-Fi Router at a Glance

I purchased this router in 2018, and for many years it served my home network well, handling a mix of wired and wireless devices including Apple TVs, iPhones, laptops, smartwatches, Windows PCs, my NETGEAR GS108Ev3 managed desktop switch, and Linux virtual machines (VMs). Like most small office/home office (SOHO) networking devices, my router combines the functions of a router, a firewall, a network switch, and a wireless access point into a single unit. Its hardware specifications are as follows:

  • CPU & Chipset: MediaTek MT7621AT — a dual-core Microprocessor without Interlocked Pipeline Stages (MIPS) System-on-Chip (SoC) operating at 880 MHz, marketed by Ralink/MediaTek as a "router-on-a-chip"
  • RAM: 128 MB Double Data Rate 3 (DDR3) Synchronous Dynamic RAM (SDRAM)
  • Storage: 128 MB NAND-based flash
  • Ethernet Ports: 1 × Gigabit WAN port (Internet uplink); 4 × Gigabit LAN ports (built-in switch)
  • Wi-Fi: Dual-band, supporting IEEE 802.11 a/b/g/n/ac (Wi-Fi 5) with Multi-User Multiple-Input, Multiple-Output (MU-MIMO)
    • 2.4 GHz band: up to 300 Mbps
    • 5 GHz band: up to 1,450 Mbps
    • Combined marketing rating: AC1750 (1,750 Mbps)
  • Guest Network: Separate guest Wi-Fi network with isolated access
  • Wi-Fi Security: Wi-Fi Protected Access (WPA) and Wi-Fi Protected Access 2 (WPA2) with Pre-Shared Key (PSK)
  • Wi-Fi Protected Setup (WPS): A well-meaning but vulnerable standard no longer recommended for use
  • Digital Living Network Alliance (DLNA): A set of interoperability standards for media streaming and sharing among networked devices, originally established in 2003 by a founding consortium that began with Sony and Intel, later to be joined by Samsung, Matsushita Electric (now Panasonic), and Hewlett-Packard. (Note: the DLNA organization itself dissolved in 2017, though its standards remain widely implemented.)
  • USB: One USB 2.0 port for connecting a USB storage device for shared network access
  • DHCP Server: Automatically assigns IP addresses to devices on the network
  • DNS Resolution: Translates human-readable domain names (such as www.google.com) into their corresponding IP addresses
  • FTP Server: Hosts a File Transfer Protocol (FTP) server with a customizable URL provided by NETGEAR for remote file access
  • Management: Can be managed using the web-based interface directly hosted on the router or through the NETGEAR Nighthawk mobile app available for Apple iOS (App Store) and Google Android (Google Play Store).

NETGEAR AC1750 router front

NETGEAR AC1750 router rear

As you can see, while older now, this device still has sufficient capabilities for acting as the gateway to and from my home network — simultaneously supporting multiple devices, handling streaming services like Netflix, YouTube, and Crunchyroll, and protecting my network from unauthorized access. By leveraging OpenWrt, I can extend the usable life of my router, continue to receive security updates, and gain access to capabilities that the OEM firmware did not provide — such as port mirroring, which allows me to monitor and analyze my network traffic using tools like Suricata for intrusion detection and OpenSearch for log management and visualization.

According to OpenWrt's documentation, any device with less than 8 MB of flash storage or less than 64 MB of RAM is unsupported, as these fall below the bare minimum for stable operation. It is recommended to have at least 32 MB of flash storage and at least 128 MB of RAM to ensure stable operation and the capacity to run additional software, including the web-based graphical user interface (GUI) called LuCI. With 128 MB of both flash storage and RAM, my router meets the recommended hardware specifications to run OpenWrt.

Upgrading from NETGEAR OEM Firmware to OpenWrt

According to OpenWrt's documentation, my specific router model can be upgraded directly using NETGEAR's own firmware file upload functionality in their web-based interface. Other router models may not be so fortunate and will require more in-depth and technically challenging installation steps. Always consult the OpenWrt documentation for your particular device model and ensure you have a method for rolling back to your OEM firmware and a backup of your device's running configuration, if possible. As a reminder: if you use this blog post as full or partial guidance for upgrading your own devices, you agree that you are doing so at your own risk. With that said, some preliminary steps were necessary to ensure a smooth transition from NETGEAR's OEM firmware to OpenWrt.

Preliminary Checklist

  1. Verify my router's support in OpenWrt's Table of Hardware (ToH). OpenWrt Table of Hardware 1

OpenWrt Table of Hardware 2

  1. Download the correct firmware image for my router's specific hardware and CPU architecture.

  2. Verify the firmware file's SHA256 checksum to confirm the downloaded file was not corrupted or tampered with. OpenWrt firmware file SHA256 verification

  3. Download the final version of NETGEAR's OEM firmware for my router, in case a rollback is required.

  4. Download the nmrpflash utility, an open-source command-line (CLI) tool that uses NETGEAR's Management Recovery Protocol (NMRP) to reflash a NETGEAR device in the event of a catastrophic failure, such as a botched OpenWrt installation. OpenWrt nmrpflash and NETGEAR OEM firmware

  5. Download and install Npcap, a packet capture library developed by the Nmap project, which nmrpflash requires to function correctly on Windows. (Note: this step is not necessary on Linux or macOS.) OpenWrt test run

Upgrade Procedure

  1. Disconnect the router from the ISP's modem, then connect the router to my laptop using an Ethernet cable plugged into any of the router's switch (LAN) ports (LAN1–LAN4). Keeping the router isolated from the internet during initial setup prevents exposing an unconfigured device to outside traffic. Router directly connected to laptop

  2. Power on the router and log into NETGEAR's web-based management interface. NETGEAR OEM router login

  3. Navigate to the firmware update page and upload the OpenWrt firmware image. The process takes approximately 3 minutes. The page may warn the firmware file shows an older version from what is presently running. This is expected and can be ignored. NETGEAR firmware update file upload

OpenWrt firmware upload and flashing progress

  1. Allow the router to reboot fully. Do not interrupt power during this process, as doing so risks corrupting the firmware.

  2. Once the router has rebooted, OpenWrt's DHCP server (enabled by default) should automatically assign your laptop an IP address. If your laptop does not receive one, manually configure its Ethernet adapter to use a static IP address in the 192.168.1.x range (for example, 192.168.1.10), with a /24 subnet mask (255.255.255.0).

  3. Open a web browser and navigate to OpenWrt's default management address, 192.168.1.1, to access the LuCI web interface. On a fresh installation, the root account has no password set. OpenWrt first login

  4. Immediately set a strong password for the root account before any further configuration — do not skip this step, especially if you plan to reconnect the router to the internet. OpenWrt set root password

  5. Enable HTTPS for the LuCI web interface to ensure management traffic is encrypted. This will used a built-in, OpenWrt-provided self-signed certificate. This is suitable, although not recommended, setup for a SOHO deployment. OpenWrt enforcing HTTPS

  6. Configure Secure Shell (SSH) access for secure command-line management. OpenWrt setup SSH

  7. Confirm that WPS is disabled. WPS remains vulnerable to brute-force PIN attacks regardless of the underlying firmware. In this case, the default build of OpenWrt explicitly excludes WPS capability, which means the ability to use WPS is not included at all. It can be installed through additional software packages, but this is something that must be intentionally performed.

  8. Configure WAN settings to match the ISP connection type (e.g., DHCP, PPPoE, or static IP). OpenWrt configuring WAN

  9. Configure LAN settings, including your preferred LAN IP address and subnet. OpenWrt configuring LAN

  10. Configure Wi-Fi settings, including SSID names, passphrase, security mode (WPA2 or WPA3), and band configuration (2.4 GHz and 5 GHz). OpenWrt configuring Wi-Fi

  11. Review and confirm OpenWrt's security settings, including disabling any unused services.

  12. Review and confirm firewall rules to ensure traffic policies match your expectations. OpenWrt configuring Firewall

  13. Verify that Network Time Protocol (NTP) is functioning correctly. Accurate timekeeping is essential for log timestamps, Transport Layer Security/Secure Sockets Layer (TLS/SSL) certificate validation, and any scheduled tasks. OpenWrt configuring NTP

  14. Generate a current backup archive of the router and download the generated file. OpenWrt generate backup

  15. Update the package list and install available software updates, either through LuCI's Software page or via the command line: opkg update && opkg upgrade. OpenWrt check for updates 1

OpenWrt check for updates 2

In summary, thanks to the hard work of a talented developer team, much of whose work is done on a volunteer basis, OpenWrt has given my wireless router a new lease on life that will allow it to provide many more years of service before needing replacement. There are other open-source alternatives to OEM firmware, including DD-WRT and Tomato (and its community-maintained fork, FreshTomato), but ultimately, I chose OpenWrt because of compatibility with my specific router, its configurability for my specific needs, and its extensibility with validated software packages in OpenWrt's repository. In a future blog post, I will document how to configure port mirroring on my router and monitor network traffic using open-source tools.


References

U.S. National Institute of Standards and Technology (NIST)

  • Tracy, M., Jansen, W., Scarfone, K., & Winograd, T. (2007). NIST Special Publication 800-44 Version 2: Guidelines on Securing Public Web Servers. National Institute of Standards and Technology. https://csrc.nist.gov/pubs/sp/800/44/ver2/final

  • Stouffer, K., Lightman, S., Pillitteri, V., Abrams, M., & Hahn, A. (2023). NIST Special Publication 800-82 Revision 3: Guide to Operational Technology (OT) Security. National Institute of Standards and Technology. https://csrc.nist.gov/pubs/sp/800/82/r3/final

  • Barker, E., Smid, M., & Branstad, D. (2015). NIST Special Publication 800-152: A Profile for U.S. Federal Cryptographic Key Management Systems. National Institute of Standards and Technology. https://csrc.nist.gov/pubs/sp/800/152/final

  • Kent, K., Chevalier, S., Grance, T., & Dang, H. (2006). NIST Special Publication 800-86: Guide to Integrating Forensic Techniques into Incident Response. National Institute of Standards and Technology. https://csrc.nist.gov/pubs/sp/800/86/final

  • Cheikes, B., Waltermire, D., & Scarfone, K. (2011). NISTIR 7695: Common Platform Enumeration: Naming Specification Version 2.3. National Institute of Standards and Technology. https://csrc.nist.gov/pubs/ir/7695/final

OpenWrt Project

Linux Kernel & GNU/FSF

Windows NT Kernel (Microsoft)

XNU Kernel & Darwin (Apple)

Cornell University

  • Cornell University Center for Advanced Computing. (n.d.). Introduction to Linux: A brief history of Linux. Cornell Virtual Workshop. https://cvw.cac.cornell.edu/linux/intro/history (Note: This page uses "0.1" to refer to the first Linux release. The Linux Kernel Archives at kernel.org designate the same release as version 0.01. For the most technically precise citation on this specific detail, kernel.org should be treated as the primary source.)

NETGEAR

Third-Party Tools & Software

Digital Living Network Alliance (DLNA)

  • DLNA. (n.d.). Contact us [dissolution notice]. Retrieved from the former DLNA official website, now maintained by SpireSpark International. https://dlna.org/about/contact-us (Note: This page is the organization's own formal dissolution notice, stating: "The Digital Living Network Alliance has dissolved and is no longer operating." It is the most authoritative primary source for DLNA's end-of-life status.)

  • ConsortiumInfo.org. (2017). Digital Living Network Alliance (DLNA). Standards Body and Consortium Tracker. https://consortiuminfo.org/?p=4137