Forum Rule: Always post complete source code & details to reproduce any issue!
Page 1 of 2 1 2 LastLast
Results 1 to 25 of 37

Thread: Windows XP support in 2015 and beyond

  1. #1
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    21,354

    Windows XP support in 2015 and beyond

    I'd like to ask how people using Windows feel about continuing support for Windows XP after 2014.

    In other words, hypothetically speaking, if I were to develop new USB stuff in 2015, and I might be faced with two options:

    #1 compatible with all systems, but lower performance on all of them

    #2: best performance, but compatible only with Windows 7 & 8, modern Linux, Mac 10.7+


    Which should I choose?

  2. #2
    Senior Member+ MichaelMeissner's Avatar
    Join Date
    Nov 2012
    Location
    Ayer Massachussetts
    Posts
    3,489
    I've watched how Microsoft has been trying to kill XP many times in the past, but it seems like a cockroach and always comes back. Though my employer has recently banned Windows XP on the internal networks unless people have a justifiable need to use it (and presumably a VP sign-off). I don't have any guidance, but I suspect there are people still using it. Perhaps they will be frozen to use the version of the software before you add the USB work. The question is how many people would it effect.

    Though as I speak, the laptop I'm posting from (Dell D-620) came out before Windows 7 and had already been obsoleted when Windows 7 came out. So if I ran it in Windows mode, it would have to be XP. Of course on this laptop, I also find I can't run more recent versions of Linux due to the graphics card in the laptop is not supported for 3D graphics and more of the newer stuff wants to do 3D. Now, I do have more recent computers, but for various reasons, I find I use this laptop the most.

  3. #3
    Senior Member
    Join Date
    Jun 2013
    Location
    So. Calif
    Posts
    2,828
    For work, my main PC is a Dell E6500 laptop with XP. My employer refuses to install Win 7 on it because of its age: 3+ years. They want me to have the company trash the current one and get a newer one (at company's expense). That's a story driven by IT support dweebs. I would have to spend 2-3 days getting a new laptop configured with a lot of special job-specific apps I have. And there's no way to bill that to a customer, and billing it to overhead would really tick-off my boss. So I get to do it on my own time. Then suffer days of whole-disk-encryption running (one company policy which I agree with).

    So, I continue to keep the XP laptop.
    Of course I use win7 at home.
    I think many large corporations have a contract with MS to keep support for XP going for a couple more years as people slowly elect to replace PCs.

  4. #4
    I personally think that it would be better to drop XP support. Guys, it is time to upgrade from 13 years old OS. Also, it is good to encourage upgrade since XP is so extremely unsecure...
    Still tho, how much of a difference in speed can it be?

    @stevech, use the ABC tactics - A is a horrible choice (Vista), C is just crazy (Arch Linux) and B is what you want him to choose (Windows 7/8.1)

  5. #5
    Senior Member Wozzy's Avatar
    Join Date
    Jan 2013
    Location
    Philadelphia, Pennsylvania USA
    Posts
    354
    I have have a laptop and a desktop relegated to the workshop, that I use for microcontroller / teensy / robotics / experimentation / NC / 3D printing...
    Both are running XP SP3. Neither is upgradable to Win 7.
    So I vote to keep Win XP support, at least as an option.

    Bob W.

    PS... Actually I'm still running XP on my office desktop, but lately, I'm getting upgrade-itis.
    That machine will also get relegated to garage duty when replaced.

  6. #6
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    21,354
    Quote Originally Posted by jesusthekiller View Post
    Still tho, how much of a difference in speed can it be?
    Windows 7 and 8 have USB APIs that don't exist on XP.

    In theory, everything could be done on XP by developing kernel mode drivers. PJRC is unlikely to get into Windows kernel mode driver development, even for the latest versions.

    Nice improvements were also added to WIN32 APIs, such as asynchronous (a.k.a. "overlapped") I/O. Everything is possible using the old API, but the new functions solve needs that used to take a lot of complex coding.

  7. #7
    Senior Member
    Join Date
    Nov 2012
    Location
    Boston, MA, USA
    Posts
    1,108
    I would not sweat about XP support (he says, one year after moving from an XP laptop to a Seven one). For a long time, people held onto XP because Vista sucked; those same people are holding onto Seven hoping 8 or 8.1 gets better quickly. Others had netbook hardware that could barely rubn XP and couldn't run Seven; they have probably moved to newer hardware or blew off Windows and installed Linux.

    If it were a question of "shall i drop XP support though it would cost nothing much to retain it" that would be one thing. If it is "supporting XP holds back the platform because 7 and 8 have APIs that are needed" then its a much stronger case.

  8. #8
    Senior Member+ MichaelMeissner's Avatar
    Join Date
    Nov 2012
    Location
    Ayer Massachussetts
    Posts
    3,489
    Quote Originally Posted by Nantonos View Post
    I would not sweat about XP support (he says, one year after moving from an XP laptop to a Seven one). For a long time, people held onto XP because Vista sucked; those same people are holding onto Seven hoping 8 or 8.1 gets better quickly. Others had netbook hardware that could barely rubn XP and couldn't run Seven; they have probably moved to newer hardware or blew off Windows and installed Linux.
    That assumes people routinely update their systems. If they are gamers perhaps they do. But many folk don't update that regularly (as I mentioned, I currently use a 3-4 year old laptop for the majority of my programming and picture processing). I would rather buy Teensy's and neopixels than continually upgrading laptops/desktop computers. Note, I run Linux so I personally am not affected, but I know quite a few people that don't upgrade unless they have to, and many others that can't afford to upgrade, even if they wanted to. How many of these people program Teensy's I dunno.

  9. #9
    Senior Member
    Join Date
    Jun 2013
    Location
    So. Calif
    Posts
    2,828
    As to Win 8.x - I'm in the camp that think that Microsoft's ego had been running amok with fear of handhelds. Business users dominate their revenue (Office, Server, Sharepoint, ...) and the OS is a loss leader and thus, is truly a sticky fly trap. The new regime at MS will realize this and not so politely get back to the desktop that business wants and to heck with social media and cutesy GUIs.

    But as to XP's final demise... I wonder. Many businesses say, it's good enough. MS says, we know what's best for you. This plays to Google's hand.
    Last edited by stevech; 01-10-2014 at 12:45 AM.

  10. #10
    Member
    Join Date
    Dec 2013
    Location
    Tulsa, OK
    Posts
    64
    We develop systems for Kiosks and will stay with XP as long as we possibly can. All the added security in 7 just creates more hoops we have to jump through and 8 is a joke as far as we are concerned.

  11. #11
    Senior Member
    Join Date
    Nov 2012
    Location
    Boston, MA, USA
    Posts
    1,108
    Quote Originally Posted by MichaelMeissner View Post
    That assumes people routinely update their systems. If they are gamers perhaps they do. But many folk don't update that regularly (as I mentioned, I currently use a 3-4 year old laptop for the majority of my programming and picture processing).
    The XP laptop (actually dual boot XP/openSUSE) that I retired last year for my current one was over 6 years old. Its not for gaming; its a work laptop and since I work for a nonprofit we don't get shiny toys every year.

  12. #12
    Senior Member
    Join Date
    Jan 2013
    Location
    San Francisco Bay Area
    Posts
    641
    You didn't mention Vista. I know, everyone wants to forget it existed, but there's going to be quite a few people using Vista on still very modern hardware. I assume Vista would be similar to XP for the USB API.
    I personally would be much in favor of superior performance on recent OSs, but I'm not sure how many users you would eliminate. I imagine that some older XP desktops/laptops go to the garage for tinkering.
    Also, would it be possible to have XP support for uploading sketches & serial monitor still? Is it possible to just lose the ability of USB for fast transfers on the t3, etc. That would seem a reasonable compromise. The more sophisticated user that wants fast USB transfers can upgrade their OS.

  13. #13
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    21,354
    Actually, Vista is pretty close to Windows 7 and 8, at least according to Microsoft's documentation. However, I've seen a number of people mention certain bugs, which apparently Microsoft never bothered to port the fixes back to Vista.

    At this very early stage, I haven't made any specific plans, so I just can't answer questions about what exactly may or may not work in the distant future if XP support is dropped. Obviously I'm not going to change stuff that already works. So long-term, the situation might be similar to what we have today with Windows 2000. Teensy apparently works pretty well on 2000, except for the Serial+Keyboard+Mouse+Joystick option which depends on USB Interface Association Descriptors, which Microsoft started supporting in XP SP3 and Vista SP1 (eg, they don't even work on XP SP2 or the original Vista).

    One of the many new features I'm contemplating might use Winusb.sys (and Apple's IOkit and libusb 1.0 on Linux) . Apparently there is some way to add WinUSB to XP using coinstallers. Vista, 7 and 8 have it built in.

    Another change I'm considering, for the more distant future, might be Teensy Loader 2.0 with a redesigned interface to give you much better visibility into what's actually happening with USB on your computer. It would also support using more than 1 Teensy at a time, which today is possible only with kludgey tricks like using Verify in the desired Arduino window and then manually pressing the button on the desired Teensy.

    A feature I've avoided using on Window is threads. Part of the reason involves old limitations in the MinGW libraries that required distribution a separate DLL. I like to make my Windows programs as a single self-contained .exe file that doesn't need any special DLLs or other files. But another issue with threads is missing functionality in the WIN32 API before Vista. Here's a good example:

    http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

    Before the availability of CancelIoEx, if you structure your program with threads that do the I/O operations, if you also want to use asynchronous I/O (which Microsoft called "overlapped"), you can't easily have your main thread change the state within the I/O threads that might be stuck on I/O, so you end up having to build complex stuff with signaling by events. If you don't need to work with anything before Vista, you can use CancelIoEx to easily and cleanly solve certain types of situations.

    So at this point, I don't want to alarm anyone still depending on XP. Things that work today aren't going to suddenly stop working. But at the same time, I'm sure anyone using XP is pretty aware it's aging and support is slowly evaporating from many software vendors. Long term, I'm probably going to add features that use things like WinUSB that are possible but a pain on XP, and even longer term, if I redesign for a multithreaded approach, anyone still on XP might be stuck having to use the 1.X version.

  14. #14
    Senior Member
    Join Date
    Jun 2013
    Location
    So. Calif
    Posts
    2,828
    I wonder if most people, like me, just use USB bare basics and don't need highest speeds and features much beyond the serial and HID profiles.

  15. #15
    Junior Member
    Join Date
    Mar 2013
    Posts
    15
    In a former life I managed a group that developed a several million line Windows program for controlling our product. We lived through supporting 95, 98, ME(oh god yes), 2000, XP, Vista, Win7. Best decision I made was to start dropping off support for each older OSs as they started to really impede the team's progress.

    The group should be pragmatic about the manpower needed to support old OSs that could be spent instead on new features.

    Ultimately this is your call Paul, but I think your last post put it right, maybe you keep XP for a bit longer, but I wouldn't bend over backwards to make advanced USB features work on it - people can migrate.

  16. #16
    Senior Member
    Join Date
    Jun 2013
    Location
    So. Calif
    Posts
    2,828
    RANT
    Microsoft, in Dec. 2013, announced they will no longer sell Windows 7 retail. It will only be a available pre-installed from an OEM or geeks buy an OEM version that isn't transferable to a new PC. This is simply criminal, IMO because of the for-business monopoly that MS Office creates, impairing the ability for corporations to change to other OSes. Now go find a windows 7 PC on the shelf. (excluding DIY system builders).

    Try to find, on-line, a place to buy retail MS windows 7 (non-OEM). Even here in mid-Jan., after MS has just now changed their December statement from: NO MORE, to TBD.

    Their practices are draconian at the least and criminally anti-trust in reality. As late as December, despite the outcry against desktop Win 8, they do this with WIn 7.

    Gates the benevolent, to his good credit with his Foundation - is letting his Alma Mater run amok. Last I looked, he's still on the Board.

    /RANT

    I apologize for the rant in this forum, out of place.
    Last edited by stevech; 01-23-2014 at 07:12 AM.

  17. #17
    I use Windows XP as my main operating system every day. I've developed and am still developing my Teensy projects under XP. So backwards compatibility would be nice.

    About 1/3rd of all PC users are still using XP, but those are mostly home users who have little reason or incentive to upgrade since XP works fine for them. I have no inkling how many Teensy users are using XP, though.

  18. #18
    Member ARMbasic's Avatar
    Join Date
    Dec 2013
    Location
    Lake Tahoe, CA
    Posts
    60
    I've mostly converted to Win7 and Win8 (though I think the old rule of skipping every other Win still holds - Me, Vista, 8?). But I do have XP running on an HPmini, which is still my carry everywhere system (along with an iPad). So it would be nice to keep an old set of drivers, and teensy available. But I would give up multi-teensy support, or other things if that are possible going forward.

    I still get asked about Win98, though not quite as much as I use to. Which when it broke around 2007, I didn't go back and bother to support.

  19. #19
    Pulling this back to the top. Paul to put in my 2c I would support the use of Winusb. I have a project in mind that needs alot of data.

  20. #20
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    21,354
    I have a couple WinUSB questions. Maybe you know, or know someone who might know the answers?

    #1: Does Windows 7 automatically recognize WinUSB devices, without loading any INF files or any other stuff like coinstallers?

    #2: Do Windows 7, 8 & 10 work with composite devices, where one interface is WinUSB and others are standard stuff like HID, MSC, etc? In other words, does the WinUSB driver recognize devices at the interface level, or only at the whole device level?

  21. #21
    Hi Paul, I think this article will answer most of your questions. I am by no means an winusb expert but its extra flexibility makes it like a usbHID on steroids. You can use winusb without a driver, the default winusb.inf allows for the use of several pre-determined descriptors. And yes, from what I understand a composite device appears with compatible-ID for each function, See example 2 in the link.

    This would be very useful to have it behave as both a midi device alongside an audio DAC.

    http://blogs.msdn.com/b/usbcoreblog/...ustom-inf.aspx

  22. #22
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    21,354
    Well, it certainly does seem to answer questions #1, with this:

    Prior to Windows 8 if you choose Winusb.sys as the function driver for your device, you have to write a custom INF
    Right there, with most people avoiding Windows 8, that's a pretty high barrier to WinUSB enthusiasm.

    Example 2 seems to show composite devices are supported. But a mere 2 screenshots, only of the WinUSB part (none of whatever other interfaces were present), and lacking the actual descriptor data leaves me with a lot more questions than answers.

  23. #23
    An INF is just a configuration text file, isn't it?

  24. #24
    On what side of the chip are we talking about? The computer side or the Teensy side?

    If changes are made on the Teensy side that break backwards compatibility with older USB that is just stupid. Most devices have some sort of fallback. If you modify the firmware to fit MS Windows what does that do to Linux and OSX and Android and etc? If adding more "modes" of operation are only available on new OSes, fine, just don't whack the existing modes that work with the older OSes. Best of both worlds. What you have now is fairly comprehensive and configurable. If you keep that modular design and add new modes great. Of course I spent like 10 hours working with it, so I am now an expert. LOL

    Then again you can always load older IDE and your plugin code. So, maybe it doesn't really matter.
    I guess the question is: Does anyone still use USB 1.2 or whatever it was? I guess most devices are 2.0 now. I think 2.0 is here to stay for low bandwidth devices though.

  25. #25
    No from my understanding Winusb allows more direct access to the hardware (teensy) from a PC. Instead of using a bulk transfer like an HID packet or a serial interface prone to dropping and confusion, you can just write to a data pipe or initiate a control transfer.

    Here is all the default functions as part of winusb:
    https://msdn.microsoft.com/en-us/lib...29.aspx#winusb
    Last edited by jacky4566; 02-11-2015 at 03:12 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •