More on hotplug issue w/HAL

Matthew Mastracci matt at aclaro.com
Tue Jan 6 16:52:10 EET 2004


David Zeuthen wrote:

> This makes sense, I'll add this tonight unless you already have a patch
> for it?

Unfortunately, my patch right now just uses the entire SCSI bus address 
(from the and places it in scsi_device.lun.  It works, but I don't 
believe that it is a complete solution:

     ds_property_set_string(d, "scsi_device.lun",
class_device->sysdevice->bus_id);

>>That file is missing from my system.  I used "make install" + 
>>checkinstall to install HAL/dbus/udev.  I was getting a dbus permissions 
>>error on connection when starting udev earlier.  After moving that file 
>>to system.d, it looks like everything is working great!
>>
> Ok, this needs to be fixed in udev.

It might even be my setup.  It seems like udev installed in the root of 
my filesystem, while dbus and hal installed under /usr/local/.  Perhaps 
udev couldn't find the dbus-1 configuration directory (it assumed it was 
under /etc rather that /usr/local/etc) and just gave up.

I'm not certain, but if I had specified the correct build roots for dbus 
and hal, it probably would have fixed that.

> Thanks - polling using ioctl (if possible) sounds more portable than
> sniffing the USB stream. Dunno..

Yeah - if USB interaction is required, I think it would be best to push 
the changes into a kernel driver that could expose it via ioctl().  I 
think that all removable media should probably be checked that way.

It looks like magicdev itself uses simple open() calls for testing 
floppies.  In my testing, I've found this method to be unreliable for 
2.6.x devices (floppies and USB media) if they are removed without 
umount-ing.  I'll have to learn more about SCSI commands to see if there 
is a better way to test for media presence for a SCSI interface device.

Matt.




More information about the xdg mailing list