Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > помогите разобраться с HID девайсом win>linux


Автор: _Vad_ 22.7.2007, 18:10
Гигантская просьба ко всем, кто хоть как-то сможет помочь... сталкивался.. 
или не дай бог сталкнется с такой проблемой как у меня..  

Купил себе дорогущий девайс... погодную станцию..METEOSCAN PRO 923 
(еще она выпускается под именами Mebus TE923 / Honeywell TE923W / IroxUSBpro)

 user posted image

мегадевайс конечно.. давно мечтал собирать метеоданные в комп... доволен был минут 40..
как обещано было USB порт, то - се ...
но... никакой поддержки софтом, драйвером... или даже намеком... под *NIX.. ВООБЩЕ... НИГДЕ... 
весь интернет перерыл.. на  буржуйских сайтах нашел упоминание, что основная проблема в том, что в винде программа общается со станцией через поставляемый в комплекте USB.dll (действительно есть такой.. на диске..)
для винды есть прога нашего "производства".. убогая во всех отношениях.. как в общем и виндовс в целом..
но со станцией данными обменивается... (могу перехватить обмен)
теперь собственно к делу..

в системе она определяется как 
dmesg пишет:
hub.c: USB new device connect on bus1/1, assigned device number 9
hiddev0: USB HID v1.10 Device [1130:6801] on usb1:9.0

cat /proc/bus/usb/devices пишет 

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 9 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=1130 ProdID=6801 Rev= 1.02
S: Product=
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=hid
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl= 10ms

тоесть это HID девайс... 

у него на борту есть ~ХХ кб памяти в которую он складывает записанные значения с датчиков
эти ~ХХ кб и нужно забирать....

вот собственно вопрос - просьба..
есть у кого-нибудь наработки связанные с общением с HID устройствами?
достаточно консольного приложения без всяких наворотов, которое моглобы забирать данные из станции..
(а яб все это в MySQL складывал бы..  дальше, что все что угодно можно...)

протокола обмена нет..! smile  производитель молчит..! smile  
есть dll'ка.. (я ее приаттачил) ее можно разобрать.. + могу перехватить обмен станции в винде...


я в отчаянии.... ПОМОГИТЕ ПОЖАЛУЙСТА! smile 

Автор: smalcom 23.7.2007, 01:26
скарей всего сначала мона попробывать пасматреть обмен какимнибудь снифером ком-портов

Автор: GrayCardinal 23.7.2007, 08:51
_Vad_, 
Знаешь, мог бы помочь, будь у меня такая же штуковина  smile Если так, на пальцах, могу наваять шняжку которая с девайса все данные в юзер-спейс передает и к памяти доступ открывает. Однако не думаю что это поможет - формат -то данных которые со штуковины идут неизвестен. 
Как насчет бюджета проекта  (если нормально, то дальше - в приват) ?

Автор: _Vad_ 23.7.2007, 10:29
GrayCardinal, см личку,
былобы не плохо "шнягу" поиметь  smile 
с форматом данных разобраться не так сложно...
они (данные) меняются, известны(станция показвает).. в общем найти можно что к чему и почему

Добавлено через 55 секунд
smalcom, 
Цитата(smalcom @  23.7.2007,  01:26 Найти цитируемый пост)
скарей всего сначала мона попробывать пасматреть обмен какимнибудь снифером ком-портов 

это HID устройство... никаким комом тут не пахнет.. smile 

Автор: bsa 23.7.2007, 11:23
А может стоит написать производителю на мыло, мол я такой-то такой-то хочу написать драйвер/прогу под Linux, вышлите мне спецификации протокола обмена.

Автор: _Vad_ 23.7.2007, 11:40
дело в том что производитель как таковой неизвестен..
внутри на платах везде написано Hideki
под таким брендом оно не продается  и по всей видимости им оно не нужно... (ОЕМ чтоли...)
но  Hideki замутило свой бренд Honeywell
http://pdfserver.prweb.com/releases/2006/03/prweb357480.htm
откуда взялись Irox, Mebus, RSB, (RSB такое тоже есть) не известно...

а вот корни RST Meteoscan Pro 923  известны... в россии оно продается только под этим брендом
хотя и написано что швеция... на самом деле на всех датчиках  написано www.rusmeteo.ru
есстественно все по русски.. и отсутствует модуль приема сигналов с DCF77...
комплектуется программой от "ООО Аверос" http://averos.narod.ru/about.htm (сайт на народе! это модно наверное ;-)) )
с разработчиками -писателями я  связался... мычат невнятные вещи о том что производитель якобы дал только dll .. и все.. (ну оно и так понятно... ктож те SDK даст... ;-) )

в результате... производитель настолько далеко от конечного пользователя что его  и в телескоп не увидишь..
а в Хидеки я писал... молчат как рыба об лед!

вот такой попадос smile 

Автор: GrayCardinal 23.7.2007, 14:29
Цитата

былобы не плохо "шнягу" поиметь

ОК. Почешу репу на досуге  smile 

Автор: JUmPER 23.7.2007, 14:36
грузимся под винду, запускаем IDA (interactive disassembler) и смотрим, что и где в dll лежит, и что это "что" с устройством делает
т.е. стандартный реверс инженеринг.

Автор: _Vad_ 23.7.2007, 14:47
JUmPER, то и так ясно...
я уже пытался разобрать dll'ку
на в ассемблере для x86 не силен.. я больше в mcs51 а они хоть и похожи.. smile  но несколько различаются  smile  smile 


GrayCardinal, 
эндпоинтов у него 2 
0 - ну как и у всех..
и 81 не знаю у всех или нет... я не сталкивался на таком уровне с USB ;-)
всю требуемую информацию дам по запросу...
могу дать шел на машине куда он будет воткнут

Автор: JUmPER 23.7.2007, 14:59
_Vad_, а ида не чистый асм выдаёт, а что-то похожее на C--

Автор: _Vad_ 23.7.2007, 15:04
а я ИДУ не нашел... она за деньги.... а покупать для 1 несчастной M$дллки... ммм... 

нашел какойто W32dsmv10
оно в ассембер... ну а я ниче не понял ;-)

JUmPER, если есть у тя ида... разбери плизз дллку...  она приатачена к первому посту..

Автор: JUmPER 23.7.2007, 15:18
_Vad_, ida на работе нет...

Автор: _Vad_ 23.7.2007, 15:29
а дома нету инета?  smile 
44 кб...всего... ;-)

Автор: JUmPER 23.7.2007, 15:33
_Vad_, а дома комп не пережил нападение младшей сестры сестры с кошкой =(
сорри.

Автор: _Vad_ 23.7.2007, 15:42
почти обнадежил ;-)

Автор: _Vad_ 26.7.2007, 20:59
Изыскания продолжаются..  smile 

Автор: Damarus 27.7.2007, 20:15
Цитата(_Vad_ @ 26.7.2007,  21:59)
Изыскания продолжаются..  smile

Ну вот что выдала IDA...

Автор: _Vad_ 27.7.2007, 22:34
Ну в общемто почти тоже самое выдают все остальные..
особливо не понятно..

я расковырял инфу кое какую..
в общем в девайсе запаяно 8 килобайт памяти, кажется 24с64..
из девайса ДЛЛка выкачивает то что в этой  24сХХ 
выкачивает в виде 8 килобайтного RAW файла.. а потом программа разбирает-раскидывает данные сама...
как разобрать RAW я придумал, там все предельно понятно.. (смесь BCD и HEX ;-) кто это придумал - незнаю smile )

подозреваю что в USB-HID инкапсулирован протокол  сериальной памяти!
просто  посылается туда  то что обычно посылается в этих случаях на  24Схх
адрес+команда - данные - адрес+команда - данные...
с этими делами я знаком работал, встречался, писал (на MSC-51)...

по прежнему нужна прога которая умеет посылать и слушать эндпоинты..
или как там на языке HID это называется... в голове каша от чтения всех этих стандартов, форматов мануалов... систематизировать надо... както..

хотябы кусок рабочего кода в качестве примера.. на С... 
как все начинается 
как посылается 
как принимается
как подтверждается
как заканчивается..
 
чтоб увидеть, собственно, как там все это описывается..
 ну не встречался с гребанным УСБ...  smile 
сложно с нуля самому...

Автор: _Vad_ 6.9.2007, 00:32
UP

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)