pyudev странное поведение
Имеются две абсолютно идентичные системы с ubuntu focal.
на обеих висит скрипт, который мониторит подключение SD-карт и производит определенные действия при подключении. Проблема состоит в том, что на одной системе pyudev показывает извлечение карты, а на второй нет.
вот кусок кода демона на питоне
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from daemon3x import daemon
import os
import sys
import pyudev
import subprocess
import time
import re
from configparser import ConfigParser
def start_pyudev():
context = pyudev.Context()
monitor = pyudev.Monitor.from_netlink(context)
#monitor.filter_by(subsystem='block', device_type='partition')
monitor.filter_by(subsystem='block'
)
monitor.start()
for device in iter(monitor.poll, None):
print('event %s' %device)
print('node: %s' %device.device_node)
print('action: %s' %device.action)
log('usb %s %s' %(device.action, device.device_node))
на первой системе, которая работает нормально, выдает при подключении следующее
# INSERT
event Device('/sys/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/host6/target6:0:0/6:0:0:0/block/sdb')
node: /dev/sdb
action: change
event Device('/sys/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/host6/target6:0:0/6:0:0:0/block/sdb')
node: /dev/sdb
action: change
event Device('/sys/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/host6/target6:0:0/6:0:0:0/block/sdb/sdb1')
node: /dev/sdb1
action: add
# REMOVE
event Device('/sys/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/host6/target6:0:0/6:0:0:0/block/sdb')
node: /dev/sdb
action: change
event Device('/sys/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/host6/target6:0:0/6:0:0:0/block/sdb/sdb1')
node: /dev/sdb1
action: remove
на второй системе при первом подключении все работает, но при извлечении карты выдает только
event Device('/sys/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/host6/target6:0:0/6:0:0:0/block/sdb')
node: /dev/sdb
action: change
и потом, независимо от того втыкается карта или достается, видим только change на /dev/sdb, a /dev/sdb1 remove не происходит.
В трее тоже висит иконка USB, как будто карта еще не извлечена...
Куда копать?