Greatly inspired by the release of the Excito B3 I decided to build my own home server. The Excito B3 is a Swedish home server. Using a 1.2ghz arm CPU with 512mb ram. Dual network interfaces and firewalling capabilities. Running as low as 8 watt this seemed like a very nice product. The idea to combine a NAS server with a router is great. Instead of having both a router and a nas server, you would only need one single device. About to order one of the magnificent machines the pricing did scare me away. I decided i could build my own home server which would be more powerful and with much better upgrading possibilities than the Excito B3.
Objective:
Build a machine which can route and firewall traffic, both wireless and wired. Run a few services like Bittorrent and CIFS/Samba share.
Spending some times to locate the different parts this is what the final list looks like:
- Intel D510MO Motherboard
- Sparklan WPEA-110N mini pci express wireless network card
- Antec ISK 300-65 case
- Intel pro1000gt ethernet card
- OCZ Vertex 2 SATA II 2.5″ SSD 60gb
The choice of motherboard was the toughest. There are tons of different Atom powered motherboards, but only a handful of them is able to provide both wireless (via pci mini express) and dual network interfaces (using the extra pci slot). There are a few boards which provide dual network directly on motherboard but they are quite expensive. Also some provide inbuilt wireless but they are usually usb solutions attached to the motherboard. Be sure to check for Linux compatibility if you wish to use it as a Linux server. Atheros chipsets are usually a safe choice. Some notes for the weird pci mini express slot as i could not find much information at that time:
Pci Mini Express:
It is a interface which is usually used in laptops to allow for replacement of the wireless network card.
On the picture is the slot itself, and a pci mini express card to be inserted into the slot. Also seen is two Hirose U.FL -> RP-SMA pigtails. They are simply cables to be attached to the wireless network card with an antenna connector at the other end. You do usually do not need to drill holes in your casing. Most io shield have predrilled holes on the io shield that just needs to be punched through. At least the Intel D510MO had.
Retailers
Locating pci mini express add on cards is not easy. At least not in Denmark. Having searched around i finally found a European retailer, which has some very nice stuff for those odd pci mini express slots. They also have antennas and pigtails. I do recommend this retailer.
http://minipci.biz
Other sites which has some nice listings:
http://www.oxfordtec.com/uk/
Advantages
- Complete control
- Parts can be exchanged easily
- Cheap upgrade
- Passive cooling (completely silent)
- Has excess CPU power
- Very configurable
- Rock stable
Disadvantages
- mini pci express slot (must be used to allow wireless routing)
- Intel Atom D510 has no cpu idle support. It will run at 20 watt load or not
- only two sata ports
- Seems to be picky with memory ( The official ddr2 standard says 1.8volt for memory. Most high performance memory requires more than 1.8v and the board can’t supply more than 1.8. There is no option in the bios to change memory voltage so beware that your memory can run at 1.8v. That said memory should have a 1.8 volt timing (to comply with the standard) which in my case means the memory will only run at 667 mhz and not the 800mhz max)
- No simultaneous 2.4 ghz and 5ghz operation. It’s either 2.4ghz or 5ghz
- No Media capabilities beyond DLNA sharing
I did spent some time tweaking the wireless settings. Below is my hostapd.conf. Perfectly capable of feeding my Western Digital Media Live with Blueray rips (1080p – aprox 8gb size) wireless. If anyone is interested, my non scientific tests shows that a stream like that maxes out at about 2.3 MB/s which would be the rate you are looking for if you want to stream to a media player. The system itself can pull at least 8 MB/s but that could be limited by the client 😉
Conclusion
This machine will run 24/7 using a mere 20 watt (measured at wall) This is a bit higher than the Excito B3 but still quite low. Please note that size of PSU does matter! If you choose to power the motherboard with a large PSU it will use more power at wall as well. Performance wise this machine is much stronger than the Excito B3 and performed well even when running 4 dedicated game servers. The build was not cheap either but you can easily exchange parts if anything breaks. All in all it is a great home server build which use seems to only be limited by imagination 🙂
Gentoo specifics:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #hostapd.conf interface=wlan0 #bridge=br0 (optional, if you want bridging remove the #) country_code=DK driver=nl80211 hw_mode=g wmm_enabled=1 ssid=InterSect ieee80211n=1 ht_capab=[HT40+][SHORT-GI-40][DSSS_CCK-40] channel=1 wpa=3 wpa_passphrase=xxxxxxxxxxxxx wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 logger_syslog=-1 logger_syslog_level=2 logger_stdout=-1 logger_stdout_level=1 debug=0 dump_file=/tmp/hostapd.dump ctrl_interface=/var/run/hostapd ctrl_interface_group=0 accept_mac_file=/etc/hostapd/hostapd.accept deny_mac_file=/etc/hostapd/hostapd.deny auth_algs=1 |
Safe cflags:
CXXFLAGS="${CFLAGS}"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #/etc/conf.d/net # This blank configuration will automatically use DHCP for any net.* # scripts in /etc/init.d. To create a more complete configuration, # please review /etc/conf.d/net.example and save your configuration # in /etc/conf.d/net (this file :]!). dns_domain_lo="lan" config_eth0="dhcp" dhcp_eth0="nodns" dns_servers_eth0="8.8.8.8 8.8.4.4" config_eth1="null" modules="!wpa_supplicant" config_wlan0="null" rc_need_br0="hostapd" bridge_br0="eth1 wlan0" config_br0="192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255" |
I have the same board and I want to put it to good use since I now need higher wireless data rates. How is your server performing? What about power saving? From what I read the CPU supports idle states C0 and C1. Does it enter these states?