mantech 48 29 мая, 2023 Опубликовано 29 мая, 2023 · Жалоба 1 минуту назад, haker_fox сказал: что всё же может Может - это не значит обязана, а значит, если на это дело заточить флаг извлечения, то можно опять же получить попадос... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 214 29 мая, 2023 Опубликовано 29 мая, 2023 · Жалоба 1 час назад, mantech сказал: А вот тут возможен попадос, если это время не регламентировано, надо тестировать на разных ОС. Можно сделать адаптивный алгоритм, который вначале замеряет интервал между TEST_UNIT_READY (например, за первые 10 секунд) и далее полученное значение в качестве критерия для принятия решения. PS: В линуксе, судя по $ cat /sys/module/block/parameters/events_dfl_poll_msecs 2000 Период опроса 2000 миллисекунд (2 секунды). Так что таймер на 3 секунды, на первый взгляд, будет с достаточным запасом для виндов и для линукса. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 29 мая, 2023 Опубликовано 29 мая, 2023 · Жалоба В 05.04.2023 в 08:27, haker_fox сказал: Есть железка, которая предстаёт как USB MSC для ПК. Сам диск реализован в ОЗУ. Размер 16 Мб. На этот диск записывается один! файл. Можно ли внутри железки без FAT (как я понимаю, именно эта ФС используется в USB MSC по умолчанию в Win) обнаружить, что файл был записан (имя всегда одно и то же) и считать его? Может всё-же - не пытаться натянуть сову на глобус, а построить механизм передачи данных на другом принципе? Не через MSD, который очевидно - не подходит для вашей задачи, а более соответствующим задаче способом? Тогда и костыли не понадобятся. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 29 мая, 2023 Опубликовано 29 мая, 2023 · Жалоба 8 minutes ago, jcxz said: Может всё-же - не пытаться натянуть сову на глобус, а построить механизм передачи данных на другом принципе? К сожалению, USB MSC - это требование ТЗ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_4afc_ 25 29 мая, 2023 Опубликовано 29 мая, 2023 · Жалоба 1 hour ago, haker_fox said: Да тут вообще ничего не регламентировано((( Всё нужно тестировать и на разных ОС((((( Когда я тестировал USB2.0HS на Atmel CortexM7 то там из обработчика прерывания был до пользователя протянут некий "heartbeat" являющийся вроде синхрой идущей в FS с одной частотой, а в HS раз в 100 чаще - можно за её неприход цепляться. Думаю это более низкоуровневое, чем TEST UNIT READY. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 29 мая, 2023 Опубликовано 29 мая, 2023 · Жалоба 35 минут назад, haker_fox сказал: К сожалению, USB MSC - это требование ТЗ. Ну вроде как ТЗ должно согласовываться с разработчиком. Как минимум. Я уже не говорю о том, что чаще всего оно и пишется как раз самим разработчиком. У вас разве не так? 33 минуты назад, _4afc_ сказал: Когда я тестировал USB2.0HS на Atmel CortexM7 то там из обработчика прерывания был до пользователя протянут некий "heartbeat" являющийся вроде синхрой идущей в FS с одной частотой, а в HS раз в 100 чаще - можно за её неприход цепляться. Может всё-таки USB-SOF? Который в USB-FS = 1кГц, а в USB-HS = 8кГц? Только как он поможет ТСу в его задаче? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_4afc_ 25 29 мая, 2023 Опубликовано 29 мая, 2023 · Жалоба 8 minutes ago, jcxz said: Может всё-таки USB-SOF? Который в USB-FS = 1кГц, а в USB-HS = 8кГц? Точно. USB-SOF. 8 minutes ago, jcxz said: Только как он поможет ТСу в его задаче? Я хотел сказать, что USB-SOF более низкоуровневый, быстрый и всегда в наличии вариант, чем TEST UNIT READY. Если вдруг TEST UNIT READY как-то участвует в решении задачи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 214 29 мая, 2023 Опубликовано 29 мая, 2023 · Жалоба 5 минут назад, _4afc_ сказал: Я хотел сказать, что USB-SOF более низкоуровневый, быстрый и всегда в наличии вариант, чем TEST UNIT READY. В общем случае SOFы будут приходить, пока устройство будет подключено к порту. Поэтому судить по SOFам о работе на более верхнем уровне КМК не получится. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_4afc_ 25 29 мая, 2023 Опубликовано 29 мая, 2023 · Жалоба 1 minute ago, makc said: В общем случае SOFы будут приходить, пока устройство будет подключено к порту. Поэтому судить по SOFам о работе на более верхнем уровне КМК не получится. ТЗ у ТС менялось несколько раз. Если надо определить что физически вынули кабель - то SOFы помогут. 1.Если устройство MSC говорит removable - WIN пытается его отформатировать, показывает как флешку и шлёт TEST UNIT READY при работе. 2.Если устройство MSC не говорит removable - WIN не показывает его если оно не отформатировано, считает HDD и не шлёт TEST UNIT READY при работе. Вроде обоих можно отмонтировать. А вот шлются ли SOFы после отмонтирования - надо проверять, может и от сборки винды зависить и от режима производительности... это ж WIN. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 29 мая, 2023 Опубликовано 29 мая, 2023 · Жалоба 15 hours ago, jcxz said: У вас разве не так? У нас настолько всё сложно, что я бы даже не стал развивать эту тему. Мне проще иногда выполнить то, о чём просят, чем даже вступать в какие-либо дебаты. Условия работы разные у всех. Но есть моменты, которые иногда позволяют на всё это закрыть оба глаза)))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 29 мая, 2023 Опубликовано 29 мая, 2023 · Жалоба 1 час назад, haker_fox сказал: У нас настолько всё сложно, а порой и по идиотски, что я бы даже не стал развивать эту тему. Сорри за оффтоп, но как же здорово, когда сам можешь выбирать, на какую работу соглашаться))) 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 173 29 мая, 2023 Опубликовано 29 мая, 2023 · Жалоба 3 часа назад, makc сказал: В общем случае SOFы будут приходить, пока устройство будет подключено к порту. Поэтому судить по SOFам о работе на более верхнем уровне КМК не получится. А хост, разве, не может дать команду SUSPEND, не требуя принудительного закрытия активных файлов на MSC-девайсе? Например, для экономии энергии... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 214 29 мая, 2023 Опубликовано 29 мая, 2023 · Жалоба 32 минуты назад, Arlleex сказал: А хост, разве, не может дать команду SUSPEND, не требуя принудительного закрытия активных файлов на MSC-девайсе? Например, для экономии энергии... Теоретически может, но на моей практике такого не встречалось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 29 мая, 2023 Опубликовано 29 мая, 2023 · Жалоба 3 часа назад, makc сказал: Теоретически может, но на моей практике такого не встречалось. Вот в этом тут и проблема. Например в своем первом усб-стеке я вообще не давал команду TEST_UNIT_READY периодически. Но потом встретил упоминание, что если этого не делать, флешка может уйти в IDLE, и потом потребуется повторная инициализация, но при этом проверял на целой коробке флешек, штук 50 и много разных, и никто никуда не уходил, все работало штатно, НО никто не гарантирует, что 51я флешка возьмет да и выполнит данный алгоритм... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 214 29 мая, 2023 Опубликовано 29 мая, 2023 · Жалоба 3 часа назад, mantech сказал: Вот в этом тут и проблема. Например в своем первом усб-стеке я вообще не давал команду TEST_UNIT_READY периодически. Но потом встретил упоминание, что если этого не делать, флешка может уйти в IDLE, и потом потребуется повторная инициализация, но при этом проверял на целой коробке флешек, штук 50 и много разных, и никто никуда не уходил, все работало штатно, НО никто не гарантирует, что 51я флешка возьмет да и выполнит данный алгоритм... Согласен, что решить задачу в общем случае при таких исходных данных практически невозможно. Но при этом обеспечить работоспособность хотя бы в 90% случаев, а для остальных дать критерии для подбора правильных параметров настройки ОС и софта - вполне реально. И в данном случае использование TEST_UNIT_READY вполне себе вариант. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться