реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Захват обмена по USB
kovigor
сообщение Sep 5 2014, 12:27
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(WitFed @ Sep 5 2014, 15:18) *
Когда треснуть мне

Что я вам скажу ? Хоть осциллограф-то хороший, двухканальный, возьмите, и посмотрите, что там реально происходит на шине при втыкании вашего устройства. Так и происходит ? Т.е., никто, никому и ничего не передает ? Странно и более чем сомнительно. sm.gif
Вообще, я вам по секрету признаюсь, что просто ненавижу использовать для отладки программистские инструменты там, где нужно пользоваться паяльником и осциллографом ...
Go to the top of the page
 
+Quote Post
WitFed
сообщение Sep 8 2014, 09:22
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 271
Регистрация: 6-12-11
Из: Taganrog
Пользователь №: 68 701



А у меня совершенно другая ориентация, у нас от отдела в радиусе 100 м нет никого "железного" и дружелюбного, осциллом пользоваться не умеют, тем более -- выдать и научить программиста кнопкам, переходник ловительный спаять...
Про "ничего не происходит" я могу только догадываться -- когда я пускаю свою прогу, она интит себя как девайс, вешается на прервание от OTG-1, не видит на нём ничего. Как следом втыкаю кабель в хост -- начинается масса разных прерываний, они обрабатываются по смыслу родным драйвером Линукса, который я хочу заюзать в простом линейном/древесном приложении. Там бывают непустое приёмное ФИФО, пустое передаточное, резет на шине, ещё что-то... Как Вин7 меня решает "бросить", прерывания все заканчиваются, т.е. очень логично предположить, что канал "ко мне" очень даже неплохой, только я отвечаю криво. Драйвер у Линды вызывает функцию гаджета для обработки события запроса дескриптора девайса, там я подсовываю 18 байт из исходника флэшки для контроллера STM32, который вроде должен быть живой и давно висит на сайте, хотя и не гуглится в принципе (http://www.keil.com/download/docs/362.asp). В ФИФО ответное пытался писать и по 8, и сразу 20 байт (там в запросе стоит 100 байт на приёмный буфер), но разница не особо, хотя поведение Винды меняется -- видит она что-то явно.
Пробовал сегодня agg-ПО -- слабое, "танцы" не ловит, мой девайс не показывает после всех "танцев" плохим, на хабе тоже пусто.

...Похоже, вы, kovigor, на всём постсоветском пространстве единственный доступный и реальный спец по USB ?
Я послал в саппорт aggsoft.ru просьбу о доработке софта и возможной покупке, только когда будет ловиться всё абсолютно, мож отнесутся с сердечностью, всё ж наши люди...
А пока сношу всё и жду у разбитого корыта, вдруг Золотая Рыбка подкинет какую мыслю... Оптимизм пока в крови, всё хочется свой USB написать на 2 порядка проще, для простого народа wink.gif
Хорошо бы было "аппаратный" сниффер на софт-основе -- как я советовал в первом посте, чисто хаб с отводом нисходящего и восходящего трафика "налево", без избыточной аппаратной поддержки, или так оно в девайсах за 1.5К и есть ? Если пара устройств засекреченные, то хост может и не потерпеть посредников, но текущий случай тривиален.
...Вообще, можно ставить какой-то новый софт для USB, когда ещё не было перегрузки после удаления чего-то другого снифферного ? Они ж там драйвера из непонятных наблюдательных слоёв как-то хитро вырезают, а другой конкурент врезаться в потроха одновременно должен...
Go to the top of the page
 
+Quote Post
kovigor
сообщение Sep 8 2014, 12:51
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(WitFed @ Sep 8 2014, 12:22) *
...Похоже, вы, kovigor, на всём постсоветском пространстве единственный доступный и реальный спец по USB ?

А пока сношу всё и жду у разбитого корыта, вдруг Золотая Рыбка подкинет какую мыслю...

Хорошо бы было "аппаратный" сниффер на софт-основе -- как я советовал в первом посте, чисто хаб с отводом нисходящего и восходящего трафика "налево", без избыточной аппаратной поддержки, или так оно в девайсах за 1.5К и есть ?

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

1. Далеко не единственный, хоть и вполне реальный sm.gif

2. Вы просто не с того конца и не с тем инструментарием к проблеме подошли. Как вы и сами знаете, далеко не всякую болезнь может вылечить терапевт. Иногда необходима и помощь хирурга. Это как раз и есть тот случай. Я, конечно, не рыбка, и не золотая, но повторю свой совет - ищите человека, который поможет вам посмотреть осциллографом (или анализатором или даже сниффером), что в действительности происходит на шине при включении вашего устройства. Чисто программными инструментами искать причину проблемы можно до бесконечности. Про себя лично могу сказать, что без сниффера отлаживать свои устройства не смог бы, ибо он показывает то, чего не прочтешь ни в одной спецификации.

3. Без аппаратной поддержки задача, ИМХО, неразрешима. Подозреваю, что в снифферах за 1500 у.е. стоит заказной уникальный быстродействующий чип, который и захватывает обмен на шине. В моем случае с задачей справилась обычная FPGA, т.к. мне хватало FS (обмен на HS таким путем захватить не получится - слишком быстро).

4. У меня никаких посредников и не было. Сниффер подключался параллельно прямо к линиям шины и в режиме "магнитофона" записывал все, что на шине происходило ...
Go to the top of the page
 
+Quote Post
WitFed
сообщение Sep 10 2014, 12:12
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 271
Регистрация: 6-12-11
Из: Taganrog
Пользователь №: 68 701



Это всё хорошо, только неохота ввязываться в лишнюю сансару (в самом USB она зашита прочно, за видимой простотой -- мутные горы гемора, порождёнными желаниями авторов "всё организовать и возглавить", а по факту -- переусложнением, предусмотрением всех подушек безопасности, соответственно, заорганизацией и... в конце концов рождением OTG в пику Главной Идее wink.gif -- нечто за 1500 может оказаться недостаточно удобной, способной на что-то штукой, и т.д. к 3К, 10К.. Мож есть у кого в Таганроге такие девайсы на вынос на пару дней ?
Я считаю твёрдо, что вполне можно подсмотреть, что же Винда там получает от хост-контроллера (это очень логично) на драйверных уровнях, и при совсем уж непонятках только лезть в физические дебри канальных уровней.

Бой быков приостанавливаем ? wink.gif Тяжело пробиться, конечно, через стены корытных интересов и расставленные паутины для ловли лузеров типа меня. Оно понятно, что на коленке всё легче, но хочется из мира выудить хоть какую-то добропорядочность из-под гнетущих эгоистических интересов wink.gif

Подсказали идею в Линуксе тем же самым заняться, там логи на всё (http://symmetrica.net/usb/usb1.htm) типа более родные, говорят, что wireshark 1.2 и выше умеет сниффить USB в Линде, но мой 1.8 почему-то на Винде это не демонстрирует, хотя как-то перенастраивается...

Наши сниф-производители пишут "мы работаем с тем, что Win определила", так что пока не судьба.

В http://microsin.ru/content/view/758/44/ ещё пара намёков на совсем другие программы: SnoopyPro-0.22 и USBTrace, покой нам только снится... wink.gif

Я сам придумал недавно, что можно дождаться, пока Винда отбракует мой девайс, а потом выбрать его и послать пакет Get_Descriptor, только нужна программа, в которой девайс виден и умеющая слать пакеты, чтобы смогла словить обмены, но пока они все ортогональны в этих отношениях.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 9th August 2025 - 15:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01371 секунд с 7
ELECTRONIX ©2004-2016