Eu tenho um dispositivo de medidor de energia PM100D da Thorlabs.
O problema que encontro é, eu gostaria de me comunicar com ele através da escrita e leitura do arquivo do nó em /dev
.
Eu tentei fazer isso no Ubuntu 16.04 anteriormente e, portanto, criei uma regra apropriada do udev que me tornaria proprietário e proprietário do nó criado. No entanto, isso não levava a parte alguma, já que eu nunca poderia escrever nada no nó criado em /dev
. Devo dizer no Ubuntu, de alguma forma o sistema nunca criou um usbtmc0
para mim, ele apenas criou o nó em algum lugar em /dev/bus/usb/xxx/yyy
Quando eu tentei fazer os mesmos comandos de escrita e leitura no Debian, tudo funcionou bem. Eu agora entendo que a razão é porque eu estou realmente escrevendo em /dev/usbtmc0
, que é automaticamente criado quando eu conecto meu dispositivo do Debian, mas isso não aconteceu no Ubuntu. o nó que foi criado no Ubuntu, no formato /dev/bus/usb/xxx/yyy
é criado também agora: portanto, eu tenho de alguma forma ambos /dev/usbtmc0
e /dev/bus/usb/xxx/yyy
sendo criados quando eu conecto meu dispositivo no Debian. Novamente, se eu tentar me comunicar com o nó usbtmc0, tudo vai bem, mas se eu tentar me comunicar através do nó xxx/yyy
, a escrita vai mal (eu recebo um argumento "Erro de OSError: [Errno 22]" do python) .
Quando plugado e desconectado no ubuntu e debian, eu verifiquei em cada caso que o módulo usbtmc
foi carregado, e ele foi carregado no momento do plugin em cada caso (certifiquei-me disso primeiro removendo o módulo e então conectando o dispositivo , e depois disso, eu verifiquei que o módulo foi carregado de volta)
Então, suponho que minha pergunta seja dupla:
1) como eu poderia alterar o comportamento padrão da criação de nós do usbtmc? isto é, especificamente no Debian, o nó é criado para o usuário root, exceto que eu gostaria de fazer meu script python funcionar para qualquer pessoa no computador. Eu não consigo fazer o udev me ajudar aqui, porque eu não pareço controlar a criação do usbtmc0. Alguma idéia?
2) Existe uma maneira de forçar o usbtmc a criar um nó no Ubuntu 16.04? ele não faz isso sozinho, embora faça com o debian 9. também, de alguma forma, no meu computador, o dmesg não me avisa sobre a criação do nó usbtmc0, ao passo que ele faz em outro computador
[Mon Mar 12 16:26:55 2018] usb 3-1.6: new full-speed USB device number 15 using ehci-pci
[Mon Mar 12 16:27:00 2018] usb 3-1.6: New USB device found, idVendor=1313, idProduct=8078
[Mon Mar 12 16:27:00 2018] usb 3-1.6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[Mon Mar 12 16:27:00 2018] usb 3-1.6: Product: PM100D
[Mon Mar 12 16:27:00 2018] usb 3-1.6: Manufacturer: Thorlabs
[Mon Mar 12 16:27:00 2018] usb 3-1.6: SerialNumber: P0016534
muito obrigado pela sua ajuda.
EDIT: na verdade, eu posso realmente influenciar o nó usbtmc0
com uma regra do udev, simplesmente com essa linha no arquivo /etc/udev/rules.d/10-local-rules
KERNEL=="usbtmc*", MODE="0666", GROUP="usbtmc"