All posts by Ed Tittel

Full-time freelance writer, researcher and occasional expert witness, I specialize in Windows operating systems, information security, markup languages, and Web development tools and environments. I blog for numerous Websites, still write (or revise) the occasional book, and write lots of articles, white papers, tech briefs, and so forth.

Bringing Up PowerToys Command Not Found

PowerToys v0.77.0 made its debut earlier this week. A cool new facility also showed up — namely, Command Not Found. This nifty PowerShell module “detects an error thrown by a command and suggests a relevant winget package to install, if available.” You can see that capsule summary in the screencap shown above. What I have learned is that Command Not Found requires installation, but also carries some dependencies as well. Thus, Bringing up PowerToys “Command Not Found” tool involves a little more work than other new items added in the past. It’s all good, though…

Steps in Bringing Up PowerToys Command Not Found

As you can see in the intro graphic above, Command Not Found (CNF) must be manually installed before it does anything inside PowerShell. This is simply a matter of clicking the install button shown at mid-right in that image.

And there are a couple of buts (pre-requisites, really):
1. Right now, CNF works only with PowerShell v7.4.0 or higher. If it’s not installed and running, that must be fixed.
2. CNF also relies on a PowerShell Gallery module named WinGet Client Module (ID: Microsoft.Winget.Client). Interestingly winget does not install PS Gallery items, but there’s a button in the PowerToys console shown above that will handle this for you. After it’s installed, you can check the CNF install logs or use the Get-InstalledModule cmdlet (another PS Gallery item).

Bringing Up PowerToys Command Not Found.winget-client

The Get-InstalledModule cmdlet displays all PS Gallery items in your profile.

If you’ve not yet defined a PS profile, this installer will report its absence. But don’t worry: running the CNF installer creates one for you. Thus, once you get past the pre-requisities (dependencies) and install CNF, it’s almost ready to use. You’ll need to refresh the current PS profile so it brings CNF into the runtime environment for Windows Terminal/PowerShell. The easiest way to do that is to close Windows Terminal, then open it again. When you type an unknown command into the prompt, PS will offer to install it for you as long as it can find a valid source. That’s what you see in the next graphic:Bringing Up PowerToys Command Not Found.vimcheck

The vim utility is uninstalled on this PC, so CNF shows potential install strings. [Click image for full-sized view.]

Note: Demitrius Denelon used vim as his example in touting this new capability for PS users, so I had to find out what it was. As its name led me to suspect, it’s a modified version of the ancient “vi” text editor that you can run inside PS. Use winget show vim.vim to see more info.

Cool New Tool

This is a great new addition to PowerShell. This heightens my willingness to experiment with and learn about new cmdlets. Now I know if I bang on an uninstalled PS Gallery item, this facility will tell me how to install it so I can use it right away. Mmmm good!

 

Facebooklinkedin
Facebooklinkedin

Panasonic FZ-55 Semi-Rugged PC

OK, then. I got a half-hour+ with a Panasonic team yesterday via Zoom. This group of folks included a couple of engineers, a couple of marketing folks (including the US product manager), and the PR person who put things together for me. The focus of our call:  the Panasonic FZ-55 Semi-Rugged PC shipped out for eval just before Christmas. It was a great call: I learned a lot.

Understanding the Panasonic FZ-55 Semi-Rugged PC

The best info nugget in the call: learning the FZ-55 Toughbook is a “semi-rugged” device. I also learned that the category of “ruggedized PCs” includes a “fully rugged” type as well. I snapped the default desktop background from the FZ-55 for the lead-in graphic: it’s pretty cool.

Semi-rugged PCs use cases invovle “somewhat harsh” conditions. But they’re not completely watertight or dust-proof. That’s what distinguishes them from fully ruggedized PCs (which indeed are water- and dust-proof). That said, as a  semi-rugged PC, the FZ-55 targets  use in field structures (including tents, vehicles, and so on). It’s also great for factory-floor conditions where there’s no airborne water (e.g. rain). Here’s a link to the US specsheet for the FZ-55.

Such PCs can handle wide temperature ranges (at least -25C/-13C to at least 50C/122F). They’re also built to withstand ambient dust and grit (with port doors closed), moderate vibration and shock, short-lived spills or moisture, and more. As one of the Panasonic techs explained “The FZ-55 is intended for use away from the weather, but works well in vehicles, tents, or other temporary strucures.” That’s because it’s semi-rugged: got it!

What About Fully Rugged (Toughbook 40)?

The Toughbook 40 is the FZ-55’s fully rugged counterpart. As you can see in the next image, it’s completely sealed up to make it water- and dust-proof.

Panasonic FZ-55 Semi-Rugged PC.tb40

The Toughbook 40 is fully ruggedized: that makes it bulkier but completely dust- and waterproof.

It’s got the same modular design, with user-removable expansion packs that include various port combinations, storage and memory add-ons, oodles of wireless options, and more. Surprisingly, it costs only around 25% more for similar equipment as compared to the semi-rugged FZ-55.  Peripherals and expansion modules are about 50-60% higher, on average. That said, the Toughbook 40 is an 11th-gen Intel platform not a 13th-gen platform. Thus, it lags somewhat behind the FZ-55 but with good reason, as I explain next.

A Tale of Two Lifecycles

Simply put, the FZ-55 is on a faster lifecycle than the Toughbook 40. In part that’s because fully-ruggedized PCs have a longer design and test cycle. It’ also because fully-ruggedized PCs have to be bigger and bulkier, to seal everything up. They require more expensive and demanding parts, with various related supply chain complications. In large additional part, however, it’s also because fully rugged devices aim more squarely at defense and emergency use (think FEMA, after a hurricane or firestorm). These agencies have hairy, complicated acquisition and purchase models and mechanisms, and don’t like things to change more often than absolutely necessary.

The upshot of all this is that semi-rugged devices run on a 3-5 year lifecycle for enclosures and platforms, with an 18-24 month lifecycle for the innards involved. That explains the FZ-55-3 model number, which indicates this platform (FZ-55) is on its third set of innards (3). On the other hand, the rugged PCs run on a 5-8 year lifecycle for enclosures and platforms, with a 36-48 month lifecycle for those innards. That explains nicely why an 11th-gen intel CPU remains a “current model” (this CPU family made its debut in early 2021, and is still inside the current window for both enclosure and innards).

That’s how things go in Windows-World, where semi-rugged PCs chug along on a faster timetable than fully rugged ones. Cheers!

Facebooklinkedin
Facebooklinkedin

Windows 11 Disks & Volumes Info

Here’s something I didn’t know. Through System → Storage → Disks & volumes, Windows 11 makes all kinds of storage device info available. Indeed, such Windows 11 Disks & Volumes info (see lead-in graphic) even includes “Drive Health” for suitably-equipped devices. Let’s explore a little bit more about what that means. But first, take another look at the graphic above.

Digging Into Windows 11 Disks & Volumes Info

What can you see in this graphic? The first section shows disk info for the internal SSD, a 1 TB Kioxia NVMe. It also shows bus, target and logical unit number (LUN 0) data. There’s a Status field that shows the drive is online. Next, a Health section shows remaining life, available spare, and temperature. Finally, Partition Style shows up as GUID Partition Table (GPT). Previously, garnering this info required accessing Disk Management and Device Properties. Fabu!

In fact, if you click on Advanced Disk Properties, the same Properties page you can access through those other utilities comes up. But to me, that’s not what’s most interesting. Turns out, older USB attached devices (USB 3.x, in my local case) do not show the Drive Health section. That only works for USB4 devices (including Thunderbolt 4 items, as USB4 is a strict subset of TB4).

Now I Get It, Yet Again

Once again, I’m seeing a tangible improvement in transparency and usability when plugging in newer and more capable (but also more costly) USB4 peripherals. Even on laptops like the 2022 vintage Lenovo ThinkPad P1Gen6 Mobile Workstation (which still relies on the Thunderbolt Controller not a USB4 Host Router) these benefits convey.

As I said before in an earlier blog post “NOW I get it.” The value of the new interface is starting to come ever clearer. When I talk to the Panasonic engineers in a few minutes, I hope I will learn more. Stay tuned!

{Note Added 4 Hours Later] None of the engineers or developers I talked to was conversant with the switchover from Thunderbolt to USB4 Host Router at the hardware level. They’re floating a discreet inquiry to the Japanese engineering team to find out more. When I get more info, I’ll share it here (or in a new post, as things unfurl). Again: stay tuned!

 

Facebooklinkedin
Facebooklinkedin

Incase Takes Over MS Branded Keyboards

Last year, MS announced it would stop making its company-branded mice and keyboards. As somebody’s who’s been using MS keyboards since Homer was a pup, I was naturally concerned. But those concerns were allayed last week. That’s when peripheral maker Incase announced it would sell those products as “Incase designed by Microsoft” items. Indeed, Incase takes over MS branded keyboards as part of that deal. As you can see in the lead-in screencap, that includes my beloved Natural Ergonomic 4000 (top center).

When Incase Takes Over MS Branded Keyboards, Then?

The announcement isn’t completely clear about exactly when this cutover will occur. When MS announced they’d  exit this segment of the hardware business (they’re sticking purely to Surface branded hardware going forward), they simply said they’d sell out of existing stock. Methinks Incase will need to ramp up and get going before the new incarnations of the old MS-branded items will reappear for sale.

Currently, my fave model under the old brand goes for about US$400 on Amazon. The last time I bought a pair was in 2020, and I paid US$108 for 2 of them from Newegg. I still have one unopened in the original box, but the one I’m typing on right now is about ready to be retired. It still works like a champ, but the keycaps for A, S, D, C, V and M are worn to invisibility, and many of the other right- and left-hand main keys are spotty at best. And I’ve spilled at least three coffees on this puppy over the past 3-4 years…

Hopefully, Incase Restores Rational Pricing

Most other vendors are selling ergonomic keyboards in the US$35 to $70 range (I just checked at Newegg). I’m hoping that means when Incase turns the tap back on they’ll fall somewhere in that range. If and when that happens, I’ll order another pair of keyboards. When I need a new one, I always order two, so I’ll have a spare in case something goes wrong with the one I put in service first. Fingers crossed.

At any rate, I’m grateful Incase took over these venerable mice and keyboards from MS. Hopefully, I’ll keep clacking away at the same layout until I decide to hang things up for my own retirement. Even then, I’m sure I’ll keep at least one around for old time’s sake.

Facebooklinkedin
Facebooklinkedin

Repair Version Feature Update

Hey! I noticed something new and interesting yesterday. When MS pushed a feature update into the Beta Channel, it included a “(repair version)” label. That’s why I’m representing this as a repair version feature update, based strictly on the MS presentation in WU (see lead-in graphic above). Uncharacteristically, MS says nothing about this in its 22635.2921 announcement. It does say “This update includes a handful of fixes to improve overall reliability” under the General heading, though.

Is Repair Version Feature Update A New Thing?

Hard to say, except by watching to see if this falls into regular usage, or comes and goes without re-use. I think it’s a useful label because it designates the feature upgrade as bug-fix and reliability oriented.

As things played out on my Beta Channel Test PC (2018 vintage Lenovo X380 ThinkPad Yoga), it was a pretty lightweight feature update. The download and GUI install portion finished in 2-3 minutes, and the post-GUI/reboot phase took less than 2 minutes. The changelog is virtually non-existent. The only other item not already quoted reads:

[Input]

  • Fixed a high hitting tabtip.exe crash which was impacting the ability for some Windows Insiders to input text.

It’s always fun to catch MS slipping new terminology into the mix. It’s impossible not to wonder if it’s going to stick. Stay tuned: I’ll keep an eye out and let you know if and when it pops up again.

Facebooklinkedin
Facebooklinkedin

Panasonic Utility Takes Roundabout Path

Heh! I have to chuckle about this one… In learning the ins and outs of the new Panasonic Toughbook FZ-55 I have in hand right now. I’ve been following instructions from the manual and, via e-mail, from the PR team. It’s been interesting. All of these sources have asked or advised me to “run the PC Information Viewer.” Good enough, but more interesting than it needs to be from a find & launch perspective. Indeed, this Panasonic utility takes roundabout path to get to the desktop. Let me explain…

Why I Say: Panasonic Utility Takes Roundabout Path

To begin, the tool is named PC Information Viewer. First, off I looked in the Start menu under “PC” and “Panasonic” (just in case, given its origins). Nada. Nothing under “All apps” matches this value.

Then the very nice and helpful PR person asked me to send output from aforementioned PC Information Viewer so the tech folks could look it over. Still couldn’t find it. But it did finally turn up. Inside the Panasonic PC Settings Utility, there’s a Support tab up top. When you click that tab, lo and behold! As you can see in the next screencap, a “Launch PC Information Viewer” button appears at bottom center. Notice also it’s deliberately low-res with big print and extremely easy to read (good design move, developers!)

Panasonic Utility Takes Roundabout Path.panpcsettings

THERE’s the right launch button!

And sure enough, when you click the button the PC Information Viewer utility opens right up, to wit:

Panasonic Utility Takes Roundabout Path.SetDiag.exe

And finally, here’s the PC Information Viewer application: SetDiag.exe.

By right-clicking its taskbar entry while running I was able to pop up the Properties window, where I learned the name of this program is SetDiag.exe. If only I’d been able to find that somewhere in the docs, I’d have been able to get there eventually using the run box. As it turned out I had to use the voidtools Everything search tool  to see its home folder:  C:\Program Files (x86)\Panasonic\pcinfo. That’s apparently not inserted into the PATH variable, either.

Sigh. Just sigh. But with a little perseverance I got it sorted… That’s the essence of thriving in Windows World: taking the directions as stated, and figuring out how to make them do something useful.

Facebooklinkedin
Facebooklinkedin

HWiNFO Bestows USB4 Insight

I just learned something very interesting. Most of it comes courtesy of the GitHub HWiNFO project.  Use it to garner system information and diagnostics in Windows. The lead-in graphic  shows a  Thunder-bolt 4 NVMe enclosure plugged into a Panasonic Toughbook FZ-55. There (upper right) it appears as a Crucial NVMe SSD with PCIe x4 controller. For reasons I am about to reveal, I believe HWiNFO bestows USB4 insight into the USB-C connection in use.

What HWiNFO Bestows USB4 Insight Means

That insight comes from the full text of the Drive Controller info. It reads “NVMe (PCIe x4 8.0 GT/s @x4 8.0 GT/s). That means the PC sees the external drive, plugged in through a USB-C port on the FZ-55 as a PCIe x4 device capable of up to 8 giga-transfers per second (that latter part is what 8.0 GT/s means).

Basically, rating throughput in GT/s gives drive makers a way to account for encoding overhead in the PCIe protocol. Note: 8 GT/s translates into 7.877 Gbps with overhead backed out. Indeed, what this really means is the connection clocks half the maximum speed per PCIe x4 lane (16 GT/s). To me that indicates this connection tops out at a nominal 10 Gbps ( aka USB 3.2 Gen 2×1).

Where USB4 Comes Into Play

This is where I finally get to see a feature in Windows 11 I’ve read about but hasn’t manifested on PCs in my possession. The Toughbook FZ-553 delivered just before Christmas displays a USB option labeled “USB4 Hubs and Devices” (see below).

HWiNFO Bestows USB4 Insight.settings.sys.usb

If I hadn’t seen the PCIe x4 stuff in HWiNFO, I’d never have looked for this!

Indeed, it was seeing the mention of a visible NVMe controller and its PCIe x4 details in HWiNFO that led me to start wondering about USB4 and related Thunderbolt support. On other (older) PCs, I’ve only been able to access info about USB4 and Thunderbolt devices through the Intel Thunderbolt Control Center app. That’s been present by default on those other PCs with high-speed USB-C ports. On the FZ-55, Thunderbolt Control Center is absent. It doesn’t even come up in the Store (though it shows up clearly as a search string).

OK, NOW I get it: the Intel USB4 Host Router does on newer PCs what the Intel Thunderbolt Control Center does on older ones. It makes USB4 storage devices visible and accessible. Good to know!

Thankfully, HWiNFO shows more about the device, including the NVMe maker, controller, and drive model (a 1TB PCIe x4 Crucial NVMe drive). Likewise good to know; more insight, too!

Facebooklinkedin
Facebooklinkedin

Overcoming WingetUI Hiccups

Lately, I’ve been switching between winget at the command line, and WingetUI (Martin Climent’s UI-based GitHub project). Just this morning, I observed that the CLI version didn’t see a couple of updates that WingetUI did — namely, PSGallery CredentialManager and a fresh update for the Python Interpreter (Python.Python.2). Interestingly, the source for Python does show up as “Winget.” But when I scan for updates in the CLI version it doesn’t “see” Python as out-of-date. But letting WingetUI run in the background, both updates kept failing. Thus, overcoming WingetUI hiccups took direct intervention and a bit of thought. Let me explain…

Get Busy: Overcoming WingetUI Hiccups

I’m not sure why both items failed in the background, but they did. Alas, I clobbered the error messages from WingetUI without recording them first. But when I ran WingetUI directly, the Credential-Manager upgrade went through immediately. But the Python update failed again.

Looking at the right-click options, I noticed that among its entries for individual updates, WingetUI includes a “Run as administrator” item. So I tried that next. This opened a Python update windows (which had not appeared during earlier attempts). And sure enough: it worked and the update went through.

Further Details Show Something Familiar

I couldn’t help but notice that WingetUI reported needing version 2.0.0 of CredentialManager while seeing version 2.0 already installed. I wrote about this version parsing peccadillo in my last post (Laughable Stardock Version Mixup) in connection with Start10. Here it is again, with a PowerShell Gallery element. Apparently, this happens more often than I’d noticed! This might also explain why it shows up in WingetUI and not in the CLI version: that latter runtime is incredibly careful about changing stuff when processes are running or when slight changes to the installer or runtime could occur. And indeed, Demitrius Nelon confirmed this behavior for me in an X/Twitter message last Friday, so I’m pretty sure it’s a real — if entirely trivial — thing.

As for Python, that’s a little more interesting. Looks like administrator privilege cracked some kind of access or permissions issue, and allowed the update to proceed. That’s a good “second try” technique for me to keep in my toolbox. Now that I’ve seen it work, I’m sure I’ll find occasion to use it again. Maybe you will, too!

Cheers, and welcome to a new year in Windows-World. It’s already off to an interesting start…

Facebooklinkedin
Facebooklinkedin

Laughable Stardock Version Mixup

I have to chuckle. Winget just told me to upgrade Stardock Start10 on my lone remaining physical Windows 10 PC. Why? It sees a version numbered 1.9.7.0 but wants to take that package to 1.97. Of course, they are one and the same thing, and the update install fails with error code 9, as shown in the lead-in graphic. This laughable Stardock version mixup tells me there may be an issue with how version numbers get parsed and divided up inside winget’s package database.

Laughable Stardock Version Mixup:
1.9.7.0 v 1.97

When I run the about screen from the version that’s actually running what you see next is what I see too. Guess what? The in-app update check confirms that 1.97 is indeed already running and the most current release. So what’s the confusion?

Laughable Stardock Version Mixup.197-already-on

Not only is 1.97 already running, in-app update says it’s current.

This is one of the little mishaps to which winget sometimes succumbs. It’s no big deal, and it’s actually kind of endearing. And it gives me something to report in to the team. Not that they’ll be short of things to do next week when the world gets back to work!

I’m guessing it will take one or two database corrections to fix this, and probably less than 5 minutes’ work. Perhaps I’ll be finding out. If I do, I’ll share here so stay tuned!

Facebooklinkedin
Facebooklinkedin

Speccy ToughBook BSOD Analysis

Here’s an interesting situation: after installing Piriform’s Speccy hardware inspection tool on the new loaner Panasonic Toughbook FZ55-3, it crashes every time I run the program. Indeed, you can see the corresponding BSOD screen in the lead-in graphic. The stop code is SECURE_PCI_CONFIG_SPACE_ACCESS_VIOLATION. The culprit: the cpuz149_x64.sys driver. After some online research, my Speccy ToughBook BSOD analysis tells me that this driver is attempting PCI data access that Windows 11 disallows.

To be more specific I found an Open Systems Resources (OSR) community discussion that lays out exactly what’s going on. The datails are nicely covered in an MS Learn item. It’s named Accessing PCI Device Configuration Space, dated 3/13/2023. Essentially it  constrains developers to use the BUS_INTERFACE_STANDARD bus interface, and specific read-config and write-config IO request packets to interact with said bus. Based on its BSOD error, the cpuz149_x64.sys driver apparently fails on one or more of those counts. That made me wonder: is there a workaround?

Speccy ToughBook BSOD Analysis Says: Don’t Use That Driver!

For grins, I found the offending item in my user account’s …\AppData\Local\Temp folder hierarchy. I renamed it with a sy1 extension. Then I tried Speccy again: it still crashed. Drat! The program is “smart” enough to see the file is missing and supplies a new one. Now that folder shows the old renamed .sy1 file and a .sys replacement (with today’s data and a recent timestamp).

Speccy ToughBook BSOD Analysis.file-returns

When I rename to deny access to the current instance, Speccy supplies a new one.

That can’t work. Inevitably, the program promptly throws another BSOD. According to the Speccy forum, this happens with Memory Integrity enabled (as it is on the TB, and I want to keep it that way). This is what causes the BSOD. What to do?

If You Can’t Fight, Switch!

Fortunately, there are plenty of other freeware hardware profile and monitoring tools available. I happen to like HWiNFO64 myself. So I’ve removed Speccy and am using it instead. It is well behaved in its PCI bus access behavior and causes no BSODs.

Frankly, I’m surprised Piriform knows about this issue and hasn’t switched to a different driver (apparently, it comes from Franck Delattre over at CPU-Z, judging from its name). But boy howdy, is that ever the way things go sometimes, here on the wild frontier in Windows-World. Yee-haw!

Facebooklinkedin
Facebooklinkedin