mnovikov2000 1 19 октября, 2023 Опубликовано 19 октября, 2023 (изменено) · Жалоба Приветствую! Есть некое устройство, в котором имеется типо флешка на 100кб. Все определяется, работает и т.п. Теперь вопрос: а как корректно замедлить работу такого накопителя? Сама флешка размещается в ОЗУ, это имитация в виде USB MS. Изменено 19 октября, 2023 пользователем mnovikov2000 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 6 19 октября, 2023 Опубликовано 19 октября, 2023 · Жалоба Пока за USB таймаут не вылетели, можно просто медленнее отвечать на запросы. Или Вам надо на часы замедлить? Или надо, чтобы обращения к устройству были реже? В последнем варианте будет сложно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mnovikov2000 1 19 октября, 2023 Опубликовано 19 октября, 2023 (изменено) · Жалоба Скорее до минут. Не отвечать пробовал, все плохо и по-разному. Тут скорее что-то вроде сигнала ожидания при чтении-записи напрашивается, но в командах scsi не нашел такого, там из всего несколько. Чтение-запись медленная, и пока начитает-напишет 512 байт времени много уходит, до минут. Изменено 19 октября, 2023 пользователем mnovikov2000 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 19 октября, 2023 Опубликовано 19 октября, 2023 · Жалоба Когда возникают такие странные желания, то чаще всего это говорит о выборе неверного пути решения какой-то задачи. имхо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 19 октября, 2023 Опубликовано 19 октября, 2023 · Жалоба В 19.10.2023 в 12:37, mnovikov2000 сказал: Скорее до минут. Не отвечать пробовал, все плохо и по-разному. Тут скорее что-то вроде сигнала ожидания при чтении-записи напрашивается, но в командах scsi не нашел такого, там из всего несколько. Чтение-запись медленная, и пока начитает-напишет 512 байт времени много уходит, до минут. Есть не отвечать совсем, а есть отвечать "NAK" для конечной точки. Вы как делали? Какой у вас размер для BULK-IN конечной точки? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mnovikov2000 1 19 октября, 2023 Опубликовано 19 октября, 2023 · Жалоба 64 байта. NAK не видел, это в другом месте. буду пробовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 19 октября, 2023 Опубликовано 19 октября, 2023 · Жалоба Можно до 8 байт уменьшить. И перед передачей порции данных передавать NAK-ов на несколько миллисекунд. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 19 октября, 2023 Опубликовано 19 октября, 2023 · Жалоба 26 минут назад, adnega сказал: Можно до 8 байт уменьшить. И перед передачей порции данных передавать NAK-ов на несколько миллисекунд. См. выше - ему нужно до нескольких минут растянуть. А значит миллисекунды не спасут. Придётся как минимум минуту NAK-и гнать. Сомневаюсь, что такое понравится USB-хосту(-ам). Или пользователю сего девайса вряд-ли понравится зависание при обращении к диску на неск. минут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 19 октября, 2023 Опубликовано 19 октября, 2023 · Жалоба 100 кБ - это 12800 пакетов по 8 байт. Если "начить" по 5 мс для каждого пакета, то это превратится в 64 секунды. Думаю, до 50 мс можно безопасно выдавать NAKи, а это порядка 10 минут для 100 кБ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 19 октября, 2023 Опубликовано 19 октября, 2023 · Жалоба 39 минут назад, adnega сказал: 100 кБ - это 12800 пакетов по 8 байт. Если "начить" по 5 мс для каждого пакета, то это превратится в 64 секунды. Думаю, до 50 мс можно безопасно выдавать NAKи, а это порядка 10 минут для 100 кБ. Какие 100КБ?? Автор же пишет: 3 часа назад, mnovikov2000 сказал: Чтение-запись медленная, и пока начитает-напишет 512 байт времени много уходит, до минут. Ему нужно чтение 512 байт растянуть до нескольких минут. А общий объём флешки тут не при чём. Видимо эти 512 байт идут с какого-то медленного источника, а автор хочет представить этот источник в виде диска для хоста. PS: Тут идеологию менять нужно. Имхо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mnovikov2000 1 19 октября, 2023 Опубликовано 19 октября, 2023 · Жалоба 53 minutes ago, jcxz said: См. выше - ему нужно до нескольких минут растянуть. А значит миллисекунды не спасут. Придётся как минимум минуту NAK-и гнать. Сомневаюсь, что такое понравится USB-хосту(-ам). Или пользователю сего девайса вряд-ли понравится зависание при обращении к диску на неск. минут. Пользователи будут прыгать от восторга и даже дадут немножко грошей. А так да. До минут. NAK вроде штатно до бесконечности может быть, девайс данные неподтверждает и просит повторно послать. Продолжаю изучение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 19 октября, 2023 Опубликовано 19 октября, 2023 · Жалоба Еще как вариант выдать STALL. Затем хост запросит REQUEST SENSE (03h), на который можно в ответе в поле Sense Key вернуть код 2h = Not Ready. Хотя, нужно быть аккуратным т.к. "Operator intervention may be required to correct this condition". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mnovikov2000 1 19 октября, 2023 Опубликовано 19 октября, 2023 · Жалоба В общем NAK работает. В проводнике копирование и 30 сек и 1 мин проходит, файл открывается, если подать постоянно NAK посередине, то в проводнике висит "осталось 5 сек" например, после отпускания продолжается. На этом пока остановлюсь, всем спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться