Errore 'USBDeviceOpen failed' solo con il mio account utente quando si utilizza il controller USB PowerMate. OK con un nuovo account

2

Ho un controller USB PowerMate di Griffin: funziona, ma utilizzando il mio account utente normale non posso controllare le impostazioni della luce . Con un nuovo account, tutto funziona come previsto. Come posso scoprire cosa causa il problema?

Posso interagire con esso, girarlo, premerlo e reagisce come previsto.
Ma non posso controllare le impostazioni della luce: la luce è sempre accesa, anche se l'ho impostata sulla modalità a impulsi. Non lampeggia quando dovrebbe.

Ogni volta che eseguo un'azione che dovrebbe modificare lo stato di illuminazione (assegnando il Set predefinito all'unità PowerMate o modificando lo stato di illuminazione predefinito nelle impostazioni), ottengo questo errore nella console:

19/03/11 17:39:42 PowerMate[441] PowerMate Device location: 26410000 service: 0000b69b USBDeviceOpen failed: e00002c5

A volte, ricevo più voci dello stesso errore (fino a 14 volte). Tranne questo errore e il seguente errore all'avvio dell'app, non c'è niente di utile.

Path (null) given to -[NSWorkspace iconForFile:] is not a full path.

Sono in esecuzione Lion 10.7.1 (il problema era simile a Snow Leopard).

Ecco cosa ho fatto finora per la risoluzione dei problemi:

  • Assicurati che l'applicazione PowerMate.app non sia in esecuzione

  • Scollega il dispositivo USB PowerMate e tutti gli altri dispositivi USB (tranne la tastiera)

  • Rimuovi tutto ciò che è stato creato dall'applicazione PowerMate.app con:

.

rm ~/Library/Preferences/com.griffintechnology.PowerMate.plist;
rm -rf ~/Library/Caches/com.griffintechnology.PowerMate;
rm -rf ~/Library/Application\ Support/PowerMate;
  • Riparare l'autorizzazione con Disk Utility.app

  • Reboot.

  • Applica l'ultimo aggiornamento combinato (MacOSXUpdCombo10.6.6.dmg)

  • Reboot

  • Avvia l'ultima versione dell'applicazione PowerMate.app (versione 3.0 - 3012).

  • Quindi collega il dispositivo USB PowerMate.

Qualcos'altro che suggerisci di trovare la differenza tra il mio account e uno nuovo?

Differenze note che contano tra gli account:

Somiglianze tra gli account:

Entrambi gli account sono admin della macchina.
Sono membri dello stesso gruppo.

Output del comando id:  il mio account normale (quello con il problema):
uid=501(mylogin) gid=20(staff) groups=20(staff),401(com.apple.access_screensharing),102(com.apple.access_ssh),204(_developer),100(_lpoperator),98(_lpadmin),81(_appserveradm),80(admin),79(_appserverusr),61(localaccounts),12(everyone),402(com.apple.sharepoint.group.1)

il nuovo account di prova nuovo (quello in cui funziona):
uid=502(test2) gid=20(staff) groups=20(staff),401(com.apple.access_screensharing),204(_developer),100(_lpoperator),98(_lpadmin),81(_appserveradm),80(admin),79(_appserverusr),61(localaccounts),12(everyone),402(com.apple.sharepoint.group.1)

Sono in contatto con il supporto di Griffin. Sono molto carini, ma finora non siamo riusciti a trovare il motivo del problema.

Aggiornamento: Apparentemente, il codice di errore e00002c5 significa "accesso esclusivo e dispositivo già aperto".
Qualche idea su come capire quale processo ha accesso a un dispositivo USB?

    
posta Guillaume 19.03.2011 - 18:07
fonte

2 risposte

1

Ho trovato il colpevole: MenuMeters stava accedendo alle impostazioni di illuminazione del dispositivo PowerMate.

Non sapevo che MenuMeters avesse un'impostazione per mostrare l'utilizzo della CPU tramite il bagliore PowerMate. Era lì dal 2003, ma non me ne importava perché non possedevo un PowerMate prima.

L'ultima versione corregge questo bug. Mille grazie ad Alex Harper per il suo ottimo software e il suo continuo supporto. link

    
risposta data 01.02.2012 - 10:37
fonte
1

Sembra che qualcosa sia rotto con il nodo del dispositivo per il dispositivo USB. Confrontate le impostazioni con qualcosa del genere:

  1. capire qual è il nodo del dispositivo. L'ultimo passo mostrerà il nome del dispositivo dopo un > (e qualche altra roba che puoi ignorare.) Avrai bisogno del nome del dispositivo nel passaggio 2. Sarebbe meglio fare questo test sull'utente temp che funziona, subito dopo un nuovo riavvio.
    1. ls -1 /dev/ > /tmp/before ( nota, è "trattino uno" )
    2. collega il dispositivo in
    3. ls -1 /dev/ > /tmp/after
    4. diff /tmp/before /tmp/after
  2. confronta le autorizzazioni del dispositivo tra i due.
    1. accedi come utente
    2. ls -el /dev/devicename > /tmp/broken ( nota, questo è "dash e ell" questa volta )
    3. accedi come utente temporaneo
    4. ls -el /dev/devicename > /tmp/working

Quest'ultimo bit creerà due file che assomigliano a questo:

crw-rw-rw- 1 root wheel 11, 1 Mar 26 16:20 cu.Bluetooth-PDA-Sync

Il primo bit ( crw-rw-rw- ) è una rappresentazione testuale dei bit della modalità ... è possibile che vi sia una differenza.

Il prossimo bit che potrebbe essere il problema è l'utente ( root ) e il gruppo ( wheel ), che potrebbero causare il problema.

Suppongo che venga creato dinamicamente (erroneamente) quando il dispositivo è inserito. Un'altra possibilità è che il nodo del dispositivo sia persistente, ma sbagliato. Se entrambi questi file sono MATCH, mostraci cosa sono e probabilmente possiamo capire a cosa deve essere impostato il dispositivo.

    
risposta data 05.04.2011 - 10:30
fonte

Leggi altre domande sui tag