Bug 14015

Summary: Раздвоение девайсов
Product: Sisyphus Reporter: inger <inger>
Component: udevAssignee: Alexey Shabalin <shaba>
Status: CLOSED WORKSFORME QA Contact: qa-sisyphus
Severity: critical    
Priority: P2 CC: arseny, evg, mike, shaba, silicium
Version: unstable   
Hardware: all   
OS: Linux   

Description inger@altlinux.org 2008-01-15 16:47:35 MSK
При старте системы в базе данных hal имеются дубляжи устройств. При чём если
сделать потом haldaemon restart, то всё приходит в норму.

udi = '/org/freedesktop/Hal/devices/net_00_11_43_77_31_3d_0'
  info.capabilities = {'net', 'net.80203', 'wake_on_lan'} (string list)
  info.category = 'net.80203'  (string)
  info.interfaces = {'org.freedesktop.Hal.Device.WakeOnLan'} (string list)
  info.parent = '/org/freedesktop/Hal/devices/pci_14e4_1677'  (string)
  info.product = 'Networking Interface'  (string)
  info.udi = '/org/freedesktop/Hal/devices/net_00_11_43_77_31_3d_0'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'net'  (string)
  linux.sysfs_path = '/sys/class/net/eth0'  (string)
  net.80203.mac_address = 74146328893  (0x114377313d)  (uint64)
  net.address = '00:11:43:77:31:3d'  (string)
  net.arp_proto_hw_id = 1  (0x1)  (int)
  net.interface = 'eth0'  (string)
  net.linux.ifindex = 2  (0x2)  (int)
  net.originating_device = '/org/freedesktop/Hal/devices/pci_14e4_1677'  (string)
  net.physical_device = '/org/freedesktop/Hal/devices/pci_14e4_1677'  (string)
  org.freedesktop.Hal.Device.WakeOnLan.method_argnames = {'', '', 'enable'}
(string list)
  org.freedesktop.Hal.Device.WakeOnLan.method_execpaths =
{'hal-system-wol-supported', 'hal-system-wol-enabled', 'hal-system-wol-enable'}
(string list)
  org.freedesktop.Hal.Device.WakeOnLan.method_names = {'GetSupported',
'GetEnabled', 'SetEnabled'} (string list)
  org.freedesktop.Hal.Device.WakeOnLan.method_signatures = {'', '', 'b'} (string
list)

udi = '/org/freedesktop/Hal/devices/net_00_11_43_77_31_3d'
  info.capabilities = {'net', 'net.80203', 'wake_on_lan'} (string list)
  info.category = 'net.80203'  (string)
  info.interfaces = {'org.freedesktop.Hal.Device.WakeOnLan'} (string list)
  info.parent = '/org/freedesktop/Hal/devices/pci_14e4_1677'  (string)
  info.product = 'Networking Interface'  (string)
  info.udi = '/org/freedesktop/Hal/devices/net_00_11_43_77_31_3d'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'net'  (string)
  linux.sysfs_path = '/sys/class/net/eth0'  (string)
  net.80203.mac_address = 74146328893  (0x114377313d)  (uint64)
  net.address = '00:11:43:77:31:3d'  (string)
  net.arp_proto_hw_id = 1  (0x1)  (int)
  net.interface = 'eth0'  (string)
  net.linux.ifindex = 2  (0x2)  (int)
  net.originating_device = '/org/freedesktop/Hal/devices/pci_14e4_1677'  (string)
  net.physical_device = '/org/freedesktop/Hal/devices/pci_14e4_1677'  (string)
  org.freedesktop.Hal.Device.WakeOnLan.method_argnames = {'', '', 'enable'}
(string list)
  org.freedesktop.Hal.Device.WakeOnLan.method_execpaths =
{'hal-system-wol-supported', 'hal-system-wol-enabled', 'hal-system-wol-enable'}
(string list)
  org.freedesktop.Hal.Device.WakeOnLan.method_names = {'GetSupported',
'GetEnabled', 'SetEnabled'} (string list)
  org.freedesktop.Hal.Device.WakeOnLan.method_signatures = {'', '', 'b'} (string
list)
Comment 1 Dmitry V. Levin 2008-01-15 17:00:21 MSK
Reassign
Comment 2 Sergey Vlasov 2008-01-15 18:01:35 MSK
А если выполнить echo -n add >/sys/class/net/eth0/uevent, тоже возникает дубль?

Подобную операцию выполняет сервис udevd-final при запуске (для повторной
обработки событий, которые не могли быть обработаны при запуске udevd из
rc.sysinit - в частности, без этого не поднимаются интерфейсы с USE_HOTPLUG=yes,
которые были обнаружены до запуска сервиса network).  При этом вызывается
udevtrigger --retry-failed, однако ожидание завершения обработки событий не
производится - возможно, фоновая обработка событий ещё продолжается после
запуска hald.
Comment 3 inger@altlinux.org 2008-01-15 18:33:18 MSK
после подобного echo:

1. на раздвоившийся девайс больше не раздваивается.
2. рядом сидел eth1 (wifi), был в одном экземпляре - он раздвоился.

[root@book1 ~]# hal-find-by-property --key=net.interface --string='eth1'
/org/freedesktop/Hal/devices/net_00_12_f0_38_cd_e4
[root@book1 ~]# hal-find-by-property --key=net.interface --string='eth0'
/org/freedesktop/Hal/devices/net_00_11_43_77_31_3d_0
/org/freedesktop/Hal/devices/net_00_11_43_77_31_3d
[root@book1 ~]# echo -n add >/sys/class/net/eth0/uevent
[root@book1 ~]# hal-find-by-property --key=net.interface --string='eth0'
/org/freedesktop/Hal/devices/net_00_11_43_77_31_3d_0
/org/freedesktop/Hal/devices/net_00_11_43_77_31_3d
[root@book1 ~]# echo -n add >/sys/class/net/eth1/uevent
[root@book1 ~]# hal-find-by-property --key=net.interface --string='eth0'
/org/freedesktop/Hal/devices/net_00_11_43_77_31_3d_0
/org/freedesktop/Hal/devices/net_00_11_43_77_31_3d
[root@book1 ~]# hal-find-by-property --key=net.interface --string='eth1'
/org/freedesktop/Hal/devices/net_00_12_f0_38_cd_e4_0
/org/freedesktop/Hal/devices/net_00_12_f0_38_cd_e4
Comment 4 Valery Inozemtsev 2008-02-08 15:22:18 MSK
(In reply to comment #3)
> после подобного echo:
> 
> 1. на раздвоившийся девайс больше не раздваивается.
> 2. рядом сидел eth1 (wifi), был в одном экземпляре - он раздвоился.

значит udev
Comment 5 Michael Shigorin 2009-10-12 00:55:05 MSD
актуально?
Comment 6 Michael Shigorin 2012-01-18 12:19:21 MSK
Иных уж hal, а те далече...