Announcement

Collapse
No announcement yet.

Linux To Try Again To Disable All RNDIS Protocol Drivers

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

  • #11
    Originally posted by Danny3 View Post
    WTF?
    Don't tell me that Android USB tethering will stop working because of this?
    How the fuck are we going to install newer Linux kernels and Realtek firmware on recent laptops with no ethernet port that have an 802.11AX Wifi adapter, which doesn't work unless you first upgrade the Linux kernel to at least 6.2 and install newer Realtek firmware?
    This already happened with a friend's laptop and the only way to have an internet connection to fix the Wifi adapter was to use Android's USB tethering.
    Hey this is Linux... usability, compatibility, and any level of care for the user it absolutely at the bottom of the core dev's list of things to care about. If you want things to work... and stay working... dont use Linux... your basically screwed these days with all the GPL zealotry.

    Comment


    • #12
      Originally posted by jokeyrhyme View Post
      This will not impact existing devices at all

      For future devices, Google can either patch the kernel, or manufacturers can patch the kernel, or (unfortunately) consumers can be forced to throw away insecure/affordable networking adapters and buy new ones
      You've got it backwards. This is about removing the driver used on a desktop or a laptop to tether to a phone. It will affect existing devices. You won't be able to tether an existing phone, or a new one either for that matter, to your laptop anymore. Not because the phone changed, but because the laptop kennel no longer has the necessary driver. Unless you have a pixel 7 or 8, those are the only phones that will still work.

      Comment


      • #13
        He can try pushing this upstream, and I will be back on Windows faster than he can blink if it passes.

        Comment


        • #14
          Originally posted by Danny3 View Post
          WTF?
          Don't tell me that Android USB tethering will stop working because of this?
          How the fuck are we going to install newer Linux kernels and Realtek firmware on recent laptops with no ethernet port that have an 802.11AX Wifi adapter, which doesn't work unless you first upgrade the Linux kernel to at least 6.2 and install newer Realtek firmware?
          This already happened with a friend's laptop and the only way to have an internet connection to fix the Wifi adapter was to use Android's USB tethering.
          Can't you download the packages you need on your phone and then copy them over to your desktop? It doesn't seem like you need tethering for certain. That's what I usually do when I break an install and need to fix it.

          Originally posted by Sonadow View Post
          He can try pushing this upstream, and I will be back on Windows faster than he can blink if it passes.
          ​Oh no, please do not do do that!

          Comment


          • #15
            this confuses me. so a USB device that implements an ethernet port will no longer work?

            Comment


            • #16
              Originally posted by Mangix View Post
              this confuses me. so a USB device that implements an ethernet port will no longer work?
              NDIS was an interim method MS touted to allow some devices to function on WinXP. Linux offered the 'shim' called NDISWRAPPER to allow that to work under Linux. It's a hardware abstraction layer (HAL) and works... but has a lot of assumptions and glosses over on things that make drivers fail that inevitably make it a huge security hole. ndiswrapper doesn't cleanly build on any kernel newer than 5.4 and even then functionality is less than perfect. As a shim to a HAL it was never perfect to begin with.

              These proposed changes continue the philosophy of linux being done with ndis.

              Most manufacturers produced compliant drivers following WinXP, such as for e.g Vista, 2k, 2003, 2008, 2010, 7, 8, 10, and now 11. Some of those have had their guts probed and linux equivalents written. Some mfgs provide linux support. Some are in kernel.

              To answer your question, it is too vague as is, but if you state WHICH USB device you are looking at that implements an Ethernet port, perhaps with an 'lsusb' showing the driver id... it can be looked up to see support.

              To help out in case that's not clear
              1. $ lsusb
              2. Look for the device you're interested in
              3. Note the vendor and ID in the form of xxxx:xxxx where x is any of {0-9,a-f}
              4. Google "linux support xxxx:xxxx" and see if it's either built into the kernel or you can download module sources and simply add the module. The scope of that is not in tis short reply but if it doesn't include directions, a quick google of "add driver module to running kernel linux" should help you. Make sure you have the appropriate kernel-headers-`uname-r` package installed...

              E

              Comment


              • #17
                Do we have alternative solution for usb-c <=> usb-c ethernet connection on Linux? It's still funny to see that we can't use at least 5gbits connection via USB ports between 2 devices, It's feels so natural for Unix, before we had rs232 and even LPT cables for interlink/laplink and now in 2023 we still can't have reliable point-to-point network between high speed ports on devices, unbelievable.

                PS
                Imagine you have 2 SFF boxes in homelab and it connected to each other via direct type-c cable on gen2 10gbit speed or more in case of usb4.
                Last edited by Shtirlic; 02 October 2023, 12:09 AM. Reason: PS

                Comment


                • #18
                  So... is this removal going to prevent phones from internet tethering and/or reverse tethering (via Gnirehtet) with a LInux PC? If no, any clarification? If yes, what can we do?

                  Comment


                  • #19
                    Originally posted by gavron View Post

                    Wall of bullshit
                    You can start by learning the difference between RNDIS and NDIS before spewing bullshit.

                    Comment


                    • #20
                      Originally posted by gavron

                      So many things.

                      First, a git pull is not a push, and there is no "upstream" than kernel.org.

                      Second your phone doesn't use any version of a yet-to-be-released kernel. You'll note Android doesn't use any 6.x kernel yet. https://source.android.com/docs/core...android-common
                      Code:
                      foo@G15:~> locate rndis | rg modules
                      /usr/lib/modules/6.5.3-1-default/kernel/drivers/net/usb/rndis_host.ko.zst
                      /usr/lib/modules/6.5.3-1-default/kernel/drivers/net/wireless/legacy/rndis_wlan.ko.zst
                      /usr/lib/modules/6.5.3-1-default/kernel/drivers/usb/gadget/function/usb_f_rndis.ko.zst
                      /usr/lib/modules/6.5.4-1-default/kernel/drivers/net/usb/rndis_host.ko.zst
                      /usr/lib/modules/6.5.4-1-default/kernel/drivers/net/wireless/legacy/rndis_wlan.ko.zst
                      /usr/lib/modules/6.5.4-1-default/kernel/drivers/usb/gadget/function/usb_f_rndis.ko.zst​
                      Plugs in "ancient" 512GB Samsung Galaxy S23 Ultra and turns on USB tethering...

                      Code:
                      foo@G15:~> lsmod | rg rndis
                      rndis_host             24576  0
                      cdc_ether              24576  1 rndis_host
                      usbnet                 65536  2 rndis_host,cdc_ether
                      usbcore               446464  8 xhci_hcd,usbnet,usbhid,cdc_acm,rndis_host,btusb,xhci_pci,cdc_ether​
                      From Greg's diff...

                      Code:
                      config USB_NET_RNDIS_HOST
                      tristate "Host for RNDIS and ActiveSync devices"
                      depends on USB_USBNET
                      + depends on BROKEN
                      Seems like that's going to be a problem.

                      Originally posted by gavron
                      Finally, nobody here cares more than I about exactly what you're "going to be back on". As I quiver in anticipation though I do think you should know Windows last supported the "pocket PC" in Windows Mobile v10 which had an end of life five years ago. https://learn.microsoft.com/en-us/li...end-of-support Even short sighted "If I can't screw my sister I'm moving back to Arkansas" geniuses can't run Windows on their Pixel 6, OnePlus 5, Samsung 22, or whatever you have (pink Ma Bell Princess phone with RJ-12 jack?).

                      But honestly you did make me laugh. Sorry about your sister and the relationship and all that. Do keep us informed. Nothing Phoronix readers like more than knowing who is moving their new Android phone to Windows because Linux kernel 6.7+ may remove a feature or so.
                      What?

                      Comment

                      Working...
                      X