HAL 0.5.x & networking
David Zeuthen
david at fubar.dk
Wed Jun 8 08:40:02 PDT 2005
On Wed, 2005-06-08 at 08:23 -0700, Sean Meiners wrote:
> I would agree that fixing the drivers is ideal, but unfortunately,
> it's not a luxury we have. There are too many drivers for us to fix
> ourselves, and we can't afford to wait until someone else fixes them
> all for us :( If we (read: Linspire) are going to use HAL to help
> manage the network devices we need all devices to work (even the
> crappy ones). So I guess I'll just keep my patch in place on our
> package until all the drivers work properly.
Well, with recent kernels (2.6.11 or later) this works pretty well. I
don't think that Fedora carries any extra patches in that department. Of
course, if you ship a lot of out-of-tree drivers it's a slightly
different scenario.
> Also, I forgot to mention, even after I removed the device check the
> airo device still wasn't showing up at first. It turns out that
> there is a bit of a race condition. For some reason there is a delay
> between when HAL receives the event telling it that the card has been
> inserted and when /sys/class/net/<if> gets populated. So even though
> the address file does get created for the interface, it's not
> available when net_add goes looking for it causing it to not find the
> device. I added a limited retry around hal_util_set_string_from_file
> (d, "net.address", sysfs_path, "address") with sleep(1)'s between
> each iteration and it works fine, although I'd prefer a less brute-
> force solution.
Are you using udevd as the hotplug multiplexer? Because you need to do
that and that requires udev >= 050 or something (it's in the hal release
notes, file NEWS in the tarball)
[davidz at daxter ~]$ cat /proc/sys/kernel/hotplug
/sbin/udevsend
If you're not using this, that would explain the things you're seeing.
HTH,
David
_______________________________________________
hal mailing list
hal at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/hal
More information about the Hal
mailing list