Announcement

Collapse
No announcement yet.

Linux 6.4 Spring Cleaning: Ditching Two Old USB Drivers

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Linux 6.4 Spring Cleaning: Ditching Two Old USB Drivers

    Phoronix: Linux 6.4 Spring Cleaning: Ditching Two Old USB Drivers

    The USB/Thunderbolt changes were merged last week for the Linux 6.4 kernel and it ended up being a net reduction in the number of lines of code as a result of ditching two outdated USB drivers...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    I'm all for removing support old, broken, or unused hardware, but this really ought to be what determines a change in the kernel number, not some arbitrary reason like "because 20 is too big". One of the advantages of having a major version number is to understand compatibility, stability, and features. That all gets thrown out when there is no logical reason for the number.

    Comment


    • #3
      Yeah I see it the same way.

      For instance I have an USB Floppy reader around here that might be around that age. I don't use it, but might bloody well need it in the future.

      I am not sure how 'it is probably not used and had no code updates' is a viable strategy for deletion..

      Maybe the code was just fine and no updates were needed? At least it was in a usable state?

      I do not see how the users are better off with support completely removed just because its old. Also which users have been asked? Was there a represantative poll? Or just the kernel maling list of devs?

      I dont dig the argument 'removing old cruft'... Like okay that's like literally the task of the kernel to support hardware. A few thousands line of code less make no difference and the kernel is modular.

      On Windows at least you might install the old dll's but on Linux you would need to install an older kernel.

      It just gets more and more random.. in 10 years the kernel won't be able to use hardware pre 2010.
      Okay maybe you think that's fine, but how about addressing this openly and stating plans? I find this really intransparent out of latetely..

      ​​​More and more gets deleted, this seems to be a new trend in the linux kernel space. A few years ago this was not the case. When did a policy change occur and why?

      PS: Also it makes this hardware literally eletronic waste. Like honesty, if I had that USB Card reader laying around, tried to plug it in some day and it wouldn't work... I'd throw it in the garbage without thinking twice about it. Else I might bloody well use it!
      Last edited by Nuc!eoN; 02 May 2023, 09:40 AM.

      Comment


      • #4
        Originally posted by Nuc!eoN View Post
        I dont dig the argument 'removing old cruft'... Like okay that's like literally the task of the kernel to support hardware. A few thousands line of code less make no difference and the kernel is modular.
        Linux kernel is a modular monolithic kernel. The monolithic part is important. This monolithic means as you update like the USB driver API structures all kernel drivers using those structures need to be updated. How would this updated been done with Linux is the next bit and it the problem.

        Semantic patch and the program called Coccinelle I guess you never heard of both of them.

        Part the out of order quoting.
        Originally posted by Nuc!eoN View Post
        Maybe the code was just fine and no updates were needed?
        Problem here is the old in linux kernel driver code has absolutely been updated over and over again with no documented testing that it still works if the driver has no maintainer. As kernel API/ABI of Linux changes Semantic patches are applied that change the complete Linux kernel code base in one hit without requiring developer to inspect every altered line of code.. Yes expert system method as in the dumbest AI ever has been used that just follows a set of rules and does the changes . So the old driver code in the Linux kernel has been changed many times with no maintainer testing the driver the code could be dangerously broken by the repeated application of Semantic patches so the code builds with current Linux kernel

        [QUOTE=Nuc!eoN;n1385491On Windows at least you might install the old dll's but on Linux you would need to install an older kernel.[/QUOTE]\

        These old bits of hardware have not been workable with windows for almost a decade now. Windows has also altered their driver APIs and before now Windows would have rendered these old driver totally not functional.


        Yes items being complete kernel crashing broken do happen to get into the Linux kernel driver stacks of no one is testing.

        Some of these really old drivers if they are going to be kept long term really do need to be ported to userspace drivers and more testing on userspace driver interfaces. Ported to userspace would at least reduce the risk of fatality attempting to use these old bits of hardware.

        There is also the problem these really old bits of hardware can be ultra buggy due to silicon defects caused by old age adding extra side of risk as well. Yes item that can send stack of random junk is safer with most of it drivers done userspace/micro kernel style than monolithic style.

        Yes doubled sided
        1) These really old drivers are not really safe to be left without maintainers in the Linux kernel because of how the driver code will change.
        2) Due to reduced stability of the hardware from old age these drivers are to the point someone really need to fund someone to write a userspace driver instead of a kernel space one. Panic/crash of driver should be expected when using really old hardware. Panic/crash in userspace is better.

        Comment


        • #5
          Originally posted by Nuc!eoN View Post
          Yeah I see it the same way.

          For instance I have an USB Floppy reader around here that might be around that age. I don't use it, but might bloody well need it in the future.

          I am not sure how 'it is probably not used and had no code updates' is a viable strategy for deletion..

          Maybe the code was just fine and no updates were needed? At least it was in a usable state?

          I do not see how the users are better off with support completely removed just because its old. Also which users have been asked? Was there a represantative poll? Or just the kernel maling list of devs?

          I dont dig the argument 'removing old cruft'... Like okay that's like literally the task of the kernel to support hardware. A few thousands line of code less make no difference and the kernel is modular.

          On Windows at least you might install the old dll's but on Linux you would need to install an older kernel.

          It just gets more and more random.. in 10 years the kernel won't be able to use hardware pre 2010.
          Okay maybe you think that's fine, but how about addressing this openly and stating plans? I find this really intransparent out of latetely..

          ​​​More and more gets deleted, this seems to be a new trend in the linux kernel space. A few years ago this was not the case. When did a policy change occur and why?

          PS: Also it makes this hardware literally eletronic waste. Like honesty, if I had that USB Card reader laying around, tried to plug it in some day and it wouldn't work... I'd throw it in the garbage without thinking twice about it. Else I might bloody well use it!
          1) Try doing a little (and I mean very little) research. Both drivers are circa 2007 or earlier and are non-functional. The last update on ftdi-elan that I could find was 2017 and it was fixing (yet another) off-by-one error. They're bad.

          2) Old, unused, & unmaintained

          3) No you can't use "old hardware" on contemporary Windows, not any this old anyway. The APIs have changed over the years and some classes of hardware dropped entirely. What, have you been living under a rock as far as Win Vista (2006!), 10 (2015!), & 11 hardware compatibility are concerned?? There's a reason some people have XP around still. It's because drivers for 7 and newer never existed for that hardware. The XP drivers usually won't work on Vista and later. 10 and 11 just had a massive printer driver API break in 2021. 11 just obsoleted anything older than Ryzen 2nd gen and Intel 8th gen! And no, you usually can't used unsigned drivers any more on Windows since 10 but especially 11.

          4) The Linux kernel is a hybrid. Modular and monolithic. Learn what that means programmatically. It's not what you think.

          5) In ten years 2010 era hardware will be 20 effin years old. The useful lifetime for most computer hardware is at most 10, but realistically you start losing units to attrition in an inverse bellcurve. High in the first year, drops for a couple three years, then starts to shoot back up at 3-4 and by 10 your lucky to have a few items that weren't stuffed in closets still functional. Let. It. Go. Old hardware is power inefficient and unless you have a very specific need, you should just recycle it. I like retro computers too, but at some point you just have to throw shit out. All operating systems eventually deprecate and remove obsolete code.

          6) It's always been the case broken an unmaintained drivers get removed when they're noticed.

          7) So throw it out already! What, you think you'll get free service for obsolete hardware indefinitely just because you might accidentally need it some day? Grow up. Step up and help maintain it or stop complaining. And if you never used it to begin with, why are you complaining anyway? You have no standing to complain if you have no hardware.
          Last edited by stormcrow; 02 May 2023, 10:50 AM. Reason: design >> useful ... wrote design, meant useful lifetime, design is usually just 2-3 years.

          Comment


          • #6
            Originally posted by stormcrow View Post
            you usually can't used unsigned drivers any more on Windows since 10 but especially 11.
            Windows 64-bit editions require all software running in kernel mode, including drivers, to be digitally signed in order to be loaded.

            You can boot windows 10 and 11 with unsigned drivers.

            There are cheap items that still have unsigned drivers.

            Yes people run into them.

            There is also a group policy setting as well to disable it.

            You get a cheap computer from china with windows 11 you can find group policy set to disable signed driver check and activation hacked. Yes say hello kernel level malware and unsigned drivers.

            stormcrow some sections of the world windows 11 working with unsigned drivers is common. It also common those Windows 11 not to be legally licensed and also common to have government mandated malware installed.

            Windows 11 machine out box accepting unsigned drivers without you having to do something you most likely have some other major problems on your hands.

            There is a reason why Microsoft include booting with driver signing disabled in the boot menu of Windows 10/11/12. Its in case Microsoft allows there CA key for driver signing to get expired again(they did that back in Windows XP RT(the arm one)) or some other screw up and not lock users out. Windows XP RT they locked users out of their own systems.

            Most likely you will able to boot windows up with driver signing disable with boot option forever out of Microsoft was once bitten now twice shy about it. Just it going to be pain in but having to redo it every boot and its there in case Microsoft goofs with the driver signing CA certificate.

            Windows 12 Microsoft were talking about doing away with the group policy key for driver signing ignore(disable) so forcing developers to sign testing drivers with own CA or do the boot loader option every boot.. I have not had a Windows 12 system to see if the group policy key for driver signing ignore option is gone or not.

            Comment


            • #7
              Originally posted by stormcrow View Post
              3) No you can't use "old hardware" on contemporary Windows, not any this old anyway. The APIs have changed over the years and some classes of hardware dropped entirely. What, have you been living under a rock as far as Win Vista (2006!), 10 (2015!), & 11 hardware compatibility are concerned?? There's a reason some people have XP around still. It's because drivers for 7 and newer never existed for that hardware. The XP drivers usually won't work on Vista and later. 10 and 11 just had a massive printer driver API break in 2021. 11 just obsoleted anything older than Ryzen 2nd gen and Intel 8th gen! And no, you usually can't used unsigned drivers any more on Windows since 10 but especially 11.
              .
              Well, old drivers on newer Windows is a grey area. I have a USB dongle for digital TV that doesn't work on Windows 7 and forward (does on modern Linux).
              But another day I managed to install drivers for a big old Xerox laser printer on Windows 10, it was just a matter of extracting and manually copying files from the installer. But that is not possible for all hardware out there, as you might be well aware.

              Comment


              • #8
                Originally posted by Nuc!eoN View Post
                Yeah I see it the same way.

                For instance I have an USB Floppy reader around here that might be around that age. I don't use it, but might bloody well need it in the future.

                I am not sure how 'it is probably not used and had no code updates' is a viable strategy for deletion..

                Maybe the code was just fine and no updates were needed? At least it was in a usable state?
                It's not like linux kernel developers go out of their way to make drivers obsolete, what usually happens is that these drivers are using kernel interfaces improperly and static code analysis is showing security or other coding issues. You have developers trying to fix obvious code flaws in drivers or trying to improve kernel interfaces that break old drivers without being able to test those drivers with actual hardware, and no users of that hardware found to perform such tests.

                At least if I had esoteric hardware I was concerned with the kernel maintaining support for, I'd try to buy a few extra devices for some kernel developers, and test it out every now and then send it any reports if things aren't working properly.

                Comment


                • #9
                  Originally posted by M@GOid View Post
                  Well, old drivers on newer Windows is a grey area. I have a USB dongle for digital TV that doesn't work on Windows 7 and forward (does on modern Linux).
                  But another day I managed to install drivers for a big old Xerox laser printer on Windows 10, it was just a matter of extracting and manually copying files from the installer. But that is not possible for all hardware out there, as you might be well aware.
                  Printer drivers be it Linux or windows are userspace code.

                  Its not much of a grey area really. Majority of hardware is kernel mode drivers. The areas that are user-mode drivers you can do more work around to keep the drivers going. This is also true under Linux and Windows.

                  Areas that are kernel mode drivers supported hardware will come unsupported hardware with Windows before Linux does in most cases.

                  Comment


                  • #10
                    Originally posted by oiaohm View Post

                    Linux kernel is a modular monolithic kernel. The monolithic part is important. This monolithic means as you update like the USB driver API structures all kernel drivers using those structures need to be updated. How would this updated been done with Linux is the next bit and it the problem.

                    Semantic patch and the program called Coccinelle I guess you never heard of both of them.

                    Part the out of order quoting.


                    Problem here is the old in linux kernel driver code has absolutely been updated over and over again with no documented testing that it still works if the driver has no maintainer. As kernel API/ABI of Linux changes Semantic patches are applied that change the complete Linux kernel code base in one hit without requiring developer to inspect every altered line of code.. Yes expert system method as in the dumbest AI ever has been used that just follows a set of rules and does the changes . So the old driver code in the Linux kernel has been changed many times with no maintainer testing the driver the code could be dangerously broken by the repeated application of Semantic patches so the code builds with current Linux kernel

                    \

                    These old bits of hardware have not been workable with windows for almost a decade now. Windows has also altered their driver APIs and before now Windows would have rendered these old driver totally not functional.


                    Yes items being complete kernel crashing broken do happen to get into the Linux kernel driver stacks of no one is testing.

                    Some of these really old drivers if they are going to be kept long term really do need to be ported to userspace drivers and more testing on userspace driver interfaces. Ported to userspace would at least reduce the risk of fatality attempting to use these old bits of hardware.

                    There is also the problem these really old bits of hardware can be ultra buggy due to silicon defects caused by old age adding extra side of risk as well. Yes item that can send stack of random junk is safer with most of it drivers done userspace/micro kernel style than monolithic style.

                    Yes doubled sided
                    1) These really old drivers are not really safe to be left without maintainers in the Linux kernel because of how the driver code will change.
                    2) Due to reduced stability of the hardware from old age these drivers are to the point someone really need to fund someone to write a userspace driver instead of a kernel space one. Panic/crash of driver should be expected when using really old hardware. Panic/crash in userspace is better.
                    Thank you for this response, that actuality made it a lot clearer to me

                    Comment

                    Working...
                    X