[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:100.99.98.74. 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.