Почему мое программное обеспечение не может инициализировать оборудование на другой материнской плате? - PullRequest
0 голосов
/ 26 февраля 2009

Я не разработчик, но я думаю, что мой вопрос достаточно интересен (и я достаточно отчаянен), чтобы публиковать здесь на stackoverflow

Моя компания использует программу, написанную на C #, для управления компьютером с киоском, который использует .Net 2.0 SP1 и панель подписи USB. Панель подписи - это HID, использующий универсальный драйвер Microsoft HID.

Мы попытались установить наше программное обеспечение на ПК с киоском, который использует материнскую плату другой марки, чем мы использовали ранее. Мы перешли с платы Gigabyte на плату ASUS. Кроме марки, спецификации идентичны, тот же северный мост, тот же южный мост, тот же процессор, те же хост-контроллеры и т. Д. Кроме того, наша процедура установки документирована и не изменилась за месяцы.

На новой материнской плате панель подписи распознается как HID, устанавливается без проблем, и программное обеспечение производителей может запускать устройство, но наше программное обеспечение не распознает, что устройство даже подключено. Единственное, что изменилось, это бренд материнской платы. Программное обеспечение производителя, которое может инициализировать устройство, не написано на C #.

Любые мысли, предложения или решения приветствуются !!!!

Ответы [ 3 ]

2 голосов
/ 26 февраля 2009

Возможно, это связано с программированием / но я думаю, что это проблема с оборудованием / драйвером.

Вы можете попробовать удалить все драйверы и переустановить новые драйверы под управлением компьютера.

Большинство новых материнских плат другой модели / марки требуют переустановки окон.

1 голос
/ 26 февраля 2009

Если это не проблема с аппаратным обеспечением / драйвером, возможно, происходит несколько других вещей.

Немного (много) удара в темноте, но может случиться так, что программное обеспечение киоска может иметь жестко закодированную строку или «магическое число», скрытое внутри него, предназначенное для идентификации конкретного устройства в определенной конфигурации, особенно если производитель программного обеспечения разработал его для работы только на одной конкретной плате и конфигурации.

Этого не должно быть, но здесь, на планете Земля, это иногда (слишком часто) происходит. Я давно работал над программным обеспечением для POS, которое делало подобные вещи, чтобы принудительно установить привязку поставщика к поставке оборудования (не моя идея).

Я бы посмотрел вокруг, чтобы увидеть, какие аппаратные идентификаторы для HID есть на обеих платах, и посмотреть, отличаются ли они.

Вероятно, лучшим способом было бы связаться с поставщиком программного обеспечения, но если это не вариант, вы можете получить некоторое представление о внутренностях программы и любых жестко закодированных идентификаторах устройств с помощью отражателя: http://www.red -gate.com / продукты / отражатель / .

Обратите внимание, что поскольку вы не являетесь разработчиком, это может выглядеть просто как греческий (укажите любой другой язык, который вы не понимаете, если вы свободно говорите по-гречески), и объяснение того, что все это означает, выходит далеко за рамки этого ответ. Но нужно искать аппаратный идентификатор HID от первой платы или что-нибудь еще по цепочке к контроллеру usb.

0 голосов
/ 26 февраля 2009

Можете ли вы запустить какой-либо отладчик или войти в систему на обеих платах и ​​посмотреть, каково состояние и т. Д., Что устройство возвращает?

...