Como determino quais processos estão acessando um dispositivo usb?

0

Parece que a comunicação com o dispositivo UPS USB está sendo intermitentemente interrompida ou bloqueada. Estou recebendo esses erros:

pal[17421]: [HidDevice::claim] Failed to disconnect device '/dev/bus/usb/001/003'

pal[17421]: [HidManager::updateDevices] Failed to claim Device '/dev/bus/usb/001/003'

kernel: [ 9997.165994] usb 1-4.4: usbfs: process 15320 (pald) did not claim interface 0 before use

Gostaria de eliminar todos os processos que possam estar tentando monitorar ou indicar sobre esse dispositivo. Por exemplo, eu sei que xfce4-power-manager está rodando, mas matar apenas não parece resolver o problema.

Para o Ubuntu 16.04 x86_64, como posso listar todos os processos que estão acessando o dispositivo usb 003 no barramento 001?

Ou talvez talvez uma abordagem diferente:

Para esta instalação do Ubuntu 16.04 executando o xfce4-desktop, parece haver um indicador de energia, um plug-in do gerenciador de energia e um notificador de energia no painel.

Dado nenhum outro pacote adicional instalado, por padrão, o que todos os processos monitoram e indicam sobre fontes de alimentação ininterruptas?

    
por ChasW 11.10.2017 / 18:26

1 resposta

1

Consegui resolver o problema removendo os plug-ins, os notificadores e os indicadores do painel de bateria, além do gerenciamento nativo de energia da bateria.

Note que o uso da solução de gerenciamento de UPS de terceiros foi necessário para o meu caso, mas geralmente o Ubuntu também oferece boas opções.

A contenção do dispositivo ocult foi corrigida da seguinte maneira:

desativar o upower     sudo apt-get remover upower --purge

desabilite o backend de potência do indicador     sudo vi /usr/share/upstart/sessions/indicator-power.conf

mudança     exec / usr / lib / x86_64-linux-gnu / indicador-poder / indicador-poder-serviço

para     #exec / usr / lib / x86_64-linux-gnu / indicador-poder / indicador-poder-serviço

remover pacotes desnecessários     sudo apt-get autoremove --purge

reinicie.

Isso permite que o daemon powerplen da tripplite se comunique adequadamente com o no-break.

Além disso, para referência, é possível que, durante a contenção antes da desativação dos serviços de energia nativos, o console de alerta de energia seja deixado em um estado corrompido.

Isso é corrigido por:

pare o daemon de alerta de energia: sudo killall -9 pald

Excluindo os arquivos dat de: / var / tripplite / poweralert / data /

Reinicie ou daemonize pald como você escolher. O aplicativo java agora deve ser executado corretamente e conectar sempre.

Espero que isso ajude alguém algum dia. -c

    
por ChasW 12.10.2017 / 00:54