Hi everybody. I'm glad I found this nice forum of yours. I had been running v1.11 since I bought my DIR-655 and decided to upgrade to the latest firmware in an attempt to get rid of sporadic disconnections I've been experiencing recently. So I upgraded to v1.21b05 and fell in love with the SharePort feature. I had been contemplating buying a network printer for some time. Now, I don't.

But soon I discovered that I could no longer wake up any of the remote LAN computers from my office. v1.11 allowed me to set a Virtual Server with a destination address ending in 255 that would broadcast the Wake-On-LAN "magic packets" from the WAN to a particular subnet. Broadcasting to a subnet, as you most probably know, is essential to waking up IP-less sleeping computers.
I tried v1.21b05 and a couple other flavors of v1.21 and none allowed IPs ending in 255. I was forced to downgrade to v1.20 since I rely on WoL over the internet to maintain my customers' computers up to date.
I inspected the HTML code of the router's Virtual Server page and it seems that the problem is caused by overzealous validation:
--- code starts ---
/*
* page_verify()
*/
function page_verify()
{
for (var i = 0; i < vs_table_size; i++) {
if (mf["vs_enabled_" + i].value == "true") {
var vs_name = mf["vs_name_" + i].value;
var vs_proto = mf["vs_proto_" + i].value;
var vs_private = mf["vs_private_" + i].value;
var vs_public = mf["vs_public_" + i].value;
var vs_ipaddr = mf["vs_ipaddr_" + i].value;
if (!is_ipv4_valid(vs_ipaddr)) {
alert("Invalid IP address for virtual server '" + vs_name + "'.");
return 0;
}
var vs_chk;
vs_chk = vs_ipaddr.split('.');
if (vs_chk[3] == "0"
|| vs_chk[3] == "255") {
alert("Invalid IP address for virtual server '" + vs_name + "'.");
return 0;
}
.
.
.
--- code ends ---
I hope this is an easy fix and I get to enjoy SharePoint soon.
Thanks for a great job overcharging this already excellent router.