I recently did a completely fresh installation of OSMC on my Raspberry Pi 4, and to my surprise found I was unable to configure IPv6 as I have done in the past. When attempting to use connmanctl, I received an error similar to the below:
root@osmc:/opt# connmanctl config ethernet_dca6324bbf2c_cable --ipv6 auto
Error ethernet_dca6324bbf2c_cable: Not supported
The result was the same no matter which command, or combination of commands, I tried. Inspecting the service revealed something interesting:
connmanctl> services ethernet_dca6324bbf2c_cable
/net/connman/service/ethernet_dca6324bbf2c_cable
Type = ethernet
Security = [ ]
State = online
Favorite = True
Immutable = True
AutoConnect = True
Name = Wired
Output above has been omitted for brevity. I believe the Immutable = True line to be the cause of my problems. To get around this, I deleted the osmc.config file and rebooted the system, following which I was able to enable and configure IPv6 as usual.
My questions are as follows:
- Is this expected behaviour?
- Does the process mark the file/config as immutable somehow?
- Is it not realistic at this point to either have IPv6 enabled by default, or to allow IPv6 configuration during initial setup?
For reference, current OSMC version is as below:
PRETTY_NAME=âOpen Source Media Centerâ
NAME=âOSMCâ
VERSION=âJuly 2023â
VERSION_ID=â2023.07-1â
ID=osmc
ID_LIKE=debian
I have not had this problem in the past when configuring IPv6, which is why this does not make sense to me.
Have you enabled IPv6 before and do you remember which version of OSMC you were on?
Hi Sam,
I have enabled IPv6 at least twice before. I cannot remember exactly which versions, but I believe the last time I did it, OSMC was based on Kodi 19 (pretty sure it was last year somewhere). The first time was probably Kodi 17 or 18.
I followed precisely the same steps this time around, so I was rather surprised and confused when I saw âNot supportedâ - same hardware, same steps as previously.
I am happy to assist with configuration and testing if needed.
Weâve had some ConnMan upgrades over this time.
Did you always test on a Pi 4? Those older versions wouldnât have been available for Pi 4
Cheers
Sam
I have only ever used OSMC on my Pi 4, so I can safely rule out differing hardware in this case. I am confused myself as to why something which has worked for me in the past would be problematic after a completely fresh install - this was the only thing I could pick up while troubleshooting.
I get this on my RPi4B
root@osmc-pi4:~# lsmod |grep -i ipv6
nf_defrag_ipv6 24576 1 nf_conntrack
ipv6 581632 66
root@osmc-pi4:~# sudo connmanctl
connmanctl> services
*AO Wired ethernet_dca632d63aaa_cable
connmanctl> config ethernet_dca632d63aaa_cable --ipv6 auto
connmanctl> exit
root@osmc-pi4:~# ifconfig
eth0: flags=-28605<UP,BROADCAST,RUNNING,MULTICAST,DYNAMIC> mtu 1500
inet 10.10.10.41 netmask 255.255.255.0 broadcast 10.10.10.255
inet6 2001:9e8:c962:3000:dea6:32ff:fed6:3aaa prefixlen 64 scopeid 0x0<global>
inet6 fe80::dea6:32ff:fed6:3aaa prefixlen 64 scopeid 0x20<link>
inet6 fd00:10:10:10:dea6:32ff:fed6:3aaa prefixlen 64 scopeid 0x0<global>
ether dc:a6:32:d6:3a:aa txqueuelen 1000 (Ethernet)
RX packets 75815 bytes 8407785 (8.0 MiB)
RX errors 0 dropped 23534 overruns 0 frame 0
TX packets 25468 bytes 1825359 (1.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 10703 bytes 919073 (897.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 10703 bytes 919073 (897.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
If you found a so-called provisioning file with the extension â.configâ under â/var/lib/connmanâ, it will most likely not have been created automatically by connman, but was created manually by you.
1 Like
@RZR7332 @sam_nazarko Playing with the osmc installer for the RPi4 platform I meanwhile learned that the installer is creating such provisioning omsc.config
file, if you created an sd card for a fix ip address usage.
The osmc.config
file in /var/lib/connman
shows e.g. a content of
[global]
Name=OSMC Provisioning File
Description=This provisioning file is created and updated by My OSMC and OSMC in
stallation
[service_ethernet]
Type=ethernet
IPv4=10.10.10.41/255.255.255.0/10.10.10.1
IPv6=off
Nameservers=10.10.10.201,10.10.10.202
and it is per default âimmutableâ. To use ipv6 you either have to change the entry ipv6=off
to ipv6=auto
to use ipv6 dhcp or specifiy a a fix ipv6 address there.
Removing the osmc.config
scompletely witches to ipv4 dhcp and you can activate in addition ipv6 dhcp as shown above.
Thatâs good to know.
Itâs the add-on that does that on first boot I believe.
Can you confirm if setting IPv6=auto keeps it disabled but still makes it configurable? I donât quite want to enable IPv6 just yet by default.
Sam
As I wrote ipv6=auto
activates ipv6 to get an address via dhcp in the osmc.config
provisioning file.
Due to the immutable property when using provisioning files, subsequent changes and the use of .config files are mutually exclusive.
Thanks @JimKnopf, appreciate the details. This was my original workaround, doing configuration in that file to have the changes propagated to the NIC. It is not ideal, as I set a static IPv6 address as well as enable privacy extensions.