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.

MS KIR Fixes Wi-Fi Roaming Issue

One of the many things that makes big networks different from smaller ones is the added infrastructure they incorporate. This includes an authentication scheme called 802.1x aka Extensible Authentication Protocol (EAP, often implemented as PEAP). Its purpose is to allow mobile devices to roam across multiple wireless access points (WAPs) without having to re-authenticate as they move. A recent set of MS updates — namely KB5032288 and KB5033375 — fell afoul of this capability. That’s why the company has declared that an MS KIR fixes Wi-Fi roaming issue.

Who’s been affected? According to the press reports and the December 19 entry in the Windows 11 Known Issues document, it’s mostly been “enterprise, education or public Wi-Fi network[s] using 802.1x authentication.” A LOT of universities have been hit by these updates. Prior to this fix (see below), experts had mostly recommended uninstalling one of these updates to undo its effects.

Say What? MS KIR Fixes Wi-Fi Roaming Issue

KIR stands for Known Issue Rollback (see this MS Learn article for deets). I wrote about such rollbacks once in 2023 and twice in 2022, where each such occurrence auto-magically fixed a similar gotcha without requiring extensive user action or interaction. That said, MS does recommend restarting affected PCs, to make sure they replace the bad code with its working alternative. PCs should fix themselves within 24 hours of MS providing the KIR via Windows Update (or equivalent distribution mechanisms). It’s been out since mid-day yesterday, so it should turn the gotcha around by close of business today.

The KIR mechanism is a great capability inside Windows. It essentially replaces bad or broken bits of code with good, working substitutes without requiring explicit downloads and installs. Indeed, this fix is already in, and should be working its way out to affected PCs as you read this.

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

2006 Microsoft Device Driver Date

Here’s an interesting bit of administrivia. Look at any number of generic drivers inside Microsoft Device Manager. Invariably you’ll see some interesting and apparently ancient items. They’ll show Device Provider: Microsoft and a Driver Date of 6/21/2006. On a Windows 11 test machine just now, for example, I saw that very date under six-plus headings. That included Batteries, Bluetooth, ACPI, Remote Display Adapter, Device Firmware,  and USB . What’s special about this 2006 Microsoft Device Driver date anyway? Good question!

Understanding the 2006 Microsoft Device Driver Date

As it turns out, 6/21/20016 was the day Windows Vista released to manufacturing  (aka RTM date). Since then, when MS supplies a driver for a non-Microsoft device it uses this date. This pushes the driver far back in time. As Device Manager chooses a driver to install it picks the best match for its device ID AND the one with the highest version number and the most recent date.

Why do this? If the OEM (or some other 3rd party with driver signing authority) produces a driver, it will bear a newer date (and possibly a higher version number). Thus, the other driver gets selected and installed. This ensures Windows always installs the best possible driver for any device. And, most of the time, it works!

The MS Driver Date Rationale

As MS updates generic drivers, it increments the driver version number. But it leaves the date at 6/21/2006. That way if a third-party driver comes along, it will almost always trump the MS generic driver version.

Why use the Vista date? Raymond Chen’s MS blog on this topic (2/8/2017) explains things in a bit more detail. A PC Magazine story from the same year supplies another crucial quote from an MS developer:

since only drivers as far back as Vista are compatible with new versions of Windows, every driver should have a date newer than Vista RTM, preserving the driver you installed as the best ranked driver.

So now we know why certain MS-supplied drivers go back to the start of the “modern Windows era.” Good stuff!

 

Facebooklinkedin
Facebooklinkedin

New Canary Notepad Builds Character

When I saw @JenMsft’s Tweet yesterday,  I knew I had to have it. A new Notepad version now includes character counts in the (bottom-line) status bar. If you squint, and look bottom right, you can see it in the lead-in graphic: 10,852 characters. Thus, when I declaim that the new Canary Notepad builds character, I’m not talking about personality traits like gumption and perseverance. I’m talkin’ numbers, baby!

Exactly How New Canary Notepad Builds Character

Over time, MS has been revamping and improving the Notepad app. Indeed, it now comes from the MS Store and lives in the Program Files\WindowsApp file hierarchy (version 11.2311.29.0 has these particular goods). Indeed, I’ve seen some discussion that it might even gain more code editing and formatting smarts, a la Notepad++.

But this current version far exceeds the capability of its predecessor (e.g. the version still running in Windows 10). That older iteration lacks the bottom status bar completely. It’s got no settings controls, either: you must do all that stuff using menu bar entries.

A Different Update Drill…

Optimistically, I went looking for the newest Notepad version on one of my Canary test PCs when the news about the character counts came out. I should’ve known better. I had to open the Store, click the Library entry, then Update all. After that, as you can see in the closing screencap below, I obtained “new Notepad satisfaction.”

New Canary Notepad Builds Character.in-store

Once I visited the Store, I was able to update Notepad to see its new character count ability.

Facebooklinkedin
Facebooklinkedin

Team Lead Sez: Winget Upgrade Winget

If you read this blog, you know I’ve been reporting for months about interesting issues that occur in PowerShell when winget tries to update itself. In a Tuesday Tweet MS Team Lead Sez: Winget Upgrade Winget. I take this to mean that they’ve solved the issues (for the stable version at the moment, previews planned for some future date) related to winget upgrading itself. Good stuff!

Why Team Lead Sez: Winget Upgrade Winget

I’ve interacted with the afore-mentioned Winget Team Lead, Demitrius Nelon, repeatedly in the last few months on this very topic. In fact, we’ve agreed that the issues of an application updating itself can be both tricky and challenging (it’s a kind of Catch-22, in the most classic sense).

And now, I find myself in an interesting situation. I can’t wait for the next stable version of winget to come along, so I can try updating it using winget itself. But the most recent release dates back to November. I can’t find any info on when the next release is coming out … goes off to message Demitrius on X … will report any responses received back here.

Note added 2 hrs later: Mr.Delon resonded to my inquiry about when the next winget stable release might hit. According to his reply,it could happen for an incremental winget 1.6 version before year’s end. If not, 1.7 is scheduled for February 2024. Now we know!

I just checked a representative sample of test and production PCs and there’s nothing in the queue for a winget self-upgrade just yet. But it should be interesting to see how it all plays out. Stay tuned: I’ll keep you posted.

Facebooklinkedin
Facebooklinkedin