LINUX.ORG.RU

как заблокировать перезагрузку usb дравера?


0

1

мне нужно мониторить один девайс, подключается через usb/lp0. так вот при чтении из порта, (например как head -c 10 /dev/usb/lp0 > dump.log)

я постоянно получаю в dmesg:

usb 1-8.1: USB disconnect, address 11
drivers/usb/class/usblp.c: usblp0: removed
usb 1-8.1: new full speed USB device using ehci_hcd and address 12
usb 1-8.1: configuration #1 chosen from 1 choice
drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 12 if 0 alt 0 proto 2 vid 0x0F25 pid 0x0012

лог dbus-monitor:

signal sender=:1.0 -> dest=(null destination) path=/org/freedesktop/Hal/Manager; interface=org.freedesktop.Hal.Manager; member=DeviceRemoved
   string "/org/freedesktop/Hal/devices/usb_device_f25_12_1000001_usbraw"
signal sender=:1.0 -> dest=(null destination) path=/org/freedesktop/Hal/Manager; interface=org.freedesktop.Hal.Manager; member=DeviceRemoved
   string "/org/freedesktop/Hal/devices/usb_device_f25_12_1000001_if0_printer_noserial"
signal sender=:1.0 -> dest=(null destination) path=/org/freedesktop/Hal/Manager; interface=org.freedesktop.Hal.Manager; member=DeviceRemoved
   string "/org/freedesktop/Hal/devices/usb_device_f25_12_1000001_if0"
signal sender=:1.0 -> dest=(null destination) path=/org/freedesktop/Hal/Manager; interface=org.freedesktop.Hal.Manager; member=DeviceAdded
   string "/org/freedesktop/Hal/devices/usb_device_f25_12_1000001_if0"
signal sender=:1.0 -> dest=(null destination) path=/org/freedesktop/Hal/Manager; interface=org.freedesktop.Hal.Manager; member=DeviceRemoved
   string "/org/freedesktop/Hal/devices/usb_device_f25_12_1000001"
signal sender=:1.0 -> dest=(null destination) path=/org/freedesktop/Hal/Manager; interface=org.freedesktop.Hal.Manager; member=DeviceAdded
   string "/org/freedesktop/Hal/devices/usb_device_f25_12_1000001"
signal sender=:1.0 -> dest=(null destination) path=/org/freedesktop/Hal/Manager; interface=org.freedesktop.Hal.Manager; member=DeviceAdded

лог udevmonitor:

UEVENT[1338781979.608634] remove@/devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8.1/1-8.1:1.0/usbdev1.16_ep02
UEVENT[1338781979.608705] remove@/devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8.1/1-8.1:1.0/usbdev1.16_ep84
UEVENT[1338781979.608732] remove@/class/usb_endpoint
UEVENT[1338781979.608756] remove@/class/usb/lp0
UEVENT[1338781979.608781] remove@/class/usb
UEVENT[1338781979.609313] remove@/devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8.1/1-8.1:1.0
UEVENT[1338781979.609356] remove@/class/usb_device/usbdev1.16
UEVENT[1338781979.609423] remove@/devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8.1/usbdev1.16_ep00
UEVENT[1338781979.609450] remove@/devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8.1
UDEV  [1338781979.609920] remove@/devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8.1/1-8.1:1.0/usbdev1.16_ep02
UDEV  [1338781979.611013] remove@/devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8.1/1-8.1:1.0/usbdev1.16_ep84
UDEV  [1338781979.611699] remove@/class/usb_endpoint
UDEV  [1338781979.613078] remove@/class/usb/lp0
UDEV  [1338781979.614045] remove@/class/usb_device/usbdev1.16
UDEV  [1338781979.615263] remove@/devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8.1/usbdev1.16_ep00
UDEV  [1338781979.718809] remove@/class/usb
UDEV  [1338781979.815417] remove@/devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8.1/1-8.1:1.0
UEVENT[1338781979.871570] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8.1
UEVENT[1338781979.871837] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8.1/usbdev1.17_ep00
UEVENT[1338781979.871878] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8.1/1-8.1:1.0
UDEV  [1338781979.873121] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8.1/usbdev1.17_ep00
UEVENT[1338781979.874227] add@/class/usb/lp0

как бы узнать, это косяк девайса или есть возможность пофиксить перезагрузку драйвера?

Судя по логам, у тебя натурально девайс отваливается.

gadfly ★★ ()

Говорят, надо гадать с помощью usbmon (/usr/src/linux-.../Documentation/usb/usbmon.txt), может быть ядро пытается его усыплять, а тот отваливается. Может поможет опция usbcore.autosuspend

mky ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.