Repurposing a Lanner FW-8758 as a Linux server

My employer recently divested themselves of some end-of-life hardware and several of my coworkers and I came into the possession of Lanner FW-8758 1U “network appliances”. These seemed like they’d make pretty good Linux servers, and I figured I’d document a little bit about the platform and process.

My other home servers are currently a Supermicro 5017C-MF and an IBM x3650 M2, which are both quite noisy. The FW-8758 has four small system fans plus a PSU fan, which together still seem somewhat quieter than the Supermicro. I haven’t put the system under any serious load yet though.

Hardware specs

The Lanner box can be configured with a variety of options. The one I received has a Core i7-3770 CPU, 8GB of DDR3 1333MHz RAM, and a single power supply. The x8 PCI-E expansion slot is not populated, and requires a card in a “Golden Finger” form factor. In the real world, this slot might be occupied with an expander that provides more copper or fibre network ports on the front of the unit.

Since there are only two memory slots on this board, I will have to debate whether it’s worth buying 2x8GB sticks to max out the 16GB capacity in the future. The unit also came with the optional VGA header and port, which was very useful in getting the OS up and running.

For local storage, I installed a 2.5″ Crucial MX100 256GB solid state drive that I had available from a decommissioned laptop. The unit could accommodate a second 2.5″ drive – there is physical room in the bracket, the motherboard has another SATA port and the 220W PSU also has a second SATA power connector that can be routed to the correct side of the case.

OS installation over serial

I attempted to install Ubuntu 18.04 using the server ISO written to a USB stick, making attempts with Rufus and Unetbootin. Rufus seemed better at generating a functional UEFI-compatible stick.

Since not all 8758’s have the VGA port hardware, my first set of attempts was trying to get the installation kicked off with an RJ45-to-serial cable, followed by a serial-to-USB adapter. Once I got PuTTY connected to the correct COM port at 115200 speed, the BIOS came up no problem, but the default Ubuntu install options didn’t display anything.

For serial output, there are isolinux/syslinux/grub directives that need to be added to the appropriate config files. ynkjm at GitHub has instructions for 16.04 and Unetbootin at https://github.com/ynkjm/ubuntu-serial-install that I managed to adapt and get to the text-mode installer. (Also see: http://www.sundby.com/index.php/install-ubuntu-16-04-with-usb-stick-and-serial-console/)

I was thwarted later on in the installation process by what I think is Ubuntu bug 1820604, where after the partitioning phase the installer dies with a OSError: Unable to find helpers or 'curtin' exe to add to path error. Dropping back to the shell, I couldn’t log in with ubuntu, root or Live System User – although I didn’t try liveuser which apparently can be added by USB stick generator tools.

A workaround might be to have a completely blank disk with no partitions, but at this point I resigned myself to dragging out a VGA cable to complete the install. Another approach might have been to install Ubuntu to the target SSD from another machine, and then simply move the SSD back into the FW-8758 chassis. Or, maybe, by the time you read this, the installation images will be fixed.

Of note, I selected to install with the HWE kernel, and made sure to select the OpenSSH server during the installation process. There are also quite a few pending updates, some of which are kernel vulnerabilities, so an apt update / apt upgrade / reboot cycle was the first thing I ran.

Software installation

The FW-8758 (without expansion card) has six Intel Ethernet ports on the motherboard; in 18.04 the leftmost one appears as enp2s0 and then they are mapped up to enp7s0 .

I debated a bit whether I wanted to Chef-ify or Ansible-ize the configuration for this host, but figured that most of it would be run through Docker anyway, so not much gain there.

I installed Docker CE using the official instructions, then added and ran a Plex Media Server image with my own scripts. Besides these, I also installed unzip.

For my CIFS mounts, I did the following:

  • sudo apt install cifs-tools
  • edited /etc/fstab to add servers with the following parameters. _netdev is supposed to avoid mounting before network is live and x-systemd.automount is supposed to make things play a bit better with systemd.
# Drobo 5N/5N2 with 'guest' access turned on
//192.168.1.4/Data      /mnt/drobo5n    cifs    rw,guest,uid=1000,file_mode=0777,dir_mode=0777,_netdev,x-systemd.automount 0       0

# Direct-attached disk shared from a Server 2019 system with SMB3
//192.168.1.3/Seagate8TB /mnt/seagate8tb     cifs    rw,vers=3.0,uid=1000,forceuid,file_mode=0777,dir_mode=0777,_netdev,x-systemd.automount,user=nas,pass=supersecret 0     0

You could probably also use a credentials=/path/to/secretfile parameter instead of the user and pass parameters, but the nas login in my setup isn’t super sensitive.

Rack mounting/ears

There is an available rack/rail set for this appliance, but it’s a separate line item to order and I don’t have a full-depth cabinet in the basement (…yet.) Instead, I have a 4U vertical wallmount rack that currently contains the aforementioned 5017C-MF server, a Cisco SG500 52-port PoE switch (surplus gear), an Ubiquiti EdgeSwitch 24 and a 12-port Monoprice patch panel. Because the server isn’t too weighty, I was hoping to get away with just “ears”.

The left and right sides of the FW-8758 do have a rectangular pattern set of screws/screwholes that are 13mm wide (horizontal) by 10mm high (vertical), plus a fifth screw hole closer to the front of the unit. I haven’t found a “universal” set of rack ears that fits this pattern, and the spares I had from a Netgear switch are not compatible.

I’ll update this post if I do find something that works. Warren suggested he may look into 3D-printing a bracket that matches the pattern, but for now the machine is perched on a resin rack.

Cruise review: NCL Sky to Florida and Bahamas, February 2019

Two cruises in less than sixty days? Not entirely unusual for us, but this experience on the Norwegian Sky was a departure from usual in numerous, positive ways.

After being subjected to constant tales of delightful experiences aboard a NCL ship, our good friends Jon and Steph expressed interest in taking a break from winter weather. (I highly suggest you also read Steph’s first-timer review over on CruiseCritic, as well as peruse her copious collection of dailies and dining menus.)

We eventually settled on a 5-day February 2019 voyage that met both timing and budget requirements, and surrounded it by two days in Miami – one day before and one after the cruise.

Sky also offered a unique opportunity to compare our recent experiences with the newfangled, race-track-equipped Bliss. The Sky is one of Norwegian’s oldest ships in service – possibly the oldest depending on how you calculate Spirit’s age. Fortunately for us, our sailing was the second to happen after a dry dock from January 22 to February 7, which meant that a good portion of the ship would be newly refurbished and ready for us to enjoy.

The age and smaller size of the ship did not diminish our enjoyment, and we had a number of “Vacation Hero” experiences where staff and crew went above and beyond to make things stress-free and provide excellent service. It’s a tough decision as to whether this takes the title for “best cruise” for me, since other NCL cruises we’ve taken have their unique high points. If you’re debating Sky, though, assume that any review prior to February 2019 is prior to refurbishment, and give this ship a fair chance. My only regret is that we didn’t have a longer cruise.

Continue reading

Windows 7 – missing desktop icons hotfix

Apparently Microsoft has pulled down the necessary hotfix to disable automatic scheduled maintenance shortcut deletion (eg: if you have multiple unused or “broken” desktop shortcuts) from KB2642357. This has affected me in an environment where a number of users link to applications, folders or files on network drives.

I republish the x64 version of the hotfix so you can use it where necessary, then set the “IsUnusedDesktopIconsTSEnabled” and “IsBrokenShortcutsTSEnabled ” DWORDs to 0x0 in the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ScheduledDiagnostics Registry key and avoid this spurious behaviour that I’d once written off as user error.

Windows6.1-KB2642357-x64.msu (enclosed in ZIP file)

Cruise review: NCL Bliss to Eastern Caribbean, December 2018

As summer started disappearing in Southwestern Ontario, Kayla and I began to pine for another week on the ocean featuring better temperatures. With some finagling of work schedules and liberal use of credit card travel points, we secured an inside cabin on the new Norwegian Bliss for the week before Christmas.

This was our fifth NCL cruise, and the combination of ship and staff made it arguably the best sailing we’ve been on. We’ve gotten into a good position with pre-trip planning and now have a decent handle on Norwegian’s processes and amenities. Bliss is a decent refinement of the Breakaway class, so it was fairly easy to navigate having been on similar ships.

Continue reading

Cruise review: Celebrity Infinity to Alaska, August 2018

After finally publishing the 11,000-word epic that was the NCL Getaway review, I found there was far too much content for friends, well-wishers and Reddit stalkers to tolerate, even when split into seven parts. Perhaps I should have called it – BuzzFeed clickbait style – “7 Weird Things You Must Know About Cruising Or You’ll Fall Off The Ship!” Of course, then I’d have to pad the content with ads and create a quiz to find out which ship best represents you.

This review of our cruise on Celebrity Infinity to Alaska is about half the size, and will involve a number of comparisons between Norwegian Cruise Line and Celebrity Cruises (since those are the two lines we’ve sailed on so far.) I’m definitely glad we did the cruise with Celebrity, even at the least so I have a better idea of a premium RCCL product, as well as an understanding of what older, slightly smaller “hardware” has to offer.

I would likely sail Celebrity again if the right opportunity presented itself, but with a few changes based on this experience. My wife Kayla was a bit more negative on Infinity, mainly due to the constant upsell of specialty dining. 

Continue reading

Cruise review: NCL Getaway – February 18, 2018 [Part 7 – At Sea and Return to Miami]

This post is part 7 in a series of 7 about our vacation on the NCL Getaway, from February 18-25, 2018. You can read the other parts here:

Day 7: From buffet to steak

Our last full day was at sea, involving a trip to the buffet for both breakfast and lunch. Again, there was nothing exceptional to point out at either meal, but both of us didn’t have any complaints about the food. We always seem to find quite a few things we like and the buffet has no shortage of options. It seemed like the bar stock at the Garden Cafe had deteriorated by lunchtime as there was a much more limited selection of beer available. Other bars didn’t seem to have the same issue throughout the day but it was a noticeable change upstairs, possibly indicating the impending end of the trip.

In the early afternoon we did a circuit of the Waterfront on deck 8, finding the Sugarcane Mojito Bar to be too windy, and the Sunset Bar to be less of a sunset and more of an oven-like heat and light experience. Kayla went to try and find a seat with a happy medium between the two extremes, while I milled around the Sunset Bar. Another indicator that the cruise was wrapping up was that the bartenders were actively soliciting people to fill out comment cards.

Continue reading

Cruise review: NCL Getaway – February 18, 2018 [Part 6 – Cozumel]

This post is part 6 in a series of 7 about our vacation on the NCL Getaway, from February 18-25, 2018. You can read the other parts here:

Day 6: Fishin’ in Cozumel

One of our more in-depth excursions this trip was to take a fishing charter while in Cozumel. We’d done some research and settled on Cozumel Charters, selecting a 4-hour bottom fishing tour on an economy-class boat good for up to 4 people. We picked the bottom fishing option over deep-sea fishing, again mainly due to online reviews claiming that there was a higher likelihood of catching something. I am pleased to report that the collective knowledge of the Internet did not disappoint and we had a great time.

After submitting our details and 30% deposit by credit card, we got a confirmation email shortly afterward, containing a list of detailed instructions including where to meet the charter, what to bring, keeping the fish (they’re yours) and where to get them cooked if you’d like to eat your catch. There was also a handy PDF acting as confirmation and an invoice. The rest of the payment is made in USD at the port when you get picked up.

Our instructions were to take a taxi to Puerto Abrigo after disembarking the ship. There’s a bit of up the stairs, dodging the shops, and down the stairs to get to the taxi pickup at the port, but the first person who asked if us if we needed a cab was in fact a legitimate port representative. The 10-minute ride there cost $10 US plus tip; there is a whole conversion racket and they don’t take credit cards, so you might do better with pesos if you already have them. As of May 2018, apparently the standard rate was $15 US so I don’t feel like we did too badly.

Continue reading

Cruise review: NCL Getaway – February 18, 2018 [Part 5 – Harvest Caye and Roatan]

This post is part 5 in a series of 7 about our vacation on the NCL Getaway, from February 18-25, 2018. You can read the other parts here:

Day 4: Harvest Caye (vs. Great Stirrup Cay)

Awoken to the rattling of the VOIP/PoE phone across the desk, and combined with the time change of minus one hour, Kayla and I were able to rouse ourselves in enough time for a full service breakfast at Savor. She selected the Eggs Benedict, and I chose the eggs to order (over easy) with a side of link sausage. It was a fairly standard breakfast offering, but nothing to complain about.

Continue reading

Cruise review: NCL Getaway – February 18, 2018 [Part 4 – Costa Maya]

This post is part 4 in a series of 7 about our vacation on the NCL Getaway, from February 18-25, 2018. You can read the other parts here:

Day 3: A lovely pile of rocks in Costa Maya

The title of this section comes from a TripAdvisor review (filter by 3 star/Average) in which the reviewer is unimpressed with the Chacchoben Mayan ruins, declaring them “a pile of rocks”. I mean, points for calling it like you see it, but they’re historic rocks – what exactly were you expecting?

The docking process this morning seemed unreasonably lengthy and loud, but I’m only an amateur and any loud noises in the morning have been a subject of contention since a very early age.

Before disembarking, we went to the buffet and acquired some food. I’m not typically a breakfast person, but made a good attempt as it wasn’t clear when lunch would be offered on our tour. One noticeable omission from the morning buffet was bananas, which I’d figured would be a standard and highly available breakfast item, but none were to be seen. Of course, I didn’t actually ask anybody, so this could just be chalked up to early-morning grogginess.

Keep in mind that in general, you can’t take food off the ship into the ports lest ye incur the wrath of vessel security and foreign customs officers, so that “apple to go” better be down to the core and ready to be pitched by the time you’re on the lower decks.

Continue reading

Cruise review: NCL Getaway – February 18, 2018 [Part 3 – At Sea]

This post is part 3 in a series of 7 about our vacation on the NCL Getaway, from February 18-25, 2018. You can read the other parts here:

Day 2 at sea: Rock the boat

The downside of being at the extreme front end of the ship was apparent in the early hours of Monday, when we were jolted awake overnight several times with cabinets rattling and above-average movement of the ship. Both of us woke up at 5am and tried to get back to sleep, then later awoke at 9am to different kinds of noises: a high-pitched, whistling, wind sound from the front door, accompanied by low-pitched, repetitive bass from the cabin next to us.

It turns out that when your cabin is directly at the end of a long hall, the design of the passageway causes an effect not dissimilar to that of a wind tunnel. Kayla, who has less tolerance for soothing ocean sounds than I do, gave the cabin door a mighty hipcheck to silence the noise.

Unfortunately, this action only remedied half of the problem – I was still very conscious of the bass line emanating from the next cabin over. Eventually I was irritated enough to get up and on with my day, while my wife was able to ignore the low frequency and fall back asleep. Upon exiting the cabin, the stateroom beside us had its door slightly ajar, leaking the cacophony of noise into the hall as well.

I’m really not sure what to do in these circumstances – it didn’t feel worth a complaint, and I think the price difference between the rooms (Haven vs. oceanview) might make the staff more reluctant to enforce any sort of noise bylaw. In any event, I don’t recall similar morning music happening for the rest of the cruise, so the problem didn’t come up again.

I ambled up to the buffet and encumbered my plate with pork, waffles and potato products. Very shortly after I sat down, a server came over and offered coffee right at the table, which was a nice perk.

Continue reading