Friday, November 23, 2012


Announcing dblohm7.ca

On October 15, 2012, I started working at Mozilla Corporation. As an open source project, Mozilla strongly encourages contributors to blog about their work. I decided that the best way to meet this objective is for me to create a new blog that specifically focuses on my software development activities. The new blog is available at dblohm7.ca and will be syndicated to Planet Mozilla.

What does that mean for the OhmsBlog? Not much, really. I will continue to use this as my personal blog for musings and for technical posts that aren't software development or Mozilla related. I will also continue to use it for supporting my Android apps.

Sunday, June 17, 2012


How to switch a Cisco DPC3825 / EPC3825 to/from bridge mode at will

DISCLAIMER: This blog entry is unsupported. It outlines the steps that I successfully taken to switch this device into bridge mode. I am posting this as a courtesy to people who would like to know how to do the same. Having said that, my work here is done and my problem has been solved. This technique might not work for all firmwares. It requires knowledge of HTML and HTTP. If this isn't working for you, please do not post comments or send me emails asking me to solve your problem for you.

A few weeks ago I had to help somebody deal with an annoyance: They had a Cisco DPC3825 device that is a combination cable modem + wireless router device. They were unhappy with the device's router functionality and wanted to set it to "bridge mode," i.e. disable everything but the cable modem.

This is easier said than done; this device had its firmware customized such that no user interface was available to change such things. There were no form fields present pertaining to the device's mode. I found some limited information on other websites. Many of these users had devices with firmwares that were different from the one that I was working with. In their cases, the form fields for switching modes were present in the HTML but hidden via CSS.

On the forum website, their solution was to remove the display: none from the field's CSS, making the form field visible. I was disappointed with this solution, as it wouldn't work in my case. On the other hand, I couldn't help but notice that the forum users had posted a few images of their HTML. Indeed, one of the screenshots includes the necessary <select> tag, whose name was "working_mode"! We weren't finished yet, however: I still needed to figure out which value to use for the hidden field. I noticed that in other <select> inputs, the firmware set the field's value to the 0-based index of the option in the select. The screenshot showed that "Router Mode" was the first option, implying a value of "0", followed by "Bridged Only," implying a value of "1". This means that one can, as part of the administration form, just insert an additional field. I'm lazy and I only needed to execute the command once, so I just used Firebug to inject a hidden input into the administration form. Look for the

<form name="administration" method="POST" action="/goform/Administration">

tag and add the following:

<input name="working_mode" type="hidden" value="1">

I submitted the form and was then presented with a screen informing me that the device was rebooting. When it reboots in bridge mode, the device resets its IP address to To switch back to router mode, do the same thing but set the input value to "0".

Of course you might want to script all of this and POST the form directly.

Wednesday, March 14, 2012


How do I reference TrustedInstaller?

I was editing some ACLs on my Windows box the other day, and I wanted to assign ownership of a directory to TrustedInstaller. The trouble was that I couldn't figure out how to specify the TrustedInstaller user into the security editor. After scouring several blog posts I finally found the answer. Here it is for posterity:

NT SERVICE\TrustedInstaller

Release 7.0; Copyright © 1996-2012 Aaron Klotz. All Rights Reserved.