Category Archives: Recent Activity

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

Counting PCs versus Stars

The number of stars in the night sky might as well be infinite. We quite literally can’t count them all. But for the number of PCs in global use, we can do better. According to MS there are somewhere between 1 and 1.1 B Windows 10 PCs. Throw in another 300-400 M Windows 11 PCs. To be more accurate, MS calls them “monthly active users” which probably captures situations where one PC may host zero or more physical Windows instances, and zero or more Windows VMs, any of which must do something with an MS server in a 30-day period to get counted. But there’s more to counting PCs versus stars in the sky — namely, PCs running Mac OS and Linux.

Counting PCs versus Stars Takes More Than Windows

Copilot estimates the number of global PCs running Mac OS and Linux at around 300 M each. Thus, with the Windows global pop at somewhere between 1.3 and 1.5 B that puts the overall total at between 1.9 and 2.1 B. Sounds big, but consider that the same source (e.g. Copilot quoting Statista) estimates the global smartphone count at 6.8 B. That really puts things into perspective.

All this comes as prolog to yesterday’s coverage of a Canalys report — for instance, Martin Brinkmann’s Ghacks.net item — that estimates up to 240M PCs may wind up getting junked after Windows 10 hits EOL on 10/14/2025. Personally, I think this is mere headline fodder. Many users who want to keep running older PCs will do so even if they don’t buy into Microsoft’s ESU (Extended Service Updates) program. Many will switch over to Linux instead.

Though some will undoubtedly get junked, I don’t think that means all such devices will wind up in landfills, either. But for those inclined to put them on the curb, I’d recommend finding a safer means and a better place for disposal. US-based readers should recall, please, that Goodwill accepts and disposes responsibly of e-waste, including PCs. And don’t forget to wipe their drives — thoroughly! — before passing them on to anyone else. If there’s no Goodwill in your area, call your local city or county trash pickup provider: they’ll probably know something useful. Cheers.

Facebooklinkedin
Facebooklinkedin

Unboxing Toughbook Then Updating Same

I just got the kind of Christmas present that delights me. Even though I won’t get to keep it, I’m having a total gas unboxing, updating and setting up the Toughbook 55 PC that Panasonic sent Friday week. It’s a “ruggedized PC” designed for field use in hazardous duty situations (military, first responders, hostile environments, and so forth). In some surprising ways, tho, unboxing Toughbook then updating same has posed some interesting challenges and roadblocks. But it’s been fun!

And I totally lucked into this situation. At the end of November, my TechTarget story “The 6 best rugged computers for business use cases” went live. Shortly after, Panasonic contacted me to share more information about their latest Toughbook model. My response: if you can, please send me one to review. It took a while, but now I’ve got one in my hot little hands. Read on for more info, in what I plan as a series of descriptions and discussions. This one covers unboxing and initial setup and impressions. Others will go into more detail.

FZ55-3 Toughbook Specs

Here’s what came with the particular model FZ55-3 I received:

  • i7-1370P (14 Cores, 20 logical processors)
  • 32 GB DDR4-3200 Samsung M471A2G43CB2-CWE
  • Integrated Iris Xe Graphics Raptor Lake-P/U  GT2
  • 512 GB NVMe SSD Kioxia KBGBAZNV512G
    (PCIe 4.0, 1.4x OPAL)
  • 14″ InfoVision Display 1920×1080 (Full HD)
  • 1 or 2 GbE Ethernet adapters (I219-LM)
  • Wi-Fi 802.11ax (Intel AX211)
  • USB 3.2 (USB-C) & 3.1 (USB Type A) ports
  • Multiple Serial ports (Com 1, 3, 4 & 6)
  • LG-BU40N Blu ray player/burner
  • Plug-ins for (1) fingerprint reader, (2) smart card reader, (3) 2 serial ports (D-9 & D-15) + PS/2 Keyboard port

As you’d expect from a MIL-STD-810H compliant device, it’s tough, all buttoned up and ready for some harsh, demanding action.

Gotchas While Unboxing Toughbook, Then Updating Same

I did run into a series of little gotchas while bringing up the Toughbook (TB), then applying WU updates, and adding some some software to put it through its paces. Here’s the current list:

1. The TB wouldn’t connect to my Asus WAP right next store to my desk on a butcher’s rack. It would, however, happily connect to the Spectrum Arris box in the master closet (25′ away).

2. As an experiment, I elected to synch my local apps, settings and so forth with those on another PC (P16 Mobile workstation) during OOBE. This quit at some point with a generic and unhelpful “Something went wrong” error message. That said, this functionality returned on a later reboot and completed successfully. Go figure!

3. Updating and downloading took longer than I’m used to (possibly because of the more distant Arris Wi-Fi connection). I eventually switched over to wired Ethernet (GbE). It still took longer to download and update stuff than I expected it to: stiffer security built-in perhaps? That would make sense for certain kinds of “digital hostility” that this unit is built to withstand. A subsequent check (LAN file transfer for an iso Win11 image) showed it could well be the NVMe SSD that’s the bottleneck. More testing will resolve this.

4. Among my various usual post-install/acquisition software items, I installed Piriform Speccy. It immediately crashed the TB as soon as it ran. Sigh. BSOD with an out-of-bounds memory error. I’ve seen this on other PCs before, it’s from unauthorized access to the PCI bus. I’m using HWinfo instead (it works fine).

Seems pretty normal for bringing up a new PC in general, especially one that’s been deliberately hardened.

First Impressions

NVMe access speeds aside, this is a fast, capable laptop. I like the display (it’s bright and easy to read). The keyboard is immediately usable with tangible key travel and good key placement. It switches between Wi-Fi and GbE with ease and aplomb. Switching from a 14″ built-in display to a remote 27″ monitor means I have to pay attention to where I leave apps I close (or leave open) — otherwise, they show up off-screen on the smaller built-in display.

A unit configured like mine costs somewhere between US$3,600 and $4,000, as far as I can tell (from online shopping comparisons). This is the kind of system that costs more, but is designed to withstand grueling and rigorous situations and uses well outside the range of usual home or office environments. So far, color me impressed…

Stay tuned! I’ll be writing more about this unit over the next month. I’m especially impressed with the TB’s swappable modules and keen attention to protecting itself from schmutz and dust. I’ll explain more later — I promise!

 

Facebooklinkedin
Facebooklinkedin

Working SDIO Driver Updates

OK, then. I ‘ve been living and working with Snappy Driver Installer Origin (aka SDIO) for 4 or 5 months now. It’s an Open Source project from a person named Glenn Delahoy. Snappy has a comprehensive database of drivers (I’ve run only into 4 related elements — all part of a single device, really, for which it didn’t have drivers present). In working SDIO driver updates I’ve learned how to use the program in a way that should stay inside organizational policies for acceptable use (AUPs). Let me explain

Best Ways for Working SDIO Driver Updates

Snappy describes itself as a “portable tool.” What that means is you don’t need to keep it around. In fact, because it will get you the most current software and driver database indexes (and such content as you may need), it’s best to grab a fresh ZIP file each time you want to use it.

When you run the exe file (full name for 64-bit version: SDIO_x64_R759.exe), you must accept its license terms. Then you’ll see the screen that shows up in the lead-in graphic above. Note that it provides buttons labeled as follows:

  • Download All Driver Packs
  • Download Network Drivers Only
  • Download Indexes Only

Working Through The Buttons

These require some explanation. The first button (All …) speaks to SDIO’s architecture as a BitTorrent distributed environment. All Driver Packs come in at around 60GB, and by downloading them, you open the door for the host PC to act as a Torrent server for other users who wish to access the Snappy Driver databases. Because this violates every AUP I know of, don’t do this at work.

The second button (Network…) downloads driver packs for networking stuff so that PCs that lack drivers for wired or wireless Ethernet, Bluetooth, and so forth, can be “fixed” to access their local and other networks. You probably won’t need this, but it might come in handy sometime. Keep it in your hat…

The third button (Indexes…) involves an 18 MB download with the info that Snappy needs to  (a) identify all the drivers it recognizes on PCs on which its run and (b) find a match in its driver packs or report a driver it lacks. As I said before, I’ve seen missing drivers come up only one machine of the dozens I’ve used it on since last August (2023). That’s ultimately why it’s my go-to button in SDIO.

How I Use Snappy Could Tell You Something…

I use Snappy on my PC fleet once a month. I visit the maker’s page, where you will always find a link to the current version and database. I remove older versions from my Snappy folder, unZIP its ZIP file, and run the 64-bit version. After accepting the license terms, and selecting the “Indexes” button it tells me if I need any driver updates on the target PC where it’s run. Mostly I get a screen that looks like this:

Working SDIO Driver Updates.drv-up2date

With four months of regular use, I mostly see “Drivers are up to date” on Windows PCs.

It doesn’t bother me to get mostly “up to date” reports from Snappy. Indeed, that’s what I hope it will tell me. If the tool finds any drivers in need of update they will show up as a list in the upper-right quadrant. Simply by clicking Install(x) — where x is the number of out-of-date drivers Snappy finds — you can get it to catch that PC up with where Snappy thinks it should be.

So far, my results from using Snappy have been uniformly positive. I’ve not encountered any driver related issues since I started using it regularly a while back. That’s the basis for my coverage and (still-tentative) recommendation. Try it out — you may learn to like it, as have I.

Facebooklinkedin
Facebooklinkedin

Hello Default Blocks Enhanced Mode Login

Here’s an interesting Catch-22 — for me, anyway. If you want to move data into or out of a VM easily, you must run that VM in an”Enhanced session.” OTOH, if you run a VM in that mode, you can’t login. First, you must tweak a setting with the Enhanced session turned off for the moment. Why? Because a Hello default blocks enhanced mode login unless it’s turned off. Let me explain…

Unless Turned Off Hello Default Blocks Enhanced Mode Login

If you look at the lead-in graphic, you’re also looking in on a VM window via an RDP session. You can see the pull down menu from the control bar shows its “Enhanced session” setting is enabled (blue checkmark against light blue background).

Unfortunately, because of Windows OS defaults upon installation, a VM will also have the Settings → Accounts → Sign-in options set with “Require Windows Hello sign-in for Microsoft accounts” turned on. Alas, that means the Enhanced session VM window will come up, but it won’t respond to the mouse or keyboard to show a login prompt with its PIN or password text entry box. You can’t login under these circumstances until you uncheck the “Enhanced session” item, log in to the VM, then visit Settings and turn off the afore-mentioned Hello sign-in requirement. Once that is done, you can turn the Enhanced session back on, and it will work just fine to let you login. Go Figure!

See the Setting Info…

Here’s a screencap of the “Require Windows Hello…” stuff from Windows 10. The one in Windows 11 is virtually the same.


If you are like me, you use both RDP and VMs together regularly. That means this little maneuver is a useful and necessary part of post-install set-up/clean-up.

Facebooklinkedin
Facebooklinkedin

Fixing Windows 11 Boot Loop

Last Friday, we picked son Gregory up at the airport: he’s home for the holidays from college. That evening, he mentioned his laptop — a 2019 vintage Lenovo ThinkPad X390 Yoga — was “stuck on updates.” Boy, was he ever right: i found myself fixing Windows 11 boot loop as the machine hung after the post-GUI reboot in attempting to get through the 23H2 feature upgrade. Stuck, stuck, stuck indeed.

Fixing Windows 11 Boot Loop Takes Thought & Recall

As soon as I turned the PC on, I could tell it was cycling on processing updates. It just couldn’t seem to get past the spinning circle stage after the initial reboot. Multiple tries later — 3 of them, to be exact — the Windows bootstrap facility presented me with the recovery menu. “Aha!” I though “now I’m getting somewhere…”

Of course, then I had to remember to turn off secure boot in the UEFI so I could actually transfer control to a bootable WinRE environment on a flash drive (UFD). Startup repairs didn’t do it. The Macrium Reflect Rescue Media’s “fix boot problems” didn’t do it, either. But when I stuck the DaRT (Diagnostics and Recovery Toolset) UFD into the machine it finally got through a boot-up to alternate media.

On the next reboot, Windows recognized it was stuck in the middle of a failed update. It then commenced rollback to the previous 11 version and reached the desktop. At that point, I was able to run another Reflect backup (I did), and then start rolling forward again.

All’s Well That Ends Well

The pending Cumulative Update completed successfully, and rebooted correctly. I then fired off the 23H2 upgrade and crossed my fingers. This time, it completed without a hitch. The X390 is now fully caught up, cleaned up and has been backed up one more time.

I’m not sure what caused the first 23H2 attempt to hang in a boot loop, but it didn’t fall prey to that again. I think it may have been the attempt to apply the CU, then the 23H2 upgrade, in a single go. This time around, I made sure to reboot after the CU, before attempting the 23H2 upgrade.  By the time I worked through all the steps, the whole shebang took about 2 hours to fix. We were all glad when it was done — me, especially.

Facebooklinkedin
Facebooklinkedin

Final 2023 Insider Channel Flights

It’s a consistent pattern. I’m looking at the most recent “flight announcements” in the Windows Insider blog. All of them include this sentence: “This will be our last <Name> Channel flight until January 2024” where <Name> is one of: Canary, Dev or Beta. The most recent instance popped on December 14. Its header appears as the lead-in graphic above.

Why Say: Final 2023 Insider Channel Flights Are Out?

Beyond the flat assertions from MS indicating they’re on pause until after New Year’s, I’ll observe this is a typical thing for Windows development. It’s been ongoing as far back as I can remember. Indeed, it usually hits in the 2nd or 3rd week of December, before the major end-of-year holidays get going in earnest.

This makes pretty good sense to me. Productivity usually slumps between December 20 and January 3 or 4 (depending on what day of the week New Year’s hits — next year it’s a Monday). MS is smart to call a hiatus by the middle of the month, to give everybody time to gear up for, and then recover from, the hollidays. Most other businesses (except those in leisure and hospitality) tend to do likewise.

Take a Deep Breath, And …

Indeed, I just wrote my last weekly blog/column for GoCertify yesterday (it will publish Monday). And I’ve noticed the pace of work will be letting up with the websites and publications I write for starting next week.

Does this mean I’ll be taking a break from this blog, too? Yes and no. I probably won’t blog on December 24 and 25 or January 1, but other than that it should be close to normal as it ever gets here at Chez Tittel. I should have more time to fool around with my PCs, so I should find plenty of stuff to share. Do stay tuned if you’re so inclined, but I hope you’ll have time to enjoy the end-of-year break in your own special ways. Cheers!

 

 

Facebooklinkedin
Facebooklinkedin

Windows 10 Copilot Remains Elusive

There’s a new KB in circulation that claims to extend the reach of Copilot in Windows 10. That would be KB5033372, released December 12. But alas: on the lone eligible  physical PC and various Windows VMs here at Chez Tittel, Windows 10 Copilot remains elusive. It runs fine inside Edge, but will not show up as a Taskbar or Start menu item on any of their desktops. Sigh.

Why Windows 10 Copilot Remains Elusive

A quick visit to the KB announcement (link in preceding paragraph) gives me an excellent idea why my PC isn’t getting Copilot. Because some multi-monitor set-ups are subject to “mysterious icon migration” across or among desktops, MS has blocked it for such configs. Here’s what they say:

To prevent users from encountering this issue, Copilot in Windows (in preview) might not be available on devices that have been used or are currently being used in a multimonitor configuration.

And wouildn’t you know it: my Windows 10 PC runs with dual Dell UltraSharp 2717 monitors. That definitely accounts for my physical PC’s lack of Copilot. But I’m not so sure about the VMs. It may stem from my typical mode of access to them (using one of the two just-mentioned monitors) or it may be something else.

A Ray of Hope?

In the same KB announcement already cited MS also says that they’re “working on a solution and will provide an update in an upcoming release.” Here’s hoping that release is upcoming sooner rather than later!

And once again, I’m a Johnny-come-lately among all those already in the vanguard. But hey: that exactly the way that things go here in Windows-World. Once more with feeling, I guess!!

Facebooklinkedin
Facebooklinkedin

Recurring PowerShell Update Issue Easily Fixed

Deja vu! With the introduction of version 7.4.0, MS once again changed the PowerShell (PS) installer. That means Winget won’t update PS directly; one must visit the GitHub PS page and grab a new installer from there. Afterward, as shown in the lead-in graphic, old(er) version(s) of PS still show up when WinGet upgrade is run. Fortunately this recurring PowerShell update issue is easily fixed. Let me explain…

Fixing This Recurring PowerShell Update Issue

Take a look at the lead-in graphic. It shows a single upgrade to PowerShell, from version 7.3.10 to 7.4.0 is available. But when I try to use winget to do the job, it reports a change in installer methods and won’t handle this task. This requires a trip to GitHub (the whole process is described in my November 17 post) to grab and install PS using its Microsoft Installer (.MSI) file instead.

But there’s a catch: as you can see in the Apps portion of the lead-in graphic, the PS installer does NOT clean up older versions. Thus, not just one, but two older versions of PS show up therein — namely 7.3.10 and a 10/25/2023 Preview version. Winget will report that the 7.3.10 version needs an update because 7.4.0 is available. Thus, you need to uninstall that version to stop this warning.

So that’s just what I did. And because I’m not using the PS Preview any more, either, I uninstalled it too. Problem solved. But here’s a request to the PowerShell team: please add a check for older stable versions (e.g. 7.3.10 in this case) and offer to uninstall it during the new stable version install process. It would make life ever so much easier, thanks!

Fingers crossed that they agree. I’ll be sure to copy this to the winget and PowerShell teams leads when I tweet this item out later this morning, too. That said, the new PS window notification does instruct users to “uninstall the package and install the newer version” so maybe they’re not interested in tackling this job. We’ll see…

Recurring PowerShell Update Issue.notification

I can’t say MS doesn’t warn users. I can say I didn’t see it right away, though…

Facebooklinkedin
Facebooklinkedin

Counting MS 2006 Drivers

Yesterday’s post about generic, MS-supplied device drivers got me thinking. These drivers bear an issue date of 6/21/2006, which coincides with Windows Vista’s RTM date. To be more specific, I wondered how many such items might appear in the Windows DriverStore. With counting MS 2006 drivers in mind, I asked Copilot for a PowerShell script to count them for me. Just for grins I compared that count to the total items as well.

Scripting Out Counting MS 2006 Drivers

You can see the results of my query to Copilot in the lead-in graphic. That query was “Write me a PowerShell script to display number of Windows drivers dated 6/21/2006 and total driver count.” As it turned out, on my Lenovo X380 ThinkPad running Windows 11, those numbers were 517 (2006 count) and 701 (total count). On my i7Skylake homebuilt system running Windows 10, those numbers were 511 and 672, respectively.

I’ll show the PowerShell commands below, but first I want to observe I had NO IDEA that MS supplies roughly 5 of every 7 drivers that Windows uses (over 70%). From looking at the items in the DriverStore more closely thanks to PowerShell, I see that this is because many of them are class, bus and service drivers. You can thus understand them as part of the driver stack between the OS and the function driver (at the bottom of the stack, it actually interacts with devices).

Here’s how MS shows this architecture in its MS Learn article “What is a driver?

Counting MS 2006 Drivers.diagram
The driver at the bottom of the stack that communicates with a device is a function driver; according to the MS Learn item, filter drivers do “auxiliary processing” which may involve monitoring, verifying, translating, or otherwise manipulating in- and out-bound stack communications. By convention app to device communication moves down the stack, while device to app communication goes the other way.

PowerShell Details

Here’s the PowerShell that Copilot handed to me in response to my query, including comments (start with a # character):

#Get all the drivers from the online Windows image
$drivers = Get-WindowsDriver -Online -All
# Filter the drivers by the date of June 21, 2006
$drivers_2006 = $drivers | Where-Object {$_.Date -eq "6/21/2006"}
# Count the number of drivers with that date
$drivers_2006_count = $drivers_2006.Count
# Display the number of drivers and their names
Write-Output "There are $drivers_2006_count drivers dated 6/21/2006 in the online Windows image."
Write-Output "The names of the drivers are:"
$drivers_2006 | ForEach-Object {Write-Output $_.OriginalFileName}
# Display the total number of drivers
$alld = $drivers | Where-Object {$_.Inbox -eq "True"}
Write-Output "There are $alld.count total Windows drivers in the online Windows image."

Some of the lines shown above break across two lines in the browser, but are actually single PowerShell commands. If you run them, you must put them on a single line. I just ran the commands in sequence, one at a time as you can see in the lead-in graphic. I cheated, though: I simply output $alld.count in the last line shown. The PowerShell shown above wraps this in some explanatory text.

Facebooklinkedin
Facebooklinkedin