How to Virtualise your Fuji SP3000 with VMWare ESXi
Guide to Virtualising a Fuji Frontier SP3000 Scanner with VMWare ESXi
Hello and welcome to the guide. This is a high level guide designed to show you the pathway for being able to virtualise your Fuji Frontier SP3000! This has been a project that has spanned over a couple of years, with a heavy focus (and a gazillion hours) poured into it since the start of 2020.
For years I was worried that the ageing hardware in both the DI and PIC machines as part of the SP3000 would go up and die on me. The solution of ‘Snapshotting’ or ‘Cloning’ the drives and placing them on newer (yet still old) hardware was never a true solution in my eyes. I absolutely loathe FireWire and the need to cater to it with the SP3000. This was always the achilles heel in being able to virtualise these old machines and the joy of working with legacy hardware/software (not).
Thankfully with the advancement of VM tech (especially free VM tech) we are now able to ‘pass through’ PCI-E devices now in the virtual environment. This means that virtualising FireWire is now possible. As far as I am aware this is the first SP3000 to be completely virtualised with VMWare ESXi which is exciting!
Mission Goal
My goal was to be able to virtualise both machines (the PIC and DI) on the SP3000 with consumer hardware that was readily available around the world. I did a lot of research into SFF (Small Form Factor) computers that are offered by some of the bigger manufacturers (Lenovo/HP/Dell) and their availability on the second hand market. In the end I chose a HP Elitedesk as the platform I was originally successful with, and am looking to now expand that to Lenovo and Dell.
Prior Knowledge
As this guide applies to Frontier users I am going to assume there is a level of prior knowledge and experience with the Frontier (and in general computers). I will cut to the chase and assume some knowledge to save time explaining basic processes within the steps. This guide is better suited to those with ‘intermediate’ computer skills in application use, implementation, testing and problem solving. My door is open to anyone who has trouble with this guide or needs extra assistance (as I am sure The Lonely Frontier group is also).
Acknowledgements
This was definitely a collaborative effort in getting this to work. I wanted to make sure that I say thank you to the many people who chimed in with advice or answering questions along the way. This was inspired by The Lonely Frontier facebook group which is a group of Frontier owners/enthusiasts from around the world. I joined this group many years ago when I first got my Frontier and the wealth of knowledge shared within has been second to none. So thank you to everyone from the group who helped!
The biggest thanks goes to one of my best friends Brad Talbot. Thank you for spending many many hours with me troubleshooting over zoom and in person as we tackled each step of the project. Your thoroughness in procedure, breaking down each step and methodical approach really helped in overcoming the many hurdles faced during this build. Things that had me stumped for hours/days were obstacles we finally overcame. A few of them seem so small now, but that is the beauty in making something work for the first time. For someone who has never worked with a Frontier, your wealth of knowledge in the VM space and hardware shows and it definitely propelled us towards success.
A special thanks also goes to Aidan Carter for his years of film chatter and then inspiration in trying the ESXi path for this. You gave me a lot of your time in talking about the possibilities with this build and then you were always a great sounding board during the project if I got stuck. I really appreciate your time and thank you for your knowledge!
Hardware Requirements
There are many options for hardware capable of this. In simplest terms we need a CPU and a CHIPSET that are both capable of VT-d (Virtualisation). You can find out CPU specs from the manufacturers website (INTEL/AMD). For chipset information you need to look up the specific hardware specs you are considering (from either the manufacturer or the hardware vendor (HP in my case). In this guide I am using a Q67 chipset which has the VT-d option enabled in BIOS.
Hardware Spec List (For my build)
HP Elitedesk G1 Small Form Factor PC
CPU – i5 4590 Haswell (VT-x + VT-d = YES)
Chipset – Intel Q87 Express (VT-d = YES)
RAM – 2 x 4gb DDR3
HDD – 1 x 500gb Solid State Hybrid (Any Drive > 250gb would do)
PCI-E Firewire Card – VIA VT6306/7/8 Fire II Chipset (Modified with a Low Profile Bracket)
2 x 16gb USB Thumb Drives (These are used for mounting/copying ISO files)
1 x USB External Hard Drive (This is used for storing your captured drive/image files)
Onboard LAN / Wifi (You need to connect to your ESXi server over a network)
Note: The PCI-E Firewire card requirement is relatively unknown at this stage as I have only been able to test two types/models of cards. The first VIA chipset I used did not work (but was a smaller card and looked like a ‘lite’ chipset with options. This generic VT6306/7/8 Fire II Chipset card was successful but a lot bigger and with more options due to the larger chipset.
This will require some testing of your own. In time I hope to add more compatible/easy to buy cards.
The RAM / HDD / Peripheral specs can be anything that you wish.
The CPU / CHIPSET combination is the most important aspect of hardware compatibility. My first hardware choice should have worked with a BIOS update but I could never quite get virtualisation working on that build. It meant that it would pass the tests but fail in the final install of ESXi. Lessons learned with that one.
At the end of this guide is a Known Hardware Compatibility list which you can cross check with those in the community who have tested/confirmed it works.
Software Requirements
Throughout the entire process I only used free/available software to complete the entire project. I have listed them all below (with links). For some software (like ESXi) you will need to sign up/register your free copy for ongoing use.
Just for full disclosure my SP3000 is one that was sold to me by Fuji Australia and currently runs C4/C5. I have not updated or changed the Frontier software since I have received it.
Software Spec List (What I used for my build)
CPU Z – This app is used to check your CPU specs/info (prior to starting the process).
Rufus – This app is used to mount/create bootable USB’s of your the required ISO files.
Clonezilla – This app is used to clone/capture images of your DI and PIC. I always use the latest ‘Stable’ 32bit release.
VMWare ESXi – This is the virtualisation software that I decided to use (thanks for the recommendation Aiden). I have successfully used ESXi 7.0.0 Build 15843007
These are the specific applications I needed outside of general software I use on a regular basis and complemented this project (such as Winrar, Google Chrome, Teracopy and regular apps one would use on their computer).
Note: You can use alternative applications if you wish. I did not want to pirate/use applications that were not readily available for download for free by anyone.
The Process
Whilst the steps are not overly long or complicated, there was a lot of trial and error involved (which thankfully should expedite the process for you). You may come across some road blocks, but I found with methodical testing and processes they were able to be overcome. A lot of advice and helping hands also helped overcome these obstacles.
The basic breakdown of the process is below. Click each step to view that part of the guide.
- Download & Prepare All Software
- Build & Configure the ESXi Server/Virtual Environment
- Snapshot/Clone the Win2k machine (DI).
- Snapshot/Clone the WinXP machine (PIC).
- Build your Virtual Machines within your ESXi Server.
- Configure your Virtual Machines within your ESXi Server
- Configure your Virtual Network within your ESXi Server
- Test Configuration (without scanner connected).
- Test Configuration (with scanner connected).
- Snapshot/Clone your ESXi Server once confirmed as functioning.
- Backup all Snapshot/Clones of your drives to ensure you have saved builds.
Step 1 – Download & Prepare All Software
I have found it easiest to store all required software, files and documents in a dropbox for this project. It made it easy to be able to check/reference files and documents from any location and also easily accessed on a phone/tablet/alternative computer whilst playing around. It also makes it easy to share/convey your experience with others you are working alongside with when troubleshooting.
I set up a working environment on my regular ‘Editing Machine’ which is located on a desk adjacent to where my Frontier is in my home office. This was the staging ground for me to be able to remotely access the ESXi server and set up all of the configurations during the testing phase until it was ready to go live. So this is where I installed the applications needed for file management and preparing the media for the project (Winrar, Rufus etc).
Once you have all the applications needed, you need to sign up for and download VMWare ESXi which you can do at the following link – https://www.vmware.com/go/get-free-esxi
If you do not already have an account you will need to do so. Once you sign up and download ESXi you will also have to register (but the instructions for this are fairly self explanatory).
Once you have downloaded the ESXi ISO, you will then need to mount the image on one of the 16gb USB sticks (and you do this with Rufus). Simply load up Rufus, select the USB stick from the Device List (this is where the ISO will be mounted); select the ISO file you wish to mount. Once done simply hit start and Rufus will prep your USB stick. It will process fairly quickly and at this point you can safely eject your USB device from your system.
Now is also a great time to prepare another USB with Clonezilla on it. You will use Clonezilla to ‘clone’ each machine attached to your SP3000. It is much more barebones than a software suite like Acronis but I have always enjoyed using it. Feel free to use software that you are comfortable with for this part of the process.
I would label which USB stick has which Software/ISO mounted on it so it is easy for you to plan/use. Throughout the course of virtualising my SP3000 I tried multiple USB sticks, hard drives, software versions and packages and trying to guess which was which was a nightmare!
Step 2 – Build & Configure the ESXi Server/Virtual Environment
Step one of building your server is getting your base hardware/computer that you have chosen ready to go. The machine I bought was from a hardware vendor who tests and resells retired computers from office environments. I had asked him to test the virtualisation functionality on the box before I picked up and he had given me the greenlight (he installed an ESXi package as a test for me). I jokingly call this the Eski, but will try to refer to it in this guide as the ESXi box.
The ESXi box had a fresh copy of windows installed on it which I initially used to run a mem test and check the SMART values for my hard drives. The last thing I wanted was to have a hardware failure in the midst of setting up the VM (and throwing me a red herring).
I chose to use a hybrid SSD drive as my main drive for the project as I had a spare that was 500gb (and I wanted that as a minimum size for my build). I think any SSD drive that is 250gb or larger would be sufficient for the build.
For me I found ESXi relatively easy to use, the hardest part was the lack of ‘what is not working’. You might get a repeated error or a simple fail point without any recourse as to what is the cause without a bunch of googling. In my case the first ‘ESXi Box’ I attempted to build/use was ultimately not compatible (even though it should have been) due to an out of date BIOS. Once I had this new machine it was lightning fast and got me well past my previous stall points.
You can access the official VMWare ESXi documentation for installation here (Note: It’s a lot of text!) – https://docs.vmware.com/en/VMware-vSphere/7.0/vsphere-esxi-70-installation-setup-guide.pdf
I found the guide useful but just so many scenarios outside of basically following the steps.
- Power down your ESXi box.
- Insert USB stick with the VMWare ESXi ISO mounted on it.
- Boot up ESXi box and open bios, selecting the USB from the boot media as the boot device.
- Reboot your ESXi box and begin the VMWare ESXi installer.
- The installer will ask you where to install ESXi and this is where you select your chosen hard drive for installation (Note: I would recommend having a fresh/formatted drive for this)
- Follow the prompts about the Keyboard Type and enter a Root Password (Choose a password and make a note of this as you will use/type it a gazillion times). I have mine written and taped to the top of my ESXi box.
- Let the installer run and finish.
- Once complete, shutdown the ESXi box.
- Remove the USB stick with the ISO mounted on it.
- Boot the ESXi box and enter bios, selecting the hard drive you just installed ESXi on as the boot drive for the computer.
- Reboot the computer and you should see the VMWare ESXi package begin to load.
This is where the fun begins 🙂
Once you boot into the main ESXi screen you will have some very basic info on display (ESXi Version/Hardware Specs and your Host Information).
You can also hit ‘F2’ to enter the ‘Customize System/View Logs’ menu.
In here you have basic password options, network options and keyboard configuration.
Setup your Hostname and Network so you can now access your ESXi server over the network.
Note: From here on out if I am referring to working on your VM/ESXi box or ESXi server it will be via navigating through your browser. I use a small switch to connect my main editing machine to my SP3000.
Load up your browser and go to the STATIC IP/LINK displayed on your ESXi Server. It will always ask you for the root username and password (that you set in the last step) to access.
Welcome to your VMWare ESXi GUI 🙂
Here you will be able to set up your VM Network as well as the Virtual Machines themselves. To begin with just have a little look around the GUI and familiarize yourself with the layout.
In the top you have the ‘Manage’ section where you can access your System, Hardware, Licensing, Packages, Services and Security + Users. Most of these options can be left as default but there are a couple of things we will do to start.
- Register your ESXi License – If you login to your VMWare account you will be able to access a license key to register your copy of ESXi. It has a ‘60 day’ trial but I would get this done and out of the way at the start. It’s free and never expires.
- Setup your ‘Passthrough’ items in the Hardware Tab. This is the biggest step with the project as this is what allows you to pass through the PCI-E firewire card(s) successfully between the VM’s. I had some chipset issues with establishing the setup for the servers (will get to that) but this is where I started by setting the ‘Passthrough’ value for the USB, Chipset and Firewire Controllers to ‘Active’. Simply select the device and hit ‘Toggle Passthrough’
If you are experienced with ESXi, then now is also a good time to prepare to get VM Tools installed/installed for your VM’s. This will be covered later in the guide as well though. Now we have the ESXi box up and running. It’s time to leave this to one side and get the clones of each machine done.
Step 3 – Snapshot/Clone the Win2k Machine
I will look to write a full guide for this step in the future to cover these Snapshot/Clone steps. To expedite the guide process please watch and refer to this Youtube video that shows how to Snapshot/Clone a hard drive.
Please note: My DI (Win2K) box is a Pentium 4 machine that had no compatibility issues in running the latest Clonezilla Live (Stable) 32bit release. If you are having issues with Clonezilla functionality you may need to look into other stable releases or an alternative software to take your Snapshot/Clone of the DI (Win2k) box. Please make sure that you do not use the 64bit version of the application.
The high level steps are as follows;
- Correctly shut down the DI & PIC machines in preparation for cloning.
- Insert USB device with Clonezilla ISO mounted on it.
- Insert External USB Hard Drive you wish to save the Snapshot/Clone to.
- Boot machine and enter bios/boot manager and select the USB device that has the Clonezilla ISO as the ‘boot device’ Note: Take note of the original boot device/option.
- Reboot machine and you will see the Clonezilla application boot
- Follow the steps to create an entire Hard Drive Snapshot/Clone of the machine.
- Ensure you save the Snapshot/Clone to the USB Hard Drive that you have attached to the machine.
- Once complete, shut down the machine and remove the Clonezilla USB device and the External USB Hard Drive.
- Boot the machine and change the boot device back to the original setting/drive.
- Reboot the machine to make sure it boots and functions as it originally did.
- Copy the new Snapsnot/Image you have created into your Dropbox/Cloud folder to backup.
NOTE: Clonezilla is easy to use but not exactly user friendly. It is very easy (if you do not pay attention) to overwrite the data on the existing hard drive if you are not careful. If you have not used it before, please watch the above video a few times and make sure you follow the steps closely. You want to Clone/Snapshot the drives in the machine and SAVE them to the USB/External Hard drive you have plugged in.
Step 4 – Snapshot/Clone the WinXP Machine
Please follow the same steps outlined in Step 3 in regards to the Snapshot/Clone of the WinXP Machine
Please note: My PIC (WinXP) box is a Core2Duo Lenovo machine that had no compatibility issues in running the latest Clonezilla Live (Stable) 32bit release. (same used for the DI). If you are having issues with Clonezilla functionality you may need to look into other stable releases or an alternative software to take your Snapshot/Clone of the PIC (WinXP) box.
The high level steps are as follows;
- Correctly shut down the DI & PIC machines in preparation for cloning.
- Insert USB device with Clonezilla ISO mounted on it.
- Insert External USB Hard Drive you wish to save the Snapshot/Clone to.
- Boot machine and enter bios/boot manager and select the USB device that has the Clonezilla ISO as the ‘boot device’ Note: Take note of the original boot device/option.
- Reboot machine and you will see the Clonezilla application boot
- Follow the steps to create an entire Hard Drive Snapshot/Clone of the machine.
- Ensure you save the Snapshot/Clone to the USB Hard Drive that you have attached to the machine.
- Once complete, shut down the machine and remove the Clonezilla USB device and the External USB Hard Drive.
- Boot the machine and change the boot device back to the original setting/drive.
- Reboot the machine to make sure it boots and functions as it originally did.
- Copy the new Snapshot/Image you have created into your Dropbox/Cloud folder to backup.
NOTE: Same caveat about Clonezilla 🙂
Step 5 – Build your Virtual Machines within your ESXi Server
Now that we have the Snapshots/Images of both the DI & PIC we are able to build the VM’s that will house these images. I ended up naming the VM’s the same as each PC to make life easier.
The DI (basically the Main Control Unit/Toshiba) is called EZPC00 and it runs Windows 2000 Professional. The PIC (The Image Controller which handles the output/export as well) is called FRONTEND and it runs Windows XP Professional.
Being that we have cloned the drives in full (which means there is no messing about loading a partial image or software) once we build the VM’s from the images/snapshots they should function and boot as setup in the original computer/space. Herein lies the power of having a Virtual Machine as we now will have perfectly functioning clones of the original hardware.
Setting up a Virtual Machine in ESXi is easy and you can do it as many times as you like without issue. Remember we are testing everything before connecting the computer to the scanner so you can reboot, you can test, you can play with the configuration as much as you wish. My only advice here is to not change any of the fundamental things we have cloned over with these machines (we want them to load exactly as if the original boxes were connected).
Create your VM for the DI named EZPC00
- Right Click the ‘Virtual Machines’ header in ESXi and select ‘Create/Register VM’
- In the pop up box select ‘Create a new Virtual Machine’
- In step for the name I used ‘EZPC00’ and for the compatibility I selected ‘ESXi 7.0 Virtual Machine / Guest OS Family as Windows and Guest OS Version as Windows 2000 Professional.
- Click next and move to the ‘Storage’ window. Here is where you will select your main ‘Hard Drive’ that is installed in the ESXi box. Click next and it will move you to the ‘Customize Settings’ menu.
- This menu has a lot of options of which you can add/remove and change later. I kept it simple by sticking with the basic values needed to get up and running. I used;
- 1 x CPU
- 1024 MB of Memory
- 100gb for Hard Disk Space
- SCSI Controller = BusLogic Parallel
- USB 2.0 Controller
- Network Adapter
- CD/DVD Drive (Host Device)
- Video Card = Default Settings
- Click the ‘Add other Device’ button and select ‘New PCI Device’
- Select the PCI Firewire Card you enabled Passthrough on earlier (if you don’t see it, no alarm just skip this and move to the summary)/
- Click next to view the ‘Summary’ screen and then click ‘Finish’
- You will see your new Virtual Machine pop up in your VM list on the left hand side of the ESXi server window.
Congrats you have created your first VM! Time to create your second VM instance for the other machine.
Create your VM for the PIC named FRONTEND
- Right Click the ‘Virtual Machines’ header in ESXi and select ‘Create/Register VM’
- In the pop up box select ‘Create a new Virtual Machine’
- In step for the name I used ‘FRONTEND’ and for the compatibility I selected ‘ESXi 7.0 Virtual Machine / Guest OS Family as Windows and Guest OS Version as Windows XP Professional (32-bit).
- Click next and move to the ‘Storage’ window. Here is where you will select your main ‘Hard Drive’ that is installed in the ESXi box. Click next and it will move you to the ‘Customize Settings’ menu.
- This menu has a lot of options of which you can add/remove and change later. I kept it simple by sticking with the basic values needed to get up and running. I used;
- 1 x CPU
- 1024 MB of Memory
- 100gb for Hard Disk Space
- SCSI Controller = BusLogic Parallel
- USB 2.0 Controller
- Network Adapter
- CD/DVD Drive (Host Device)
- Video Card = Default Settings
- Click the ‘Add other Device’ button and select ‘New USB Device’
- It will auto select any USB device connected, but this was just handy for adding any USB devices when plugging into the machine.
- Click next to view the ‘Summary’ screen and then click ‘Finish’
- You will see your new Virtual Machine pop up in your VM list on the left hand side of the ESXi server window.
Congrats you have created your second VM!
You should now see both ‘FRONTEND’ and ‘EZPC00’ listed under your virtual machines in the left menu! Time to get these configured 🙂
Step 6 – Configure your Virtual Machines within your ESXi Server
This is where there was many hours of trial and error in getting these VM’s running correctly. Each time you make a change to the config you can then boot/start the VM and see how the machine boots and reacts. What we are hoping to achieve here is to configure both machines so they will communicate with each other correctly. We then want them booting without error until they hit the obvious fail points (which is where having no scanner connected to the machine.
In creating the VM for each computer we have now the hardware foundation we need to run them. Being the original computers (in my SP3000) was a Pentium 3 (Win2k) and Pentium 4 (WinXP) the base single CPU allocation and memory allocation has worked fine in my setup thus far. You could always add more memory or upgrade the CPU and allocate more as you wish. For me the slowness is generally with the actual Frontier software when scanning and having faster drives will make a big impact for read/write also.
Part of our configuration of the VM’s will be using software (Clonezilla) as well as installing VM Tools (if you have not done so already). VM Tools are packages with drivers and updates to aid in general VM compatibility (in new hardware) as well as aiding in removing any compatibility issues with Windows 2000 and Windows XP. To prepare for this we will load these ISO files into the ESXi datastore. You can upload any data you wish to use to load/install onto the VM’s through the datastore. The datastore is simply the accessible hard drive space we have on the ESXi server (created when we created the ESXi server). z
For the purpose of this guide we’ll be using VM Tool files (for legacy driver compatibility) which you can access below;
VMware-Tools-10.0.12-legacy-4448496.zip which contains the winPre2k.iso & winPreVista.iso and you can get from here – https://my.vmware.com/en/web/vmware/downloads/details?downloadGroup=VMTOOLS10012&productId=491
VMware-Tools-windows-11.1.0-16036546.zip which contains current VM Tools and you can get from here – https://my.vmware.com/web/vmware/downloads/details?downloadGroup=VMTOOLS1110&productId=742
You will need to be logged into the VMware website to be able to download the above files. I found it handy to have the latest/current VM Tools file downloaded and on hand if needed.
Steps for using the ESXi datastore;
- Load the ESXi browser/instance and follow the left menu down to ‘Storage’
- Expand the ‘Storage’ menu so you can see the datastore available (in my case it is called datastore1) and click on it.
- Once loaded you will see the top menu has the ‘Datastore Browser’. Once found click on it.
- A popup window will load where you have an ‘Upload’ option in the top left. Select the ‘Upload’ option and it will give you a local machine file browser.
- Select the ISO files you wish to upload to the datastore. In our case it is the Clonezilla ISO (the same one you used to prepare the USB earlier), the winPreVista.ISO and the winPre2k.ISO files (sourced from above)
- At this point you can also upload additional files/applications to the datastore if you need/want. At any time you can follow the same steps to add more files/applications also.
- The files will then upload into the datastore and you can access these at any time through either the VM instances or the datastore browser.
Please note: At this point, if needed we will be directly connecting devices to the new hardware/ESXi box as they are the ports we will access to complete these tasks. For now, we are finished with the original computers.
Configure your EZPC00 (DI) Machine
This machine (the cloned Toshiba) was always the spanner in the works with the firewire configuration. The inability to work firewire via virtualisation was essentially all due to this machine, which now we can do with passthrough!
The process from here will be to load the image we have captured of the original computer into the VM. We then need to complete the VM setup so the computer/instance functions as it should.
- Load your Snapshot/Image onto the EZPC00 VM
- Plug your USB/External Drive that you have your Snapshot/Images from the original machines into the ESXi box.
- Load up your ESXi GUI/Page and login (if you arent already logged in)
- Navigate and click onto the EZPC00 VM Instance to load up the VM Config.
- Under hardware configuration you will see ‘CD/DVD Drive 1’ as one of the hardware options you have selected. If you do not have a CD/DVD Drive option available you will need to add one. You can do this by clicking ‘Edit’ at the top of the page. This will give you a virtual hardware popup. Simply press ‘Add other device’, select ‘CD/DVD drive’ and then press ‘Save’.
- Next to the CD/DVD Drive 1 option you will see ‘Select Disc Image’.
- Select the ‘Clonezilla’ ISO that you have previously uploaded to the datastore.
- Start the VM for the first time (with the VM selected just hit ‘Power On’ up the top.
- The machine will boot up very quickly and should load straight into Clonezilla. If it does not, reboot the VM and hit the key to access bios so you can select the Clonezilla ISO as the boot option.
- You now need to follow the Clonezilla steps to install/load the EZPC00 image you created when you cloned the other machine. Navigate to the file on the external drive, select and load it onto the drive.
- Wait for the process to finish and Shut down the machine and move back to ESXi and make sure the instance has ‘Powered Down’.
- Remove the Clonezilla ISO file from the CD/DVD drive (You can select VM tools or disable the drive if you wish).
- Once ready power on the VM again and check to see that it boots into windows. If it boots and loads as it should, happy days. Feel free to shut down the machine/VM and move onto the PIC!
The final step is to install the ‘VM Tools’ package within the Win2k environment for full compatibility within the ESXi box. The VM Tools are a tools package that includes drivers, legacy drivers and upgrades for compatibility across new and old hardware. Specifically the important tools such as the VM Legacy Tools will assist with the Win2k and WinXP drivers we need to run all of the hardware with the virtualised machines.
There is a specific Windows 2000 security update that you need to run before VM Tools will install correctly in regards to the Win2k package. To save on time, I found a fantastic YouTube guide which details exactly what you need to do. This details the steps once you have the file available and inside your EZPC00 instance (see above about uploading to the datastore).
You can see this guide on YouTube (Owner has disabled embedding) – https://www.youtube.com/watch?v=3xpkW4YbhO8
Click here for the Windows 2000 Security Patch (it is the bottom option/link)
And that should be that! Time to move onto configuring the FRONTEND.
Configure your FRONTEND (PIC) Machine
This machine is a lot easier as there is no firewire component! However the installation/file structure of Windows XP is bigger.. So it takes longer.
Follow the same steps for the FRONTEND (PIC) as you did for EZPC00 (DI).
- Load your Snapshot/Image onto the FRONTEND (PIC) VM
- Plug your USB/External Drive that you have your Snapshot/Images from the original machines into the ESXi box (if you removed it after the last configuration).
- Load up your ESXi GUI/Page and login (if you arent already logged in)
- Navigate and click onto the FRONTEND VM Instance to load up the VM Config.
- Under hardware configuration you will see ‘CD/DVD Drive 1’ as one of the hardware options you have selected. If you do not have a CD/DVD Drive option available you will need to add one. You can do this by clicking ‘Edit’ at the top of the page. This will give you a virtual hardware popup. Simply press ‘Add other device’, select ‘CD/DVD drive’ and then press ‘Save’.
- Next to the CD/DVD Drive 1 option you will see ‘Select Disc Image’.
- Select the ‘Clonezilla’ ISO that you have previously uploaded to the datastore.
- Start the VM for the first time (with the VM selected just hit ‘Power On’ up the top.
- The machine will boot up very quickly and should load straight into Clonezilla. If it does not, reboot the VM and hit the key to access bios so you can select the Clonezilla ISO as the boot option.
- You now need to follow the Clonezilla steps to install/load the FRONTEND image you created when you cloned the other machine. Navigate to the file on the external drive, select and load it onto the drive.
- Wait for the process to finish and Shut down the machine and move back to ESXi and make sure the instance has ‘Powered Down’.
- Remove the Clonezilla ISO file from the CD/DVD drive (You can select VM tools or disable the drive if you wish).
- Once ready power on the VM again and check to see that it boots into windows. If it boots and loads as it should, happy days. Feel free to shut down the machine/VM and move onto the PIC!
The final step is to install the ‘VM Tools’ package within the WinXP environment for full compatibility within the ESXi box. The VM Tools are a tools package that includes drivers, legacy drivers and upgrades for compatibility across new and old hardware. Specifically the important tools such as the VM Legacy Tools will assist with the Win2k and WinXP drivers we need to run all of the hardware with the virtualised machines.
Step 7 – Configure your Virtual Network within your ESXi Server
This is a rather simple step as we essentially want to mimic the current network setup that is shared between the EZPC00 (DI) and FRONTEND (PIC). For my specific SP3000 that was delivered to me from Fuji Australia my setup had them connected via crossover network cable.
The process we have followed thus far has duplicated the hard drives in each machine. This includes the network setup and assignments that was already established in each computer. Theoretically (and this worked perfectly with my VM setup) once you setup the vSwitch and then create a vSwitch Network; you can assign the IP Addresses to each VM and they will talk to each other the way the original EZPC00 and FRONTEND do.
The process is as follows;
- Create your vSwitch and name it ‘Scanner Network’
- Create your vSwitch Network and name it ‘Scanner’
- Attach the NIC1 of each VM to the network ‘Scanner’
- Configure the IP addresses in each VM to match the original IP’s of EZPC00 and FRONTEND
It is important that you connect the VM’s to the vSwitch Network (not the vSwitch). This was the original point with the network establishment we got a little stuck.
The next step will be to open up the network and have a shared network drive/cloud storage.
Step 8 – Test Configuration (without scanner connected)
We now should have both VM instances ready and loaded with the images from both the EZPC00 (DI) and the FRONTEND (PIC) machines (Hooray!). Being that the scanner is not connected at all we can run/test these instances as much as we like. The main purpose of this test section is to make sure that the EZPC00 (DI) and FRONTEND (PIC) are talking to each other the way they should. I did this by pinging each other and making sure they could see each other over the network.
In the usual boot sequence (as I have experienced) the DI would load the Frontier software and get to the ‘calibration’ action of the boot up sequence. After this is where it would attempt to connect to the ‘Imaging Controller’ and throw an error if the PIC was not detected. This of course would be reliant on being able to get to this point without actually being hooked up to the scanner.
I decided to start with the EZPC00 (DI) as the setup with the firewire was always the key fail point for me with the project. Once the driver was assigned it was time to test.
I spent a lot of time troubleshooting this part so it’s difficult for me to write a procedure for it as I forgot how many times I tried. My main approach was as follows;
- Boot VM and machine and make sure it passes the BIOS test.
- Ensure the EZPC00 machine can boot into Windows 2000 and login without authentication/login error.
- Once in windows I just made sure all of the drivers were correctly installed and showing up. Those that were not correctly functioning I looked to fix with VM Tools and/or downloading the legacy drivers. This took a few tries as I had originally attempted this without VM Tools installed (and sourcing my own legacy drivers). For the most part the drivers were fine and functional, it was the firewire card in the end that would cause headaches.
- Once booting/loading as I had planned the next step was to analyse how the DI handled the boot sequence once the Fuji software loaded. I expected a lot more errors but initially It simply progressed until it tried to connect to the imaging box and initialize the scanner (of course at this point it no longer progressed as there was no hardware attached).
Once I hit this milestone I moved onto the FRONTEND (PIC). This setup is a WHOLE lot easier than the EZPC00 (DI) as once Windows XP loads it simply loads up the EZ Loader/Fuji Software to handle the print orders and does not have a cross check/interaction with the EZPC00 (DI).
This was quite a quick test for me as Windows XP proved to be a lot more efficient in setup for me. I follow a procedure similar to this.
- Boot VM and machine and make sure it passes the BIOS test.
- Ensure the FRONTEND machine can boot into Windows XP and login without authentication/login error.
- Once windows had loaded I checked all of the ‘network drives’ were still present and accounted for.
- I then proceeded to check all device drivers were loading correctly and that there were no compatibility issues.
- I then checked through the software to make sure I could trigger the exit function from the Fuji software and then manually shut down/boot up the machine.
My firewire woes to this point were rather minimal. I had already read that the Texas Instruments firewire chipset was required to make this process work. There are a few firewire cards with this chipset but none of them really come cheap. On hand at home I had 2 x PCI-E firewire cards that both had different VIA chipsets. One I had bought in anticipation for the project 12 months earlier and had not really tested well (I had to modify to fit in the small form factor case of the Lenovo). Another was a free firewire card I had been given with the Lenovo box (that was the correct form factor, but looking to be a smaller chipset). I was able to add both into the box, have both show up in the VM and both detect correctly in windows. The functionality aspect was the tricky point from here.
Step 9 – Test Configuration (with scanner connected)
Let the games begin!
First things first.. Before you unplug anything from your Frontier.. Make sure you take a photo of the back/cable arrangement so you can put it back together if you ever need to!
I had to make this process sound more interesting but really it was a week or two of many hours, headaches and finally luck. Part of this was understanding what each firewire connection coming from the MCU (Main Control Unit) and Power Supply within the SP3000 desk meant. I knew one had been directly connected to the power unit to trigger the start up process once the ‘on switch’ was pressed. I wasn’t sure if it assisted in the scanner initialization or was simply the trigger point for the main control unit. On my frontier there is also an onboard firewire port used, and an additional firewire card that the other connection plugs into. Obviously connectivity and matching up how the original setup functioned was always on my mind. Perhaps I read into this too much and this clouded by judgement for method of testing.
The other firewire connection was the other consideration in being the main communication channel between the Imaging Controller (attached to the scan head) and the DI (EZPC00).
To my surprise the first boot went well. The ESXi box is obviously running before the VM’s are started. I plugged in the firewire cables and the frontier sprung to life straight away. I then quickly started both VM’s so the boot sequence would function.
Both VM’s loaded straight into windows and the Frontier software loaded right up. Unfortunately this is really where the problems began. A whole lot of 1394 (firewire) errors followed (mostly 1394 initialization failure messages). I would reboot, try the different cable combinations, check the ports, reseat the cards, swap the cards, swap the cables, swap the ports, check the drivers, swap the drivers and toy with the boot sequence. All the while trying to maintain good shutdown and start up sequences with the frontier.
I’ll cut a long story short but here is how it went;
- The VM’s boot FAST on a hybrid SSD. Much faster than the previous machines and hard drives… and probably even faster on a newer SSD/NVMe drives.
- The original smaller firewire card that I had been using evidently was a chipset without enough juice to initialize what the frontier expected from it’s firewire connection/card.
- The frontier can be connected to one firewire card with two ports without issue (unlike my original setup).
- A VIA chipset can be used for the Frontier, there is no requirement that I can see to match the chipset of the cards in the original DI/Toshiba.
- The boot sequence is important for the frontier as the internal checks that the software makes when connecting with the Image Controller (require the boot sequence to be finished completely to succeed).
- When cold starting the ESXi box the boot time that it takes to load ESXi and then for me to navigate into ESXi and start up the VM’s is just slow enough not to miss the vital initialization of the software. Originally this was an issue if the VM’s were set to automatically start when the ESXi box fired up.
- VM Tools was required to finally iron out the last little kinks each VM instance had with compatibility.
- I should have worried about the inbuilt desk keyboard/frontier keyboard later on as I still have not been able to passthrough this to function.
And sprinkle in a little luck. After many hours of unsuccessful step by step tests and tweaks, I swapped in the main firewire card and plugged both firewire cables which booted up the Frontier. I then went and made a cup of tea and when I came back I realized that I had not powered on the VM’s again. When I did power on the DI (EZPC00) it initialized and started the scanner process without a 1394 error. This was the breakthrough I had been after.
My now functional process for booting up my VM Frontier (from Cold Boot) is now;
- Switch off auto power on for the VM’s in ESXi
- Power on my Lenovo Box (in doing so this powers up the scanner through the attached firewire).
- Wait for 3 mins until the scanner has enough time to boot/power up internally.
- Log on to ESXi server and start both VM instances.
- Make two windows for both VM instances so I can see the start up status of both.
- Wait until I hear the initialization of the Frontier in doing it’s initial scan checks before calibration.
For the shut down procedure now I follow the same steps that I always did. I shut down each instance from within windows (and on the EZPC00 (DI) from within the Frontier software). I then power down the PIC (FRONTEND) and once they have shut down I power down the VM’s and then power down the ESXi box. The process takes a little longer but I have had no functional hiccups since I have followed this procedure.
Once I established the main issues, the rest of the minor troubleshooting was easy!
Step 10 – Snapshot/Clone your ESXi Server
This is the same process as earlier in cloning the DI/PIC machines but we are simply now cloning the hard drive in the ESXi box. We have gone to all this effort, you would be remiss if you suddenly had a failure and lost the hardware.
To expedite the guide process please watch and refer to this YouTube video that shows how to Snapshot/Clone a hard drive.
https://www.youtube.com/watch?v=JflYnwe8cTE
The high level steps are as follows;
- Safely shut down your VM’s (if you are running any) and safely shut down your ESXi box.
- Insert USB device with Clonezilla ISO mounted on it.
- Insert External USB Hard Drive you wish to save the Snapshot/Clone to.
- Boot machine and enter bios/boot manager and select the USB device that has the Clonezilla ISO as the ‘boot device’ Note: Take note of the original boot device/option.
- Reboot machine and you will see the Clonezilla application boot
- Follow the steps to create an entire Hard Drive Snapshot/Clone of the machine.
- Ensure you save the Snapshot/Clone to the USB Hard Drive that you have attached to the machine.
- Once complete, shut down the machine and remove the Clonezilla USB device and the External USB Hard Drive.
- Boot the machine and change the boot device back to the original setting/drive.
- Reboot the machine to make sure it boots and functions as it originally did.
- Copy the new Snapshot/Image you have created into your Dropbox/Cloud folder to backup.
NOTE: Clonezilla is easy to use but not exactly user friendly. It is very easy (if you do not pay attention) to overwrite the data on the existing hard drive if you are not careful. If you have not used it before, please watch the above video a few times and make sure you follow the steps closely. You want to Clone/Snapshot the drives in the machine and SAVE them to the USB/External Hard drive you have plugged in.
Step 11 – Backup all Snapshot/Clones
We have done this at each step along the way but now we are wrapping things up it is a good idea to now check that you have a backup/save of each of the Clonezilla ISO files that you have created (you should have 3, one for the DI (Win2k), PIC (WinXP) and ESXi Box. I choose to store these in the cloud, but you can also store them on a local external drive if you wish for easy access.
Project Challenges
I would be lying if I did not say that there were many challenges along the way. I have learned a lot throughout the course of this project, some due to my inexperience, others due to chance/luck and others due to process.
Each step of the way had its own challenge which was generally overcome with testing, testing and more testing. In the end starting with the incorrect hardware taught me a lot about the hairline compatibility/incompatibility of hardware and components. When choosing your hardware for this project it is good to be able to test/identify any potential roadblocks they can cause before bringing them into the build process.
With anything like this comes a lot of patience. The perfect example is the order of booting the hardware and the speed of new hardware vs old hardware meant I was getting ‘fake’ errors due to boot sequence being out of order. This was a light bulb moment in the management of the Frontier and the way it was designed/put together. If you are following this guide and in doubt over functionality. Slow it down and test each step thoroughly, you may be surprised at the result
I may have chosen a path to overcome challenges that has biased/changed the way I achieved the result. If there is a section or process within the guide that can be improved upon or bettered then please share that with me. I am happy to make adjustments or improvements to assist in making the project easier for others.
Room for Improvement
I have been very honest in the writing of this guide in the help that I received and the amount I have learned along the way. I am still very much a VM novice and especially with the ‘ins’ and ‘outs’ of VMware ESXi. I am always happy to learn how to be more efficient or follow a better process.
I have some goals which I thought would be great to include these areas to improve in the v1.0 of this guide.
- Be able to provide a snapshot/image of the setup ESXi server so it can be loaded up and setup very quickly by any user.
- Universal snap shot of both the DI and PIC for those who wish to attempt the VM.
- Ability to setup/upgrade different versions of the Frontier software within the VM.
- Ability to run different versions of the Frontier software in their own individual VM instances to function with the same SP3000.
- Be able to directly link those who want to VM their SP3000 to the hardware they can buy to make it happen (along with this guide).
Future Additions & Improvements
At present I am still using my original frontier with the new VM’s as I always did. I simply connect and use my 27” calibrated screen to access/control the scanner from my editing machine which sits adjacent to the Frontier. Whilst this is functionally better, I would like to improve the workstation and workflow with the frontier. Especially if it was a standalone desk without the reliance of an adjacent computer.
Here are some additional things I would like to add to improve the Frontier setup and functionality.
- Mapped network storage and/or cloud backup of scans to make workflow easier (and backed up).
- Setup vSphere to efficiently connect to the ESXi server.
- IPAD/Tablet mount point to display the scanned image once completed by the scanner (on the Frontier desk)
- IPAD/Table control of the Frontier on the Frontier desk.
- Improved resolution/display of each machine and perhaps display functionality when using the Frontier.
- More VM’s that perhaps allow for the control of multiple Frontier’s in one office (for labs or setups where there are multiple frontiers/scanners.
- Adjusted timings so the boot sequence of the ESXi box and start up of the VM’s worked in ‘sync’ to allow the Frontier to boot and initialize without human interaction. I would love to hit the power button and come back 5mins later to see the Frontier warmed up, loaded and ready to go.
- Calibrated display support within the VM environment.
- Inbuilt Frontier desk keyboard support. At present I have not yet been able to get this functioning.
Result
The current result as I have setup is both VM instances running on my editing machine side by side. With enough resolution on my 27″ screen I can access the EZPC00 scanning screen and also the FRONTEND export/print screen. It makes for a quick and easy workflow. I kept the same stable values for my the VM’s that I created, however now that the build has been stable and working for weeks now I will look to increase some of the resources dedicated to each VM. This is where having a newer/better configured machine can potentially yield the most efficient improvements for the old OS and software used in the SP3000.
Conclusion
Please note that this is also possible by other means (Linux/KVM for example). This guide is purely for the method that I chose to implement. By no means do I think it’s better, it was just a lot more accessible for me and my experience level.
I would like to expand on this guide over time by testing out more hardware configurations and combinations that work with this method of virtualisation. As I expand on these builds and testing I will look to follow the same process but list specifically the hardware that I was able to use. This includes other off the shelf hardware systems (new and used) that are widely available around the world. The firewire card situation is something to further explore with so many different chipsets and cards available online.
I have added a community contribution to the bottom of this guide so that I can add more hardware combinations that work, as well as firewire cards that function as needed with PCI-E passthrough.
I am very thankful for all the help I received along the way and community support. We really do have a great community amongst film photographers and I hope this is of help to many others in the community. If you have any feedback, additional notes or anything you would like to see added to this guide then please contact me via social channels, my email at [email protected] or through this website.
Community Contribution
This section will outline additional hardware combinations and additions that work with this method of virtualising the Fuji Frontier SP3000 as added by myself (Jack) or attributed to other members of the Frontier community.
If you complete the project with this method and use alternative hardware, please email [email protected] so I can update the guide with the hardware used. Please make sure you include the hardware you bought, where you bought it from and a link to your contact (if you wish for me to include it).
Community Updates/Guide Revisions
I will list any community updates/improvements and notes here. As well as version updates to the guide as it is developed.
V1.0 Draft – Completed on 12/10/2020 by Jack
Known Hardware Compatibility
Here is the list of known hardware that is compatible with this guide.