On Fri, Aug 01, 2008 at 05:59:59PM +0400, Alexey I. Froloff wrote: > Компонент - это любое устройство (не обязательно отдельная > железка, набортный SATA контроллер тоже является Компонентом). > Он однозначно определяется по Шине, Производителю и > КодуУстройства, мне думается этого должно хватить. Если это PCI vendor:device - однозначно мало; для многих устройств существенное значение имеет subsystem ID (например, многие звуковые карты Creative отличаются только по subsystem ID, с неизвестным устройством snd-emu10k1 работать отказывается). На самом деле всё ещё хуже - существуют устройства, которые вообще невозможно различить программно, но при этом требующие разных настроек (например, некоторые сканеры, поддерживаемых sane-gt68xx, не имеют EEPROM, в результате по USB виден только vid:pid чипа, но разные модели требуют разных файлов firmware и немного отличаются набором команд). В таблице vendors нужно поле bus_id, поскольку идентификаторы для PCI/USB/... назначаются независимо. Для IEEE1394 идентификаторы не влезают в int2 (там они 3-байтовые).