Dell (Quanta) C2100 BIOS and BMC

I recently found my C2100 dead in the water after a failed BIOS and BMC flash from months ago manifested when I left the machine unplugged. The only way to resurrect the machine was to pull the working BIOS and BMC from an identical machine and flash it to the machine using these instructions:

Move jumper j24 (“clear cmos”) to the 2-3 position to clear the cmos. Plug power in and wait 5 seconds. Unplug the power. Put j24 back to the original position. Move jumper J1E1 (directly to the left of j24) to the 2-3 position. (if you look between the jumper and the sata connections, you will see that it says “cmos recovery”).

Copy the ORIGINAL rom file you wish to restore on to a usb flash drive, and rename it on the flash drive to “amiboot.rom”. (flashdrive does not need to be bootable) Plug the power in and wait several minutes. System should start after several minutes and load a builtin program to re-flash back to the original bios.

The BIOS and BMC files I have uploaded here:



If you’re going to flash these from DOS (FreeDOS from Rufus works great), rename the files to BMC.BIN and BIOS.ROM because FreeDOS does ***not*** like long file names. Found that out the hard way.

Adding TCP Connected (Greenwave Reality) support to Home Assistant

I recently did a job for someone, and as part of my payment, they gave me an old Internet of Things lighting system. It’s made by TCP Connected, leased from Greenwave Reality. TCP disabled the cloud functionality and local web access, which left many people in the dark.

The tinkerers out there just couldn’t let their bulbs sit and just be regular bulbs, they wanted their remote control back. So people built things like the TCP Connected Web Interface. It worked, but it was quite basic. And it was standalone, I couldn’t integrate it with anything. So i set out to get these bulbs working better than new.

I found the Home Assistant project, which was a fully developed Home Automation ecosystem, allowing you to control smart devices from many different brands, all in one place. And its written in Python! I chose Home Assistant to be the host for my new lighting system.

I looked through the source for the TCP Connected Web Interface to extract the commands to turn the bulbs on and off, and to set brightness. I then used these to build a basic component for Home Assistant.

The bigger issue was the newer firmwares, beginning with 3.0, used HTTPS, self signed certs, and required you to fetch a token before being able to issue commands. I again used bren1818’s code to figure out how to fetch a token.

The most recent edition of the code works with both firmware versions 2 and 3, and gives you all the functionality from the app (except for naming bulbs). In the future, I’ll add autodiscovery of the gateway, discovery of new bulbs without the need to restart Home Assistant, and probably more that I’ll think of later.

I submitted the code to become a part of Home Assistant itself, you can watch how that goes here. If you’d like to use the code before then, you can find it here. And if you’d like to build your own python application that interfaces with the bulbs, you can use my GreenwaveReality python module, found here,  and can be installed with pip install greenwavereality.

Let me know if you have any ideas or improvements for the code, or if you;re going to use it!

Wiring Diagram? Never heard of ’em!

Hello all, I’m back again!

I’ve gotten questions about how my network is wired, and what I run on my servers. Well, ask no more!

Here is a wiring diagram of my (wired) network. Nothing too complicated, but the 10gb is definitely my favorite part. Dat 1GB/s transfer speed. I’m hoping to get a US-16-XG switch for my 10Gb network, so I can add 10Gb to my workstation.

Here’s a diagram of all the VMs I run. I still have a lot of room for growth, as I’m not maxing anything out yet (not even memory). A detailed explanation of what each VM does:


  • 2012R2-Exchange – My primary email server. All my mail comes in and out of here, for my primary domain A big use of this is separate email accounts for each of my services that require notifications, like FreeNAS. My biggest reason for self-hosting my email is I can catch all mail to my domain. Also, I have the resources, might as well. Outbound mail goes through Amazon SES, to avoid deliverability issues stemming from being on a residential IP.
  • 2012-SW-1/5 – VMs for the Google Screenwise project. Can’t say much here.
  • 2016-AD2 – Secondary Domain Controller. Only thing it does, separation of services is key.
  • 2016-RDP – My main Remote Desktop machine. I use it as a jump box when I’m outside the network, but also as a general workstation when I’m out of the house and using somebody else’s computer.
  • ELK-STACK – ELK logging stack, takes logs from various services, and allows me to search through them. I haven’t completely set this up yet, I probably will soon.
  • FCSPBX – PBX for my business phone. Uses a DID from Anveo, as well as their call termination services. I’ve had no issues with them thus far, great inbound and outbound rates, and quality customer service.
  • HaloCE – A Halo Combat Evolved server for me and my classmates. Stays off most of the time, as the school blocked it from being executed on machines. :/
  • IRC – IRC server. Stays mostly idle, haven’t used it in a while.
  • MineOS – Minecraft Server system, running the MineOS Server software. My brother and his friends are the primary users, but me and my friends occasionally find ourselves playing some modded servers.
  • Sandstorm – Only used as a Wiki for the lab. I’ll probably add more stuff as the need arises. It has its own domain so I can provision whatever services I want.
  • TESTPBX – A clone of FCSPBX that I use as a test server for changes. Never test in production!


  • 2012R2-AD1 – Primary domain controller. Nothing special
  • DASH-MQTT – Running MQTT-Dasher, it sends a message to Home Assistant when any of the various Dash Buttons around the house are pressed.
  • DISCORDBOTS – Music and Text bots for discord servers. I have separate instances of bots for different servers, just for the music component.
  • EFA – My spam filter, running the Email Filter Appliance. Gives me a nice place to see all incoming mail and their spam levels, and I can manually approve messages marked as spam. The system also learns about your email as you go, to provide a better experience. All mail comes in here, then to 2012R2-EXCHANGE.
  • HomeAssistant – My main Home Assistant site. Controls lights around the house, since the manufacturer of the bulbs I received as a gift discontinued the cloud control portion of the product. I was able to successfully downgrade the gateway to an older firmware version, and use that to write a custom component for Home Assistant. A blog post on how to do that is coming soon, probably next week.
  • NGINX-WEB – My secondary Web Server and Reverse Proxy. The main is an instance of Caddy Web Server, which handles automatic SSL certificate deployment through Lets Encrypt. Nginx servers this site among others, and passes traffic to other VMs as needed (FreeNAS, Exchange, etc).
  • pfSense – My main Edge Router and Perimeter Firewall. Soon to be transitioned to a physical box (most likely a SFF Dell with an i5-2400). It routes between all the VLANs and out to the internet. No traffic filtering, DPI, or captive portal. Yet!
  • PROD-GITLAB – A GitLab server for a software project me and a friend of mine are starting. Nothing big yet, I may post about it in the future.
  • UBUNTU-MEDIA: Plex and Media Acquisition apps for the whole house and some family/friends. Based heavily on guides from HTPC Beginner. Dont want to get in trouble by listing the apps I run, I’m sure my ISP wouldn’t like to know.
  • UNIFI – The UniFi Controller for my switches and Access Points. I know it isn’t necessary to run it all the time, but its nice to be able to visualize all the data so it stays up.
  • Veeam – This is running the Veeam Backup and Replication suite. I use it to back up all the VMs, which are put on a different dataset on the NAS/SAN.

HOMENAS is a key piece of this puzzle, as it holds all the VM data, along with backups of all the machines in the house, photo uploads from our mobile devices, and anything else. This gets replicated to another identical system in a different part of the state, pinning my 50/50 connection’s upload almost all the time. Fun stuff.


Well, that’s my lab! If you have any questions, feel free to leave a comment here, or on reddit, if you have any questions. I’d be happy to answer them!

Until next week,

David Fiel

Pictures After Homelab Unifi-cation

Hello Again!

I somehow forgot to include pictures of after the upgrade to the new gear! Here are pictures of (almost) everything:

Here’s the UAP-AC-PRO, sitting on the wall behind a side table.

Here’s the desk switch and UAP-AC-M on my father’s desk.

Here’s my US-8 and my ITX workstation. A little dusty. I’ll have full specs in my lab writeup post (coming soon!).

Here are the US-48 and the US-24-250W. Lots of open ports for expansion.

A side view of the switch stack.


Not pictured is the 2nd UAP-AC-M, as its just sitting on the floor on the 2nd floor until I get around to setting it up.

UniFi-ing My Homelab

2 weeks ago, I decided to reorganize my homelab. It went from this unmanaged mess to this slightly more managed mess. And I was really happy with it. I posted it to reddit for feedback (and karma), and all was well in the universe.

Until the PM came in.

A Ubiquiti engineer, impressed with the lab I have at my age (I’m 16!), asked me why I was running an original UAP. Well, I never really had a reason to upgrade. Everything important is wired, WiFi was only for phones. But when he offered me some gear, of course I said yes. If you’re reading this, thanks Bjorn! A couple days later, I received this in the mail:

A US-48, a US-24-250W, 2 US-8, 1 UAP-AC-PRO, and 2 UAP-AC-M. More networking gear than I thought I’d ever own. (A US-48 was going to be on my Christmas wishlist, now I don’t know what to ask for!)

My first order of business was to shut down all my VMs except for pfSense. Everyone else had left for the day, so I didn’t have to hear the all too familiar cries of “Why is the Internet down”. I installed the 2 switches in my “rack”, taking out the old 3com and Monoprice switches. I saved my existing pfSense configuration, and then reset to factory defaults.  I set the default network as the management network MGMT (, and created the following VLANs:

  • 5 – LAN – – Wired end-user machines
  • 10 – LAB – – Servers and VMs
  • 20 – MAINWIFI – – Main WiFi Network
  • 21 – GUESTWIFI – – Guest WiFi Network
  • 22 – IOT – – IOT Wired and Wireless Network
  • 30 – Was supposed to be MGMT but I decided to make it the default network
  • 40 – SCREENWISE – – Wired network for Google Screenwise
  • 50 – DFIEL – – Network for my Testing Environment

The 2 US-8 switches went to me and my father’s desks, powered by PoE. One of the UAP-AC-M is connected to my father’s switch, powered by PoE passthrough. The UAP-AC-PRO replaced the UAP upstairs, and the other UAP-AC-M went on the 2nd floor. It’ll eventually get installed permanently in the attic, but I haven’t gotten it working yet.


I took this time to install the new UniFi Controller (5.6.22 at the time of this writing), and I absolutely loved it. The new design is much better than previous versions (I was running quite an old build, probably from when I installed the original UAP). My only ‘complaint’ is that it can’t pull even basic stats from pfSense. I’d like to be able to monitor latency and throughput all from one console, but I understand that pfSense isn’t a Ubiquiti product so it’s kind of a stretch.

Here’s what my LAN switch looks like. Lots of room for improvement. I’ve got a 4x 1GB LAG between the 2 switches, since I’m using the LAN switch for anything LAN as well as all PoE Devices. IOT1 is my lighting controller. AP1 is the UAP-AC-PRO.

And here’s the LAB switch. Ports labeled HYPER are for my 2 HyperV Hosts. OOBM is iLO and iDRAC for the HyperV hosts and my NAS/SAN. SCREEN1 is the uplink port to the screenwise router.

Here are the 2 US-8s. CLOSET is the uplink back to the server closet. DFIEL-MINI is my desktop, but its currently on port 7 for some testing. Port 6 on my switch is my brother’s computer on the LAN net. IOT1 is a 2nd lighting controller that I’m working on cracking open (look for this in a future blog post). MIGUEL-PC is my dad’s work computer, and the Airrave is a femtocell. AP is connected to one of the UAP-AC-M.


All in all, this unexpected network upgrade was much needed. Now maxing out the Internet connection doesn’t take down the HyperV connections to the NAS (which I still didn’t understand, as that was over 10gb DACs, but none the less its no longer an issue). The next thing to upgrade will be a physical router, probably a Dell SFF with an i5-2400, as that’s what I put at my father’s office (where I do all IT) and it handles the 200/200 connection beautifully.


Thank you for reading, and I’m hoping to be posting more in the future!

David Fiel


DISCLAIMER: I am not obligated by Ubiquiti to create this review. All opinions expressed in this post are of my own, and do not reflect those of Ubiquiti or anyone else. The equipment was free to me but this review was not sponsored  in any other way.