December 16th, 2019

поумнеть

rndis (сеть поверх усб, один из стандартов)

Patents. Microsoft has patents that may cover your implementations of the technologies described in the Open Specifications. Neither this notice nor Microsoft's delivery of the documentation grants any licenses under those or any other Microsoft patents. However, a given Open Specification may be covered by Microsoft

я правильно перевел, что микрософт МОЖЕТ меня покарать, если я сделаю устройство по этому протоколу?
поумнеть

А как нормально надо было поступить?

собрал на стм32ф4дискавери usb-eem сетевушку. отладил на линуксе. всё работает примерно как предполагалось. в броузере картинка, кнопки работают быстро.

беру физическую машину с вин7, пихаю туда устройство. машина в сети без интернета - драйвер не найден, не буду не хочу ошибка.

тащу какой-то левый драйвер из непонятных источников. драйвер не подписан, ошибка-ошибка.

тащу драйвер usbnet.sys + .inf плюс еще один файлик. аккуратно смотрю вендор_ид, девайс_ид, ставлю нужные. смотрю свойства этого .sys -- подпись есть, подписан микрософт. но при установке опять - драйвер не подписан, ошибка-ошибка.

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

в общем, вопрос, как в виндоус принято отлаживаться? хотя бы посмотреть, какие пакеты куда как ушли и какие драйвера как на них отреагировали. пересобрать драйвера с отладочной печатью в дмезг, итп. что посоветуете?

ps: про "RNDIS"

Patents. Microsoft has patents that may cover your implementations of the technologies described in the Open Specifications. Neither this notice nor Microsoft's delivery of the documentation grants any licenses under those or any other Microsoft patents. However, a given Open Specification may be covered by Microsoft


я правильно перевел, что микрософт МОЖЕТ меня покарать, если я сделаю устройство по этому протоколу?
поумнеть

наброс

ну вот опять наступил на старые грабли. лет за 20, со времен вин95, ничего в этом мире радикально не изменилось.

лет 20 назад. берем какой-нибудь man на какой-нибудь va_start - получаем пример кода с камментами. код компилится с 0 предупреждений на любом уровне и работает. берем аналогичный пример от лотус/интел/микрософт - собирается с тучей предупреждений и работает стрёмно. например, потому что в процессе приема-проверки половина сообщений херятся. как итог, например, окно (собранное тупо по примеру из мсдн) закрывается через раз, а половина введенного херится.

и вот сейчас у меня почему-то возникли очень похожие ощущения -- есть "usb-eem" - очень простой протокол, понятный. описание буквально на страницу текста. протокол тупой и очевидный, описание писали явно программисты, понимающие как-почему-зачем. суть еем протокола -- тупо берем сетевые кадры, тупо лепим 16 бит заголовка, тупо последовательно передаем через усб. в заголовке обычно почти все биты размер пакета, а исключений мало, ща опишем так, чтоб было удобно реализовать. итого, работы на час примерно.

а сейчас читаю "[MS-RNDIS]" и там навертели чуть ли не хуже чем в "LIM EMS" или "интел+микрософт=усб". та же дурная бюрократия и непонятки на каждом шагу. очевидно, что текст писал клоун-компилятырь, не разбирающийся в контексте.

ps: а еще у меня тут сегодня психотравма. есть комп, встроенная и внешняя видяха. три типа интерфейсов на каждой, два монитора по два типа входа, менее шести ПАР кабелей чтоб убедиться в отсутствии сигнила, дикая феерия и пляски с бубнами.

на самом деле, оказывается, не достаточно в биосе настроить "на эту дырку в этом случае в этом разрешении... давай!!!" нужно еще и спецритуал с монитором провести, в стиле "вот тебе поток по старому интерфейсу, а теперь попробуй по новому... еще попробуй, опять попробуй, вот, молодец!" - у многих мониторов без этого тупо никакой картинки нет. а когда в компе 2 или более видеокарт с 2..4 или более разъёмов у каждой, и нет набора кабелей чтоб лично всех с каждым совокупить, то начинается очень неприятная комбинаторика.