Davidc502- wrt1200ac wrt1900acx wrt3200acm wrt32x builds

thank you, I will check in a week.

If you look at LuCI menu, there is System / "Backup / Flash firmware" page.
Backup and restore are there.

There is no special reason to keep Linksys original firmware. You can flash that OEM firmware from Openwrt SSH console, so reverting back to Linksys will be possible, even if you have Openwrt on both partitions.

1 Like

Thanks, David. I'll try your build

1 Like

thankyou all. I got it now. I'll update via linksys partition, restore saved config and opkg install all the additional packages i have. Thanks again guys...

In LuCi go to Backup / Flash Firmware and select "Generate Archive". This should take a snapshot of all of your configurations.

To Restore, in LuCi go to Back / Flash Firmware and select "Choose File". Just point to the file that was exported in the first step.

EDIT I believe the router reboots after the restore file is selected.

I found some additional help in another openwrt thread here Script to list installed packages? (for simplifying sysupgrade) ..all kudos to these guys.
For completeness in case it can help other people operating same as me below is procedure i'm using. Thanks goes to davidc502 and hnyman for their suggestions and help.

  1. partitionX still contains your original linksys firmware, which you want to keep.
  2. partitionY contains your LEDE which you want to update whilst still retaining partitionX with the linksys firmware.
  3. no hardware chages; e.g. removing/adding USB devices during 'upgrade'.
  4. config files outside normal /etc/config will have to be saved separately.
    We're going to re-install LEDE on partitionY and restore saved config (from step5 below) when complete and also restore all user installed packages.
  5. Take backup of your current configuration file so you can restore it later once upgrade/install is complete.
    From LuCi GUI go to System---Backup/Flash Firmware and select "Generate Archive". This will take a snapshot of all of your configurations and save the file (xxxxxxx.tar.gz format) to the device you're running your Luci session from; on my windows laptop it simply saves it to my default download folder.
  6. SSH into router and type:
    echo -n "opkg update;opkg install ";install_time=$(opkg status kernel|awk '$1=="Installed-Time:" {print $2}');opkg status|awk '$1=="Package:" {package=$2} $1=="Status:" {user_inst=/ user/ && / installed/} $1=="Installed-Time:" && $2!='$install_time' && user_inst {print package}'|sort|sed ':a;N;$!ba;s/\n/ /g

This will output a command to execute once new LEDE firmware is in place.

Here is what my output looks like on my router after executing above command. Note, yours will look different as the output depends on what packages/libse etc.. you (the user) installed after the last time you installed LEDE.

opkg install collectd-mod-df collectd-mod-disk diffutils dumpe2fs e2fsprogs kmod-fs-exfat kmod-fs-f2fs kmod-lp kmod-usb-printer libblkid libcomerr libext2fs libss libusb-1.0 luci-app-nlbwmon luci-app-p910nd luci-theme-material-old luci-theme-openwrt nlbwmon openssh-keygen openssh-server p910nd rsync tune2fs usbutils

You can now save this output to a file somewhere where it will not be overwritten; i.e. on your PC or usb attached drive (e.g. /mnt/sda1). All you need here is the ability to cut and paste this output into SSH session once new LEDE firmware is in place.

  1. from davidc502 faqs ( https://davidc502sis.dynamic-dns.net/faq/ ), SSH and type 'fw_printenv boot_part'.
    My output shown below:

    root@WRT32xx:~# fw_printenv boot_part

  2. From this i know i am currently active on partition1 so to keep partition2 (the partition containing the original linksys firmware) intact i will switch to and boot from partition2 by typing 'fw_setenv boot_part 2'.This will reboot router to partition2 containing the linksys firmware.

  3. From the linksys GUI install the .img LEDE firmware you want to 'upgrade' to. This will overwrite current partition1 LEDE firmware with a fresh factory install.

  4. Router will now install the .img firmware and reboot into new this LEDE firwmare.

  5. SSH into newly installed LEDE firmware and type 'opkg update' .

  6. via SSH type output of step6. This will install your previously user installed packages. Note: if any of these packages are not in the installed LEDE repository you have to find the right repository and install it from there.

13.Log into Luci and via System---Backup/Flash Firmware select 'Restore File' to upload previously archived config backup which was taken at step5 above. Check all looks as expected/needed.
14. Reboot router, if not automatically rebooted.
If all went well everything will be the same as when you started but with the 'newer' firmware version you updated to.
I do not recommend doing this if kernel versions change or across major version; e.g. v15.01 to v17.01 as packages/libs may be dependent on specific versions, it should however be fine across weekly snapshot updates. Have fun !

Just loaded the latest build on my wrt 3200acm and it's working great. There is a dnscrypt-proxy process running by default. Should I kill that process before executing your new dnscrypt-proxy V2 script? I see in the script there is a message to the user to kill the version 1 process if it's running, but shouldn't that be done before?

Yes, go ahead and kill it before.

EDIT I tried killing by PID, in the script, but when it ran would exit the script. I tried 3 variations

Build r7581 up and running on a WRT1900AC V1. Am impressed with the performance over my Asus router. WIFI seems to be stronger and the SQM QOS works well to control buffer bloat. Have 6RD set up for my CenturyLink DSL and am using Quad9 DNS.
Am considering the DNScrypt-Proxy V2 but have a couple of questions. The FAQ for the DNScrupt-Proxy mentions the use of Cloudflare DNS servers. Can this be changed to Quad9 DNS and if not why would I want to stay with Cloudflare? Is there any real reason to go to V2, other than security, and is V1 not secure?

Yea OpenWrt 18.06 and better yet Master is excellent on my WRT32X right now. The only downside being the lack of quality and performance behind the mwlwifi drivers, overall less wifi performance on wireless than stock firmware. Everything else is great.

1 Like

This is what is listed in the dnscrypt-proxy.toml as available servers, but there may be many, many more.

server_names = ['scaleway-fr', 'google', 'yandex', 'cloudflare']

Here is a differences page between v2 and v1. https://github.com/jedisct1/dnscrypt-proxy/wiki/Differences-to-v1

As to Cloudflare, they are the undisputed champs when it comes to speed.

Did not ask my question correctly: If I have Use Custom DNS servers set in Network-Interfaces-WAN-Advanced will the system use those or default to the Cloudflare mentioned in https://davidc502sis.dynamic-dns.net/dnscrypt/ ?
If dnscrypt-proxy v2 overrides the assigned DNS servers what file is edited to use the DNS servers I want?
Is there a LUCI GUI for dnscrypt-proxy v2?
Edit - Your script ran successfully although I saw a warning about not being able to find for the LAN. Should I worry about this?

Can you still copy the output please... You can run the script as many times as needed.

Link to script output: https://drive.google.com/file/d/108ADIGLw6gFCsNPTsJUZd8sOUXFjoDSX/view?usp=sharing
F.Y.I. my LAN IP was changed from the default.

The warning is about the script detecting your clients going to a DNS server on the Internet, and not your router.

If I do a ipconfig /all on one of my PC's, and look at the DNS configuration you will see the following.

DNS Servers . . . . . . . . . . . :

The above shows this PC going to the router (, for DNS resolution.

Take a look at your pc, and do a ipconfig /all and take a look to see what the DNS Server is.

Another thing... Take a look at /etc/config/dhcp See what you have under "config dhcp 'lan'"

list dhcp_option '6,'

EDIT Another way to do this in LuCi is to go to LAN Interface > DHCP Server > Advanced Settings > look at the DHCP-Options.

Windows, iPod and Android all show the router ip, both IPV4 and IPV6, as DNS. Also confirmed in the router config files.
So, how do I get the dnscrypt proxy to use a specific set of dns servers?

Edit the /etc/config/dnscrypt-proxy.toml file.

This is the line to edit - server_names = ['cloudflare']

Since the script is showing a false positive for your setup, please copy the output of the following command.

uci show dhcp |grep dhcp.lan.dhcp_option= |cut -d "'" -f 2 | tr "," ' '

EDIT -- Really I'm only interested in the first number and not the gateway IP.

Guys, i need you help.

Something wrong with system upgrade, so i stuck at the old release.
If i both try upgrade firmware from LUCI and sysupgrade (even with -F -v), the process done without any error, but firmware remains the same version as before.
I try to switch to another partition, and have this error:

ERROR: Unable to obtain firmware environment variable: boot_part. Unable to set firmware environment variable: bootcmd to run nandboot.

Any ideas how to solve this?

UPD: seems like i found the source of the problem:

root@TTrollstation:~# fw_printenv boot_part
Cannot read bad block mark: Invalid argument
Do you know any way to fix it?

UPD2: Can anyone post me what /etc/fw_env.config at 3200ACM have inside?

uci show dhcp |grep dhcp.lan.dhcp_option= |cut -d "'" -f 2 | tr "," ' '

shows no output. May be a moot point as I ponder the value of dnscrypt-proxy for my use. I did discover the list of server_names that can be used with dnscrypt-proxy from Github. and was disappointed that the set I want to use was not there. I have read that services like Quad9 are not that great at blocking malware but it may be better than nothing.

Thanks for checking.

I'm super surprised more dns services haven't jumped into the malware game like Cisco Umbrella. It is good to hear that quad9 is doing some.