* [sisyphus] HAL как настроить? @ 2005-02-18 22:36 Yura Zotov 2005-02-22 9:33 ` Alexey Morozov 2005-02-22 14:23 ` Zilke Pavel 0 siblings, 2 replies; 4+ messages in thread From: Yura Zotov @ 2005-02-18 22:36 UTC (permalink / raw) To: Sisyphus List Подскажите, пожалуйста, как настраивается HAL? И где вообще к нему документация? Заранее спасибо за помощь. -- Юрий А. Зотов ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [sisyphus] HAL как настроить? 2005-02-18 22:36 [sisyphus] HAL как настроить? Yura Zotov @ 2005-02-22 9:33 ` Alexey Morozov 2005-02-23 0:33 ` Yura Zotov 2005-02-22 14:23 ` Zilke Pavel 1 sibling, 1 reply; 4+ messages in thread From: Alexey Morozov @ 2005-02-22 9:33 UTC (permalink / raw) To: Sisyphus List [-- Attachment #1: Type: text/plain, Size: 2757 bytes --] On Sat, Feb 19, 2005 at 01:36:29AM +0300, Yura Zotov wrote: > Подскажите, пожалуйста, как настраивается HAL? И где вообще к > нему документация? Feel the power Luke, trust your schwartz! Документация по нему - в его конфигурационных файлах (они XML'ки). Лежат в /usr/share/hal/fdi. Я немного тормозил, прежде чем понял, как с уровня, скажем, "тома" (volume) обратиться к свойствам железки, полчаса медитирования над исходниками дали мне в итоге такое решение (/usr/share/hal/fdi/95userpolicy/4in1-card-reader.fdi): ------------------8<--->8--------------- <?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- --> <deviceinfo version="0.2"> <device> <match key="info.bus" string="usb"> <match key="usb.vendor_id" int="0x05e3"> <match key="usb.product_id" int="0x0760"> <merge key="storage_lun0.drive_type" type="string">compact_flash</merge> <merge key="storage_lun1.drive_type" type="string">memory_stick</merge> <merge key="storage_lun2.drive_type" type="string">sd_mmc</merge> <merge key="storage_lun3.drive_type" type="string">smart_media</merge> </match> </match> </match> <match key="@info.parent:@info.parent:@info.parent:@info.parent:usb.vendor_id" int="0x05e3"> <match key="@info.parent:@info.parent:@info.parent:@info.parent:usb.product_id" int="0x0760"> <merge key="volume.policy.desired_mount_point" type="copy_property">@info.parent:storage.drive_type</merge> </match> </match> </device> </deviceinfo> ------------------8<--->8--------------- То есть, в первой части мы даем "названия типов" различным типам слотов (это, в силу некоторой "магической логики" HAL можно сделать прямо с "уровня устройства". Во второй части мы, находясь на уровне volume (самом нижнем), проверяем есть ли у нашего "пра-пра-дедушки в дереве устройств" свойство usb.vendor_id равное 0x05e3 итп, и, если все хорошо, то копируем родительское свойство drive_type себе в свойство volume.policy.desired_mount_point (относительно /media, тоже конфигурируется где-то в недрах /usr/share/hal/fdi). Возможно, есть более короткие пути решения поставленной задачи, но я своей цели достиг, и у меня есть игры поинтереснее FDI-гольфа :-). Вообще, думается, что поколение XSLT счастливо иметь в качестве конфигов такую игрушку :-) Дерево устройств можно глядеть в hal-device-manager, kdevicemanager (kvm), ну, и верятно, другими способами, там все более-менее просто устроено в части API. С уважением, Алексей Морозов. P.S. Disclaimer: я не уверен в том, что в моем устройств первый слот соответствует memory stick, а 3-ий - smart media, проверять не на чем. CF'ки и SD-шки - точно на месте :-). [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [sisyphus] HAL как настроить? 2005-02-22 9:33 ` Alexey Morozov @ 2005-02-23 0:33 ` Yura Zotov 0 siblings, 0 replies; 4+ messages in thread From: Yura Zotov @ 2005-02-23 0:33 UTC (permalink / raw) To: sisyphus On Tue, Feb 22, 2005 at 03:33:48PM +0600, Alexey Morozov wrote: > On Sat, Feb 19, 2005 at 01:36:29AM +0300, Yura Zotov wrote: > > Подскажите, пожалуйста, как настраивается HAL? И где вообще к > > нему документация? > Feel the power Luke, trust your schwartz! > > Документация по нему - в его конфигурационных файлах > (они XML'ки). Лежат в /usr/share/hal/fdi. У меня есть USB-винчестер. hal его видит вот так: udi = '/org/freedesktop/Hal/devices/block_8_0' storage.policy.should_mount = true (bool) info.udi = '/org/freedesktop/Hal/devices/block_8_0' (string) storage.requires_eject = false (bool) storage.hotpluggable = true (bool) storage.removable = false (bool) info.product = 'Storage Device' (string) info.vendor = 'USB 2.0' (string) storage.drive_type = 'disk' (string) block.storage_device = '/org/freedesktop/Hal/devices/block_8_0' (string) storage.physical_device = '/org/freedesktop/Hal/devices/usb_usb_device_7c4_ad01_100_-1_00001000200000019900_0' (string) storage.vendor = 'USB 2.0' (string) storage.model = 'Storage Device' (string) storage.automount_enabled_hint = true (bool) storage.no_partitions_hint = false (bool) storage.media_check_enabled = true (bool) storage.bus = 'usb' (string) block.minor = 0 (0x0) (int) block.major = 8 (0x8) (int) info.capabilities = 'block storage' (string) info.category = 'storage' (string) block.device = '/dev/discs/disc1/disc' (string) info.parent = '/org/freedesktop/Hal/devices/scsi_10_0_0_0' (string) block.is_volume = false (bool) block.have_scanned = false (bool) block.no_partitions = false (bool) linux.sysfs_path_device = '/sys/block/sda' (string) linux.sysfs_path = '/sys/block/sda' (string) info.bus = 'block' (string) Т.е. никаких опознавательных знаков нет, кроме physical_device. Подскажите, пожалуйста, этот physical_device он на самом деле уникальный для каждого устройства и не меняется вообще, или нет? Да, и /org/freedesktop/Hal/devices в начале как-то смущают... Кстати, не знаете, планируется ли добавить в <match> атрибут regex? Хорошо бы... Заранее спасибо за помощь. -- Юрий А. Зотов ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [sisyphus] HAL как настроить? 2005-02-18 22:36 [sisyphus] HAL как настроить? Yura Zotov 2005-02-22 9:33 ` Alexey Morozov @ 2005-02-22 14:23 ` Zilke Pavel 1 sibling, 0 replies; 4+ messages in thread From: Zilke Pavel @ 2005-02-22 14:23 UTC (permalink / raw) To: ALT Linux Sisyphus discussion list Yura Zotov пишет: >Подскажите, пожалуйста, как настраивается HAL? И где вообще к >нему документация? > >Заранее спасибо за помощь. > > > Я брал к нему документацию из архива найденного в дебиане: http://debian.fapeal.br/debian/pool/main/h/hal/hal_0.4.7.orig.tar ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2005-02-23 0:33 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2005-02-18 22:36 [sisyphus] HAL как настроить? Yura Zotov 2005-02-22 9:33 ` Alexey Morozov 2005-02-23 0:33 ` Yura Zotov 2005-02-22 14:23 ` Zilke Pavel
ALT Linux Sisyphus discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \ sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru public-inbox-index sisyphus Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.sisyphus AGPL code for this site: git clone https://public-inbox.org/public-inbox.git