Hi!
I'm sorry for responding to a somewhat old thread but this was the most relevant thread I found so I registered just to share my solution.
I've been struggling with networking booting LibreELEC over iSCSI (NFS works fine) since the shutdown process hangs, as many of you might know. Connman indeed seems to be the culprit (strange that with NFS it works fine).
I tried different approaches suggested here. Many of them focus on disabling/circumventing connman completely but for me it causes the startup to take a bit longer and display a few errors since there are dependencies that would have to be edited too to make it work cleanly.
Since the issue lies in the shutdown process, I simply ended up modifying connman.service by adding the following line to the unit-file:
This is still a hack, but it does prevent connman from interfering with the network by killing it instead of properly stopping it. (You could probably use something like ExecStop=/bin/true too as a dummy command for stopping it)
To reiterate the steps I did to modify the unit-file:
Copy the file "/usr/lib/systemd/system/connman.service" to "YOUR_STORAGE_PATH/.config/system.d"
Edit "YOUR_STORAGE_PATH/.config/system.d/connman.service" and add the ExecStop-line to the [Service] section
I then ran "systemctl daemon-reload" and "systemctl enable connman" to get the proper symlink created under "YOUR_STORAGE_PATH/.config/system.d...".
Check that "systemctl status connman" displays the new service-file path in the second line.
A proper solution would be to rework the service dependencies or configure connman to somehow leave the connections to be. I took a quick look at it but it seems that systemd's shutdown order is always the reverse of the boot order and I didn't want to start messing with it that much so I came up with this hack instead.
I hope this helps someone.