As the post title suggests, this is for users who would like to put their UPC Cisco EPC3925 modem/router device into Bridge mode without DMZ’ing and double NAT’ing.  This is the solution for everyone who would prefer not to use the UPC Cisco EPC3925’s builtin thin and terrible routing functions by using another router of your own,  choosing to handle all of that for you while not having to DMZ or double NAT to get it to work.

The main questions on your mind – how can it be done and is it safe? The answer to both of these questions is simply: yes.

I’m posting this right now from my UPC Cisco EPC3925 router bridged with my WNDR3700v1. The best and re-assuring part is: doing this won’t break your phone service like it did with the UPC Cisco EPC2425 Router. Myself and some other users have tested the phone service while in Bridge mode, both making and receiving calls, and it was 100% successful without any issues or delays in connecting the calls.

However, if you want to go back to Router mode for whatever reason, you can do so at any time just as easily as you enabled Bridge mode (see the IMPORTANT NOTE at the bottom of this post).

Technical note – UPC  simply hid the functionality of enabling bridge mode on the UPC Cisco EPC3925 router by removing some client-side code from the Management page, but the ASP server-side code is still intact. I haven’t seen the server-side code as I haven’t hacked the device to dump the firmware. I had a suspicion and I went about trying to prove it. It could just as easily gone the other way as far as I was concerned at the time. The solution then is simple; replace the client-side HTML code that was removed!

I spent time editing around with different HTML code possibilities and looking at the language JavaScript file (lang.js) instantiated in the HTML headers. The process involved a bit of trial and error, is all. If my efforts had failed, I had considered going onto Whirlpool.com.au to ask BigPond cable broadband subscribers in Australia to post their Management page’s HTML source before giving up! BigPond uses (or has used) the EPC3925 Router also – their firmware does not have the Bridge mode option hidden.

So, just for reference only, this is similar to the code that was removed by UPC:

HTML Code:
<!-- working mode -->
<div id="WorkingMode">
<table class="std">
<tr>
    <td nowrap width="95">
        <script language="javascript" type="text/javascript">
            dw(vbcontype2);
        </script>
    </td>
    <td>
        <select name="working_mode" size="1" id="working_mode" onchange="selectWorkingMode()"> 
            <option name="router" value=0><script language="javascript" type="text/javascript">dw(vbencap4);</script>
            <option name="bridged" value=1><script language="javascript" type="text/javascript">dw(vbencap5);</script>
        </select>
    </td>
</tr>
</table>
</div>

Below I have written up a step-by-step guide on how to make Bridge mode happen. It’ll take only a moment or two to get through all of the steps.

!!! REMEMBER !!!
Please be reminded that after setting the UPC Cisco EPC3925 Router into Bridge mode, UPC’s phone service will continue to work as normal. This has been tried and tested and the problems facing the UPC Cisco EPC2425 Router in Bridge mode were not carried over to the UPC Cisco EPC3925 Router. I’m reiterating this here for anyone who may have skimmed over the first few paragraphs of this post.

Prerequisite:
A web browser or browser extension that is capable of live manipulation of a website’s HTML source code (Opera is my browser of choice for this task)

Guide:
1. Connect to the UPC Cisco EPC3925’s router web configuration using Ethernet and disable all routing functions (DHCP, Wireless, Firewall, DMZ, UPnP, and any active port forwards) just to be safe. Wireless at the very least, won’t get disabled automatically when the device is put into Bridge mode.
2. Navigate to the Administration > Management page and view the page’s source code.
3. Copy the new HTML code in full, which I have provided at: http://pastebin.com/jGDvxKUT
4. Select all the HTML code in the UPC Cisco EPC3925’s Router Management page source and paste in the new HTML code to replace it (don’t worry, it’s not a permanent change – it will revert back once you refresh – this won’t void your warranty!).
5. Apply the changes and switch back to the UPC Cisco EPC3925’s Router Management page’s tab, where you should now see a new menu called “Working Mode” at the top.
6. Select “Bridged Only” and then Apply.
7. Your UPC Cisco EPC3925 Router should then reboot automatically to effect the changes. When it comes back up, it’ll be in Bridge mode. You can now navigate to the web configuration using http://192.168.100.1.
8. Set your own cable router to bridge with the UPC Cisco EPC3925 Router and you should then be online. You’re on your own on this one as every router is different!

That’s it! Again, if you’re having trouble, I suggest you use Opera to do this as it’s perfect for the job and it’s really easy. If you’re still having trouble, leave a comment with as much details as possible about the problem(s) you’re having and with what you have tried (if anything) to remedy them, and I’d be happy to help.

Just to explain a bit further: the concept behind the HTML code is that it adds more POST data to the form on the Management page, POST data that was there before UPC took it away, which the ASP server-side code still checks for; that is why it is possible to enable Bridge mode without resorting to hacking the device to install custom firmware and therefore risk bricking it. We’re not adding the functionality back, we’re just bringing it out of hiding. This is 100% safe and I would recommend it to anyone who wants to use their own cable router.

IMPORTANT NOTE:
If you want to revert back to Router mode for whatever reason, you can do this using one of two methods.

Method 1: Repeat the steps above from scratch and switch back to “Router Mode” via the “Working Mode” menu (this will put you right back where you started with your previous custom settings intact).
Method 2: Perform a hard reset by sticking a pin into that “Reset” hole at the back of the device (you’ll lose all your previous custom settings by using this method).