I thought I sent reply already but I probably did not thanks to connection problems ;-)
On Wed, 09 Nov 2016 23:32:52 +0100, Ludovic Courtès wrote: > > Tomáš Čech <sleep_wal...@gnu.org> skribis: > > > * gnu/services/networking.scm (wpa-supplicant-service): New procedure. > > (wpa-supplicant-service-type): New variable. > > (wpa-supplicant-shepherd-service): New procedure. > > * doc/guix.texi (Networking Services): Document it. > > Could you remove the ‘wpa-supplicant-service’ procedure and simply > expose and document ‘wpa-supplicant-service-type’? So users would > write: > > (service wpa-supplicant-service-type wpa-supplicant) > > instead of: > > (wpa-supplicant-service) > > I’m trying to incrementally get us to do that for all services, because > I think it’s a bit clearer (one immediately sees what type of > configuration value is used.) I can't say whether it is clearer or not from language or design perspective, but after the change I had to have a look on your mail to see how it is done properly so it is less user friendly. Nevertheless done. > > > +@cindex WPA Supplicant > > +@deffn {Scheme Procedure} wpa-supplicant-service @ > > + [#:wpa-supplicant @var{wpa-supplicant}] > > +Return a service that runs @url{https://w1.fi/wpa_supplicant/,WPA > > +supplicant}, an authentication daemon required to authenticate against > > +encrypted WiFi or ethernet networks. > > Could you also mention that wpa_supplicant is started to listen on a > D-Bus interface? Done. > > + (requirement '(user-processes dbus-system loopback)) > > + (start #~(make-forkexec-constructor > > + (list (string-append #$wpa-supplicant > > + "/sbin/wpa_supplicant") > > + "-u" "-B"))) > > I think it would be more reliable to use > “-P/var/run/wpa_supplicant.pid”, and thus > > #:pid-file "/var/run/wpa_supplicant.pid" > > OK with changes along these lines, thanks! Good idea! > OK! > So does Connman work as expected now? I guess it was all broken before? It works better with WiFi after this change but it is still far from perfect. 1] it still can be controlled only by root (it requires D-Bus policy to be installed properly and I need to figure out where and how) 2] connman-vpnd is not started - I'll probably make another service for that 3] there needs to be created some configuration mechanism for features like enabling/disabling dns proxy (which is IMHO killer feature of connman) or ignoring network devices 4] connman is harder to configure without other clients so I'm working on connman-json-client (curses) and connman-ui (GTK3) Best regards, S_W