Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Nov 2018 19:21:00 +0200
From:      Dan Partelly <dan_partelly@rdsor.ro>
To:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Devd / devmatch(8) -- netif race 12-RC1
Message-ID:  <A4074445-D442-4244-8E73-7F34DAA5E3FD@rdsor.ro>

next in thread | raw e-mail | index | archive | help
Hello,

Today I tried a simple wireless failover on a machine  running free-bsd. =
After reboot the system cannot complete the initialization sequence OK =
with devmatcher.
The devd/devmatch(8) combo correctly identified the wireless card and =
loaded required drivers and firmware. rcorder(8) reports  that devd(8) =
runs after netif. As far as I gather, devd (8) runs devmatch(8) on =
nomatch class events. This results in the situation in which the =
interfaces are created before =E2=80=9Cplug and play=E2=80=9D =
initialization of the wireless device is complete (no driver no firmware =
yet ) , wlan0 creation is impossible and so on and so forth.=20
More so, I believe the runs of devmatch(8) are async in this scenario, =
so even if you moved devd(8) before netif service, this would not solve =
the issue, there will be race conditions.  I know this can be solved by =
loading the drivers manually, but still rising some issue is in order:

1) Why does devd(8) service runs after netif ? I believe it should run =
before netif service, probably after kld service. Is there anything =
which prevents changing this order ?
2.) In the scenario in which devd(8) is started before netif, what can =
be done to ensure that a barier exists such that an arbitrary =
devmatch(8) run is guaranteed to finish loading required drivers before =
netif ? Ignore this if Im wrong about asyc nature of devmatch(8) run.=20
3 In what state is devmatcher now ? A lot of modules seems to be loaded =
ok, but some do not yet. coretemp(4) hwpmc(4) , intel serie 9 smbus =
driver seems not.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A4074445-D442-4244-8E73-7F34DAA5E3FD>