LattePanda Alpha build

    • LattePanda Alpha build

      Here I denote my experience getting OMV working on the LattePanda Alpha that I embedded into a Mediasonic 4-drive enclosure.

      Some things to note:
      • This is an advanced custom build. Don't try this unless you're aware of what "bricked" and "soldering required" means.
      • This means case modding, as a drive enclosure is not a standard chassis for a computer!
      • Attempt to replicate at your own risk!
      That said, if you're just looking for if OMV runs on a LattePanda Alpha, yes, it runs fine with only a small caveat with the Realtek Ethernet chip. The installer will fail to find it, so you'll need to back out into the main menu and try the different Realtek drivers until it actually loads and gets an IP address. I don't recall which one specifically, but suffice it to say that the driver name didn't match what the actual chip, but it's stable regardless.

      Software installation is standard besides that; I installed in UEFI mode, but Legacy works just as well. I selected a "High endurance" Micro SD card and installed it there, no issues. I also went into the BIOS and reduced the video memory selection to the minimum to gain an extra 128MB back and enabled VT-x for virtualization.

      For this project I also flashed the Auto-power-on BIOS firmware since I was embedding the LattePanda inside the chassis where access to the power button would be limited and function slightly differently to the USB Enclosure's power button. This is not necessary (and won't work) if you're powering the LattePanda over USB-C and otherwise have access to the power button separately from the storage you'll be using.

      The USB Enclosure I used is a Mediasonic HF7-SU3S3 4 Bay 3.5” SATA Hard Drive Enclosure; specifically the one that has no ventilation and uses a USB 3.0 B-style connector. It may be possible to use the USB-C style version, but I have not tested it.
      This enclosure has just enough space above the drives to place the LattePanda device and wire it in.

      To attach the LattePanda to chassis I had to drill holes in the drive holder. Note that you cannot use bolts here as every last millimeter is used to hold the drives; I ended up using plastic rivet standoffs, though you might be able to get away with thermal pads that are adhesive so long as they're non-conductive. I aligned the LattePanda along the left side with the GPIO section facing outward (so the fan exhaust was facing toward the rear of the enclosure).

      For power, you'll need the small 4-pin connector. The SATA power ports on the drives have both 5v and 12v rails, so I soldered onto that. Note that the traces are thick, so this might be somewhat difficult. BE VERY CAREFUL ABOUT POLARITY. The LattePanda does have a regulator to handle small voltage fluctuations, but it cannot handle reverse polarity and you WILL destroy your unit if wired backwards!
      If done correctly the LattePanda should power on as soon as the enclosure turns on (assuming the auto-power-on BIOS was flashed correctly) with a steady blue light. If it blinks but does not turn on, and you cannot turn on the unit by holding the power button, you might have a short on the LattePanda device.

      With power situated, all that's left is exporting the rest of the ports to the outside of the enclosure. For this I just purchased a series of panel-mount cables, drilled/cut/filed hiles for them, and Bob's your uncle. Be selective on which cables you use: space is at a premium inside the enclosure and you have very little room for extra wires. At a minimum you need the Ethernet and a USB 3.0 port, but it's nice to have the rest for future expansion.
      Right-angle connectors are your friend, but be attentive to which direction they go; if you get the wrong direction you won't be able to fit them correctly, especially for the USB 3.0 and USB-C ports.
      I was unable to source a HDMI cable with a short enough male end to not bump into the front panel, so I took apart a cheap-o "twistable" adapter.
      The panel-mount Ethernet cable I got had a plug that was too long and stiff so I had to replace it.
      NOTE: Most panel mounts seem to assume they're going to be mounted to a computer chassis made of thin metal. The enclosure walls are not thin metal, so you'll need to either mill out the mounting area so make it thin enough or otherwise modify the panel-mount side so the nuts can be placed closer to the outside edge (and thus the actual connector be made flush with the outside edge). Alternatively, you should be able to completely cut out part of the back side and replace it with a spare PCI slot cover, which is the expected thickness.

      Dry-fit everything before replacing the outer shell! The LattePanda's board is sturdy but if you have to brute-force the case closed you will break it. Remember space is at a premium and wiring is very tight. In my build, every single wall was very snug with cables inside, especially due to some of the cables necessarily overlapping.

      The last bit of wiring I did was attaching the enclosure's power button to the LattePanda unit. The power button is exposed on the GPIO sections near toward the USB 3 ports, I believe I used the one marked SW, which should be the second one in on the inside (consult documentation to be sure!). This pin is a normally-high 3.3V input and "pressing the button" is done by shorting it to ground. Since we're using the enclosure's power and ground, this means we can re-use the enclosure's power button on the front panel (BE SURE TO DOUBLE-CHECK ON YOUR OWN ENCLOSURE IF THIS IS THE CASE. It should be just under 3.3 volts when plugged in, and read as zero volts when the button is pushed). If it is not, an alternate solution must be found, possibly exporting a separate physical button. Do NOT attempt this if the power button reads any higher than approximately 3.3 volts (i.e. 5 or even 12 volts) or is negative. You WILL damage the LattePanda device.
      My particular enclosure powers off after holding the power button for four seconds, so this setup works well for signalling OMV to shutdown gracefully (configuration in the web UI required).

      Once everything is wired up correctly, you should test one final time before closing everything up. With my setup:
      • Pressing the Power button on the enclosure's front panel turns on the enclosure and LattePanda, which starts booting immediately.
      • Pressing the Power button on the enclosure while on keeps the enclosure turned on, and the LattePanda begins a graceful shutdown (if OS is programmed to react accordingly)
      • When installed with four drives, each drive shows up under /dev/sd* . If you plugged in a USB drive (as I did for backup), those will probably show up first as it takes some time for the enclosure to spin up the drives and be ready.
      Some quirks:
      • This enclosure suffers the same quirks that others of its kind do, namely that it tells the OS the drive's serial numbers are the exact same. I had to switch from FreeNAS because it assumed that meant the enclosure was a multipath device to a single drive. This also means in OMV that you cannot rely on the by-id disk selection, as they all have the same ID and thus only one is listed (usually the first), so you'll use the fallback sda sdb ec. This is important to note because the order of drives enumerated may change depending on whether you have 1, 2, 3, or 4 drives present, and OMV will be utterly unable to tell which drive is which if you happen to switch them around one day! This is the fault of the enclosure and not OMV, and cannot be corrected, unfortunately, without the manufacturer actually doing things correctly in the USB interface's firmware.
      • The enclosure supports turning off when the connected computer turns off (by way of detecting when USB is no longer being supplied power/connection). However, this feature apparently does not work in the LattePanda (unfortunately), so even if the system shuts down the enclosure will not power off. This might possibly be fixable in a future BIOS (I'm engaging LattePanda about that), but it means you won't really be able to tell if the LattePanda is on or off unless you export the power LED to see what it's doing.
      • The enclosure has only ONE egress for airflow, and no ingress! This pants-on-head design causes the unit to overheat very quickly. I solved this by cutting out a nice hole in the front panel door and mounting mesh over it so the fan actually does something.
      Pictures to follow when I wake up. Hope this project is intriguing to someone. :thumbsup:
    • imgur.com/gallery/Pzv5IZ8

      Routing cables is very tight. I used right-angle connectors where necessary. Would recommend going as direct as possible, here I used two right-angle connectors and had some connectivity issues. The USB-C is particularly finicky

      Wifi antenna connections and hacked HDMI cable. A very tight fit!


      Picture of the mostly-completed back panel.





      Problem! The Ethernet connector was too long. I had to cut it off and replace it with a shorter plug.