I'm trying to figure out a problem that I think is related to the hald
not seeing events that it should. In particular, I've got a hotplug
driver that is attaching a branch at a time. At the end of the branch
is a disk node (handled via sd.)
I can see the minor nodes, and it looks like devfsadm is properly
creating the links. Certainly EC_DEVFS_BRANCH events are getting passed
upstream.
Reading the sysevent.c in hald, it looks like it is only registering for
EC_DEV_ADD, EC_DEV_REMOVE, and branch removal.
There are two questions (at least) here:
1) It looks like it really should be listing for branch addition, as
well. Is there any reason not to listen to branch addition and add a
whole branch at a time?
2) It looks like in response to EC_DEVFS_DEVI_ADD (which is sent after
the node as done attach(9e), add_minor_pathname() in devfsadm is called,
which ultimately I'd have expected to cause an event for the minor node
creations to be called for each of the nodes established by sd(7d).
These don't seem to get to be seen by hald, so either they aren't
getting sent at all, or I'm misunderstanding hald somewhat.
I'd appreciate help from anyone familiar with that portion of the code
in hald. Right now my first reaction is to fix #1. I think if hald
responded to branch additions as well as removals, it would be more
robust in the face of hotplug events. But maybe I'm not seeing
something. What I don't understand yet is why USB hotplug seems to work
properly, while it doesn't for my device.
Thanks!
- Garrett
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code