How to build a Smoothwall Gateway the hard way (Dual Core/Dual Gigabit/Mini-ITX)

1. Introduction:
Since I’ve just upgraded the NAS I’ve ended up with a spare Mini-ITX Atom board. Perfect timing to replace the old Smoothwall gateway and finally eradicate the last 32bit machine I’ve got running :)
I’ve been using Smoothwall since 2007 now, my first box was based on a P3 1Ghz but quickly replaced by a VIA 800 Mini-ITX board, and I can’t recommend it enough. Apart from the fact that I don’t really trust the security of a consumer grade DSL router browsing also feels a lot faster even compared to letting the Linksys X3000 do the routing. Not surprising if one considers the jump in processing power between the pathetic little SoC in the X3000 and a fully blown Atom 330 board ;)


2. Let’s put it together:
I think the only part that I could mount without modifications was the main board, everything else involved modifications. In other words, lot’s of fun :)

Parts involved:

  • Intel Desktop Board D945GCLF2, 1.6GHz Atom 330 (533Mhz, 64bit, Dual Core), 8W TDP, 945GC + ICH7, GMA950, RTL111C Gigabit NIC
  • Kingston 2GB DDR2 667MHZ-PC5300 240PIN (KVR667D2N5/2G)
  • USRobotics PCI Gigabit NIC (Model: USR7902A, Chipset: RTL8169S-32)
  • picoPSU 120W
  • 4pin P4 power connector
  • Seagate Momentus 80GB 5400 RPM 2.5″ SATA HDD
  • Mini-ITX case of unknown origin (ancient… hell knows which Chinese factory spat that one out…)
  • 12V case fan with adjustable speed (compuman, PL 80B 12HH, DC 12V 0.23A )
  • CPU fan (AVC Model: C4010T12H DC 12V 0.1A)
  • Smoothwall Express 3.0 SP2 64bit (+update9 through web interface)
  • Green: LAN feed
  • Reg: Linksys X3000 Annex A in Bridged only mode (ADSL2 line,


2.1 The Case Fan:
The old case once came with a non standard PSU which blow up years ago. Once removed I found ample space for a nice 12V case fan. I’ve used one that comes with a little nob to adjust the fan speed and I’ve turned it all the way down so it’s pretty much noise-less. The board won’t be working too hard so this will provide more than enough airflow for this setup

2.2 The CPU fan:
The original CPU fan on this board was a royal pain and I think that was documented well all over the web. It was noisy and hardly ever lasted through the warranty period. I think my original fan ran for about 10min until I ripped it off the CPU cooler and threw it into the bin so I could not be tempted to use this instrument of ear torture ever again. I’ve fitted a nice little fan, think it came from Maplin for a few £, which I can’t even hear through the case.

2.3 The HDD:
Back in the days when this case was made it wasn’t common practise to fit 2.5″ HDDs or portable type optical drives into a desktop case so the mounting frames are meant for a 3.5″ HDD and a desktop size optical drive. I’ve connected the Seagate laptop HDD I’m using to one of the metal side rails that would normally hold the 3’5″ hdd and squeezed a bit of soft rubber underneath which works very well.

2.3 The picoPSU:
This is a very nice little thing and has been running all my Mini-ITX Smoothwalls for years. It’s the older 120W 20pin model and get’s fed from a 90W charger, if the board ever swallows more than that it’s ready for the bin I guess ;)
Only downside is that the picoPSU comes from an era where neither 24pin power sockets, 4pin P4 sockets or indeed SATA power adapters were being sold. The 20pin ATX power plug works just as well as a 24pin one on this board but I had to cheat for the 4pin P4 plug and SATA power connector. I’ve simply harvested a 4pin Molex -> 2xSATA adapter and cut off the black and yellow cable off the second SATA power plug (I only need one anyway). I then connected the two cables to a P4 4pin plug I’ve harvested from an old ATX power supply and this finally got the system to boot :)


Smoothwall psu_p4

The picoPSU should be powerful enough to fire up a laptop size optical drive for the initial install but I didn’t want to leave an optical drive inside the system as it would only be used once every few years when this machine get’s reinstalled/upgraded. So I used a desktop size optical drive and fed power to it from a separate desktop ATX PSU (ATX green+black still works, old tricks are always the best ones ;) .

2.4 The power connector:
Since the picoPSU is fed from a laptop charger it obviously has a little socket that allows for charger to be plugged in. Again not something that the old case would have been prepared for so me and the case took a trip out to the garage to meet Mr bench drill and his friend the size 10 HSS drill. I fitted the socket to the rear left hand side of the case.

Smoothwall inside_back

Smoothwall psu_plug
2.5 The network card:
The old VIA 800Mhz board was quite happy with a PCI riser and a PCI NIC fitted to that but the moody D945GCLF2 obviously didn’t want any of that. I remember trying to fit and additional PCI->2xSATA controller to this in my old NAS case through a riser and it was intermittent at best. Same here, the NIC initially worked but the system froze up every few minutes. Tried about a dozen cards and three PCI risers including a very nice one with buffer caps, no change. Once I got angry enough to throw the ****ing board out the window I unscrewed it and decided to try it without the riser card, just for fun. Suddenly every card worked, even the RTL gigabit ones that previously weren’t even detected by smoothwalls setup routine. Not like I care much how I get stuff to work these days so me and the case took another trip out to the garage to meet Mr angle grinder. The resulting hole next to the opening at the back for the board to stick out it’s ports is just a bit bigger than the second NIC port. I’ve bent the surplus metal inside and it now sits exactly behind the NIC ports metal casing.

Smoothwall nic


Physical setup – done :)

Smoothwall whole_box
3. Let’s install Smoothwall Express 3.0:
I though this would be pain free, oh boy was I wrong… Since part of my goal was to get rid of my last 32bit machine (the last Smoothwall ran off a 32bit Sony laptop as a temporary replacement for the old VIA 800MHz board which only worked with Smoothwall 2.0) I downloaded the latest Smoothwall 64bit version aka SP3 which includes all updates to update8. Since I’m careful and knew I would loose the interweb once I unplugged the old machine I also got the 32bit version and a random collection of Linux live CDs for troubleshooting. Discs burned I pulled the plugs and started to install…
The initial SP3 install worked well and I was pleasantly surprised by the new installer which formats ones drive in minutes rather than hours. Unfortunately all I got after the mandatory reboot which follows the initial setup routine was a “no operating system found” type error. Hmmm, tried the 32bit CD, tried two more laptop SATA HDDs, tried an IDE laptop HDD, tried a desktop SATA HDD, tried a WD 15000 RPM Raptor: no change – no boot – uncontrolled swearing.
So I setup the iPhone as a wifi hotspot and started to investigate. Didn’t take long to find out that the changes in update8 were major and included a move to grub as well as a new Kernel. So I got the previous Smoothwall Express 3.0 SP2 64bit setup iso, burned that and finally got a booting system! The missing updates then came through the web interface and including update8 installed ok.
Once I got the interweb back I had a closer look at what could be causing the SP3 incompatibility and quickly found the culprit to be the mainboard’s BIOS which has a bug which in reality means that booting from GUID partition tables is broken for these boards. How that sort of thing get’s through Intel’s testing regime is beyond me…
More on the GPT debacle can be found in my previous rant post on the topic :)

Smoothwall all_done

4. Final thoughts:
All in all I’m very happy with the new Smoothwall box. I can’t hear it, it doesn’t swallow a lot of power and it’s fast hence should last for a few more years. Now all I need is a bit more time to upgrade to fibre broadband and remove the need for an ADSL modem (<- what I actually want is 20meg+ downstream but power savings are soooo much better for justifying investments ;) and patience until the price of a 32GB SSD drops below £30 so I can swap out the old Seagate 2.5″ HDD.


FacebookGoogle GmailEvernoteDeliciousShare

Intel D945GCLF2 vs GPT and Smoothwall 3.0 SP3

Here was me thinking that it would be a good idea to finally replace my old laptop based Smoothwall setup with a nice mini-itx one…

The mini-itx board in question is a Intel D945GCLF2 and has been working hard over the past few years as my home NAS. Since I just swapped it for a Gigabyte GA-D525TUD to add another RAID1 and finally fill the remaining slots in the NAS box I decided to throw out the old moody Smoothwall laptop and let the D945GCLF2 do the Smoothwall-ing. Got a box, got a 120W picoPSU and my nice home soldered molex->P4 adapter, got a beefy laptop charger, got the tools and setup discs, all seemed good. Until I tried to install Smoothwall 3.0 SP3.

The install routine went through ok but after the reboot I only got “no bootable device”. So I tried all the usual BIOS tricks, AHCI off and even tried it with a 2.5″ IDE drive which I had to dig out from the furthest corner of the room (<- keeping stuff is good, I still had an adapter lying next to it to connect this to a 3.5″ IDE port ;) . Still no joy. So I got desperate, got out a trustworthy desktop PC, installed the latest smoothwall onto a drive. All boots ok in the desktop but same error when connected to the D945GCLF2. Grrrrrrr! Oddly enough the D945GCLF2 had no problems installing and booting both 32bit and 64bit Ubuntu 12.04. I slowly started to suspect partition layout-ish problems and set off to investigate further…

So I went out into the big cold world of error googling to gather more information. Luckily I also had a look at the last Smoothwall updates and update8 was quite a big one so I thought why not try Smoothwall 3.0 SP2. And tadaaaa, suddenly the D945GCLF2 boots fine :)

Any sane person would probably have been happy at this point, I wasn’t and spent the rest of the afternoon trying to figure out what was going on. Long story short, with SP3 (update8 I think to be exact) the setup routine started to work differently. Apart from support for multi-core CPUs it now also formats a lot quicker and uses GPT. Nice idea in general but the D945GCLF2s BIOS has a bug which effectively means it doesn’t boot from GPT partitions. And that’s where I got angry and decided to write a blog post to hopefully help others who are stuck with similar problems on the D945GCLF2. How a company the size of Intel get’s away with bugs like this is a mystery to me…

FacebookGoogle GmailEvernoteDeliciousShare

Copyright © All Rights Reserved · Green Hope Theme by Sivan & schiy · Proudly powered by WordPress

Hit Counter provided by seo company