Xeltek SuperPro 280U/580U/3000U 64bit hack

A recent Ebay purchase of a Xeltek SuperPro 280U came with the following note that it was supported only in Windows XP and not under Windows 7. This post documents how to make this working on a modern operating system; like Windows 10 64bit. Luckily; all of this software was readily available via webcaches and polish electronic forums. I’ve pulled all the documents here in one place so you can easily replicate it. I believe the software is the same for the 580U/3000U but you’re mileage may vary.

Why do this? This programmer is still very functional as long as you have a USB port.

First you need to get the Xeltek software from their support site under legacy programmers. Go ahead and download the 32bit windows install package and the test software so you can prove your “hack” is functional. Direct links for the SuperPro 280U install software and the SP280u Test.

Next install the SuperPro software to a known directory. The follow the instructions in the SP280u test archive. See the readme.txt file which tells you to put the TSETUSB2.USB file in \algo5 of the installed program.

Now you need to install the hacked EzUSB drivers from Cypress. This was explained in www.macros-arcade.com’s webcache. That website seems to be down – maybe forever which is why I’m copying the relevant bits here for prosperity:

The older Xeltec range of USB Eprom programmers do now work on 64 bit versions of windows, since, according to their own website “working on 64bit platform requires tremendous effort from our side
So to save their programmers from all of this tremendous effect, here is how to make it happen
N.B. This has only been tested on my PC using my Superpro 280u with Windows 7,8 and 10 – it should work for you, but everything is done at your own risk!

Requirements

In the download file, Here,  are the signed driver and support files.

If you need XVI32 you will need to download it from their website.

Method

Xeltek use a standard USB interface chip, an Ez-USB FX2, originally made by Anchor chips, who were taken over by Cypress.

Fortunately, they only seem to have made a single change to the reference driver that was issued by Anchor / Cypress, so as long as a 64 bit version of that driver exists then it should be possible to use the eprom programmer on a 64 bit OS.

A clever guy (Here) has already created a 64 bit version of the driver to use with some other hardware that utilises the same chip, and also sorted out the necessary inf files to allow you to install it on various newer versions of windows. A small change to that inf file, so it recognises the identity of the chip within the Superpro, and that will install the driver. 

Another helpful guy, Doug, has now signed the driver file so that you no longer need to do any trickery to let Windows allow you to use the driver – many thanks to him.
finally, you need to make one change to the SP3000.EXE to allow it to work with EZUSB.SYS (rather than their version XEUSB.SYS), and for this you will need a hex editor. I use XVI32, a free download from Here. using this search for the text “Xeltekusb-0” (on the latest version it is at offset 0x9B344). This is the name of the driver that it is going to use, and so we need to change this to “Ezusb-0” and then pad the extra characters out with 00’s (Hex 00, not characters!). Save this change and coupled with the driver you should now be able to use your Superpro on the 64 bit version of windows.

Troubleshooting

I heard from a user about a problem with the signed Xeltec drivers. So in case you are having the same problem :-
“My new PC has windows 10 installed as UEFI. Installing it that way enables secure boot by default and saves the default keys to your motherboard. Secure boot adds another layer of driver authentication, which causes the Xeltec patched driver to fail.
In order to fix this, you need to disable secure boot (which is motherboard specific).
Once disabled, the driver plays nice. Only caveat – your system is now (technically) susceptible to rootkits and other forms of malware that attack your drivers. Not a huge concern if you’re not using fishy software.”
Thanks Bill

Obviously; those links are likely dead. So I did a google search and came to a polish site which had all the original files: https://www.elektroda.pl/rtvforum/topic3353985.html#16553970

I registered with the site so I could download it. I’ve put the unaltered files on my Google Drive for public consumption:
https://drive.google.com/open?id=1OrLagbD7BVbfz_S1MpPI64RmGOQ1iO74

UnRar (or use 7zip) and uncompress the Xeltek 3000U Win7x64.rar to a subfolder in your installation location. You are going to want to further unzip: sp3000u_x64_driver_signed.zip to your installation folder. This contains a How To.txt file and several ezusb.* driver files. That howto file has most of the text from the Bill quote above. All I did was right click on the ezusb.inf file and click install. This installs the signed 64bit driver for use under Windows 10 64bit. 😀

Now uncompress SP3000.exe from the Xeltek 3000U Win7x64.rar archive. This is the hex edited executable discussed in the How To.txt and the Bill quote above. I renamed my original SP3000.exe to SP3000.exe.orgDriver in the bin directory and copied the new SP to that folder.

With that; the “hack” is complete. Now let’s test to make sure your programmer will function with it’s new Win10 64bit host. To do this; double click the new SP3000.exe and it should automatically detect the programmer (assuming it’s plugged in and turned on) with the new ezUsb driver. With no chips in the ZIF socket; follow the Xeltek instructions contained in the readme.txt file… regurgitated here:

Type “Xeltek” under search when choosing a device on your software. Under device name choose “####..222…“. Run all the test functions except “test_type“.

Each function should return OK! indicating the test passed. Here’s a screenshot of my completed test runs:


Hope this helps someone in the future.

Foscam IP Camera using POE

During Amazon Prime day; I decided to enhance the security of my driveway and Garage by adding a Foscam Outdoor PTZ (FI9928P) HD 1080p IP Camera. While I had WIFI in the garage; I wanted to wire this camera in with the other camera watching the front door but I wanted to position this camera on the Left side of the driveway so it could watch the garage door as well as keep an eye on the driveway. To do this meant I was going to need to run a very long power cable along with a 16-20foot CAT5E cable but I decided I’d rather run a Power-Over-Ethernet (PoE) connection to eliminate the long power cable run and run a single CAT5 POE configuration. The Foscam FI9928P does not natively support POE; so I’d have an injector and a splitter to enable POE for this camera.

This Blog entry is a expansion of my Amazon Review of the WT-GPOE-1-AB by PoE Texas. This device is a passive splitter / Injector which can be used on both ends of a PoE connection to inject and breakout the DC connections. I wanted to add a little detail here incase someone needs to replicate my work on their personal installation. This should be applicable to anyone trying to use PoE for any network device which has a power brick.

Installation is pretty simple. All you are going to need is two of the WT-GPOE-1-AB which thankfully comes with some DC splitter cables to connect them up to a DC power brick, some Cat5E cables, and maybe a few screws to mount the WT-GPOE-1-ABs to the wall. Total cost would probably be under $20 if you have the cat5 cables on hand. The Author picked the WT-GPOE-1-AB for several reasons:

  • Support Gigabit Ethernet speeds
  • Allows for use any voltage on PoE up-to-56V for a total of 60watts. In our case the Foscam Power adapter is capable of delivering 12VDC at 2amps for a total of 24watts.
  • Can be used on both ends of the PoE link.
  • Carries DC across all 4 pairs of the Ethernet link maximizing current carrying capabilities of the CAT6 Cable.

Let’s start with the Network side of the PoE connection. To do this you are going to want to connect the WT-GPOE-1-AB to the network switch as pictured:

Network Side of POE

The LAN side of the WT-GPOE-1-AB connect to the network switch or to anything on “lan” side of your device which you’d normally plug the IP camera into. The PoE connection would become the side which carries both LAN data and the DC power from the power supply. Finally; you’d connect the camera’s power supply directly to 45+78- DC jack of the WT-GPOE-1-AB.

Camera Side of POE

On the Camera side of the POE cable; you need to split the Power from the Ethernet (data) using another WT-GPOE-1-AB… although the configuration isn’t quite as obvious for some reason. The PoE cable from above; plugs into the “LAN” connector and the Camera plugs into the DC jack at 12-34+. The Camera’s data port then connects to the remaining “POE” RJ45 jack. The Camera power is connected with a DC to DC barrel connector also available on Amazaon.

Using two WT-GPOE-1-AB‘s I was able to transmit the DC power for the camera approximately 20ft along with the gigabit data for the camera. The small physical form factor of the WT-GPOE-1-AB allows it to fit easily on top of my garage door ledge and not interfere with the opening or closing of the garage door.

Air Compressor: Automatic Drain Valve

For years I’ve been limping along with a very noise older model Air compressor for my Modding needs. Recently; I upgraded from a Universal Laser 25E laser to an Epilog Legend 24TT laser cutter. The former could be outfitted with Air Assist; while the latter came pre-plumbed for Air assist. The issue is that the Air Assist works best if the lens doesn’t get splash back form the Air assist when it contains water.

Air compressors work by compressing the gas of surrounding air which contains water vapor. This water vapor leaves the compressor very hot along with the compressed air stream. As it sits under pressure; the water vapor condenses as it cools leaving water in the air lines. A properly configured Air Assist needs to remove that water vapor so it cannot exit the assist nozzle and insta-cool a warm laser lens. This leads to cracked or otherwise damaged lenses which can be expensive or lead to downtime as a new lens is sought.

As a result I upgraded my noisy old air compressor for a slightly used California Air Tools 10010DC Ultra Quiet & Oil-Free 1.0 hp 10.0 gallon Steel Tank Air Compressor with Air Drying System

This air compressor was purchased straight from California Air Tools with less than 50hrs at a fair discount and automatically cools the air stream as it exits the Tank by running thru a radiator on top of the tank. This radiator is cooled by some fans to keep the radiator near room temperature causing the water vapor to condense out of the compressed air. The air then passed thru an air/water seperator. This separator causes a significant amount of water to be deposited in it’s reservoir where a tube just drips the water onto the ground (problem #2).

The Air stream is then plumbed to a Activated Alumina desiccant Air Dryer where additional drying is done by chemical reaction. The bottom of this air dryer is also plumbed with a tube which just drips onto the ground (problem #3). The main problem (problem #1); however, that the tank itself needs to be drained periodically as is required for ALL Compressors to prevent the air tank from rusting inside. If I had been purchasing new; I may have just purchased a 10010DACD which as a Automatic Drain Valve installed at the factory… but since this was a discounted unit; I couldn’t get drain valve option. Additionally; the factory charges an additional $150 to cover the installation and plumbing for the Auto-valve; I do not know if CAT will rectify the tubing outputs of the separator and dryer, so this may be an interest read for owners of the more expensive unit.

The result is I need to plumb my own automatic drain valve while making an attempt to tidy up the separator and air drier water outlets so they all exit the machine into a reservoir which can be dumped periodically instead of spraying the water all over my garage floor. This Blog entry is the documentation of what I did in the hopes it can help some other budding laser hobbyists in creating their own Air Assist setup.

I started by researching the concepts behind CAT’s Automatic Drain valve which is pictured here:

As best as I can figure is this is no different from any of the other auto-drain valves available for less than $30 on Amazon. It’s probably even made in China.

I started by researching auto-drain values on youtube where I came across Farmboy’s Garage’s implementation. While complete; it’s kind of scary how he just lets the valve blow water in the the corner of his garage. As he states in a later video; it scares him every time it triggers. My goal is to try to keep all of the water draining into a lidded bucket so the water can be contained and easily dumped as my garage doesn’t have any drains and the compressor is near the interior wall rather than the external garage door.

To plumb the cheaper auto-drain valve; I’m going to need to purchase some piping accessories and some vinyl tubing. I came up with this crude napkin sketch before I went to Lowes to “engineer” a solution in their plumbing section. Here’s a shopping list from Amazon if you’d rather purchase as much as you can using your Prime Membership. While this blog entry will focus on adding a auto-drain valve to my compressor; it will probably be very similar to your air compressor. Feel free to reuse as much of this design as you’d like. IF you decide to purchase from your local Lowes; I’ve included pictures of the bags for each step and included the bag part numbers in the shopping list below between ()s.

The total cost of this shopping list isn’t exactly known as the Author has some parts on hand. The plumbing and Auto-Drain valve combined costs about $80 in total. YMMV as costs on these items can vary. Time wise; again it’s tough to say because I had it spread over several days as I waited for parts to arrive from Amazon prime. I estimate you could finish the whole project in an afternoon if you have everything ready to go.

Shopping List:

Tools Needed: (suggested)

BF-815NL
Tools Needed

Please note: This retrofit process will likely void the warranty of your CAT air compressor especially if you perform the electrical modifications. The Author of this blog entry is not responsible for any damage you do to yourself or your property.

Duplication of or Plagiarizing from this blog entry is not permitted without written consent from the author and Pinball-Mods.com.

RetroFit the plumbing:

  1. Begin by determining which direction you want the drain valve to go. I’d advise you put the air compressor in its final position and determine which direction the valve assembly should go and drain. The author choose to install his valve assembly going to the right as your looking at the machine. To ease working on the compressor; put the compressor on a work surface on it’s side so you can get easy access to the drain. The Author worked up in the Z direction as he assembled the plumbing.
  2. Remove the stock ball valve on the underside of your air compressor’s storage tank. On my CAT; the factory installed with some clear plumber’s goop to help prevent air leaks. The result is you may have to use a little bit of force to break the clear sealant inside the threads.
  3. Next; install the 1/4in MIP x 1/4in FIP Brass 90 Street Elbow in the drain hole as pictured:

    BF-739NL
    1/4in street elbow (90deg)

    Be sure to wrap the male end of the elbow in teflon pipe tape

  4. Wrap both ends of the 1/4in MIP x 2-1/2in Long Brass Pipe with pipe tape and install it into female end of the elbow. Use your robogrip or Pipe wrench to make the connection tight.

    BF-739NL
    1/4in street elbow (90deg)
  5. Wrap the male end of the 3/8in MIP x 1/4in FIP Brass Pipe Bushing with pipe tape and install it on the remaining end of the brass pipe. Snug it up with an appropriate sized wrench.

    BF-778NL
    3/8in MIP x 1/4in FIP Brass Pipe Bushing
  6. Install the 1/2in FIP x 3/8in FIP Brass Reducing Coupling onto the 1/8″ MIP fitting and tighten.

    BF-815NL
    1/2in FIP x 3/8in FIP Brass Reducing Coupler
  7. Carefully disassemble the drain valve using the top silver nut and the star washer. This should allow the black plastic body to be removed from the brass assembly. Then you have access to the brass nut holding the actuator assembly to the brass body. Remove it. Note how the device comes apart because you will need to reassemble the valve properly once its completed installed on the machine. Take care as there is a spring and small brass piece inside the brass could get lost. With the black electrical case and valve assembly removed; you’ll be able to install the brass fittings in the following steps.
  8. Now thread the drain valve assembly onto the 1/2 FIP coupler from above after pipe tape-ing the male end. Make sure the final tight position of the valve is parallel with the bottom of your tank. The black switch body and actuator should have enough clearance to set just under the tank. Open the assemblies ball valve now.

    drain valve
    1/2in Auto Drain Value assembly
  9. Tape the male end of a 1/2in MIP x 1/4in FIP Brass Pipe Bushing and tighten on the Valve assembly.
  10. Tape both ends of the 1/4in MIP x 1-1/2in Long Brass Pipe and install onto the 1/4″ FIP bushing.

    1/4in MIP x 1-1/2in Long Brass Pipe
  11. Install the 1/4in FIP All Ends Brass Tee as shown. Ensure the final tight position has the top opening in the direction of the top of the compressor. This will be the inlet of the Problem 2 and 3 filters drains.

    BF-703NL
    1/4in FIP All Ends Brass Tee
  12. Tape the male thread of the 1/8in ID Hose Barb x 1/4in MIP and install it on the top facing opening.

    BHB-85NL
    1/8in ID Hose Barb x 1/4in MIP
  13. Tape the male thread on the first 1/4in ID Hose Barb x 1/4in MIP and install it on the remaining opening of the tee. This will be the outlet for all water and will eventually go to the bucket.

    BHB-192NL
    1/4in ID Hose Barb x 1/4in MIP
  14. Thread one end of the 0.71ID vinyl tube onto the 1/8in hose barb. Cut the tube off about half way up the side of the tank.
  15. Slip the end of the 0.71 tube into the compression fitting and tighten it onto the bottom end of the Tee. For instructions on installing compression fittings; see this youtube video; however, note that the tee’s compression sleeve is build into the brass nut. Loosen the compression fitting from the Tee and verify the compression fitting is solid. Tape the male end of the fitting and reinstall.
  16. The fitting opposite the drain should be plumbed to the bottom of the Air/Water separator using additional 0.71tube. This separator will have the most volume of water; so it should have the easier path. Remove the existing black tubing on the bottom of the water seperator.
  17. The perpendicular fitting should be plumbed to the bottom of the Chemical Air dryer as large volumes of water are not expected from that part. Remove the existing black tubing on the bottom of the Air Dryer.

    0.71in ID Hose routing
  18. Secure the compression Tee fitting to the side of the tank using a self-adhesive tie down and a zip tie.

    CP-12NL
    1/4in x 1/4in x 1/4in Compression Tee
  19. Cut the 0.71ID tube between the compression tee and the 1/8″ID hose barb at about the halfway mark. This will be the location for the 4mm ID Check Valve. The direction arrow should face the hose barb so that only the water can drain and prevents at pressure air from the tank from back-flowing into the filters.

    Check Valve
    4mm Check Valve
  20. Reassemble the solenoid valve (reverse of disassembly).

    solenoid
    solenoid
  21. ReAttach the electronics to the valve as shown. Note that the “AC in” port of the drain valve should be in the same direction as the 1/8in ID barb (IE facing top of compressor).

    valve Electronics
    valve Electronics

The idea behind the Tee is that water drained from the filters will flow thru the check valve and pool at the outlet of the auto-drain valve. When the drain valve fires; the compressed air+water from the tank will force the pooled water after the valve up and into the bucket will provide later.

We’ll pick up the final bucket assembly after a short break of electrical wiring.

RetroFit the electrical:

Please note: The following electrical retrofit will likely void the warranty of your CAT air compressor. When in doubt consult a licensed electric professional. The Author of this blog entry is not responsible for any damage you do to yourself or your property.

The drain valve operates on 110VAC on the CAT air compressor. MAKE SURE you unplug the compressor from the wall and verify no AC power is present before proceeding. Always make sure the unit is unplugged before continuing work.

There is no clean way of getting switched AC from under the compressor’s switch cover. The Author decided to tap into the wiring harness outside the switch cover. This means that the Auto Drain valve will not always have power and the timer functionality will be effectively disabled unless you are running the compressor at a very high duty cycle. In the Authors case; he expects the auto drain valve to fire each time the compressor comes on; which should be good enough.

You could choose to wire this directly onto an AC plug so the auto drain valve fires as it is intended. This would mean you would have to unplug it each time you power off the air compressor. The Author chose to keep the wiring “inside” the compress as a single unit with one plug to supply power.

The author went overboard on this wiring job; channeling his sleeving powers to make the installation look nice, neat, and professional. He installed some “molex” style connectors as a “y” in the harness to allow the auto-drain valve to be disconnected in the future (or re-wired). This is by no means required; as you could use the same technique CAT used with crimp style connectors. The Author’s method is just one way of solving the problem.

  1. Begin by locating the AC wiring harnesses. The Author checked under the power switch body and identified the black harness. Showing that inside the black harness there was a blue and brown wire which goes to a couple of the AC powered components on the top of the compressor. These were sealed in black heat shrink. Cut the heat shrink away to reveal CAT’s crimped pin connectors.

    valve Electronics
    remove heatshrink
  2. Cut away the existing crimped-on connectors and use a 0.093 2pin connectors with a Y connection (white/brown) in the picture. Basically we’re adding another connection the compressor side of the harness. Crimp the 0.093 male connector for the compressor side and the female connector on the accessory side. The Author used female sockets on the male connector and male pins on the female connector. The idea here is that the pins when disconnected from the main harness cannot easily be touched – lessening the shock possibility.

    0.093 AC connector
    0.093 AC connector
  3. Crimp on the 0.062″ connector for the new auto-drain valve. Again male connector, female sockets compressor side. Female connector, male pins on the drain valve side.

    0.062 AC connector
    0.062 AC connector
  4. Route the drain valve ac connection over the top of the compressor, down near the Tee. Disconnect the AC inlet on the drain valve and wire the socket. The author connected the white hot wire to pin 1, the brown neutral to pin2, and the green ground to pin3.

    valve electical
    valve electical connection
  5. But… wait Seymour. A 3rd Ground connection? I’m lost… Clearly the AC wiring harnesses of the compressor only have a hot and neutral connection. There’s no third wire. The Author got the ground connection from a screw at the top of the compressor. If you look under the power switch; you’ll see that the ground basically ties into the metal tank. My multimeter check show that any threaded connection will serve as a good ground. More data to follow.
  6. With the drain wired; put a 1/2in strain relief in the hole and route the ac cable up to the same mount used for the Tee and secure it there.

    strain relief
    strain relief
  7. Route the drain power behind the handle and secure it with another mount and zip tie.

    make it look pretty
    secure AC
  8. Finally, secure the new connectors onto the other side of the compressor tank. The Author didn’t have large enough heatshrink for the 0.093″ connector; but, he secured it the 0.062″ connector with heatshrink and a zip-tie mount.

    make it look pretty
    secure AC harness

With the electrical complete; you can test the functionality of the auto drain valve. When you first turn on the compressor; the auto valve will fire releasing air out the 1/4in barb fitting. Note your tank will probably be empty when you first fire it up. For that you can watch that the LED comes on Green then goes to red when the valve is closed. You can also let the compressor run for a minute or so and then turn off the compressor with some air in the tank. Then turn it back on and you should hear the drain valve open.

Because the author has his valve fire each time the compressor turns on; he set the time open to the shortest value. This should keep the tank empty of water each time the compressor turns on.

RetroFit Plumbing (continued):

With the electrical complete and tested; it’s time to plumb the exit barb into a reservoir of some type. For this it’s really up to you as to what container you want holding the water. The Author had just used up the last of his Windshield additive so this made a simple, cost effective reservoir. You can use anything you’d like; but we’d recommend something sealed (with a lid) to limit accidental spilling and blow back from the compressed air+water.

  1. On this reservoir; we cut 3 ‘v’shaped holes in the top of the jug above our intended inlet. This is to allow the air to escape but try and contain the water. Failure to put vent holes will likely lead to catastrophic failure of your container. 😀
  2. Identify an inlet location which will be the final 1/4in ID Hose Barb x 1/4in MIP. Wanted the water under pressure to eject downward; so drilled on the top angled surface of the jug. Using a 3/8″ drill bit; drilled the pilot hole and the used the step drill to get right sized hole so the barb could be threaded.

    reservoir inlet
    reservoir inlet
  3. Connect a section of 1/4in ID vinyl tubing to the reservoir.
  4. After about 4-6 inches of tubing; cut. Install the swagelok quick disconnect. On this part; connect the button side which auto closes to the reservoir side. This way; the reservoir remains pseudo-sealed until while you transport it to your dumping location.

    Quick Disconnect Coupler
    Quick Disconnect Coupler
  5. Connect the other end of the coupler to 1/4in ID tubing.

    Quick Disconnect Coupler - male
    Quick Disconnect Coupler (male)
  6. Finally cut a suitable length of the tubing and connect it to the exposed 1/4in barb on the bottom of your tank.

    Final Connection
    Final Connection: 1/4″ barb

I have yet to use this system extensively; but I’ll report back if there are any issue and their possible solutions. Hopefully, you have found this blog post useful. If so; feel free to comment below or share on social media.

Enjoy!

Agilent Infiniium 54832D: Upgrading

Just prior to Texas Pinball Festival 2018; I won an Ebay listing for a new-to-me Agilent Infiniium 54832D oscilloscope which was listed as “excellent used tested condition” from megasalvage.
Agilent 54832D 4+16 1GHz Scope

This is the kind of scope I fell in love with at work; but is much older, thereby within my budget. This scope is unique in that it instruments using Windows XP as the host operating system and has a full Pentium(r) III cpu with a whopping 512MB of main DRAM. The scope is really overkill for me – as I don’t see the need for 1GHz capability; but the 4 channel option is good as will be the +16 logic capability. The post below is a series of notes I took to upgrade this machine – documented for others on the internet.

First; The scope had some issues when it first arrived. The Acquisition boards failed self test (more specifically, the application just died with buffer overrun and exits).
54832D: Buffer Overrun
All channels reported random noise. The seller had tested the scope before he shipped; so the damage occurred during shipping. The Seller offered to exchange the scope but I convinced him that I should open the cover to see if any cables were loose (and/or reseat them). He agreed once we had a quick phone conversation. Armed with the Service manual I set about disassembling my new scope.

Upon opening the top cover; I saw nothing out of place, other than a extra screw being loose in the scope. From the service manual; I knew the ADC board was mounted under the motherboard behind the bottom cover so I removed it. Once I remove it I saw something very suspect:
54832D: Unknown Bracket
54832D: Unknown Bracket
Um… yeah; that ain’t right. At first I thought that bracket was suppose to hold the cables in place… but Then I noticed the VRM was also loose:
54832D: VRM lost
Yeap; that’ll do it… The ADC board was getting no power; so it was reporting random noise. I re-installed the VRM in it’s black socket and the screwed the bracket to it screw hole next to using the loose screw I found. I was a little concerned the bracket, screw, and VRM loose in the machine while I was attempting to get it to work would have caused irreparable damage – but I’d gone this far… so, I powered up the scope; saw waveforms… and it passed Self-Test. 😉

With the scope now functional; I needed to turn my attention to the OS installed on the beast. It had WinXP SP2 installed which is long out of date. Infact, Microsoft EOLed WinXP and no longer supports it as of April 2014. To make matters worse; it had an HP corporate OS build on it. It was set to an internal proxy server I didn’t have access to. So; I need to get a clean SP3 install on it. I spend about 4 days on this struggling by using an old XP RTM CD I had… then I tried a slipstreams SP3 image… all were giving me Key (licensing) issues. I didn’t have any recovery CDs from Agilent in my accessories bag. Before I got too far down the XP install hole – and while I had the Scope still open from the repair above; I decided to make a backup of the 4200rpm 20GB IDE mobile drive it had in it. Using CloneZilla I made a backup copy and then “restored” it to a VMWare Virtual Machine I had running on my main development PC. While tinkering around in the backed up virtual machine I noted that there was a “recovery partition” as /dev/sda4. In a hail mary; I set the recovery partition to active and unhidden and booted the drive in the scope. I was greeted with a Agilent notice that continuing would restore my scope to factory defaults! I let it restore the WindowsXP image and rebooted. But then had to go back into gparted and set sda4 to hidden and sda3(winxp) to active and boot. Windows XP SP1 came online with no bloat. It was pre-activated (due to Agilent’s OEM keys in the bios).

I wasn’t real happy with the 4200rpm laptop drive. It’s slow, old, and well – just sad in these modern days of SSDs plus SSDs in a Scope for reliability makes more sense to me. Why not just use a PATA SSD? Well; I’m not real fond of the “no name” brands available via Amazon these days. I had a lot of success using an mSATA Intel SSD w/ with a IDE to mSATA adapter for my NAS’s read cache… so thought I’d try my luck with this configuration. I ordered a Samsung Evo 860 250GB mSATA drive and a 44pin mobile IDE adapter to mSATA using Amazon Prime.

I restored my backed up copy of the hard drive to the mSATA drive; and then restored the factory image to the SSD and temporarily placed it on top of the scope while I was testing to ensure it all worked.
54832D: tmp
This also allowed me to move the drive to my VM where I could easily set active partitions and eventually use GParted to move sda4(RECOVERY) to the end of the drive and expand sda3 to a maximum size (~230GB). I had some concerns; but WinXP and the Motorola VP22 motherboard had no complaints about an order of magnitude larger partition.

With the SSD good; the saga of trying to get Windows XP up to SP3 with all security patches installed began. This was a lot harder than it should have been. I don’t know what the deal was… but I’m sure it has to due with the fact that XP has been “dead” for almost 4 years. No security updates, ect. I finally ended up downloading WinXP SP3 “offline” patch, IE7 & IE8 “offline” updates, and finally a cumulative IE8 security rollup. With this I upgraded WinXP SP1 -> SP3, rebooted. IE7, rebooted. IE8, rebooted, IE8 cumulative rollup, rebooted. Windows Update still wouldn’t prompt me for a whole slew of patches, so I was using some Google FU to follow some advice of some random people on the internet and booted into Safe Mode. When I did that; WindowXP safe mode did some additional installations that regular mode wouldn’t. I rebooted back into normal mode and still didn’t get any notifications of updates. My issue is that something was happening in the background as wuauclt was taking 100% of my CPU… but it never seemed to do anything useful. I was about to give up; so I set Windows Update service to “Manual” in services.msc and then went back to google.

My last effort was to set Windows Update to only notify me of updates; but not download and let me choose, then issued the command to kick off an update:
wuauclt /resetauthorization /detectnow

This caused Windows to almost immediately put the familiar yellow shield in my taskbar telling me there were a large number of updates. Yeah! I then rebooted and got a welcome message:
54832D: XP3 Service Packs
Several reboots later; I had every single one of the WinXP patches available.

Now; Microsoft is still supporting Windows XP… but only for Point of Sale systems. Someone smarter than me reported this clever registry hack to get these security patches thru April 2019.

With Security patches installed; I could safely install the drive in the scope using the original mounting bracket:
54832D: SSD on bracket
and installed it in the machine:
54832D: SSD on bracket

Why did I go thru all of this? Well; the CPU in these systems is from March 2000. The RAM is small by today’s standards. Additionally; a friend of mine at work told me that Agilent (Keysight) likes to charge for OS upgrades. I couldn’t find any evidence of this – but I knew that I’d want Win7 on the box… and Win7 would not like the single thread, single core, Pentium III running at 1GHz. It also wouldn’t like the small memory. I had serious doubts that the scope software would even function well with a heavier OS. So; I needed to leave the scope in WinXP but put as many security patches on the system to help protect it from my home network.

Sadly; I can’t seem to find a Windows XP compatible Antivirus protector to run on the box. Looks like everyone has implemented changes to their software to only support Win7 and beyond. I guess what I’ll need to do is revisit later or just make sure I have a backup copy of the drive if anything happens.

My last change hasn’t yet been implemented – but will be shortly. I need USB3.0 on this machine. USB1.1 is painfully slow when trying to load the OS. My plan is to pull the GPIB card from the machine (not needed for my application) and install a PCI USB3 card which claims to be WinXP. I’ll report back later if successful.

Additionally; I plan to rack mount this scope above my electronic workbench as it’s really too big for it. More on that later.

Intel Edison: USB Storage Sled

I’ve been spending the last year or so playing with the Intel Arduino products – Namely the Intel Galileo and the Intel Edison. One of my projects the last few months has been Making a LinuxFromScratch Linux Kernel with full build tools, Xwindows, and QEMU running WinXP SP3. Included in this build is a XWindows software FrameBuffer w/ VNC capability; that way I can run a networked gui and do some GUI type work.

Chrome x86 running on Edison under XWindows
Chrome x86 running on Edison under XWindows

The Edison is cool because it’s just powerful enough to run WinXP under QEMU without any software emulation. While I wouldn’t call the Edision a speed demon – it should be good enough to allow printer drivers to function. The onboard storage for the Edison isn’t really big enough to run WinXP from the eMMC flash; so I opted to run a SSD attached to the USB2.0 port of the Edison. Edison runs as the “master”. The end goal of providing “always on” scanner and printer driver capabilities for my old HP all-in-one color laser and the ULS-25E laser cutter.

Windows XP SP3 running on Intel Edison
Windows XP SP3 running on Intel Edison

I also wanted to run a rotational drive .. to act as a swap space for both Linux and for the Winblows PageTable. To do this; I built a Microdrive FLEX to 44pin 2.5″ IDE adapter board and attached it to the Edison via a usb->ATA adapter. I verified all of this works with a usb hub.

With the concept proven; I set about generating a Intel Edison USB Storage Sled. This PCB provides power to the Edision and then connects up a 4port USB hub. This hub then serves the USB->SATA->mPCIe->Intel SSD, a USB->PATA->flexIDE Microdrive, and an extra device port. I set about putting the Sled in a SparkFun Edison Block compatible form factor early in the design phase. Clearly this much stuff on one board prevents me from adhering to the tiny formfactor; so I grew it in the X direction to 4.5″ wide and about 2.1″ tall. This board provides all the power to run the SSD and PATA interfaces. The board is 4 layers; due to USB2.0 routing requirements / impedance matching.

Why the Sparkfun Edison Block formfactor? Well simply put; I wanted to be able to expand the “system” with more features I don’t forsee at the moment. Example: I do not currently need an SDIO card on my Sled – honestly; I’m lazy and don’t want to route the pins. But; if later I need it – I can just buy Sparkfun’s Block and add it to the system.

I’m requesting comments / suggestions / peer reviews for the design; as a result I’m posting it here. The first 3pages of schematics are Licensed to you as Derivative works of Intel and Sparkfun. The last 3 pages and the PCB Layout are currently ALL RIGHTS RESERVED Copyright 2015 by John Zitterkopf. ATM; I’m thinking I’d release the final design under a TAPR/NCL license… but I haven’t committed to that yet.
Prototype Schematics / PCB Layout

In addition to the features above; I’ve designed in some USB Muxes to aid switching the Edison into Device or Host mode (similar to the Intel Edison Arduino board). I’ve also included the Lipo Battery charging circuit to provide a limited UPS type capability to the design incase of small power outages due to lightning or what not. Lastly; I added an I2C eeprom which can be programmed by the Edison for the USB to SATA bridge chip.

Update 8/28/2015:

Here are some pictures of the finished prototype:
Secondary/Edison Side

Primary/mSATA side

Feel free to leave a comment here (which will be reviewed by a human prior to posting) or provide comments in the various threads / project logs below:

Xorg server on video-less NAS

Random notes while trying to compile Xorg (X-Windows) on a ARM NAS. Following recipe at:

Beyond Linux From Scratch (Version 2014-11-19)

The NAS box has no video harware; so I want a software rasterizer (swrast).

Step MesaLib-10.3.3 :

No video hardware won’t allow the default configure to work. Tried:

./autogen.sh CFLAGS="-O2" CXXFLAGS="-O2" --prefix=$XORG_PREFIX \
--sysconfdir=/etc --enable-texture-float --enable-gbm \
--enable-glx-tls --with-egl-platforms="x11" \
--with-gallium-drivers="swrast,svga" --enable-sysfs \
--with-dri-drivers=swrast --enable-osmesa --enable-xa \
--enable-gbm

I think I also had to go in a remove all i815, i865 referenced in configure.ac. This was done to avoid dependency on intel_drm which wouldn’t compile or be installed on my box.

Step Xorg-Server-1.16.2 :

Default configure options wouldn’t allow the server to compile. Complained about package ‘gl’ and ‘dri’ missing… likely because of the Mesa lib hoops I had to jump thru. The following allows ./configure to pass… make is in progress:

./configure $XORG_CONFIG --with-xkb-output=/var/lib/xkb \
--enable-dmx --enable-suid-wrapper --enable-install-setuid \
--disable-glx  --enable-xvfb --disable-dri

Had to patch os/log.c as my NAS’ GCC was too old.

End goal is to boot a minimal windows manager so I can run google Chrome browser and Google Cloudprint. Also as a learning for doing this on an Intel Edison board which also lacks video.

EOL