2 votes

Erreur 'USBDeviceOpen failed' uniquement avec mon compte utilisateur lorsque j'utilise le contrôleur USB PowerMate. OK avec un nouveau compte

J'ai un contrôleur USB PowerMate de Griffin : il fonctionne, mais en utilisant mon ordinateur, je n'ai pas besoin de le faire. compte d'utilisateur normal je ne peux pas contrôler les paramètres de la lumière . Avec un nouveau compte, tout fonctionne comme prévu. Comment puis-je trouver la cause du problème ?

Je peux interagir avec lui, le tourner, le presser, et il réagit comme prévu.
Mais je ne peux pas contrôler les paramètres de la lumière : la lumière est toujours allumée, même si je la règle en mode pulsé. Elle ne clignote pas quand elle le devrait.

Chaque fois que j'effectue une action qui devrait modifier l'état de la lumière (affectation du jeu par défaut à l'unité PowerMate, ou modification de l'état de la lumière par défaut dans les paramètres), j'obtiens cette erreur dans la console :

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

Parfois, je reçois plusieurs entrées de la même erreur (jusqu'à 14 fois). À part cette erreur et l'erreur suivante au lancement de l'application, il n'y a rien d'utile.

Le chemin (null) donné à -[NSWorkspace iconForFile :] n'est pas un chemin complet.


Je suis sous Lion 10.7.1 (le problème était similaire sous Snow Leopard).

Voici ce que j'ai fait jusqu'à présent pour résoudre le problème :

  • Assurez-vous que l'application PowerMate.app n'est pas en cours d'exécution.

  • Débranchez le dispositif USB PowerMate et tous les autres dispositifs USB (à l'exception de mon clavier).

  • Supprimez tout ce qui a été créé par l'application PowerMate.app avec :

.

rm ~/Library/Preferences/com.griffintechnology.PowerMate.plist;
rm -rf ~/Library/Caches/com.griffintechnology.PowerMate;
rm -rf ~/Library/Application\ Support/PowerMate;
  • Réparer l'autorisation avec Disk Utility.app

  • Redémarrage.

  • Appliquer la dernière mise à jour du combo (MacOSXUpdCombo10.6.6.dmg)

  • Redémarrer

  • Lancez la dernière version de l'application PowerMate.app (version 3.0 - 3012).

  • Branchez ensuite le dispositif USB PowerMate.

Avez-vous d'autres suggestions pour trouver la différence entre mon compte et un nouveau compte ?

Les différences connues qui comptent entre les comptes :

Similitudes entre les comptes :

Les deux comptes sont administrateurs de la machine.
Ils sont membres du même groupe.

Sortie de la commande id : mon compte normal (celui qui a un problème) :
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)

le nouveau compte de test (celui où ça marche) :
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)

Je suis en contact avec le support Griffin. Ils sont très gentils, mais jusqu'à présent, nous n'avons pas réussi à trouver la raison du problème.


Mise à jour : Apparemment, le code d'erreur e00002c5 signifie "accès exclusif et dispositif déjà ouvert".
Une idée de comment déterminer quel processus a accès à un périphérique USB ?

1voto

lurks Points 1179

Il semble que quelque chose soit cassé avec le nœud de périphérique pour le périphérique usb. Vous pouvez comparer les paramètres avec quelque chose comme ceci :

  1. trouver ce qu'est le nœud de l'appareil. La dernière étape affichera le nom du périphérique à la suite d'un > (et d'autres éléments que vous pouvez ignorer). Vous aurez besoin de ce nom de périphérique à l'étape 2. Il serait préférable d'effectuer ce test sur l'utilisateur temporaire qui fonctionne, juste après un nouveau redémarrage.
    1. ls -1 /dev/ > /tmp/before ( note, c'est "dash one". )
    2. brancher l'appareil
    3. ls -1 /dev/ > /tmp/after
    4. diff /tmp/before /tmp/after
  2. comparer les autorisations des dispositifs entre les deux.
    1. Connectez-vous en tant que vous-même
    2. ls -el /dev/devicename > /tmp/broken ( note, c'est "dash e ell" cette fois-ci )
    3. Connectez-vous en tant qu'utilisateur temporaire
    4. ls -el /dev/devicename > /tmp/working

Ce dernier point créera deux fichiers qui ressembleront à quelque chose comme ceci :

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

Le premier bit ( crw-rw-rw- ) est une représentation textuelle des bits de mode... il est possible qu'une différence à ce niveau en soit la cause.

L'élément suivant qui pourrait poser problème est l'utilisateur ( root ) et le groupe ( wheel ), l'un ou l'autre pouvant être à l'origine du problème.

Je suppose qu'il est créé dynamiquement (de manière incorrecte) lorsque le dispositif est inséré. Une autre possibilité est que le nœud de périphérique est persistant, mais erroné. Si ces deux fichiers correspondent, alors montrez-nous ce qu'ils sont et nous pourrons probablement déterminer ce que le périphérique devrait être défini.

1voto

Guillaume Points 123

J'ai trouvé le coupable : MenuMeters accédait au réglage de la lumière de l'appareil PowerMate.

Je ne savais pas que MenuMeters avait un paramètre pour montrer l'utilisation du CPU via la lueur PowerMate. C'était là depuis 2003, mais je ne m'en souciais pas puisque je ne possédais pas de PowerMate auparavant.

La dernière version corrige ce bug. Un grand merci à Alex Harper pour son excellent logiciel et son soutien continu. http://www.ragingmenace.com/software/menumeters/history.html

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X