When I share my phone’s internet connection to my Linux laptop I don’t have ipv6 at all.
Apparently this has been a much-discussed topic, see:
https://together.jolla.com/question/95708/ipv6-connection-sharing/
https://forum.sailfishos.org/t/usb-tethering-on-xperia-10-iii/
https://forum.sailfishos.org/t/hotspot-not-working-10-iii
I currently don’t have another connection to test, but it’s pretty clear:
- I can
ping -6 ::1 but anything else gives “Network unreachable”
- This is true if I choose “IP” or “Dual” in
Mobile Network => Data access point => Protocol
- If I choose “IPv6” I get no functional internet at all on the laptop
On the phone everything works as expected.
On the phone:
$> ip route
default via 10.163.241.194 dev rmnet_data0
10.163.241.192/30 dev rmnet_data0 proto kernel scope link src 10.163.241.193
10.163.241.194 dev rmnet_data0 scope link
62.241.198.245 via 10.163.241.194 dev rmnet_data0
62.241.198.246 via 10.163.241.194 dev rmnet_data0
172.28.172.0/24 dev tether proto kernel scope link src 172.28.172.1
$> ip -6 route
2001:14bb:c7:bcac::/64 dev rmnet_data0 proto kernel metric 256 pref medium
fe80::/64 dev rmnet_data0 proto kernel metric 256 pref medium
fe80::/64 dev tether proto kernel metric 256 pref medium
fe80::/64 dev rndis0 proto kernel metric 256 pref medium
default via fe80::9d59:3a8f:d053:b206 dev rmnet_data0 proto ra metric 1024 expires 64739sec hoplimit 255 pref medium
On the laptop:
$> ip route
default via 172.28.172.1 dev enp0s20u2 proto dhcp src 172.28.172.2 metric 100
172.28.172.0/24 dev enp0s20u2 proto kernel scope link src 172.28.172.2 metric 100
$> ip -6 route
fe80::/64 dev enp0s20u2 proto kernel metric 1024 pref medium
Is this still the status quo or can I do something to make the shared connection Dual as well?
FWIW, I had a good look in /etc/connman and /home/.system/var/lib/connman but found nothing that would explicitely disable IPv6, and this shows nothing that would explicitely enable a Dual connection.
BTW all this applies for a wifi hotspot just as much as for USB sharing.
So Android works like that too? Only IPv4 for shared connections, while both ipv4 and ipv6 workon the phone itself? And still does (I remember this fromalmost 10 years ago)?
I just wonder why, is there some technical limitation?
I also saw the whole CLAT discussion but I think it does not apply in my case - I can get both ipv4 and ipv6 internet to my phone.
And I am in Finland.
Tethering on Sailfish OS has no IPv6 support. CLAT has nothing to do with it. It is IPv4 only. IPv6 hasn’t been implemented even in upstream ConnMan, which handles this.
3 Likes
You mean IPv6 for shared connections? Well, that explains it.
Do you think it’s possible to sidestep connman and share the internet in a different way, at least via USB?
Yes, this exactly. Tethering does give only IPv4 addresses and sets up routes and NAT for IPv4. Somewhere in the future IPv6 support can be implemented. Or if someone wants to try out feel free to wander into ConnMan code…
If you want you can try as much as you are capable of. If you listen for the D-Bus property changed signal “Tethering” as a boolean value from connman/connman/doc/technology-api.txt at master · sailfishos/connman · GitHub and then in a script make the necessary changes to enable all the necessary bits for IPv6 in kernel and iptables, and then revert them when the property has changed back to “false”, we surely would like to see the process you managed to do. It would be then easier to include it into the codebase of ConnMan as well. There are other more urgent things to do and this is far from the top of the priority list.
1 Like
Thanks!
I think I’d sidestep connman completely and use udev to launch a script when a certain machine is connected via USB.
Not trivial for me though;
Depending on need, sometimes
ssh -D 1080 defaultuser@192.168.2.15
is enough – and then use socks protocol to connect from e.g. web browser
(hmm I don’t remember if ipv6 addresses are understood by socks5
(i think those are), but requesting socks server to resolve names to
ipv6 addresses would be enough)
1 Like
Tethering has no IPv6 support … I suffer from the same problem.
Why not drop legacy for IPv6?
ConnMan means Connection Manager, the one, Linux distros use? My Ubuntu uses Connection Manager (at least before Ubuntu 26) with IPv6 supported.
Disappointing not to have real IP.
Accepted, repair the flakey multi user func is more important … still hope for real IP:
the IETF settled on IPv6, recommended in January 1995 in RFC1752
The World IPv6 Launch took place on 6 June 2012.
Gut Ding will Weile haben!
There was a first reply to my post, which I then replied to. It’s gone now? They said it’s the same on Android. Maybe there is some technical limitation.
Anyhow, I’m still using my phone in this way and haven’t encountered a single problem so far 