Wednesday, October 09, 2019

Router running tomato message in logs "received packet on vlan1 with own address as source address"

After an indirect lightening hit that traveled down the ethernet cable for my WAP in the attic and hit my ASUS router, I started seeing this message every 5 seconds in the router's event logs. It was also unable to handle more than 20 wireless clients at a time before clients would start losing network connectivity. They'd still be connected to the access point but unable to hit any internal or external servers. Looks like the router was limping along. I swapped it out and everything is back to normal.

Wednesday, January 25, 2017

ESP8266 not connecting to my 2.4GHz wireless network.

Just recently grabbed a couple of EcoPlugs wifi outlets and decided to replace their crappy "phone home" firmware with something LUA based. For the life of me I could not get the ESP8622 to connect to my 2.4GHz network on my ASUS RT-AC68R/U. Even disabling encryption all-together didn't work. Eventually,I found that the answer was to go to the Basic Settings -> Network page of the router's admin interface. On that page in the "Wireless (2.4 GHz / eth1)" section I changed "Wireless Network Mode" from "G Only" to "B/G Mixed" and the ESP8622 immediately connected to my network. I have no idea why I needed to enable B mode but that was definitely the cause because as soon as I switch it to "G Only" the ESP8622 loses it's connection again.

Friday, June 20, 2014

Review of Rustoleum's High Traffic Concrete and Garage Floor Coating



After spilling about a gallon of Raspberry Red Ale homebrew beer onto my basement floor, (long story) and leaving a nice dark stain in the concrete I decided it was time to put some sort of coating on the floor. I originally planned on buying 5 gallons of Seal-Krete's Epoxy Seal which is a single part concrete floor paint from Home Depot as it has pretty decent reviews. Unfortunately, they do not carry it in-store and I wasn't interested in waiting for it to be delivered to the store in 2 weeks. I then considered using the Behr version of concrete paint but the reviews on it were terrible. It's hard to use online reviews of concrete paints or epoxies because so much of the quality of the job depends on how well the concrete was prepped before painting. My next consideration was the popular two-part epoxy kit sold by Rustoleum that includes the etchant and the decorative chips. I calculated that I would need to use 3 kits in order to finish the basement floor and at $99 per kit I felt like $300 was excessive. Due to the size of my basement and all of the crap we have in there I needed to coat it in two separate sections. This meant that a good portion of the two-part epoxy would be wasted because once it kicks off, it's toast. Also, others have said that it started hardening before they could finish applying it. Eventually, I stumbled across another Rustoleum product called High Traffic Concrete and Garage Floor Coating. There is a variation of this product that is tint-able at the store so the wife was pretty pleased with that option. Unfortunately, at the time, I was unable to find a single review on it. So I rolled the dice, bought 3 gallons and had them tint a shade of blue that the missus picked out. Each can runs $32.98 so the price is pretty good compared to the others. I also bought 5 boxes of dry mix Rustoleum Epoxy Shield Concrete Etchant. Each 1 pound box, when mixed with water, will create 2 gallons of etchant which is supposed to be enough to etch 250 sq ft and that seems to be an accurate square footage. It is a citric acid based etchant so the fumes are non-existant and it is supposed to be environmentally friendly.

Floor Prep The most important and difficult part of finishing a concrete surface is the preparation. In order for any sort of paint or epoxy to adhere to the surface it must be rough and free of contamination, especially oil. Since this is a basement floor I don't have to worry about past oil spills but in a garage setting you would want to pay extra attention to those areas and use a de-greaser and possibly a sand blaster.

Step 1: Sweep up debris. First, I started by sweeping the floor of any debris and dirt.

Step 2: Pressure wash the surface. I used an electric pressure washer to get up most of the surface dirt and used a shop vac to suck up the water and then dump it into my sump pump. I used a driveway sealant squeegee in order to push the water toward the low spot of that section so the vacuum could suck it up.

Step 3: Scrub the surface. On the first half of the basement I used regular dish soap and a stiff outdoor broom to give the floor a really good scrubbing. On the second half I decided to use Purple Power since it is a very strong cleanser and I felt it would work even better. Both worked well, though I think the Purple Power is better. Here again, I used the pressure washer and the shop vac to suck up the soapy water. You'll want to remove EVERY last trace of the soap or cleanser before etching or else it will serve to actually neutralize the acidity of the etchant. Unfortunately, this was the most frustrating part because the suds will fill up the vacuum very quickly forcing you to empty it quite a bit more often. It is a necessary evil though. I tried to keep going until the water was as clean as possible.

Step 4: Etch the concrete. The Rustoleum Etchant calls for the 1 pound bag of citric acid to be mixed with 2 gallons of water and disbursed evenly over the floor using a watering can. I decided to purchase a cheap 1 gallon pesticide sprayer and use that instead. A watering can would probably have worked just was well though. I sprayed the etchant all over the floor as evenly as possible while making sure it did not dry up anywhere. The instructions indicate that you cannot let it dry on the surface. Once the gallon of etchant was applied I used a stiff broom to scrub away at the concrete. As you scrub you'll see the top layer of concrete start to slough off and murky the water. This is good and exactly what you want to happen. The etchant is opening up pores in the concrete so that the paint will be able to soak in and hold on. Keep making sure it is not drying anywhere. The instructions on the etchant call for it to sit on the concrete for 1-2 minutes after scrubbing. I decided to let it sit for 5-10 just for good measure. Then, using the pressure washer and shop vac I kept cleaning the floor until the water going into the shop vac was as clean as possible. I found the etchant to be very mild once it made contact with the concrete, and it did not cause me any discomfort when I used it while wearing sandals.

Step 5: Etch the concrete again. I decided that the floor didn't feel rough enough underfoot so I decided to repeat Step 4 again. I don't want to take any chances and have to do this again. If you find that there are sections that are still smooth you would need to rent a floor sander or maybe try a stronger acid solution.

Step 6: Dry the floor. It is critical that you get the floor as dry as possible before applying any type of paint to it. I setup a de-humidifier and an oscillating fan to get the humidity down to 55% and the temperature around 72F. I maintained that temp and humidity for 2 days so I could be sure it was absolutely dried out. You want all of those little pores you just opened up to be free of moisture, this is where the oscillating fan really helps. If the concrete was poured within the past 30-60 days or you have a high water table or water permeation you'll want to do a moisture test. You can Google for how to do this test.

Step 7: Check for a powdery residue. After the floor has dried completely wipe your fingers across the surface and see if you pick up any powder or dust. If you find there is still concrete dust on the floor from the etching process you'll need to pressure wash it again. All of the dust has to be taken up or else the paint will adhere to it, instead of the concrete.

Step 8: Vacuum the surface. Now this may sound crazy, but hear me out. After finishing the etching process I found that the surface felt like it hand sand on it. I believe this was just little pieces of concrete that broke free of the surface during etching. Not small enough to be dust but large enough to feel like sand. I used a carpet vacuum set to "bare floor" and used it to suck up the sand. It worked great and left the floor very clean.

Step 9: Tape off edges. If you're being picky about having clean sharp edges, you can use the blue painter's tape to mask off the edges or around plumbing, etc. I didn't bother doing this everywhere because it's just a basement. I did tape a line down the center of the basement to divide the two sections from what has been prepped and what remains to be done. I also taped off around the furnace and hot water heater pan.

Step 10: Cut in the edges. I used a cheap 4" brush to cut in all along the edges. You'll find that the concrete will suck up the paint very quickly, which is good.

Step 11: Roll out the paint. I used a 12" roller with a 1/2" nap and a broom handle to roll out the paint. You could use a 9" roller to save some paint at the expense of extra labor. This paint is VERY thick and pours slowly. I would be tempted to say it has the consistency of pudding. DO NOT thin out the paint. Even though it is water based, it is supposed to be thick. Instead of letting the paint remaining in the can dry out, save whatever is left for the brushwork later on. It smells similar to the latex paint used on walls but the ammonia smell is much stronger. I didn't need to wear a respirator in my rather large basement though. Wearing a respirator in an enclosed space might be a good idea. I rolled the paint out in about 3 x 4 sections and rolled it back and forth and up and down to help work the paint into the concrete. I also blended each section into the prior one for uniformity. Don't worry about getting every little piece of concrete filled in. Instead concentrate on blending the sections and making sure you don't have roller lines or drips. The can says only one coat is needed but you will probably find that you actually need two. During the second coat you can focus on filling in all the little pores and holes. You must wait at least 24 hours before applying the second coat or subjecting it to heavy foot traffic.

Step 12: Leave it alone. Do not walk on the floor for 24 hours. If you are moving heavy objects back onto the floor that will be sitting, wait for 7 days so it can fully cure. Otherwise, when you move them you may pull the paint up off the floor.

My Impressions

The Rustoleum etchant is great. If you get it on you it doesn't burn your skin off. It has no fumes that I can detect, and it works fast. The square footage rating of 250 sq ft per box seems to be pretty accurate from my usage.

So far, the concrete paint itself is great. The coverage is MUCH better than I thought it would be. On my concrete floor I was able to get two coats onto 360 square feet out of 2 gallons. This includes paint left stuck in the brush, roller, and tray. I was expecting to need at least 4 gallons. The can states 300-400 square feet of coverage which I think is very exaggerated. I used approximately 1.5 gallons to do the first coat which always uses up the most paint. I would cut the number quoted by Rustoleum in half if you're putting it on a properly etched floor. The rougher the concrete, the more it will absorb obviously so my coverage rate might not match yours. The best bet would be to buy more than you need and return what is leftover.

In the right temperature and humidity it dries very quickly. The coating seems to be very strong. After 24 hours I was not able to make an impression in it with my thumbnail. After 3 days I began moving our shelving units back in place with moving dollies and it was not affected at all. Time will tell just how durable it is, but so far I am impressed. It only cost me $60 in paint to cover 360 sq feet so I can't complain about that at all. So far, I highly recommend this stuff. Here are crappy cell phone pictures of the finished product that I will try to replace later.

Thursday, October 10, 2013

ORIGIN ALREADY RUNNING

Here is a possible solution if you keep getting the error ORIGIN ALREADY RUNNING. This assumes you haven't let someone else "borrow" your Origin account or had it stolen.

Only one instance of Origin can run at a time. Please check other Windows accounts to see if Origin is running.

On my computer I run Firefox under a limited user account rather than under my administrator account. I do this to prevent a malicious website from being able to exploit Firefox and gain access to my computer. Since the Origin.exe program is running under an admin account, when Firefox tries to launch me into a game of Battlefield 4 it also tries to spawn an instance of Origin.exe and hence the error.

I can either run Firefox using my administrator account (never gonna happen), or I can use the Windows runas command to launch Origin under the same account as Firefox. If you are using the runas command you'll also want to use the /profile switch. I've decided to do the latter.

Tuesday, September 17, 2013

Review of the Andersen 4000 series storm door

I've now had this door installed for about 2 months and it has been one of the best investments in our house so far. We had to special order it in the almond with bronze hardware. For some reason the Home Depot salesman insisted that it was oil rubbed brass and not bronze. Ok buddy, whatever, you know which hardware I'm asking for. We also used a Lowe's 10% off coupon to save about $30 or so. We had to go to customer service to get the price adjustment but it was worth it.

The door was pretty well packaged from the factory, however, you want to be careful when transporting it. The door should not be laid flat but in some cases you have no other choice. It should always be kept upright or on its side. Ours made it safely home on a trailer and I opened it up immediately to inspect it.

I'm pretty handy around the house with electrical, plumbing, drywall, etc. but I'd never installed a storm door before so I was a bit hesitant. The installation was pretty easy with the exception of installing the strike plate which is one of the last steps. The included screws are supposed to be self-tapping but they are all but impossible to get started even after pre-drilling with the correct drill bit size. I managed to chew up the head on one of the screws trying to get it to bite into the aluminum.

I highly recommend having someone help you at certain points of the installation. The extra set of hands makes it easier to get things aligned and level. Having someone hold the door hinge in place while you instal the self-tapping screws is a big time saver. Make sure you have a nice sharp hacksaw blade so you can make a clean cut through the aluminum for the frame. Don't worry, if you mis-measure or mis-cut Andersen will send you a replacement for free.

Check and validate your orientation of the pieces, especially if you are hanging the door so it opens from right to left. The tutorial videos on YouTube are demonstrating a door that opens from the left to the right so you can't just blindly follow everything the installer does if you are installing it in the reverse.

This door seals super tight. In fact, it is so tight that with the interior door closed and the glass pane installed, the door does not shut all the way unless you crank up the tension on the closers. But if you do that then the door will slam shut when the interior door is open, or the screen is installed. This is pretty much unavoidable with any well built door. The air cannot escape and builds up pressure between the two doors. If some ingenious manufacturer can come up with a hidden one way air valve that would be impressive.

Make sure to check YouTube for the two-part tutorial that Andersen put together. It is a much better guide than the paper manual. Keep the paper manual as a reference though.
Video 1
Video 2

Overall, the door looks and functions great. With the exception of installing the strike plate the installation was super smooth and took maybe 4 to 5 hours with frequent breaks.

Click for higher res.

Thursday, September 12, 2013

C# code to get IPV4 address

Just a code snippet of C# that I'm using to resolve the IPV4 address of a remote server.
using System.Net;
using System.Net.Sockets;


/***************************************************
Resolve the IPV4 address for a host name.  Should work with IP addresses as well.
*/
IPAddress ipAddress = null;
foreach (IPAddress Address in Dns.GetHostAddresses("google.com"))
{
    if (Address.AddressFamily == AddressFamily.InterNetwork)
    {
        ipAddress = Address;                       
        break;
    }
}

Thursday, August 29, 2013

Bad experience at PartsGeek.com

 Here is an accounting of my experience placing an order with PartsGeek.com

Absolutely zero customer service. I ordered an AC compressor for a 2000 VW Passat. I later learned this model year had two different types since VW switched suppliers midway through production. The two compressors are completely different. Their online ordering system asked for the make, model, year, and engine but not what date the car was manufactured or what the VIN number was. I received the wrong air compressor and attempted to open an RMA request on their website. At this time I also found that they refuse to pay for return shipping even if they mess up the order. This should be a HUGE red flag here people! No reputable company would penalize you for their own mistake. After 3 weeks I didn't get a response so I tried calling. After being on hold for 15 minutes waiting for a support rep, a recording said all customer service was handled online and it hung up on me.

I contacted my credit card company and they also attempted to contact the merchant. Since the merchant was completely unresponsive and at fault they issued me a charge back, so even though it was an incredibly frustrating experience, at least I didn't lose my money.

Lesson learned.

Update: I finally received an RMA from Parts Geek on 11/6/2012. That's nearly THREE MONTHS after sending my original RMA request. Too little... much too late.