Skip to main content

Posts

Extreme makeover: Sparcstation IPC edition

The Sparcstation IPC that I owned since around 1995 died. It sat in a cupboard for 15 years, so it may have been dead for a long time already. Upon trying to power it on, it did absolutely nothing. I knew about early mini-ITX mods using the IPC/IPX case, like this one from 2002:  https://www.mini-itx.com/projects/sparc/ , but nostalgia of being able to boot Linux/Sparc on this IPC kept me from doing my own mod. With the original hardware dead (probably just the PSU actually), this changed everything. A bit of research showed other Sparcstation mini-ITX mods, some with larger sparc4/5/10/20 cases (e.g.  http://www.squit.co.uk/computers/edenstation5.html ), and one very interesting mod of an IPC:  http://www.moria.de/~michael/comp/ipc/ . Michael used an industrial Commell LV-671 motherboard. Commell went through more than 30 variants of that board in the meantime, and has just released an updated Tiger Lake version: the LV-6712 carrying the Intel i7-1185G7E...

Programming Micro:bit remotely

The Micro:bit track of our local Coderdojo went virtual during a COVID-19 peak. This created a challenge: not all kids have Micro:bits at home, and the makecode Micro:bit simulator doesn't simulate all extensions and functions. We provided an e-mail gateway to remotely program Micro:bits, with a live webcam view of the running programs. Our solution runs on a Linux machine, which could be a regular PC or even a Raspberry Pi. Please make sure your Linux box can power the Micro:bits and the extensions you connect, or otherwise use a powered USB hub to connect them. Create a mailbox  We created a dedicated mailbox that is accessible via IMAP or POP3. In our case, we used a local mailserver, but an account at an external e-mail provider could be used as well.  Install fetchmail and procmail  Fetchmail can poll an IMAP or POP3 mailbox and save the fetched mails locally. Local delivery is done via procmail. Our fetchmail config is #### .fetchmailrc   set daemon...

Which vSphere version is my VM running on?

Several years ago, I created a list of ESXi versions with matching VM BIOS identifiers. The list is now complete up to vSphere 7. Your Linux runs on a VMware VM, but on which ESXi version? Even without access to the host nor vCenter, you can see for yourself: run "dmidecode" and look at lines 10, 11 and 12. The BIOS release date, the address and the runtime size are unique for each ESXi version. Starting from 7.0 U3, no address and size is reported, and the "Phoenix Technologies LTD" name changed to "VMware, Inc.". Look up your result in the following table: ESXi version   BIOS release date   Address   Size ESX 2.5 04/21/2004 0xE8480 97152 bytes ESX 3.0 04/17/2006 0xE7C70 99216 bytes ESX 3.5 01/30/2008 0xE7910 100080 bytes ESX 4 08/15/2008 0xEA6C0 88384 bytes ESX 4U1 09/22/2009 0xEA550 88752 bytes ESX 4.1 10/13/2009 0xEA2E0 89376 bytes ESXi 5 01/07/2011 0xE72C0 101696 bytes ESXi 5.1 06/22/2012 0xEA0C0 89920 bytes ESXi 5.5 07...

Reset lost root password on vSphere ESXi 6.7

VMware's solution to a lost or forgotten root password for ESXi is simple: go to  https://kb.vmware.com/s/article/1317898?lang=en_US  and you'll find that "Reinstalling the ESXi host is the only supported way to reset a password on ESXi". If your host is still connected to vCenter, you may be able to use Host Profiles to reset the root password, or alternatively you can join ESXi in Active Directory via vCenter, and log in with a user in the "ESX Admins" AD group. If your host is no longer connected to vCenter, those options are closed. Can you avoid reinstallation? Fortunately, you can. You will need to reset and reboot your ESXi though. If you're ready for an unsupported deep dive into the bowels of ESXi, follow these steps: Create a bootable Linux USB-drive (or something else you can boot your server with). I used a CentOS 7 installation USB-drive that I could use to boot into rescue mode. Reset your ESXi and boot from the Linux medium. Ident...

Lego Boost candy sorter

Our project for the 2018 Coderdojo Belgium Coolest Projects exhibition was a candy sorter, built in Lego and driven by Lego Boost. I took pictures and wrote building instructions while disassembling the robot afterwards, so you can now easily build a Skittle sorter in Lego yourself! http://bert.debruijn.be/Lego_Boost_candy_sorter_building_instructions.pdf

Updating VCSA on a private network

Updating the VCSA is easy when it has internet access or if you can mount the update iso. On a private network, VMware assumes you have a webserver that can serve up the updaterepo files. In this article, we'll look at how to proceed when VCSA is on a private network where internet access is blocked, and there's no webserver available. The VCSA and PSC contain their own webserver that can be used for an HTTP based update. This procedure was tested on PSC/VCSA 6.0. Follow these steps: First, download the update repo zip (e.g. for 6.0 U3A, the filename is VMware-vCenter-Server-Appliance-6.0.0.30100-5202501-updaterepo.zip )  Transfer the updaterepo zip to a PSC or VCSA that will be used as the server. You can use Putty's pscp.exe on Windows or scp on Mac/Linux, but you'd have to run "chsh -s /bin/bash root" in the CLI shell before using pscp.exe/scp if your PSC/VCSA is set up with the appliancesh.  chsh -s /bin/bash root "c:\program files (x86)\put...

which vSphere version is my VM running on?

I did not yet update my older post when vSphere 6.7 was released. The list now complete up to vSphere 6.7. Your Linux runs on a VMware VM, but which on which ESXi version? You can see for yourself: run "dmidecode" and look at lines 10, 11 and 12. ESX 2.5 - BIOS Release Date: 04/21/2004 - Address 0xE8480 - Size 97152 bytes ESX 3.0 - BIOS Release Date: 04/17/2006 - Address 0xE7C70 - Size 99216 bytes ESX 3.5 - BIOS Release Date: 01/30/2008 - Address 0xE7910 - Size 100080 bytes ESX 4 - BIOS Release Date: 08/15/2008 - Address 0xEA6C0 - Size 88384 bytes ESX 4U1 - BIOS Release Date: 09/22/2009 - Address 0xEA550 - Size 88752 bytes ESX 4.1 - BIOS Release Date: 10/13/2009 - Address 0xEA2E0 - Size 89376 bytes ESXi 5 - BIOS Release Date: 01/07/2011 - Address 0xE72C0 - Size 101696 bytes ESXi 5.1 - BIOS Release Date: 06/22/2012 - Address: 0xEA0C0 - Size: 89920 bytes ESXi 5.5 - BIOS Release Date: 07/30/2013 - Address: 0xEA050 - Size: 90032 bytes ESXi 6 - BIOS Release Dat...

How VMware appliances update themselves

Most VMware appliances (vCenter Appliance, VMware Support Appliance, vRealize Orchestrator) have the so called VAMI: the VMware Appliance Management Interface, generally served via https on port 5480. VAMI offers a variety of functions, including "check updates" and "install updates". Some appliances offer to check/install updates from a connected CD iso, but the default is always to check online. How does that work? VMware uses a dedicated website to serve the updates: vapp-updates.vmware.com. Each appliance is configured with a repository URL: https://vapp-updates.vmware.com/vai-catalog/valm/vmw/PRODUCT-ID/VERSION-ID . The PRODUCT-ID is a hexadecimal code specific for the product. vRealize Orchestrator uses 00642c69-abe2-4b0c-a9e3-77a6e54bffd9, VMware Support Appliance uses 92f44311-2508-49c0-b41d-e5383282b153, vCenter Server Appliance uses 647ee3fc-e6c6-4b06-9dc2-f295d12d135c. The VERSION-ID contains the current appliance version and appends ".latest":...

VPN gateway setup for Android 5, iOS 9, and Mac OS X 10.10

I recently configured an IKEv1 L2TP/IPSec VPN for a customer. They needed support for a mix of Android 5, iOS 9, and Mac OS X 10.10 clients. During testing and going through debug logs on the VPN gateway, I found that these devices announce support for several authentication hashes, and encryption protocols: OS authentication encryption Android 5 SHA256-128, SHA1-96, MD5-96 AES256, AES128, 3DES, DES iOS 9 SHA1-96, MD5-96 AES256, AES128, 3DES Mac OS X 10.10 SHA1-96, MD5-96 AES256, AES128, 3DES The working configurations I found were: authentication encryption SHA1 3DES SHA1 AES128 SHA1 AES256 and I settled on the last combo as AES256 is the strongest CBC from that list. PS for DH key exchange, only so-called Group 2 1024modp was in the list on all three devices, so there was no other choice available, and no further testing was done. PS2 I tried SHA256 authentication with the Android device, but no successful connection could be set up with the VPN gateway. It looks li...

A use case for exporting and importing distributed vswitches

In a recent VMware project, an existing environment of vSphere ESXi hosts had to be split off to a new instance of vCenter. These hosts were member of a distributed virtual switch, an object that saves its configuration in the vCenter database. This information would be lost after the move to the new vCenter, and the hosts would be left with "orphaned" distributed vswitch configurations. Thanks to the export/import function now available in vSphere 5.5 and 6.x, we can now move the full distributed vswitch configuration to the new vCenter: In the old vCenter, right-click the switch object, click "Export configuration" and choose the default "Distributed switch and all port groups" Add the hosts to the new vCenter In the new vCenter, right-click the datacenter object, click "Import distributed switch" in the "Distributed switch" sub-menu. Select your saved configuration file, and tick the "Preserve original distributed switch...

How to solve "user locked out due to failed logins" in vSphere vMA

In vSphere 6, if the vi-admin account get locked because of too many failed logins, and you don't have the root password of the appliance, you can reset the account(s) using these steps: reboot the vMA from GRUB, "e"dit the entry "a"ppend init=/bin/bash "b"oot # pam_tally2 --user=vi-admin --reset # passwd vi-admin # Optional. Only if you want to change the password for vi-admin. # exit reset the vMA log in with vi-admin These steps can be repeated for root or any other account that gets locked out. If you do have root or vi-admin access, "sudo pam_tally2 --user=mylockeduser --reset" would do it, no reboot required.

VCSA detailed sizing options

The vCenter Server Appliance in vSphere6 can be deployed as "tiny", "small", "medium", and "large". The deployment wizard gives info about the vCPU and vRAM consequences of this choice, and about the total disk size of the appliance. But as there's 11 (eleven!) disks attached to the VCSA appliance, it's worth looking into which disks get a different size. Tiny Small Medium Max hosts 10 100 400 Max VMs 100 1000 4000 vCPU 2 4 8 vRAM 8 16 24 Disk size 120 150 300 disk0 / and /boot 12 12 12 disk1 /tmp/mount 1,3 1,3 1,3 disk2 swap 25 25 50 disk3 /storage/core 25 50 50 disk4 /storage/log 10 10 25 disk5 /storage/db 10 10 25 disk6 /storage/dblog 5 5 10 disk7 /storage/seat 10 25 50 disk8 /storage/netdump 1 1 10 disk9 /storage/autodeploy 10 10 25 disk10 /storage/invsvc 5 10 25 N.B. I currently don't have the config data for "large". This table can help if your environment is growing slightly or wildly beyond th...

which vSphere version is my VM running on?

(an update of an older post, now complete up to vSphere 6) Your Linux runs on a VMware VM, but which on which ESXi version? You can see for yourself: run "dmidecode" and look at lines 10, 11 and 12. ESX 2.5 - BIOS Release Date: 04/21/2004 - Address 0xE8480 - Size 97152 bytes ESX 3.0 - BIOS Release Date: 04/17/2006 - Address 0xE7C70 - Size 99216 bytes ESX 3.5 - BIOS Release Date: 01/30/2008 - Address 0xE7910 - Size 100080 bytes ESX 4 - BIOS Release Date: 08/15/2008 - Address 0xEA6C0 - Size 88384 bytes ESX 4U1 - BIOS Release Date: 09/22/2009 - Address 0xEA550 - Size 88752 bytes ESX 4.1 - BIOS Release Date: 10/13/2009 - Address 0xEA2E0 - Size 89376 bytes ESXi 5 - BIOS Release Date: 01/07/2011 - Address 0xE72C0 - Size 101696 bytes ESXi 5.1 - BIOS Release Date: 06/22/2012 -  Address: 0xEA0C0 -  Size: 89920 bytes ESXi 5.5 - BIOS  Release Date: 07/30/2013 -  Address: 0xEA050 -  Size: 90032 bytes ESXi 6 - BIOS  Release Date: 09/30/2014 -  Address: 0xE9A40 -...

GEM WS2 MIDI System Exclusive structure and checksums

MIDI is the standard for communication between electronic music instruments like keyboards and synthesizers. And computers! While tinkering with an old floppy-less GEM WS2 keyboard, I wanted to figure out the structure of their System Exclusive memory dumps. SysEx is the vendor-specific (and non-standard) part of MIDI. Vendors can use it for real-time instructions (changing a sound parameter in real-time) and for non-real-time instructions (sending or loading a configuration, sample set, etc.). In the GEM WS2, there's two ways of saving the memory (voices, globals, styles and songs): in .ALL files on floppy, and via MIDI SysEx. The .ALL files are binary files, 60415 bytes long. The only recognizable parts are the ASCII encoded voice and global names. The SysEx dumps are 73691 bytes long. As always in MIDI, only command start (and end) bytes have MSB 1, and all data bytes have MSB 0. The data is spread out over 576 SysEx packets, preceded by one SysEx packet with header informat...

Identifying virtual disks in Linux on vSphere

A default virtual machine has straightforward hardware. A single SCSI disk on a single SCSI card, for example. Having multiple SCSI disks or cards in a VM creates the need for in-guest identification. Linux complicates matters slightly by using alphabetical disk naming: /dev/sda, /dev/sdb, ... /dev/sdz, /dev/sdaa, /dev/sdab, ... This post looks at how you can identify individual disks in a VMware virtual machine. Executive summary: VMware notation "X:Y" typically maps onto Linux scsi(X+2), Id:Y, which are then named in ascending order with /dev/sd* identifiers.

which vSphere version is my VM running on?

(an update of an older post, now complete up to vSphere 5.5) Your Linux runs on a VMware VM, but which on which ESXi version? You can see for yourself: run "dmidecode" and look at lines 10, 11 and 12. ESX 2.5 - BIOS Release Date: 04/21/2004 - Address 0xE8480 - Size 97152 bytes ESX 3.0 - BIOS Release Date: 04/17/2006 - Address 0xE7C70 - Size 99216 bytes ESX 3.5 - BIOS Release Date: 01/30/2008 - Address 0xE7910 - Size 100080 bytes ESX 4 - BIOS Release Date: 08/15/2008 - Address 0xEA6C0 - Size 88384 bytes ESX 4U1 - BIOS Release Date: 09/22/2009 - Address 0xEA550 - Size 88752 bytes ESX 4.1 - BIOS Release Date: 10/13/2009 - Address 0xEA2E0 - Size 89376 bytes ESXi 5 - BIOS Release Date: 01/07/2011 - Address 0xE72C0 - Size 101696 bytes ESXi 5.1 - BIOS Release Date: 06/22/2012 -  Address: 0xEA0C0 -  Size: 89920 bytes ESXi 5.5 - BIOS  Release Date: 07/30/2013 -  Address: 0xEA050 -  Size: 90032 bytes NB These DMI properties are set at boot time. Even if your VM g...

VMware Certified Associate exams half-price until 31/1/2014

Using a voucher code, anyone can do a VCA exam (datacenter virtualization, cloud, or desktop, and maybe network when it becomes available) for half the regular price. VCA is a certification that you can do from the comfort of your desk! Enroll at http://vmware.com/certification/ . To do the exam for half the normal price, use this voucher code:  VMRT4B425324. Best of luck to anyone who tries! NB This code used to reduce the exam price to 0, rendering VCA certification completely free, but starting somewhere in december 2013, the discount will be reduced to 50%.

downloading protected/embedded videos - the hard way

Charged with the task to save a news broadcast for posteriority, I wanted to download a video that was only available through an embedded "JW Player" videoplayer on a website. Time was not on my side: the video would be purged from the site within a week. In the HTML source of the webpage containing the video, I found tags like data-video-src =" http://media. XYZ nieuws.net/GEO2013/09/230916509ONL1309244843676.GeoFLVLong.flv " data-video-iphone-path =" GEO2013/09/230916509ONL1309244843676.GeoMP4_H.264.m4v or (from another video) data-video-rtmp-path =" 2009/11/132628352ONL0911177754876.urlFLVLong.flv " but I couldn't get a clear URL out of the page's source code (URLs anonymized to protect involved parties). After a bit of research (a.o. channeling browser traffic through a proxy and looking at the URLs being requested), the files used by the JW Player were still a mystery to me, but I found the server that was hosting the iphone...

SSD overprovisioning in vSphere

SSD vendors like Samsung or Intel often provide tools to reserve some space on your SSD that can be used by the internal algorithms for better wear-leveling, longevity, garbage collection, and performance. My own Samsung SSD comes with a tool to do that on Windows, for example. But on vSphere, you'll have to do that manually: I see two possibilities: don't format the SSD "full" but instead use "partial", and specify only the amount of the disk that you want to use. The rest is left unpartitioned, and therefore unallocated. You can only do this if you haven't formatted the SSD as VMFS yet. If you have, this second possibility can still help you: create a thick-provisioned lazy-zeroed VMDK on the SSD-backed VMFS, either with vmkfstools or by creating a dummy VM. Those blocks are allocated, but remain unwritten. You're not going to attach the disk to a running VM, so they won't ever be written to. This effectively reduces the amount of blocks t...

dd-wrt refusing new configuration: out of NVRAM space

Another post documenting a small issue just so I can google it later: one of the Cisco/Linksys WRT160NL devices (both running DD-WRT) in my environment stopped accepting config changes through its web interface. It happened to be the one I'm using as a NAT gateway and DHCP server, not the one just functioning as access point. A config backup appeared to be full of UPnP rules. Those are port forwarding rules that have been asked for by applications on NATed stations that want to be reachable. Think Skype amongst many others. Clearing the UPnP list solved the problem: click "NAT/QoS", then "UPnP", then "Delete all". Apparently the UPnP list filled up the available NVRAM space, which broke all subsequent config changes.