Category Archives: Device drivers

Considering USB4 External Media

It’s a classic trade-off in more ways than one: cost versus speed. I’m prepping for an AskWoody story about external media on Windows PCs. For me, the big trade-off when considering USB4 external media is higher prices for higher performance. “How much higher?” you ask: that’s what I’m in the process of figuring out right now.

Whole Device Chain Counts When Considering USB4 External Media

Every step in the device chain counts when going for the speediest external Windows media. The starting point from the PC end is the USB port itself. Ideally, it should be USB4 or Thunderbolt 3/4, and support 40 Gbps throughput. Next comes the cable: it should be labeled USB4, Thunderbolt 3 or 4, or 40 Gbps. Next comes the storage device. For me, that mostly means an enclosure housing an NVMe SSD. That enclosure should be USB4 or Thunderbolt 3/4, and the NVMe should be Gen 3 (PCIe x3) or higher.

At every step you pay more to attain the current pinnacle of performance. (I’ve not yet seen any 80 Gbps devices, but they’re coming. Copilot tells me Intel’s 14th Gen HX-series mobile CPUs “are starting to support this technology. “) A quick search at Amazon tells me you can’t buy USB5 cables, docks, and so forth yet. My best guess: we’re looking well into 2025 before it goes mainstream.

Right now, the jump from USB 3.2 Gen 2 (10 Gbps) to USB4 (and TB 3/4 equivalents) is getting cheaper, but still costs. You’ll pay US$46 for the cheapest USB4 M.2 enclosures right now (more like US$75 and up for other options). That’s double the cost — or more — of USB 3.2 Gen 1 devices (UASP: see below). Cables cost US$2 to $10 more for faster varieties, which isn’t too punitive. You can’t take advantage of anything faster than Gen 3 NVMes. Thus, you can buy 1 TB for US$55-80, and 2 TB for US$93-130 or so.

The “big spring” comes from the cost of either buying (for laptops and so forth) or installing (for desktops with open PCIe slots, and ASUS is the only vendor I can find who makes one for US$126) to gain a USB4 40 Gbps port to plug into. My testing so far shows this DOES make a difference, and often offers better performance than older and rarer Thunderbolt 3 or 4 capable USB-C ports.

For Me, Backup Is the Killer App

I’m always messing with PCs, so I need to back up frequently in case I shoot myself in the foot and have to replace a mangled installation. It happens to me at least 1-2 times a week in my testing and research, so this is no joke. I find the cost of USB4 external storage worthwhile because it drops the time to make a complete image backup into the 2-4 minute range. It takes anywhere from 7-24 minutes to back up to UASP-capable external storage. This equates to USB 3.2 Gen 2 10 Gbps capability. It shows up with max read/write speeds in Cystaldiskmark in a range from 1000-1100 MBps.

If you look at the lead-in graphic, which comes from NirSoft’s USBdeview, you can see it references the UASPStore.sys driver and service. I’ve actually found this to be a clearer way to recognize when a USB 3.x port can provide somewhat higher speeds. If your USB 3.x ports are older (and slower) they’ll usually show a USBstor.sys driver instead (and max speeds in CrystalDiskMark in the 400-500 MBps range).

You pays your money, and you takes your chances. That’s how things go with external USB-attached Windows storage — and much else in life!

 

Facebooklinkedin
Facebooklinkedin

Reinstall Solves Nvidia Driver Issue

This morning, I noticed a new GeForce driver for the RTX 3070 Ti on my production system via the NVIDIA app. Perforce I installed same. Then the screen flashing started: on and off, and on and off, and … you get the idea. I’ve been here before, but usually when an old driver needs replacing. I tried to roll back (but the option didn’t light up) so I used the REINSTALL facility you see at the upper right of the lead-in graphic. I’m happy to report that such a reinstall solves NVIDIA driver issue. The blinking/flashing is fixed. Good-oh!

Why Reinstall Solves Nvidia Driver Issue

When a graphics driver misbehaves  — as in going into blink mode — it’s usually because the driver itself is messed up. Or it might be that communications between the driver and the device aren’t working properly. Either way, something needs to change.

Ordinarily I’d use the rollback facility on the Driver tab for the RTX 3070 Ti to revert back to the previous version. But, as you can see in the next screencap, the “Roll Back Driver” button is greyed out. Alas, that means there’s nothing to roll back to. Looks like the new NVIDIA app doesn’t keep old driver versions around. What to do?

Because it’s greyed out, I can’t use Roll Back Driver.

Fortunately, as you can see in the lead-in graphic, the NVIDIA app offers a REINSTALL option for the current driver. Because the installed version was blinking I figured I had nothing to lose by giving REINSTALL a try. So I did just that.  Just to make sure everything got replaced, I also checked the installer’s Clean Installation option. And fortunately for me, it worked!

The desktop is back to normal, and the blinking is behind me now. All’s well that ends well in Windows-World, especially when it comes to misbehaving graphics drivers.

Facebooklinkedin
Facebooklinkedin

T14s Mystery Ethernet Controller

As part of my usual shakedown for new PCs here at Chez Tittel, I went poking around inside Device Manager on the newly-arrived ThinkPad T14s. As it is a Snapdragon X Elite (Copilot+ PC) its networking interfaces come from Qualcomm. The laptop has no RJ-45 port (nor really, any room for one). And yet, a device named “Ethernet Controller” shows up in DevMgr in the always-puzzling “Other devices” category (see lead-in graphic). This has me chasing down this T14s mystery Ethernet controller.

Where’s the T14s Mystery Ethernet Controller?

Nowhere, as far as I can tell. I tried to find a driver for it, and couldn’t. I checked the chip and laptop documentation. I finally “got clue” when I looked in the User Manual under the heading “Connect to the wired Ethernet,” which reads as follows (helpful diagram included):

To connect your computer to a local network, you need a Lenovo USB-C to Ethernet Adapter. Lenovo USBC to Ethernet Adapter is available as an option and shipped with some computer models. You can purchase one from Lenovo at https://www.lenovo.com/accessories.

Shoot, Lenovo’s available model handles up to 2.5 GbE but requires separate purchase for an eminently reasonable US$32 or so. What I still don’t know is if the T14s chassis does include built-in wired Ethernet capability, albeit bereft of an actual link-up (which the illustrated item above nicely remedies). I’ve seen this on other Lenovo laptops (including the X380 Yoga which uses a proprietary laptop port rather than USB-C) so I’m still wondering…

Just Because I Can, Doesn’t Mean I Will

My local wired Ethernet still runs Gbe (1.0 speed, in other words). I’m not yet ready to upgrade my infrastructure to the higher speed. I can use my Starlink GbE dongle (USB 3.0 to RJ-45) instead if I must. That said, the Wi-Fi 7 interface on the T14s runs like a champ on my 802.11ac (Wi-Fi 6) network, so it’s all good right now.

It’s interesting that an Ethernet device shows up at all in DevMgr. I’ve never seen this before on Wi-Fi only laptops. But then, I’m still learning the ins and outs of Snapdragon X ARM-based Windows PCs. Good fun!

Facebooklinkedin
Facebooklinkedin

Dxdiag Shows WDDM Version Info

Just recently, I’ve seen coverage that proclaims a new Windows Display Driver Model (aka WDDM) is available as version 3.2. That said, it’s currently supported only in Copilot+ PCs running Windows 11 24H2. Since I happen to have one, I wanted to check to see if I needed to update that manually, or if WU/install had done so already. That’s how I learned that the Direct X Diagnostic Tool, aka Dxdiag shows WDDM version info on Windows PCs. You can see the output that confirms 3.2 is running as the lead-in graphic above.

Confirmed: Dxdiag Shows WDDM Version Info

Just for grins, I also ran the diagnostic tool on my Lenovo ThinkPad P16 Gen 1 Mobile Workstation. (Hint: to do that, enter Winkey+R to open the run box, type “dxdiag,” then click Enter.) It’s running Windows 11 23H2 (Build 22631.3958). According to the great ElevenForum.com tutorial from uber-tut-master Shawn Brink “Find WDDM Version in Windows 11” it should be running version 3.2. Yet dxdiag shows 3.1 as you can see here:This is more in keeping with the WindowsLatest story that clued me into this version upgrade’s availability. And indeed, Copilot confirms that it only runs on version 24H2, not on 23H2 (as the afore-linked ElevenForum tutorial asserts). I think I’ll shoot Brink a message to ask for his opinion on this apparent discrepancy. Stay tuned!

But Wait…There’s More!

For further grins, I checked one of my Insider Preview Canary Channel PCs right now, and observed that:

  • This version is part of the 24H2 family (Build 26257.5000)
  • It is not a Copilot+ PC (Intel 8th Gen/Tiger Lake i7-1180G7)
  • It also runs WDDM 3.2, as you can see here:

To me, this indicates pretty unequivocally that 24H2 is the way to get WDDM 3.2. Thus, it shows up on older PCs running 24H2 in the Insider Preview family tree, as well as newer ones with 24H2 pre-installed (right now, that’s only Copilot+ PCs). Go figure!

Facebooklinkedin
Facebooklinkedin

NVIDIA Driver Forces POPCNT Support

Hey! We’ve known it was coming for some time now. In February 2024, Tom’s Hardware reported: “Microsoft’s PopCnt restriction appears to be unbreakable.” This CPU instruction is part of the SSE4.2 Instruction set for Intel processors. It’s SSE4.2a for AMD CPUs, and also present in Snapdragon X as well. Indeed it’s been part of the computing landscape since 2008 for Intel, circa 2009-2010 for AMD, and since inception for ARM (including Copilot+ PCs). But now, with the introduction of version 555, NVIDIA driver forces POPCNT support. How so? Check the lead-in graphic. Windows 10 and 11 systems that lack POPCNT support will BSOD if they install this latest GPU driver version. Ouch!

Sussing Out NVIDIA Driver Forces POPCNT Support

You can read about this in the NVIDIA release notes for 555 (source of the lead-in graphic). It’s entitled “EOL Windows driver support for older CPUs without POPCNT instruction.” That pretty much says it all. The note recommends using Sysinternals Coreinfo to check for POPCNT support. (Indeed, it worked to show such support on the Lenovo ThinkPad T14s Copilot+ loaner PC.)

But on Intel and AMD PCs, I found it easier to use Franck DeLattre’s excellent CPU-Z tool to look for the SSE4.2 (or SSE4.2a) instruction set instead. The ARM version of CPU-Z is less than helpful in providing POPCNT info because it doesn’t natively map to any ARM instruction set. Here’s what comes up on my ancient i7 SkyLake desktop (running Windows 10 for lack of CPU support).

Note the “Instructions” entry that reads SSE4.2 (bottom of “Processor” block): that’s what we’re looking for, when using this tool to check for POPCNT support on Intel CPUs. WindowsLatest reports that CoreInfo doesn’t work reliably on all systems, and recommends other CPU check tools besides CPU-Z. Be sure to check it out for those details if one or the other of these tools doesn’t cut it on your rig.

Older PCs: Avoid NVIDIA 555

The real takeaway from this news is that owners of older PCs whose CPUs don’t support POPCNT should avoid updating to NVIDIA driver versions number 555 or greater. Otherwise, they’ll have to boot into WinRE, and use DISM at the command line to uninstall that driver to end a BSOD loop on that machine. You’ve been warned! I’d be inclined to take this as a early indicator that a hardware refresh should be in your future, too…

 

Facebooklinkedin
Facebooklinkedin

Getting Past Crowdstruck Requires Access

Last Friday (July 19), cybersecurity firm Crowdstrike pushed an update to its threat sensors. Ultimately, that ended up with over 8 million Windows PC unable to boot, stuck on a BSOD for invalid references in a kernel-mode driver. Behind the scenes, all kinds of companies from hospitals, to government agencies, to airlines, and more, found themselves unable to use updates machines after a post-update reboot. What really caused the heartburn? Getting past Crowdstruck requires access to affected machines on a one-at-a-time basis.

If you look at the BSOD screencap at the head of this blog post, you’ll see a driver named csagent.sys. This is the CrowdStrike Agent driver which runs at kernel mode by design. That ensures it can’t be easily accessed or tampered with by hackers. But when something runs as a kernel mode driver it must be rigorously and thoroughly tested and vetted, or it can crash any PC on which it runs. Errors, in short, cannot be tolerated. Oops!

Why Getting Past Crowdstruck Requires Access

Part of the Crowdstrike software run as a Windows kernel-mode driver. That means it has the same level of access as privileged parts of the OS itself. If any of this code throws an error — as Crowdstrike has publicly admitted its update did — Windows crashes itself. That’s by design,  out of an abundance of caution to avoid loss of data or other damage to affected systems.

Here’s where things get interesting. Windows can’t boot and run until the offending driver is removed. In turn, the affected PCs must boot into safe mode or a recovery image. Either can operate on the damaged Windows image, remove the bad driver, and stand Windows back up again. This is easy when admins or IT pros have physical access to affected PCs. Indeed, Copilot recommends using the “three strikes” method to get into Windows recovery. (Three consecutive boot failures autoomatically triggers Windows alternate boot.) Then, using WinRE (or Windows itself in safe mode, from the Advanced Boot Options), repairs can go forward.

The problem is that many, if not virtually all, of the affected machines stayed down, stuck in a “boot loop.” They remained that way because their operators DIDN’T have physical access to those PCs. I’ll bet that most of them had to be teleoperated through a KVM device that can work around PC  problems that extend all the way down to the hardware level (outside the scope of normal remote access and RDP). This kind of thing doesn’t scale well, either, so it takes time to work through hundreds to thousands of remote PCs (think of the PC behind the counter at AA or Delta, where the gate or ticket agent is completely clueless about boot-level Windows repairs).

An “Interesting” Problem, Indeed!

Far too many cybersecurity and IT pros found themselves in the grip of the old Chinese curse (“May you live in interesting times”) after the *291* driver for Crowdstrike  tried to run on Friday. Organizations that prepare and drill for these kinds of outages were doubtless at an advantage in already knowing how to broker and run boot repairs remotely. I can only imagine the hair-pulling that went on at other outfits less well-equipped to handle this outage.

Here’s a moral to ponder for those who run remote Windows PCs where physical access is impossible, difficult or impractical: Can your remote management infrastructure and automation work with a Windows PC that’s not booting, and won’t boot until it’s restarted in some special way? If your answer is “yes,” you’re probably over the Crowdstruck hump already. If your answer is “no,” you’ll probably make that a top priority as soon as you can kick-start and repair all remaining affected Windows nodes. In the meantime, my deepest sympathies…

Facebooklinkedin
Facebooklinkedin

Disappearing Printer Gets IP-based Fix

This weekend, we went out looking at new housing developments. To prepare for our quest, I went to print street addresses for model homes in Liberty Hill and Georgetown (two small towns north of here). But when I tried to fire off a print job to the Samsung networked printer next to my desk, Devices and Printers told me it was offline. I’ve learned to recognize it as a sign of driver corruption, so my disappearing printer gets IP-based fix. Let me explain…

Why Say: Disappearing Printer Gets IP-based Fix?

My Samsung ML 2850 is old enough that it does not support the Microsoft Universal Print drivers. I have to load a bespoke device driver to make it work. In turn, that means automated discovery of this network attached printer doesn’t work right, either. That’s why you see the IP address info for the device below in the lead-in graphic (courtesy of Advanced IP Scanner). I use the Add a Printer option that depends on its IP address instead.

The drill is familiar and runs something like this:

1. Notice the Printer is offline
2. Basic troubleshooting doesn’t help
3. Right click the icon in Devices and printers, select delete
4. Use the Add a printer dialog to start the process going
5. Click the “Printer I want isn’t found” option
6. Click the use IP address or hostname on the next pane
7. Use the printer’s IP address to install the current driver

This actually takes longer to explain than it does to execute. But it does work, and it seems I have to do this once every three months or so. I guess that’s the outcome of using a 10-year-old printer (that still works like a champ, BTW). Windows has left it behind, but it still keeps chugging along. Kind of like your humble author, I guess…

Windows 11 Proves More Friendly

Just for grins, I tried discovering the Samsung ML 2850 from a Windows 11 host on the same network. At first, it couldn’t see that device, either. But when I clicked the radio button labeled “My printer is a little older. Help me find it.” the Samsung device did turn up. I had to know enough to select the Microsoft PCL6 Class driver (which handles the interface between the Samsung and the Universal Printing stuff). But once I did that, everything worked as it should. Seems like MS has made Windows 11 rather more printer friendly than I expected (and friendlier even, in this case, than Windows 10). A pleasant surprise indeed!

Facebooklinkedin
Facebooklinkedin

Calc Key Follies Fixed

Here’s an interesting one. I have a Microsoft Comfort Curve 4000 ergonomic keyboard (and two more in my parts closet: I LIKE them). Lately, though, when I press the “Calculator” (Calc) key on the very top row of long, narrow silver keys at furthest right something odd occurs. Calc shows me a “blank face,” as you can see in the lead-in graphic. Basically it’s just a big blue block of nothing much. Attend, and I’ll explain I I got these Calc key follies fixed.

For the record, I don’t *want* to see the blank face of Calc. I want to see the keypad so I can use the darn thing, like so:

Multiple Methods Get Calc Key Follies Fixed

I discovered these methods partly by searching the web, and partly by experimentation. There are three of them, to wit:

Method 1: Close Calc, then hit the Calc key again. This one’s my favorite so it’s my go-to now. It involves the lease effort and goes fastest.

Method 2: Open the Calc app from the Start Menu. Even though pressing the Calc key shows a blank face, visiting the Calculator app through Start always works. It takes added mouse clicks, though. Until I figured out Method 1 by experimentation, this was my go-to method.

Method 3: Go to Settings > Installed Apps, click on the ellipsis for Calculator, Click the Advanced Options button, scroll down to Reset, then click the Repair button. That’s 5 mouse clicks and a bit of scrolling. Waaaaaaay too long for me, but it does do the trick. But then the question is: why does this condition keep coming back, even after an app reset? I think I know the answer: read on, please.

Special Keys Require a Custom Driver

The Comfort Curve 4000 keyboard has a whole row of elongated, narrow silver keys that use special, driver-based, context-sensitive macros. These do things like jump to the home screen, open a search window, open email, access the volume controls (up and down), and so forth. And yes, at far right you can see the Calc key that’s been acting up lately. They occupy the top row from left almost to the numeric keypad at right, as shown here:

My best guess is that something in the driver is losing its proper connection to the Calc app so that when the key is pressed once, it gets close to launch but not all the way there. Fortunately, it’s relatively easy to get the Calculator working as I’ve described.

But gosh, aren’t these little foibles fascinating? It’s a bit of a pain to run into them, true. But it’s a blast to figure out what’s happening and why, and then to find fixes or workarounds. Just another day here in Windows-World!

 

Facebooklinkedin
Facebooklinkedin

SDIO Replaces Studio with Game-Ready

I’m looking over what Snappy Driver Install Origin (SDIO) wrought by way of massive driver updates on a couple of Lenovo laptops. I noticed something interesting. Something perhaps even mildly disconcerting, in fact. In updating drivers, SDIO cheerfully replaces Studio with Game-Ready drivers for GeForce GPUs.

I’m not sure that’s what users would want, if informed in advance of this switcheroo. Indeed, I had earlier noticed and reported on SDIO replacing Realtek Universal Audio Driver (UAD) drivers with High Definition Audio (HDA) ones. As with the prior NVIDIA driver types UAD offers things that HDA does not. For example: UAD adds Realtek Audio Console support while HDA is a no-go. Thus, some users wouldn’t want to switch — myself included.

Why SDIO Replaces Studio with Game-Ready

Methinks SDIO’s approach to driver updates is pretty simple-minded. And indeed, the release date for the NVIDIA Game-Ready driver is newer than that for the Studio driver. A simple data comparison makes it “logical” for the younger item to prevail. But IMO that shows other considerations are needed. If you check the lead-in graphic, you’ll see that SDIO recommends Realtek HDA drivers, though I’m happily using UAD and the Realtek Audio console.

This kind of thing needs “exception handling” in SDIO. If it supported rules to over-ride strict date-based selection, it could easily work around the kinds of situations pertaining to NVIDIA graphics and Realtek audio drivers. I guess I’ll file a feature request to see what happens.

Know Your Tools; Work Around Deficits

This illustrates how important it is to observe and understand what tools are doing. When they do something unexpected or unwanted it’s often because the developer didn’t consider certain use cases. By bringing them to developers’ attention and learning how to work around them until they’re fixed, IT pros can keep on keeping on even when their tools don’t always work exactly as they want them to.

That’s life, here in Windows-World. I intend to keep watching, and keep enjoying its eddies and rhythms, for some time to come! Happy 4th of July, too, for those who celebrate this holiday.

Facebooklinkedin
Facebooklinkedin

Reboot Clears Little White Box

Here’s an odd one. Yesterday afternoon — right after updating the beta NVIDIA app, in fact — the right-hand display on my production PC starting showing a  blank area at its dead center. It appeared to be about 100 pixels wide and 15-20 pixels deep. It wouldn’t go away, no matter which apps I opened or closed. Happily, a reboot clears little white box this morning, so it appears it was temporary.

When Reboot Clears Little White Box, Then What?

Of course, I’m pretty sure the box wasn’t actually white. I set my desktop background to solid white routinely, because it supports the best screenshots for my writing work. I’m pretty sure it would have reflected whatever the desktop looked like in that region.

My best guess is that the screen simply wasn’t updating that rectangular region, and it was displaying its default appearance. Hence its color, which matches the desktop background (see lead-in graphic). Whenever the graphics driver was updating the screen, it skipped whatever range of addresses that box represented for each update, like it wasn’t even there. Which is sort of true, but also annoying.

Seems like yesterday’s driver update may have dropped those addresses. In retrospect, I should have tried the graphics driver reset shortcut (WinKey+Ctrl+Shift+B ) to see if that brought the box back to life. A reboot also resets the graphics driver, among many other things that may have been unnecessary. But it did the trick.

And boy howdy, that’s how the mop flops here in Windows-World this morning. It’s always an adventure!

Facebooklinkedin
Facebooklinkedin