1. 30

  2. 2

    Thanks, now the prices for these machines will be even worse ;(

    Very cool, tho!

    1. 1

      I deny all responsibility. I just posted it, I didn’t do it. ;-)

    2. 1

      Great read. It’s incredible the original code worked at all.

      Windows XP’s implementation of ObfDereferenceObject doesn’t validate the object’s reference count, but that seems to have changed in Windows Vista.

      Along with the unnoticed bug in DeregisterAllInterfaces, it’s interesting how much improvement was made to the kernel after XP. Systems were surely more reliable, but the life span of a working product was seriously shortened. It took a large amount of focused expertise to recover the lost value. I also wonder if there are legal barriers to sharing that work with other people who have broken devices.

      1. 2

        Great read. It’s incredible the original code worked at all.

        You mean that these were low-quality drivers in the first place?

        TBH, from extensive tech support experience with Windows over 3 decades, that sounds 100% typical to me. As in, they may be low quality, but most of them are.

        Stuff sold into vertical markets, i.e. narrow niches, especially if expensive items shipped in low numbers, have the poorest drivers. It is only exposure to the mass consumer market that results in drivers evolving into decent quality, through massive parallelization in the bug-exposure process.

        It also bears out something I have found: that kit that doesn’t officially support anything after a particular version of Windows often can be crow-barred into working, if you’re determined enough. But not always.

        Early in the pandemic I tried to sell 2 of my oldest USB webcams, as there was a shortage and prices were high.

        One is an Intel device but long unsupported. Doesn’t work on any form of NT, AFAICT.

        The other was more annoying. I bought it specifically for Mac OS X support. My last PowerPC Mac was a G5 iMac, with no webcam. So I bought a cheapo USB2 webcam which expressly came supported by OS X. And it was, and it worked.

        That Mac died of capacitor failure long ago. :-(

        Later I got an Intel Mac mini. Tried the camera: nope. Doesn’t work with x86 macOS. >:(

        I bought a newer, better Logitech webcam. Later, I got an Intel iMac – I’m typing on it now. Lovely 27” Retina thing. Has a built-in webcam, but hey, with all the web conferencing I now do WFH the newer Logitech has proved very useful for 2.5Y now. It’s way better than my crappy Dell work lappy’s built-in camera.

        But in buoyant camera market, I thought I’d sell the old Mac camera.

        Nope. Doesn’t work with anything after XP. Works fine on Linux but that’s no help selling it. Very annoying.

        Systems were surely more reliable, but the life span of a working product was seriously shortened.

        You mean, 3rd party products? Well, yes, somewhat. OTOH the switch from x86-32 to x86-64 forced a reboot of the driver ecosystem, and I think the new APIs and whatever for drivers forced vendors to clean up their act a little bit.

        Also, since then, remember that there haven’t been many major versions of Windows. There was the Great Microsoft Reboot when Windows $NEXT, “Blackcomb”, was cancelled and they had to reel back in and start over.

        Apart from the grey limbo zone of XP64 and Server 2003, never mass-market on the desktop, Vista marked the point where x86-64 Windows gradually started to predominate.

        Vista is Windows version 6.0 internally. “Windows 7” is version 6.1. “Windows 8” is version 6.2. “Windows 8.1” is version 6.3. These aren’t codenames or built numbers – they are what it says if you type ver on the command prompt.

        All the same major version.

        Windows 10 bumps the internal version number to 10, but it’s the same product and kernel really. It’s really in effect v6.4, and Windows 11 is v6.5.

        So Windows 5 had 2 releases: 5.0 (Windows 2000), and 5.1 (Windows XP).

        Replaced in 2007 with Windows 6, which lasted until 2015… but Win10 is really much the same and can be forced into a half-nelson and made to install Windows 6.x drivers, and they mostly just work.