2009-02-26 4 views
0

Je ne suis pas développeur, mais je pense que ma question est assez intéressante (et je suis assez désespérée) pour poster ici sur stackoverflowPourquoi mon logiciel ne peut-il pas initialiser le matériel sur une carte mère différente?

Mon entreprise utilise un programme écrit en C# pour conduire un kiosque PC qui utilise .Net 2.0 SP1 et un tampon de signature USB. Le tampon de signature est un HID qui utilise le pilote générique Microsoft HID.

Nous avons essayé d'installer notre logiciel sur un PC kiosque qui utilise une marque de carte mère différente de celle que nous utilisions auparavant. Nous sommes passés d'une carte Gigabyte à une carte ASUS. Autre que la marque, les spécifications sont identiques, même north bridge, même south bridge, même CPU, mêmes contrôleurs hôtes etc. De plus, notre procédure d'installation est documentée et n'a pas changé depuis des mois.

Sur la nouvelle carte mère, le clavier de signature est reconnu comme HID, s'installe sans problème et le logiciel du fabricant peut faire fonctionner l'appareil, mais notre logiciel ne reconnaît pas que ce périphérique est même connecté. La seule chose qui a changé est la marque de la carte mère. Le logiciel du fabricant qui peut initialiser l'appareil n'est pas écrit en C#. Toutes les pensées, suggestions, ou solutions sont les bienvenues !!!!!!!!!!!!!!

Répondre

0

Pouvez-vous exécuter une sorte de débogueur ou de journalisation sur les deux cartes et voir quel est l'état, etc., que le périphérique renvoie?

+0

Mais il n'est pas un développeur ... La journalisation pourrait bien se passer. –

2

C'est peut-être lié à la programmation/mais je pense à son problème de matériel/pilote.

Vous pouvez essayer de supprimer tous les pilotes et réinstaller les nouveaux pilotes sous la gestion de l'ordinateur.

La plupart des cartes mères d'un modèle/marque différent nécessitent la réinstallation des fenêtres.

1

S'il ne s'agit pas d'un problème matériel/de pilote, il se peut que d'autres opérations soient en cours.

Un peu (beaucoup) d'un coup dans le noir, mais il se peut que le logiciel de kiosque ait une chaîne codée en dur ou un "numéro magique" enfoui à l'intérieur, conçu pour identifier un périphérique particulier dans une certaine configuration , surtout si le fabricant du logiciel l'a conçu pour fonctionner sur une seule carte et config.

Cela ne devrait pas arriver, mais ici sur la planète Terre, c'est parfois (trop souvent) le cas. J'ai travaillé sur un logiciel de point de vente il y a longtemps qui a fait des choses comme ça afin d'imposer le verrouillage du fournisseur pour l'approvisionnement en matériel (pas mon idée).

Je regarde autour pour voir quels sont les identifiants matériels pour le HID sur les deux cartes, et voir si elles sont différentes. La meilleure solution consiste probablement à contacter le fournisseur de logiciels, mais si ce n'est pas le cas, vous pourrez peut-être avoir un aperçu des entrailles du programme et de tous les identifiants de périphériques codés en dur à l'aide du réflecteur: http://www.red-gate.com/products/reflector/ . Notez que comme vous n'êtes pas un développeur, cela peut ressembler à du grec (insérez une autre langue que vous ne comprenez pas si vous parlez couramment le grec), et expliquer ce que tout cela signifie est bien au-delà de la portée de cette réponse. Mais la chose à rechercher serait l'identifiant matériel du HID de la première carte, ou n'importe quoi d'autre de la chaîne vers le contrôleur USB.

+0

Il vient de remplacer la carte mère et n'a pas remplacé son pad de signature –

+0

Remplacement de la carte mère peut changer l'ordre de numérotation de l'appareil.Si le logiciel a été codé en dur pour dépendre du numéro d'énumération assigné alors le pad ne fonctionnera pas jusqu'à ce qu'il soit changé. –

Questions connexes