Announcement

Collapse
No announcement yet.

The Linux USB Library Has Been Forked

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

  • The Linux USB Library Has Been Forked

    Phoronix: The Linux USB Library Has Been Forked

    Libusb has been forked as libusbx and it appears this library for user-space USB data transfers on Linux and other operating systems is gaining traction...

    http://www.phoronix.com/vr.php?view=MTEwNTY

  • #2
    libusb doesn't support hotplugging? That's like... the point of USB - a fast, hotswappable interface. Unless I'm misunderstanding it, I've been able to plug and unplug my USB devices just fine under linux.

    Comment


    • #3
      "The open-source USB library has even been ported to Windows"

      ?????????????????????? holy S...?

      Comment


      • #4
        Originally posted by schmidtbag View Post
        libusb doesn't support hotplugging? That's like... the point of USB - a fast, hotswappable interface. Unless I'm misunderstanding it, I've been able to plug and unplug my USB devices just fine under linux.
        That's handled by the kernel USB driver and udev. I am not sure why libusb is actually needed. It seems to be used by CUPS and SANE (for printers and scanners.)

        Comment


        • #5
          Originally posted by RealNC View Post
          That's handled by the kernel USB driver and udev. I am not sure why libusb is actually needed. It seems to be used by CUPS and SANE (for printers and scanners.)
          That would make sense because this pritner-scanner combo I have will occasionally cause kernel panics if I unplug it.

          Comment


          • #6
            For Arch Linux users, I created this morning a package in AUR (if you want to try libusbx): https://aur.archlinux.org/packages.php?ID=59473. At the moment, no problems so far...

            Cheers

            Comment


            • #7
              Originally posted by schmidtbag View Post
              That would make sense because this pritner-scanner combo I have will occasionally cause kernel panics if I unplug it.
              maybe then sane/xsane and friends should make use of either the kernel USB driver/udev stack or even libusbx to avoid such instability.

              Comment


              • #8
                Surely userspace can't cause a kernel panic like that, without a kernel bug.

                Comment


                • #9
                  I wonder why some head devs seem unable to say "okay, I'm not able to deal with all that stuff anymore. Give me a break and somebody take over". Probably creators of a project becoming slow and less involved is one of the main reasons for forks. I mean it's not a shame to say I got too much "RL" troubles or a family and to step back a little and let somebody active take over.
                  Anyway. Welcome libusbx.

                  Comment


                  • #10
                    Originally posted by Adarion View Post
                    I wonder why some head devs seem unable to say "okay, I'm not able to deal with all that stuff anymore. Give me a break and somebody take over".
                    It's not that hard to understand. People who start projects are often very possessive of it - they're happy for others to contribute, but it's quite a different matter to completely hand it over to someone else. Even if he or she doesn't really spend much time on that project, it's still a big deal to step away and make it someone else's project.

                    Not everyone thinks that way, of course, but many do.

                    Comment


                    • #11
                      proprietary usb hardware license dongles tend to use libusb as their interface. that way they don't need special drivers to access the dongle, just proper system permission.

                      Comment


                      • #12
                        i remember reading before that libusb really makes more sense as an architecture standpoint for usb drivers. its like the bluetooth stack. you just make a kernel driver for the usb host and connections, but as far as the specific bits for controlling the usb device. thats how bluetooth is done right now. apparently wifi driver would be better to be done that way too. even graphics drivers are kinda similar except proboboly a level higher up. kernel drm talks to the low level end of the graphics card, but the gallium/mesa stack does the translation work.

                        it would be nice if a lot more of the linux kernel moved to userspace as long as its reasonable. for instance fuse, i like the idea of fuse, i know old kernel hackers hate it and say its too slow, but it doesn't really have to be. it makes sense, the hard drive driver is all hardware, and it belongs in the kernel, but the file system is all how you prep the data to be sent to the drive, thats like gallium/mesa, and probobly should be done in userspace. the major advantage of userspace is how easy it is to upgrade it and much harder to crash the system. the downside is your further away from the kernel and less ability to verify or check the driver. microsoft went with basicaly a fully userspace driver model up through xp, and that is a testiment to how bad userspace driver CAN be, if you let it. also, a large part of linux's fully open source driver portfolio is directly attributed to how almost everything is kernel based drivers. by making it harder to make userspace drivers, you keep everyhting in the kernel, and things that are in the kernel are gpl and controlled by the kernel devs. if we had a windows xp like driver architecture, you would be getting your driver just like how you do with windows, get it straight from the vendors and they would all be closed source.

                        Comment


                        • #13
                          Originally posted by benjamin545 View Post
                          also, a large part of linux's fully open source driver portfolio is directly attributed to how almost everything is kernel based drivers. by making it harder to make userspace drivers, you keep everyhting in the kernel, and things that are in the kernel are gpl and controlled by the kernel devs. if we had a windows xp like driver architecture, you would be getting your driver just like how you do with windows, get it straight from the vendors and they would all be closed source.
                          Linux actually allows closed source drivers, as binary blobs, or obfuscated code. This is a real issue now, not a possibility. So, no, nothing would change.

                          Comment


                          • #14
                            a lot of vendors get around the gpl by making an ope source shim and make most of the driver a blob, this is how nvidia does it, when you run their little installer it compiles thier gpl kernel code and it has to do that to make thier blob glue to the kernel. intel has before released the wifi driver code bet kept the firmware for the wifi chips closed, many other wifi vendors do the same. thats not so bad since often hardware firmware is just stored on the hardware anyway, it doesnt really have all that much to do with the OS, your are just throwing it into the hardware and tirning it on, but it is really anoying to have to do and thier requirments and restrictions on redistributing the firmware s what causes most of the headaches.

                            now, i know thats not what you are talking about, you are talking about the export gpl flag how companies are writing closed source kernel modules since they are not touching code that has that flag on it. it has been done before for wifi drivers, but it wasnt very long before vendors learned it wasnt feasible for desktop liux because as soon as a new kernel came out people were blasting their support lines and forums about how to get the driver working again.

                            where you really see this as a problem is embeded linux, particularly android phones and network routers. pretty much the whole reasin android phones cant be updated like general linux can is because of blob drivers. since network routers often use special wifi chips since they are at the center of traffic, manufacturers often only release a driver for a specific kernel version. as far as phones go, i cant imagin that will last much longer because people really get pissed when the phone they bought a year ago can't use application x because they have android version x and they need version x+1. as android gaines more and more genral linux componants and the hardware it runs on gets more and mre capable, people will expect them to stay up to date like thier latops do.

                            Comment

                            Working...
                            X