Showing posts with label WRT54G. Show all posts
Showing posts with label WRT54G. Show all posts

Tuesday, January 1, 2013

2012: The Year That Was

Today is the first day of 2013.  I sit at my kitchen table in front of my laptop with a compile of MESS going in the background.  Like many people today, I sit here finding myself thinking back over the last 365 days.

Certainly, the biggest thing that stands out for me was the passing of our dear dog, Abby.  She was a constant and faithful companion for her eleven and a half years, and was a far better dog than we could have hoped for.  I think about her all the time.
Abby:  January 2001 - August 2012
We now have Buddy in our lives.  Buddy is quite a different dog than Abby was, and certainly a lot more will be written about him in the days and weeks ahead.  He has scared us with some health issues and he has entertained us with his puppy-dog antics.  I look at him each day and wonder what kind of dog he'll turn out to be.  The one thing we learned from Abby is that this is pretty much impossible to predict.
Impossible, Except To Say That He Is Going To Be Trouble
Anyhoo, I sat down and set some goals for myself in 2012 around this time last year.  This was actually a very useful thing to do.  I like to cross things off my TODO list, and I found that putting this list out there was a pretty strong motivator in getting me off my butt.  I need to mull this over a bit still, but I certainly want a new list going in to 2013.  In the meantime, why not take a look back while waiting for the compile to finish to see how I've done in 2012?

Working Out

Goal #1 Hit: "Deadlift 405lbs for a single rep. That's four wheels a side. This goal should be doable. I just have to do it."

It wasn't long after I wrote this that I wrote some more about how much it sucked to have written that in the first place.  In a nutshell, why was I talking about something I could do rather than just going and doing it?  So I went and did it, and made it with pounds to spare.  The year went by and my deadlift continued to improve, culminating with this bad boy.
435 lbs, Baby

Goal #2 Missed (barely): "Squat 280lbs for a single rep below parallel.  285lbs - 290lbs would be even better, as this would be 2x bodyweight."

This was a case of "close, but no cigar".  I hit a 275 lb squat in May, a weight that was indeed 2x my bodyweight at the time.  But 275 lbs is not 280 lbs, so I did not reach this goal.  It wasn't for lack of trying though.  I hit that 275 after several runs of Sheiko, an extremely high volume routine designed to bring your numbers up.

This is a worthy goal to keep shooting for.  Unfortunately, a long stint in Mexico has caused my strength to drop off sharply and my squat seems to have been hit the hardest.  It is coming up again since my return, but a second trip is on the horizon and back down I'll go.  Such is life.

Hacking

Goal #3 Missed: "Get some basic home monitoring going by Christmas 2012."

I put some considerable time into this one but didn't hit it either.  I ran into a couple of snags.  First was the aforementioned  long stint in Mexico.  Second was that my WRT-54G router decided to start acting flaky as I sat down to implement some of this stuff.  The idea was to hack the router so I could plug a Jeenode into it to act as a receiver to other remote Jeenodes around the house.  I added the serial port and SD card mods, but my attempts to get Optware installed on the thing were randomly failing and I couldn't figure out why.  I had suspected bugs in the custom firmware and kept trying various options to see if that would make the problem go away.  Then the router fell over altogether so I bought the mighty Asus RT-NT16 to replace it.  That router now runs Tomato by Shibby with Optware installed just fine.

Again, this is a worthy goal to keep pursuing in 2013.

Goal #4 - Hit: "Get a standalone receiver picking up the transmissions from a Davis outdoor sensor suite by the end of 2012."

I hit this baby back in April and was pretty psyched at having done so.  After that I had to spend a bunch of time figuring out what those transmissions actually carried.  First I sorted out rain and followed that up with outdoor humidity.  The deciphering of all the weather related parameters is now laid bare on github.
This Took Forever To Get Right
I want to keep plugging away at this stuff going into 2013.  I wrote last time about how Davis' recent antics were making me pretty grumpy.  It is my data, and I don't want people trying to take it away from me.

Goal #5 - Hit: "Keep this blog going, share the adventure, and enjoy the ride."

I put up 25 posts in the past year.  Not incredibly prolific, but far from abandoned.  I wrote some stuff that made people laugh, and I wrote some stuff that made people cry.  The goal of this blog was never just to put something out there.  If it wasn't going to be interesting or entertaining, it wouldn't be worth the effort.  Hope you think that it has been.

Have a good 2013 from all of us here at Mad Scientist Labs.  Enjoy the ride

Friday, December 30, 2011

Motivating Myself for 2012

It is that time of year that people look back on the year it was.  I look back and I'm pretty pleased with how it went down.  I've gotten some things done that I've been meaning to get done for a long time, I have challenged myself to learn new things, I have had good success at work, and I like to think that I am a little better person than I was when 2011 was about to roll in.

It is said that one way of making sure you carry through on something is to tell other people what you are doing.  The more people you tell, the more people you are letting down if you fail to follow through.  With that thought in mind, and with 2011 drawing to a close, it seems like a good time to look ahead and set some goals for 2012 in a couple different areas.

Working Out

I have been working out pretty diligently over the past four years or so and have become decently strong on a few lifts.  This despite having the frame of a Japanese schoolgirl and the fact that the testosterone train left the station long ago (i.e. I'm old).  I'm not expecting huge gains in muscle mass but I do think I have the capacity to put on a few more good pounds if I eat enough and don't get hurt.

My best lift is the deadlift.  Pick a weight up off the ground and put it back down.  Simple enough.  I can usually do something like 350lbs to 365lbs for five or six reps depending on the day with a bodyweight in the low 140lb range.  Not bad.  This should translate into a 415lb+ one-rep max.  Should, but probably doesn't, at least for me.  I find that my body doesn't seem to obey the basic predicted formulas for one-rep max

one-rep max = weight / (1.0278 - (.0278 * reps))

and that my reps go down sharply as the weight goes up.  So...

Goal #1: Deadlift 405lbs for a single rep.  That's four wheels a side.  This goal should be doable.  I just have to do it.
This is 495lbs, but you get the idea
One of my weaker lifts is the squat.  Yesterday's workout was 235lbs x 4 for a calculated one rep max of 256lbs.  This lags well behind my deadlift.  I feel my hamstrings are letting me down and will work to strengthen them up.  I really need to build up my bottom position strength before I see some decent gains here.  Because this lift sucks for me, I'm thinking...

Goal #2: Squat 280lbs for a single rep below parallel.  285lbs - 290lbs would be even better, as this would be 2x bodyweight.

 I get mistaken for Tom Platz all the time

My other lifts are decent enough, so I'd be OK with basically maintaining them as I bring these others up.  I can pretty easily Military Press my bodyweight, and I can do weighted chinups with an extra 77.5lbs of weight (around 55% bodyweight) hanging off a belt for 5 reps or so.  Bench press?  Screw it.  It has done my shoulders far more harm than good in the past.  I might play around here a little bit, but pushing serious weight with them isn't something I'm planning on.

Work

Work isn't really something I talk about this on this blog, so I won't.  Suffice to say I just hope I'm not putting in crazy amounts of extra time that would take substantially away from all this other stuff I want to do.

Hacking

This year we went away for a few days to spend Christmas with the family.  We had our neighbor check in on the place while we were away.  You never know if the furnace might go out or a pipe springs a leak or something like that.

Actually, you can know.  And it isn't that hard.  I've spent a bunch of time researching this lately.  There are a multitude of ways that data can be collected and made available so I could know right away if my furnace stopped working or a pipe sprung a leak.  Then I could just make a phone call for somebody to check into it rather than having them waste their time when everything is fine.  One strategy would be to collect the data with some JeeNodes from JeeLabs and the incomparable Jean-Claude Wippler.  JeeNodes are a kind of Arduino clone with built in network capabilities and an emphasis on low power such that a single remote node ran on a single LiPo for a year without breaking a sweat.  More here.  And did I mention that these things are crazy cheap?

Now, that data has got to get onto the net, so why not just hook up a JeeNode to my router and write a script like that used to collect data from my weather station and push it out on to the web?  If only there was a site that was willing to store all of this data for me and make it easy to get to.

It turns out that there is.  Pachube is happy to take all of the data I send to them.  They have an open API.  Look at the data from their web site or pull the data into a Google gadget and display it on a web page.  And you can retrieve the data whenever you want in three different formats.  All for free.  So how about...

Goal #3: Get some basic home monitoring going by Christmas 2012.
This is what I have in mind.
One more thing that I have been playing with for some time is trying to understand how the Davis Weather Station outdoor sensor suite is monitored by the indoor console.  What I'm working towards is some means of building a standalone receiver that could listen in on its transmissions and collect the data without depending on the console.  I had initially proposed a Pretty Pink Pager for this task, and indeed, I was playing with this just the other day.  Unfortunately, I'm struggling with some kind of problem with my GoodFET where it doesn't want to talk to the IM-ME, and this is slowing me down.

There is a problem with this approach though.  The number of people that have a Davis Weather Station, an IM-ME, and the means to hack it is a number one less than two.  The IM-ME is a good prototyping platform for this kind of thing, but it isn't an accessible solution for others.  The biggest problem is the CC1021 chip in the console is not exactly hacker friendly.  The documentation is great, but actually building a board around this thing is not: the components are tiny and a good layout is critical to decent performance.  Development boards also tend to be either expensive or very expensive.  Then I came across the XRF module from Ciseco that puts a CC1101 processor (CC1021 RF compatible) onto an XBee form factor board for just £10 plus another £2.50 for shipping.  What a deal!  This leads us to:

Goal #4: Get a standalone receiver picking up the transmissions from a Davis outdoor sensor suite by the end of 2012.
Let's Do This.  You and Me.  Mano-a-Mano.
Wrapping Up (Finally)

Well, that is enough for now.  There are still a lot of other things I want to get done this year, such as
  • I have a bunch of landscaping to get done.
  • I'd like to get a little hydroponics setup going so I don't have to wait until fall for a decent tomato.  Life is too short for shitty tomatoes.
  • I'm going to keep working at improving my breadmaking skills.  Incidentally, this Sourdough Rye bread is outstanding.
These things lead me to...

Goal #5: Keep this blog going, share the adventure, and enjoy the ride.

What are YOUR goals?  What do YOU plan to do?  We live in a great time where pretty much anyone can learn about anything.  The greatest threat to this is a lack of motivation.  Don't waste the opportunity you have.  Get started today.

Happy New Year from all of us here at Mad Scientist Labs.

DD-WRT is Dead! Long Live OpenWrt!

The Christmas break is upon me and I am trying to get a few things done rather than just sit around and eat cookies.
Chose to Eat Cookies
One of these things was to change the firmware on my trusty Linksys WRT-54G, perhaps one of the greatest routers of all time.
The Muhammad Ali of Routers
It's greatness was largely accidental and stemmed from a license violation.  Linksys used Linux as the brains behind this router.  However, they did not realize at first that the GNU Public License that Linux is released under requires all changes to the source code be made public.  Their hand was forced, and the source code was released in July of 2003.  The open source community tore into this code like a pack of wolves and custom versions with additional features sprang forth.  Before long, this $60 router had the features of a $600 router.  It became the router of choice for geeks and hackers everywhere, and Linksys sold approximately eleventy billion of them.  Read this if you want more of a history lesson.

Linksys came out with many different versions of this router as time rolled on.  I have one of the best: a Version 3 with a staggering 16 Meg of flash and 4 Meg of RAM.  Later versions halved the amounts of flash and RAM, forcing subsequent versions of custom firmware to cut back on features to make room.

I don't remember when I did it, but my first cut at custom firmware was DD-WRT.  I picked this because it had more features than I would ever use, was well supported, and had a nice GUI to control everything.  Sadly, DD-WRT doesn't seem to remember where it came from anymore, and you can't build the whole shebang from source.  Want to modify the GUI?  Be prepared to jump through some nasty hoops to do so.  Development of DD-WRT has also slowed to a trickle: the last release for my router was in 2009, and that was to fix a software vulnerability.

Screw this.  Time to switch, and switch I did.  Yesterday I put OpenWrt and the Gargoyle "router management utility" on it and the process was relatively painless.  Note that I said relatively painless.  There were a few bumps in the road that tripped me up briefly.  This is what got me going.
  • I went to this page on the Gargoyle website and chose the Firmware Image for the Broadcom architecture for the latest stable branch of the code.  This image has the OpenWrt firmware rolled in already.  Nice.
  • The brcm47xx-squashfs file was what I needed, but should I download the .trx or the .bin version?  According to the install guide...
If you are installing from another third-party firmware such as DD-WRT or Tomato, you should also use the .trx file.
Sounded to me like I need to download the .trx version.  Turns out this was wrong.  More on that in a second.
  • The Installation Guide on the OpenWrt Wiki told me that all I should have to do was "Open the WebUI of the original firmware with your web browser and install the OpenWrt firmware image file using the "Firmware Upgrade" option of the original firmware."  Easy peasy.  I backed up my DD-WRT settings from the GUI and then tried to load the .trx file.  DD-WRT greeted me with
Incorrect Image File 

Not good.  That is when I started Googling around and started reading about all the people that had troubles upgrading to OpenWrt from DD-WRT.  The problems people were having were broken charts in Gargoyle and wireless that just plain didn't work afterwards.  This got me a little nervous because this is the only router I have, and botching this upgrade would make me very grumpy.  But no guts, no glory.  I proceeded onward.
  • This post suggested resetting to factory defaults within DD-WRT before doing the upgrade.  This made sense to me: clearing the NVRAM in the router before going to a new firmware version would let OpenWrt start with a clean slate.  Resetting to defaults caused the router to reboot into DD-WRT, after which I had to re-login with the default password of "password".  I'd have never guessed.
  • The next step was to rename the .trx file to .bin and again use the DD-WRT "Firmware Upgrade" option, against the advice of the installation guide.  DD-WRT happily accepted this file.  Several nerve-racking minutes passed while the router re-flashed and rebooted itself.  I pointed my browser to 192.168.1.1 and...
Success!
  • But I wasn't through yet.  Wireless wasn't working.  I dug around the GUI a bit and saw that it was disabled by default.  I enabled that, set the SSID and security stuff, and saved my changes.  This caused the router to reboot and... still no wireless.  This is what I had read about and I was starting to get a little nervous again.  I unplugged the router's power supply for 30 seconds, plugged it back in, and it worked!  Yay me!
Looking back, I realized I was fortunate doing this upgrade over a wired connection.  The default of wireless being disabled and the temporary problem I had with getting wireless going would have caused addition grief if I hadn't been wired in.

A question you might be asking yourself is why I am still playing around with such an underpowered, ancient router that only supports the B & G standards.  Well, when all you have 2 Mbits/sec of downstream bandwidth and 128 kbits/sec of upstream bandwidth, Wireless G is all you need.  But more than that, this thing is completely and utterly reliable.  It quitely does its thing, hidden away in the basement.  The custom firmware also gives it far more capabilities than I need, and it is still incredibly well supported.  What is not to like?

Well, it doesn't have anything in the way of extra ports and it could use more memory.  But there are a ton of easy hardware mods for this router that I might take a shot at that would give me exactly this.  One thing that I really want to try is this 1-wire mod that will let me connect simple devices like temperature sensors to this thing.  A reader of my blog has even written a script that lets a WRT54G with a serial port hacked on upload data from a Davis Weather Station Console directly to Weather Underground.  How cool is that?

This baby still has a lot of life in it yet.