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

Reply via email to