[Flug] [Tech] Problema di permessi su device

Lapo lapo@inventati.org
Mar 24 Mar 2026 22:13:17 CET


Buonasera Flug!
La lista [tech] immagino ci sia ancora ma non volevo avere l'onore
dell'ultima discusssione per cui mi adeguo al nuovo assetto delle
liste e pongo qui una domanda tennica; forse piu` da primipassi ma -si
sa- sono uno imprestato all'informatica...

Ho un dispositivo usb che fa da interfaccia verso la GPIB, una vecchia
interfaccia per strumentazione elettronica da laboartorio, e che mi
funziona solo da root, da utente normale no. Mi sembrerebbe di aver
fatto tutto bene, oltretutto seguendo le indicazioni di corredo al
sistema ma non riesco a avere il permesso di accesso da utente
normale.

Vi espongo il problema.

Appena connesso il dispositivo, con lsusb viene correttamente
 rilevato:

Bus 001 Device 012: ID 03eb:2065 Atmel Corp. LUFA Test and Measurement Demo Application

Posso poi vedere, in '/dev/:

    crw-rw----  1 root usbtmc  180,     0 Mar 24 21:50 usbtmc0

i cui permessi derivano dal file 99-usbtmc.rules aggiunto in
/etc/udev/rules.d/ e che contiene questo:

    SUBSYSTEMS==”usb”, ACTION=="add", ATTRS{idVendor}==”03eb″, ATTRS{idProduct}==”2065″, MODE="0660", GROUP="usbtmc"

    KERNEL=="usbtmc[0-9]*",   MODE="0660", GROUP="usbtmc"

Prima domanda: e` stato scritto correttamente questo file?

Ho poi installato il pacchetto python-usbtmc
(https://github.com/alexforencich/python-usbtmc.git) e se eseguo:

    $ python3
    >>> import usbtmc
    >>> instr=usbtmc.Instrument(1003, 8293)
    >>> print(instr.ask("*IDN?"))
    <tanta robaccia e infine>
    usb.core.USBError: [Errno 13] Access denied (insufficient permissions)

Pero` sono membro del gruppo usbtmc:

    $ groups
    lapo dialout cdrom floppy sudo audio dip video plugdev netdev wireshark gpib usbtmc

Se eseguo le stesse cose python come root tutto funziona bene e lo
strumento connesso viene rilevato mostrando:

    HEWLETT-PACKARD,53131A,0,3703

(ho anche dato altri comandi verificando che tutto funziona a dovere,
da root).

Dopo aver modificato il file in rules.d/ ho dato i comandi:

    # udevadm control --reload
    # udevadm trigger

oppure

    # systemctl restart systemd-udevd

quindi anche questa parte la dovrei aver fatta bene.

Dove sto sbagliando?

Altra cosa curiosa e` che dopo eseguite le righe python /dev/usbtmc0
sparisce anche se tutto (da root) continua a funzionare... vabbe',
questo mi interessa meno.

Grazie un monte!

Lapo


Maggiori informazioni sulla lista flug