* [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-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
* 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
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