[Solved] Nexus 5 - tethering problem

  • Problem resolved -- I'm writing this via my tethered UT! I'm so happy, it's like Christmas has come early... Oh, wait a moment!

    I learned some more about the system (having no previous on Android either,) and found that rndis0 was alive and well on the /sys side of things. But I couldn't bring it up using e.g. nmcli, which didn't recognise the interface. I had similar issues trying other things, nothing quite gelled. It was only until I started looking for the error message, "error: connection 'rndis0' does not exist" that I hit the jackpot. I also used google instead of duckduckgo as it has far more spoons and as much as I like DDG, sometimes it really struggles.

    I eventually surfed here: https://bugs.launchpad.net/ubuntu/+source/dbus-property-service/+bug/1427697 which relates similar problems from 2015. The solution requires some fiddling, but before I did that, I noted a new (to me) command: tethering enable. Would you believe, this is all I needed to do? Magic, before my very eyes, it creates entries for NetworkManager and... just works. Phew! [Q: So why does tweak tool fail here?]

    To recap then, from the command line:
    sudo android-gadget-service enable rndis
    sudo tethering enable

    Hi, I'm a new UT user, having bought a Nexus 5 specifically so I can 'change horses.' However I have a serious problem with tethering, which is critical for me. Research shows very little on this, so presumably it always works?

    I cannot tether to either my desktop (Artix) or router (ASUS RT-AC1200G+). The phone is listed in NetworkManager, but it's always disconnected. The router complains it can't connect - DHCP issue. When I had it running Android, everything worked ok, so i know the hardware is good. Presently I connect with a 3G-based phone as mobile is my only route (I share the sim between phones.) my want/need is to connect the phone to the router. I don't care about connecting to anything else; a desktop-only solution isn't my need.

    I have the tweak-tool installed;
    I enabled RNDIS (and also from the terminal; it seems happy in dmesg)
    I even enabled Dev Mode for a while;

    UT ifconfig yields data like this: rmnet0 - inet addr: There's rx/tx going on, but nothing's gelling. On the desktop side, there's tx but no rx, however... I get (unexpected) IPv6 visibility:

    enp0s18f2u3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    inet6 fe80::83c8:1bc0:9832:abe7 prefixlen 64 scopeid 0x20<link>
    ether a6:a3:15:6f:54:af txqueuelen 1000 (Ethernet)
    RX packets 0 bytes 0 (0.0 😎
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 0 bytes 0 (0.0 😎
    TX errors 58 dropped 0 overruns 0 carrier 0 collisions 0

    I figure the issue is with the dhcp server on the phone side. Can anyone help me? Thank you.

  • By way of update, I found the problem which is currently a WIP. I accidentally unleashed an untailed dmesg and it gave me the data I needed to spot the problem:

    [ 7025.629660] type=1107 audit(1545699170.010:235): pid=857 uid=102 auid=4294967295 ses=4294967295 msg='apparmor="DENIED" operation="dbus_signal" bus="system" path="/org/freedesktop/NetworkManager/ActiveConnection/0" interface="org.freedesktop.NetworkManager.Connection.Active" member="PropertiesChanged" name=":1.17" mask="receive" pid=13727 label="routerinterface.nativeworld_routerinterface_1.01" peer_pid=1654 peer_label="unconfined"

    I had previously got as far as manually setting interfaces both sides and getting a viable, acknowledged connection, yet without data transfer afterwards. So the above correlates.

    I know nothing about apparmor, so will endeavour to figure it out, but will update once I do. Any wise-owls reading this may also wish to chime in!

  • I'm stuck. I can't recreate where I'd got to last night, so reflashed and reset the whole shebang and... still no joy. rndis0 only comes up if I manually pull it up. I can hit it with probes from nmap but can't get a meaningful data connection (do rmnet0 and rndis0 need to be bridged in some way?)

    I thought the problem was with the apparmor profiles, but comparing the file vs isc-dhcp-server debs for 16.04 and 18.04 everything is identical, so that avenue is closed.
    There was a problem last night with what looked like inheritence between NetworkManager and (presumably) spawned routerinterface.nativeworld_routerinterface_1.01 processes, which didn't have r/w and caused errors. I don't understand how these processes are created or configured because I haven't been able to observe them since (I'm relying on aa-status).*

    *Edit: just crossed my mind, this may be related to an app installed for the hell of it which I then removed before trying again today. But this doesn't change much.

    When I enable rndis either via tweak tool or terminal, it all seems fine, but rndis0 doesn't materialise. Because of switching the sim in/out, I note that rmnet0 won't come up without it, but that still doesn't impact on the rndis0 problem.

    All I want for Christmas is 'u'... is that too much to ask?

  • I know this thread is old, but maybe a new comment can help those that are following it.

    My tether connection is working. I have macOS Catalina and a Nexus 5 with OTA-12. A driver for OSX can be located at: https://joshuawise.com/horndis

    Sometimes there may be problems and with OS updates, too. I found some good stuff at Github: https://github.com/jwise/HoRNDIS/issues/102

    You may get advice that can get you going in the right direction. My internet connection is pretty fast from my Nexus 5 and I hope it continues to work.

    I hope this helps someone.

Log in to reply