BMOW title
Floppy Emu banner

Archive for the 'Bit Bucket' Category

Windows 10 External Video Part 5 – Failure

I’m either very persistent or very stupid. After 4+ months, I’m still chasing unexplained problems with external video on the HP EliteBook x360 1030 G2 laptop that I bought in May. Recently I thought I’d finally solved it, but I was wrong, and now the problem is worse than ever. I am slowly going insane.

For the previous chapters of this story, see part 1, part 2, part 3, and part 4. Here’s a short refresher:

  • Windows 10 laptop with an external monitor, ASUS PB258Q 2560 x 1440
  • works OK during normal use
  • problems appear every couple of days, after a few hours of idle time or overnight
  • random crashes in Intel integrated graphics driver igdkmd64.sys (stopped after upgrading the driver)
  • computer periodically locks up with a blank screen and fan running 100%
  • Start menu periodically won’t open, must kill WindowsShellExperienceHost.exe
  • Windows toolbar sometimes disappears
  • Chrome window sometimes gets resized to a tiny size

This might sound like a random collection of symptoms, but I’m 99% sure they’re all somehow related to the external video. I suspect the external video is periodically disconnecting or crashing or entering a bad state, which causes errors for the Start menu, toolbar, and applications, and sometimes causes the computer to freeze.

 
Updates

Here’s a recap of the past month. On August 15, I switched from using an HDMI cable to a USB-C to DisplayPort cable. This did not fix the problems. On August 22, in the Windows advanced power options, I changed the Intel Graphics Settings power plan when plugged in to “maximum performance”, and also changed the minimum processor state when plugged in to 100%. The computer then went seven days without problems. On August 29, I also installed two “critical” HP updates: a BIOS update and an Intel Management Engine Driver update. Neither one mentioned anything about video issues in its release notes. The computer went a further 11 days without problems – 18 total days problem free!

Believing that the issue was resolved, on September 9 I switched back to an HDMI cable, which I prefer over DisplayPort for reasons of convenience. Within a few hours, the problems returned. I swapped the DisplayPort cable back in, and everything seemed OK.

But this morning, I once again experienced a frozen computer with a blank screen and fans running 100%. After forcing a shutdown and restart, the external monitor via DisplayPort no longer works at all. When I connect the cable, the Device Manager shows “Cable Matters USB-C Video Cable” but no external display is detected. I’ve tried rebooting and unplugging/replugging the cable at both ends, and cycling through options in the monitor’s menus, but nothing helps. Maybe the cable is broken? It was working last night, and I didn’t touch it after that.

 
Where Do We Go From Here?

I’m at wits’ end. Is this is a Window 10 driver problem? Laptop hardware problem? External monitor hardware problem? Cable problem? Multiple such problems at once? The sometimes long delay between problem episodes is frustrating any attempt to find a solution. Typically the problems appear every couple of days, but I recently went 18 days between problem events. That makes it almost impossible to make changes one at a time and draw conclusions about whether they helped.

A few people have suggested I try running Linux, to help determine whether this is a Windows problem or a hardware problem. I have briefly run Linux a few times, and it works OK. But I can’t devote 18+ days to running Linux simply as an experiment. Much of the software that I use is Windows-only, and I’m not interested in switching to Linux as my desktop OS right now.

I could look into repairing or returning the computer, but I’m not interested in that. It was a used/refurb machine, and not terribly expensive. While the money is not insignificant, my time and the disruption to my work are more important. I can’t be without this computer for three weeks while a reseller or PC tech experiments with it. If I need to move everything to another PC anyway, then I’ll simply go with that as the final solution.

I could try another DisplayPort cable. Maybe it simply broke somehow. That would be cheap and easy, and everything did seem OK via DisplayPort up until today.

I could also try switching back to my old 1920 x 1080 external monitor. In earlier testing from June-July, that seemed to work OK, but perhaps I just didn’t test it long enough. Reverting to the smaller and lower-resolution monitor would be a disappointment, but at this point I would be happy with any solution that works.

Finally, I could just replace the whole computer. That’s what I keep threatening to do, but I haven’t yet. Reinstalling and reconfiguring all the software on this PC would be a major pain, and the memory of that experience is still fresh in my mind from May. Several multi-gigabyte packages would need to be downloaded again, and node-locked licenses re-requested and regenerated for several software tools. When I went through the process in May, it took close to a week to get through it all.

Perhaps I could clone the existing hard drive and use it in the new PC, avoiding having to repeat all the software setup. But then I’d also be cloning all the HP-specific drivers and plugins and utilities, while missing out on all the vendor-specific stuff for the new computer. And I’d still need to regenerate the node-locked licenses for some software, even if I didn’t need to download and install them again. Maybe it’s better to start with a clean slate, even if it takes longer.

I know any computer can have hardware problems, and any OS can have bugs. But I can’t escape the feeling that this type of driver/hardware mystery is precisely why so many people dislike Windows. I feel like I’m living in one of those “I’m a Mac, I’m a PC” television commercials. If you have any suggestions for other solutions I could try (short of a sledgehammer), please share them in the comments.

Read 7 comments and join the conversation 

Windows 10 Crashes Part 4 – 2K Video

I’m still chasing after unexplained errors and crashes with the new Windows 10 powered HP EliteBook x360 1030 G2 laptop that I bought in May. See part 1, part 2, and part 3 for the backstory. The computer crashes, freezes, reboots, or experiences other problems every day or two when I’m not using it – I’ll return to the computer after a few hours and discover that something’s gone wrong. From investigation of event logs and other clues, the problems seem related to the graphics display. I’m using the laptop with an external ASUS PB258Q 2560 x 1440 monitor. On June 15 I uninstalled the HP OEM graphics driver and installed the generic Intel graphics driver, after which I had no more crashes, but I continued to see other problems:

  • computer periodically locks up with a blank screen and fan running 100%
  • computer is unexpectedly off, then hangs during booting
  • Start menu won’t open
  • Windows toolbar is missing
  • Chrome window gets resized to a tiny size

After a few months of testing, I believe I’ve finally isolated the problem: the computer can’t handle 2560 x 1440 graphics on an external monitor. If I use a 1920 x 1080 monitor, or a 2560 x 1440 monitor running at 1920 x 1080 resolution, everything is OK and the computer runs smoothly for weeks at a time. But switch to 2560 x 1440 resolution and problems reappear within a day or two.

What’s going on here? A previous commenter mentioned that for resolutions above 1920 x 1080, HDMI uses a different signalling method with a higher frequency data rate. That’s probably part of the answer, but if there were problems with the faster data rate, I’d expect to see video artifacts rather than Windows errors. I tried two different HDMI cables to see if that might help, but it made no difference. Perhaps the 2560 x 1440 resolution is forcing the integrated graphics hardware to work at a faster rate or in a different mode, exposing some firmware bug or hardware defect, or simply overheating.

As a last-ditch solution, as of today I’m running 2560 x 1440 using a USB-C to DisplayPort cable instead of HDMI. Maybe that will help, maybe not. If it doesn’t eliminate the problems, I’ll have to choose between attempting to RMA the computer or just living with 1920 x 1080 resolution. The lower resolution by itself isn’t so bad, but that solution would leave me with a useless 2K monitor. Anybody interested in some used hardware? 🙂

Read 8 comments and join the conversation 

Windows 10 Crashes Part 3 – New Clues

I’ve been struggling with unexplained Windows 10 crashes ever since I got a new computer in May. See part 1 and part 2 for the backstory. The symptoms were mysterious crashes and reboots that happened every day or two when I was not using the computer. From examining crash dumps and event logs, I found that most of the problems seemed related to the graphics display or window manager. I suspected that something about the computer’s handling of my external monitor was buggy – either in the Windows driver, the computer’s firmware, or the computer hardware itself.

I’m now more confident than ever that the external monitor is somehow causing the problem. On July 5, I swapped in a different external monitor and made a few other graphics changes, and since then I’ve gone 11 days with zero crashes or unexplained reboots. Unfortunately this new-and-stable config is not the config I actually want, so I still need to do more testing, but I think I’m getting close to a solution.

The computer is an HP EliteBook x360 1030 G2 laptop. It has a built-in 1920 x 1080 display. A second external monitor is connected by HDMI cable.

The crashes-every-day configuration was an ASUS PB258Q 2560 x 1440 monitor, connected with a no-name HDMI cable, and running at its native resolution. The Windows 10 Display control panel was set to “duplicate”, showing the same image on the external and internal monitor (scaled down). Scaling was set to 125% to make text more legible on the high-DPI external monitor.

The new-and-stable configuration is an ASUS VE228 1920 x 1080 monitor, connected with an Amazon Basics HDMI cable, and running at its native resolution. The Windows 10 Display control panel is set to “show only on 2”, effectively disabling the internal display. Scaling is set to 100%. Everything else is the same as before – same graphics driver version, etc.

Now I can do some A/B testing, and try to determine which of these differences is causing problems. Could it be something as stupid as a bad HDMI cable? Does the computer’s firmware not correctly handle scaling when the external monitor is a different resolution than the internal one? Could the 2560 x 1440 monitor actually cause crashes somehow, due to a bug in its firmware (I think HDMI is bidirectional) or electrical faults?

Read 5 comments and join the conversation 

Windows 10 Ongoing Crashes

My new computer continues to experience unexplained freezes and reboots, and I’m running out of ideas for fixing it. A few weeks ago I wrote about crashes in the Intel integrated graphics driver, and the symptoms have since changed, but problems continue. I’m now looking at either

  1. reinstalling Windows and all my applications, which would be a huge undertaking and might not fix anything
  2. replacing the whole computer and reinstalling all my applications, which would also be a huge undertaking
  3. resigning to accept a computer that can’t go more than a few days without crashing.

My previous Windows 7 computer easily ran for weeks without trouble, so this kind of instability is disappointing.

The new computer is a Windows 10 laptop (HP Elitebook x360 G2 1030). I use it with the lid closed, connected to an external monitor, keyboard, and mouse. I suspect this is the root cause of my problems. While this setup should work and does work most of the time, running a laptop with the lid closed doesn’t seem 100% robust. The computer sometimes seems to lose communication with the external monitor, or gets confused because the primary (internal) monitor is off. I see occasional event log entries like “A pointer device has no information about the monitor it is attached to”, window manager crashes, and other graphics related errors. And all of these problems happen while I’m away from the computer, when the external monitor is in power-save mode, but the computer is not asleep. When I return to the computer later, I sometimes find that it has frozen or unexpectedly rebooted.

I should emphasize that the computer rarely sleeps and never hibernates, so I don’t believe this is a sleep-related problem.

 
History

The first problem was crashes in the Intel integrated graphics driver igdkmd64.sys while I was away from the computer. Nearly every day, I’d return to the computer in the morning to find that it had crashed and rebooted sometime since its last use. Here’s what’s happened since then:

June 15 – I forced an update to the latest Intel graphics driver version 26.20.100.6890. This required completely uninstalling the HP-provided graphics driver first. Since then, I have not seen any more crashes in igdkmd64.sys.

June 16 – The computer was still running since the day before, but the Start menu and Cortana did not work. I restarted the computer and Start/Cortana began working normally again.

June 17 – The computer fan was blowing 100%, but both the external and internal screens were dark. I could tell that Windows was still running, because I heard the Windows disconnection sound effect when I unplugged USB devices, but nothing I did would get an image to appear on any screen. I forced a reboot with the power button. The event log showed several prior errors about the embedded controller (EC) not responding. In light of this, I disabled the 3rd-party program Notebook Fan Control. After rebooting, the computer hung on the boot screen with the HP logo, and did not proceed into Windows. After rebooting a second time, all seemed normal.

June 18 – The computer was still running since the day before, but once again the Start menu did not work. I used the task manager to terminate WindowsShellExperienceHost.exe, which then automatically restarted and restored normal Start menu functionality. Afterwards I fully uninstalled Notebook Fan Control. Following a tip related to broken Start menus, I also turned off the Windows option for Settings -> Accounts -> Sign in Options -> Use my sign-in info to automatically finish setting up my device and reopen my apps after an update or restart.

June 19 – All OK. The computer was still running since the day before, with no problems.

June 20 – All OK.

June 21 – All OK.

June 22-23 – Didn’t use the computer.

June 24 – All OK.

June 25 – The computer was still running since the day before, but again the Start menu did not work. I terminated WindowsShellExperienceHost.exe to get the Start menu working again.

June 26 – All OK.

June 27 – Didn’t use the computer.

June 28 – The computer fan was blowing 100%, but both the external and internal screens were dark. Nothing I did would get an image to appear on any screen. I had to hold the power switch to reboot the computer. The event log showed lots of errors in the preceding hours, including multiple desktop window manager crashes, and an application hang error from Microsoft.Photos.exe every 15 minutes stretching on for hours, all during a time when I wasn’t using the computer.

June 29 – The computer fan was blowing 100%, but both the external and internal screens were dark. Nothing I did would get an image to appear on any screen. I had to hold the power switch to reboot the computer. Nothing interesting was found in the Windows event log.

I don’t understand what’s going on here, but it’s a hot mess.

Read 16 comments and join the conversation 

Intel Integrated Graphics Driver Crashes

Here’s a mystery for Windows-lovers (or haters) – unexplained crashes in the Intel integrated graphics driver whenever the computer is left unattended. A few weeks ago I upgraded to a new PC, choosing an HP Elitebook x360 laptop that’s mainly used in a desk-bound docked mode. This computer is running Windows 10 Pro with whatever drivers HP saw fit to preinstall. The mystery began shortly after the new computer was put into service. When I’d sit down at the computer in the morning, I’d find a log-on screen and a blank desktop. All the programs and documents that I’d left open from my previous session were gone. Why?

 
Hunting the Cause

My first thought was to suspect Windows Update. Probably it was downloading and installing updates overnight, rebooting the computer afterwards. That would be annoying, but at least it would be explained, and wouldn’t happen too often. But the problem reappeared every day or two over the next week, sometimes even happening twice in the same day. I never witnessed the update reboot happening (or whatever it was), but when I’d leave the computer unattended for a couple of hours or overnight, I’d often find an empty desktop when I returned.

Eventually I thought to check the Windows event viewer (Control Panels -> System and Security -> Administrative Tools -> View Event Logs). Here I found symptoms of a very different problem than I’d imagined. The computer was frequently crashing and rebooting whenever I was away:

The same sequence of errors appeared five times over the last week, at seemingly random times of day: 9:25 AM, 5:25 PM, 1:26 AM, 8:21 AM, 12:57 PM. This doesn’t obviously fit with my usage of the computer. Some of the crashes happened an hour or two after I last used the computer, other crashes were 12+ hours after. The times also don’t seem to fit with any background task that I can identify.

I installed the program BlueScreenView to examine the crash dump files referenced in the BugCheck entries of the event log. Each crash dump appears to overwrite the previous one, so I was only able to example the most recent crash. To further complicate things, Windows appears to periodically delete the crash dump files according to some schedule I haven’t determined. But I was able to catch and examine several crash dumps over a few days, and all of them showed the same culprit. It was an error 0x0000007e (SYSTEM_THREAD_EXCEPTION_NOT_HANDLED) in igdkmd64.sys. A quick Google search revealed that igdkmd64.sys is the Intel integrated graphics driver for recent CPUs with built-in graphics hardware.

 
No Driver Update for You

My first thought was to update the graphics driver. Maybe the crash was caused by some bug that’s fixed in the current version. I visited the Device Manager and tried to update the driver there, but was told my driver version 25.20.100.6472 from December 2018 was already up to date.

Skeptical, I visited HP’s support site and confirmed that the latest driver version there is the same 25.20.100.6472. Then I visited Intel’s site to search for the driver, and discovered that the current version is 26.20.100.6890 and was released just two weeks ago on May 29. Aha! I downloaded the driver and attempted to install it, only to be denied:

It seems I had a special HP-customized version of the Intel graphics driver already installed, and the generic driver installer refused to replace it. Some more web searching suggested that it was almost always safe to ignore this and install the generic driver anyway, using the Device Manager to directly select the driver’s INF file rather than using the driver installer. But I was denied there too. Intel recently switched to some new type of driver installation that’s not backwards compatible with previous drivers, and they explicitly warn that bypassing the installer by manually choosing the INF will result in “minor to catastrophic” issues on your computer. Here’s the full text:

Important Note:

These new drivers labeled as Windows DCH graphics drivers are not backward compatible with our previous graphics drivers that we’re now labeling Legacy. This means if later you want to revert to a Legacy driver you will need to uninstall the driver via Windows Apps and Features and reboot the system before installing a Legacy driver. Failure to do so may result in minor to catastrophic issues on your system as well as system instability.

DO NOT use the INF / Have-Disk method to install or uninstall this driver as it bypasses the Intel installer designed to install these new drivers, thereby possibly resulting in minor to major system instability. For this reason, we’re not providing the ZIP file for the next several driver releases while users transition to this new Microsoft driver platform.

There’s probably a way to circumvent this and install the driver anyway, but since I have no specific reason to believe it will fix my problem, and Intel has warned me not to do it, I’m going to leave it as is.

 
Idle Speculation

That leaves me with unexplained system crashes without any obvious solution. But given the type and timing of the crashes, I can speculate about the possible cause.

The crashes always occurs when the computer is unattended, never (so far) while I’ve been using it. That suggests a problem related to sleep/wake, or else with some background process that only runs when the computer is idle. But the computer isn’t sleeping, or at least it shouldn’t be. The sleep timeout is set to 18 hours, and that seems to be working correctly. I don’t think the computer is sleeping or waking when these crashes occur.

The rather strange number of 18 hours was chosen to accommodate my backup software, Paragon Hard Disk Manager 16. It’s configured to do an incremental backup to an external USB drive every night at 12:30 AM. It’s also configured to wake the computer from sleep, if necessary, to do the backup. But I found that wake from sleep didn’t work, and if the computer was asleep at 12:30 AM, the backup wouldn’t happen. By extending the sleep timeout to 18 hours, it ensures that I’ll get a backup at 12:30 AM if I used the computer any time after 6:30 AM the previous day. That’s about right for my usage. These mystery crashes started at roughly the same time as when I installed the Paragon backup software, so maybe that’s a clue, or maybe it’s just coincidence.

The second detail of these crashes is that they’re in the graphics driver, so presumably they’re somehow graphics-related. This is a laptop computer used as a desktop, so the laptop normally has its lid closed and its built-in screen disabled, while I work with an external monitor, keyboard, and mouse. This isn’t exactly a rare setup, but it’s not the most common configuration either, and maybe it’s somehow contributing to the problem. I could try leaving the computer with the lid open for a while to see if that helps, but it’s not really how I wish to use the hardware.

There’s one more clue to consider. Also in the event log, I found many entries related to a problem with gfxdownloadwrapper.exe. I couldn’t find much information about this program on the web, but it appears related to Intel graphics drivers somehow. These errors first appeared on May 29 and the last one was on June 8, but the mysterious igdkmd64.sys crash has happened three more times since then.

The gfxdownloadwrapper problem is related, perhaps, but not a direct cause. For now this will remain a mystery, and an advertisement for why people dislike Windows.

Read 14 comments and join the conversation 

Shiny New Computer Setup

Upgrading to a new computer is exciting, but can also be a pain. Last week I replaced my primary desktop computer with a new laptop, and the setup has involved some bumps in the road. Read on for my take on high DPI displays, desktop vs laptop, data and program migration, and Windows 10.

The old PC was a Mac Mini running Boot Camp with Windows 7. It worked well enough, aside from some quirks with USB 3.0 and bluetooth support under Boot Camp. But the end of Windows 7 support is on the horizon. Now felt like the right time to update to Windows 10 and get some new hardware. The new machine is an HP EliteBook x360, so I can work on BMOW projects from anywhere instead of being tied to a desk.

 
High DPI Displays

Windows 10 has some work to do before it can match the Mac’s easy retina display support. Many programs scale correctly under Windows 10, but many don’t. Under Mac OS, high DPI displays just work. Whether it’s in the OS’s own windows and settings programs, or in 3rd party software, I’ve only ever encountered one program that didn’t scale properly on a retina display.

The same can’t be said for Windows 10. On a high DPI display, most of the built-in Windows programs scale nicely and look crisp, but a few items like file dialog boxes look blurry. Older third party software generally doesn’t scale well. You’re left with a choice between viewing programs at 100% scale where everything is tiny, or viewing them at a higher scale where everything is blurry. You might think that at least text should always scale properly, even if program icons don’t, but I haven’t found this to be true. Depending on what software you use most often, the experience with a high DPI display under Windows 10 may actually be worse than with a standard DPI display.

 

Desktop vs Laptop

For the first time in 30 years, my primary computer is not a desktop machine. Getting the absolute fastest performance wasn’t important to me, but I thought portability would be valuable. I’m primarily using the laptop as a desktop replacement, with an external monitor, keyboard, mouse, and USB hub. But I can unplug everything and walk away with the laptop when I need to.

I hadn’t anticipated the drawbacks of using a laptop as a desktop replacement. Fewer I/O ports, limited expansion, and higher cost were all expected, but I’ve found that a laptop-as-desktop simply doesn’t work as smoothly as a desktop. Sleep doesn’t work well. Sometimes I can’t wake the computer from sleep without opening the laptop lid. Sometimes the external monitor fails to turn on after waking from sleep. The computer occasionally gets confused about applying scaling settings appropriate for the internal or external display.

And the most surprising discovery about this laptop-as-desktop? It’s loud. Louder than any other desktop or laptop I’ve ever used. On battery power the Elitebook is nice and quiet, but when plugged in, the fan roars any time CPU usage gets above 10-20%. It doesn’t take much to reach that threshold – unzipping a file, rendering a busy web page, or even a background process can start the fans going. A laptop doesn’t have anywhere near the cooling capacity of a desktop case, so the fan has to work very hard to keep the CPU cool without forcing it to throttle to lower GHz.

At lower fan speeds it’s not so bad, but at max fan speed the Elitebook is so loud that it’s nearly unusable. I can configure the power settings for energy savings instead of max performance, and then it’s quieter, but there’s a huge performance hit of 25% or more. That makes the new computer as slow as the old one it replaced.

 
Windows 10

I disliked Windows 8.0 so strongly that I downgraded back to 7, so I approached Windows 10 with hesitation. I’m happy to report that the experience has been mostly good. In many ways, Windows 10 just feels like a more polished version of Windows 7. The wacky paradigm-breaking elements of 8.0 are gone, including charms and the disappearing start menu and everything running full-screen. Yes, the Metro / UWP programs are still there, but Microsoft seems to have stopped pushing it so hard and UWP programs work much like any other software.

The biggest gripe about Windows 10 that I’ve heard from others is the loss of control over updates. Compared to Windows 7, there’s less ability to control the timing of Windows updates or their contents. Automatic driver updates sound scary. I haven’t been using the computer long enough to experience this yet, but I’ll watch for it.

 

Program Migration

Copying all your data to a new computer is easy. Copying all your programs is decidedly not easy. In most cases you can’t actually copy the programs at all, due to their extensive reliance on the registry, extra DLLs, and other semi-hidden dependencies. Attempts to copy everything from C:\Program Files will generally result in a non-working copy. Third party utilities exist for copying programs between computers, but their success rate is questionable for anything beyond basic programs.

In most cases, the only real option is to reinstall all the programs from scratch on the new computer. If you’re lucky, you can download the latest version of the program, install it, and be done. But often it’s more complex than this – you may need to create an account or get a license key before you can download or install the software. And if your current version of the software is no longer available, the latest version may not always be a good replacement. Newer versions may be incompatible with your old data or other software components. In the worst case, the software may have been discontinued with no way to download it again.

Here’s a summary of which programs were a challenge to migrate.

 
Easy

iTunes, Inkscape, Notepad++, GIMP, VirtualBox, Saleae Logic, Atmel Studio 7, and various small utility programs were no trouble. I just downloaded the latest versions and installed them, taking only a few minutes. All of them worked fine under Windows 10, including the drivers for the programs like Logic that use external hardware.

 
Medium

I couldn’t log in to Gmail with Microsoft Edge using my Yubikey for 2FA. It would always appear to succeed, but then immediately complain “something went wrong”. Attempts to use my backup 2FA methods also led to the same error. I eventually gave up on Edge and installed Chrome.

Visual Studio Express 2015 is supposedly still available, but I couldn’t find a working download link. I use VS for developing several tools like the FC8 compression/decompression utility, and an internal order-processing tool. Microsoft seems to have abandoned the Express series, but fortunately Visual Studio Community 2019 worked smoothly with my old projects.

The driver for my Zebra 2844 label printer is built into Windows, but it requires some special print setup after installing the driver. I had to contact the eBay seller who sold me the printer two years ago in order to get the instructions again. Fortunately the seller is still around and willing to help.

The latest version of Eagle (PCB layout software) is subscription based, but the last non-subscription version (Eagle 6.6) is still available and works fine.

Quicken and Lattice Diamond (FPGA software tool for Yellowstone) required an account login before I could download the software. Diamond also required generating a new license key, even though the software is free.

I purchased CorelDRAW Suite a few years ago, and have an install CD with license key. But after installing it on the new computer, I was told the license key was already in use. By me! I had to unearth the login credentials for the Corel account that I created the first time I installed the software, and use it to update the license. Fortunately I’d used my real email address when I’d first created the Corel account, instead of supplying a fake one as I often do when I’m forced to create an account for some purpose I don’t want.

 
Hard

MPLAB is Microchip’s software for PIC development, and I use it for ADB-USB Wombat development. Downloading and reinstalling the software was no problem, but the Wombat project had lots of errors when compiled under the new IDE. I vaguely remembered installing some other software components several years ago in order to get MPLAB working, but I couldn’t remember what. It took several hours to untangle this hairball and refresh my memory, learning that I also needed to separately install the Microchip Library for Applications, the XC32 complier, and the Legacy PLIB. Four separate installs to get a working build environment.

The standard driver for my EasyPRO EPROM programmer only supports Windows XP. There’s a newer 64-bit driver, but it’s only available on a Chinese-language web site, and it took a long time to find it. Unfortunately I couldn’t install that driver under Windows 10 because it’s not digitally signed, which is now a requirement. I found the hidden Windows setting to disable enforcement of the signed driver policy, and successfully installed the 64-bit EasyPRO driver, but the hardware still didn’t work. The device manager revealed that “the driver for this device has been blocked from starting because it is known to have problems with Windows”.

After lengthy attempts to fix this somehow, I gave up and installed a Windows 7 virtual machine for the EasyPRO software under VirtualBox. The VM is configured to allow USB pass-through for the EasyPRO hardware’s USB vid and pid.

Migrating my Perforce database was challenging. While the rest of the world has largely moved to git, I still use Perforce’s free single-user configuration for source control of my projects. The version of the Perforce server that I’d been using is no longer available for download. I installed the latest version, and directly copied over my database files, but not surprisingly that didn’t work. I followed the instructions to export my old DB and import it into the new server, but that only produced an empty database. It required many hours of slogging through the Perforce documentation to understand what I’d done wrong, and successfully export and re-import the DB into the new server.

 
Hardest

My experience with the Xilinx development tools was the worst. I use the Xilinx ISE to develop firmware for the XC9500 CPLD chip at the heart of the Floppy Emu, so it’s essential to my business. The current version of Xilinx’s development tool is called Vivado. Sounds fine, except Vivado doesn’t support the XC9500 chip. The XC9500 may be an older product, but it’s still being manufactured and sold by Xilinx, so it’s curious why their software doesn’t support it.

For the XC9500 you need the Xilinx ISE WebPACK, which you can still find on their site. That’s OK, except the ISE WebPACK doesn’t support Windows 10… or does it? Read the ISE 14.7 description on their web site, and tell me what it sounds like to you. Notice there are a couple of references to “VM” that aren’t explained. Also notice the warning that this version only supports the Spartan 6 FPGA, even though it’s the ISE WebPACK that provides XC9500 support. Hmm.

The ISE is a huge many-gigabyte download, but when I finally finished downloading 14.7, I discovered two things:

  1. The software is actually a virtual machine image containing Linux and the Linux version of the ISE.
  2. They weren’t kidding about it being Spartan 6 only. XC9500 is not supported.

So that’s Xilinx’s solution to providing support for their older (but still active) products? Rather than adding support to Vivado, or updating ISE WebPACK to work on Windows 10, they give you a virtual machine image and tell you to run the old software under virtualization. The web page where the software is described doesn’t even mention this.

For reasons known only to Xilinx, even this virtualized version of ISE WebPACK is limited to Spartan 6 support only. To get XC9500 support I had to go back for another many-gig download of ISE WebPACK 14.6, which doesn’t work on Windows 10 and has no virtualized version. Fortunately I’d already set up a Windows 7 VM for use with the EasyPRO programmer, so I added ISE WebPACK 14.6 to that. Now I have to do all my CPLD development in a VM, but at least it works.

All of this would be understandable if the XC9500 were an obsolete, discontinued chip. Software companies can’t maintain support for legacy products forever. But the XC9500 is still being actively sold and marketed by Xilinx. They sell a product where the required development tools don’t work on any Microsoft OS released after 2009.

 

Are you thinking about upgrading your computer? What’s holding you back? If you’ve recently upgraded, how was the experience? Were any software programs challenging to migrate to the new machine?

Read 15 comments and join the conversation 

Older Posts »