m0n0wall and you - part uno!

hardware : by Corey — January 28th 2006, 08:28AM
hardwareConsumer networking equipment quality has taken a nosedive in the last 18 to 24 months. Having been working very closely with one consumer networking equipment manufacturer over the last six months, I can honestly say that I don't think I will ever buy a consumer-grade piece of networking gear ever again.

The problems here are two fold and quite obvious; hardware design/quality and software quality. In the hardware realm, quality problems are not a new idea. Part qualification standards are, as far as I can see, non-existent. For example, the KR1 Mobile Router I've been working on had a CMOS battery in it. The battery was reportedly there to keep the time on the router while it was unplugged as this is a mobile product. In testing, I showed that the battery was completely non-functional. As it turns out, it was never designed to operate on a battery so they took it off. Why was the battery placed on the PCB in the first place?

Moreover, software quality and standards have really degraded. In my observation, it is now standard practice to write code, compile it, ensure that the product actually boots up, and ship it. There is no black box testing by a quality organization and no verification that all features are functional. The product is released to the public and then the support complaints roll in. Based on these customer reported issues, firmware fixes are rolled in and a new upgrade build is spun and put up on support sites for users to upgrade themselves. In effect, the customer is the tester. This is quite cost effective because the company doesn't need to pay testers or spend any extra time before getting the product to market. People almost must have some form of networking equipment in this day and age and they continue to purchase it. So why does this matter? I'm glad you asked.

My D-Link DI-524 is a victim of this downward trend in quality. It is a basic router with 802.11g WiFi support. It suffers from a problem where it likes to reboot randomly when you chunk too much data through it. And by too much, I mean connecting to IRC or and FTP server. It is highly frustrating to be cruising along and suddenly completely drop your Ethernet connection to the router. I found a hacked version of the DI-624 firmware (same hardware in both units, just a different driver for the WiFi chipset that does 108mbps) and loaded it. It exhibited the same type of issues but in different ways. Rolling back to older firmware lessens the frequency of the problems.

These problems are not generic to D-Link. They also affect the latest version of one of Linksys' best selling product lines: the WRT54G. Version five is an utterly horrible piece of junk and a simple Google search will enlighten you to all of the varied issues. Netgear suffers as well but to somewhat of a lesser degree. It seems that they started with a more solid code base which allows them to get the basics right without breaking DHCP or something

"So Mackie, what's your great plan for solving this problem?" A simple answer: m0n0wall. m0n0wall is a barebones edition of FreeBSD that contains a web server with PHP parser that runs most basic network functions. It will do the standard DHCP, DNS, and other routing duties but will also provide traffic shaping and reporting services. All of this is configured via a single XML file and the web-based GUI. It is compatible with all hardware that FreeBSD supports so you can use nearly anything with it. All of this for free, and it runs on an 8MB Compact Flash card.

It is designed to work on embedded PC platforms but can also work on any old PII you have laying around, provided it has at least 64MB of RAM. No hard drive or optical drive is required provided you acquire a CF to IDE adapter. It will run on any x86 architecture, including MiniITX, MicroATX, and ATX systems. I've ordered all the parts for mine and they should be arriving in the next week. I'll be providing update posts to go through system setup and configuration soon. Stay tuned.

Parallax Microcontroller

programming : by Tommy — January 11th 2006, 11:19PM
programmingI recently got a BASIC Stamp microcontroller project board from Parallax, Inc.. Microcontrollers (µC) have been my latest interest. I've wanted to get my brain wrapped around how they work for some time, and I used some money I got for Christmas to buy one.

For those of you that don't know what a microcontroller is, it's simply a chip that acts as a self-contained computer which you program to your liking and hook into a circuit you've constructed. The BASIC Stamp µC is about the size of a postage stamp and the code is written in BASIC (hence the name). BASIC is used over assembly (like the PIC and AVR micocontrollers) because of its easy syntax. It allows a much shorter learning curve and gets you up and going with the basics of µC use.

The particular setup I got is a complete kit from Radio Shack (which they're going to stop carrying soon) which includes a BS2 chip on a programming board, with a breadboard area, 9V battery hookup and a serial port. The kit came with the serial cable, a copy of the "What's a Microcontroller?" book, software, and a bag of basic electrical components to experiment with. The book steps you through lessons (designed for those with zero knowledge of electronics or electric theory). It also explains simple programming concepts and walks you through several projects. My only regret is that the board's µC is built into the board. To create a µC-based project, I will either have to use this entire board with its connections, or purchase a separate Stamp (~$30) and a programming board for it. However, this is not a big problem at the moment since I'm still learning.

If you're interested in getting into this field of electronics/computers I recommend considering the Parallax line for its ease of use and great instructional material. (Not to say I won't move back to the AVR after some time, but the Stamp is much easier to learn on).

Running Linux, 5th Ed.

books : by Tommy — January 6th 2006, 03:52PM
booksI just received a copy of Running Linux, 5th Ed. (ISBN: 0596007604) to review. So far, I think it's an improvement over 4th edition. I always preferred 3rd Edition to the 4th. Geez, what's the difference? Glad you asked. In 3th edition, the author(s) covered most aspects of the GNU/Linux operating system, independent of any specific distribution. Everything was covered from the command line, and a bit was covered over the use of X, the graphical user interface for linux.

4th edition took it a step further (too far, in my opinion). With the rise of linux's popularity, many users hopped on board and stayed with the GUI. That same crowd may have felt overwhelmed with the introduction of the command line (many users aren't used to dealing with a command line at all!). 4th Edition covered more GUI-related aspects and approached most system processes and daemons from their GUI perspective for users that could care less about the command line. I didn't feel this really helped the new user truly understand what was going on in their system.
I feel to truly use the system to its full potential, you must understand the system from the command line (after all, that's where all the action is). It seems that 5th edition has a delicate balance of the two. It covers the GUI portions of the system to get you up and going and also covers command line functions for reference once you figure out how to actually use your linux system and want to know more.
Of course, this book isn't the end-all solution for your linux needs, but it will definately get you up to speed and explain much of the system's operation to the newbie.

I cut my teeth on Running Linux I took it with me everywhere I went, when I had a moment, I was reading another page in the popular linux introduction book. For anyone wanting to "get into linux", this is the book. With 5th edition's updates for the newest developments in the linux arena, O'Reilly is sure to win over more converts to the GNU/Linux OS.

Click here to buy the new 5th Edition of Running Linux.

Call of Duty 2

games : by Tommy — January 2nd 2006, 10:07PM
gamesI got Call of Duty 2 for Christmas from my parents. I didn't get a chance to install it until I got home after New Year's. It was worth the wait.

Finally a great game that wasn't (at least to me) overhyped. I didn't hear much about it other than a commercial or two on TV, and it's release on the Xbox 360. I thought it looked nice on the Xbox demo in stores, but that's what demos are for, to look nice.
I was surprised to find the gameplay still very much like that of Call of Duty 1. They took some aspects of CoD 1 and United Offensive out, like sprinting and "cooking" grenades.
The weapon sounds are a bit different, for better or worse? I can't tell yet. The voiceovers are great, much more realistic sounding. Havoc says that the EAX support is much better than any game he's had. (I wouldn't know since I don't have a SB card)
The graphics are phenominal. Imagine that, a sequel that improves graphics and doesn't require a video card upgrade! (BF2, *cough*, *cough*)

The game is super impressive. I'm very pleased.
As with any sequel, there are a few minor differences that players might like to have back, like sprinting and cooking grenades, but the game overall is an excellent release without any glaring bugs or major flaws so far.

Oh yeah, and single player is just as fun as Call of Duty 1.

Christmas Loot

hardware : by Tommy — January 1st 2006, 06:20PM
hardwareIt's that time of year, time for exchanges and stuffing ornaments and lights in storage boxes. It's also time to show off your new goods, those treasured gifts you received for Christmas.

This Christmas, I got the following:
  • a new Sanyo 27" TV
  • a new HP ze2308 laptop (which we got a great deal on...)
  • VR3 MP3 Player for the car
  • a "Hovercopter"
  • Call of Duty 2 (for PC)
  • Mark Farina - Mushroom Jazz Vol.5 (CD)
  • Wireless Hacks by O'Reilly
  • an Atmel microcontroller project board
  • and an HO-scale electric train set

  • ...just to name a few. Probably one of the best list of Christmas gifts I've had in a while.

    What all did you get?