Проблемы у Штрих-М с RnDis адаптером существуют (особенно под Win 10).
На самом деле проблема изучена и решена на соседней странице.
Но здесь описаны инструменты , которые помогают для понимания как работает сеть.
Начинаем переходить на более низкий уровень изучения проблемы
Настройки кассы по умолчанию, как описано в инструкции Штриха.
Ethernet to router 192.168.1.50 / 255.255.255.0 / 192.168.1.1 /dns 192.168.1.1
RnDIS адаптер 192.168.137.1 / 255.255.255.0 / шлюз не нужен / dns не надо
Сама касса 192.168.137.111 / 255.255.255.0 / шлюз НЕ нужен dns НЕ нужен
Изучаем USB RnDis адаптер через программу перехватчик пакетов USBLyzer :
Вендор ID интересный - VID_18D1 (6353десятичный) по данным usb.org это Google Inc.. А где же здесь Штрих-М?
(VID_18D1&PID_4EE4&REV_0100&MI_00)
iManufacturer указан разработчиками как NXP... Кому верить? А может так и должно быть?
По-видимому Штрих usb.org не платил за VID...
А вот у Атол выкупил себе vid 2912 и он есть в базе usb.org Management Company ATOL Ltd..
Может поэтому а Атола RNDIS работает, а у Штриха нет?
Connection Status Device connected
Current Configuration 1
Speed Full (12 Mbit/s)
Device Address 4
Number Of Open Pipes 3
Device Descriptor RNDIS
Offset Field Size Value Description
0 bLength 1 12h
1 bDescriptorType 1 01h Device
2 bcdUSB 2 0200h USB Spec 2.0
4 bDeviceClass 1 EFh Miscellaneous
5 bDeviceSubClass 1 02h Common Class
6 bDeviceProtocol 1 01h Interface Association Descriptor
7 bMaxPacketSize0 1 40h 64 bytes
8 idVendor 2 18D1h
10 idProduct 2 4EE4h
12 bcdDevice 2 0100h 1.00
14 iManufacturer 1 01h "NXP"
15 iProduct 1 02h "RNDIS "
16 iSerialNumber 1 03h "SHM001"
17 bNumConfigurations 1 01h
Запустим WinShark для адаптера RnDIS и посмотрим пакеты
Это вариант , когда касса не может отправить чеки в ОФД (не может доже dns офд разрешить):
Первое , что после включения происходит это посылка ARP пакета :
Первый пакет NxpSemic_f3:fb:05 (00:60:37:f3:fb:05 - это сама касса) посылается с таким смыслом : у кассу ip настроен статически и обязана у сети спросить - кто в сети с таким ip есть?
Касса конечно надеется , что ей ответят - у этого ip такой-то мак устройства, и касса - ой да это же я и и есть. Значит ее знают в сети. Значит все ОК.
Но у нас ответа нет, но это как оказывается для нормальной работы в дальнейшем не важно.
Кстати источник представляется как Address: NxpSemic_f3:fb:05 (00:60:37:f3:fb:05) отнюдь не Штрих-М.
Потом после всяких инициализирующий запросов , касса начинает постоянно долбить на порт 16327 всем доступным соседям см. 255.255.255.255. И это тоже нормально .
Много вопросов , мало ответов...
Лог рабочего варианта отправки чеков
Показываю вариант включения кассы , когда она работает ОК, т.е .чеки нормально уходят в ОФД через программу/сервис OFDConnect на порт 7878, а оттуда уже на 7790 test.ofd-ya.ru .
Включение кассы :
момент отправки чека :
Начинаем вспоминать как работают сети и приходит на ум попинговать из кассы
Настроим WinShark на отфильтровку icmp (пинг) и из драйвера пошлем пинг на 192.168.137.1 (RnDis адаптер)
Результат пинга не заставит себя долго ждать
192.168.137.1 доступен, а вот 192.168.1.50 - недоступен (как видно на картинке сверху). То есть нет проброса трафика с адаптера 192.168.137.1 на 192.168.1.50.
Вывод : пакет с адаптера ARP 192.168.137.1 не покидает адаптера 192.168.137.1 и ICMP тоже
На самом деле сети у них разные , так как разные сетевые адаптеры их определяют.
И тут без маршрутизации не обойтись.
Ну или по смыслу это делает прога OFDConnect у Штриха.
Как настраивать правильно ищите на соседней странице(ах) есть.
шпаргалка по протоколам
NBNS - netbios сервер имен
MDNS - Multicast DNS
IGMP Internet Group Management Protocol
SSDP - Simple Service Discovery Protocol
ADwin configuration protocol (adwin_config)
Изучаем чем нам может помочь arp
C:\WINDOWS\system32>arp -a
Интерфейс: 192.168.137.1 --- 0xc
адрес в Интернете Физический адрес Тип
192.168.137.111 00-60-37-f3-fb-04 динамический
192.168.137.255 ff-ff-ff-ff-ff-ff статический
224.0.0.2 01-00-5e-00-00-02 статический
224.0.0.22 01-00-5e-00-00-16 статический
224.0.0.187 01-00-5e-00-00-bb статический
224.0.0.251 01-00-5e-00-00-fb статический
239.255.255.250 01-00-5e-7f-ff-fa статический
Интерфейс: 192.168.1.50 --- 0x11
адрес в Интернете Физический адрес Тип
192.168.1.1 50-ff-20-1e-99-02 динамический
192.168.1.2 c8-60-00-6e-94-70 динамический
192.168.1.34 4c-ed-fb-74-b1-79 динамический
192.168.1.255 ff-ff-ff-ff-ff-ff статический
224.0.0.2 01-00-5e-00-00-02 статический
224.0.0.22 01-00-5e-00-00-16 статический
224.0.0.187 01-00-5e-00-00-bb статический
224.0.0.251 01-00-5e-00-00-fb статический
224.0.0.252 01-00-5e-00-00-fc статический
239.255.102.18 01-00-5e-7f-66-12 статический
239.255.255.250 01-00-5e-7f-ff-fa статический
255.255.255.255 ff-ff-ff-ff-ff-ff статический
Изучаем чем нам может помочь route
route print 192.*
Настраиваем теперь так
Ethernet to router 192.168.1.50/24 192.168.1.1.
RnDIS to kass 192.168.1.118/24 Шлюза нет , dns нет
касса 192.168.1.119/24 шлюза нет, dns нет
arp -s 192.168.137.111 00-60-37-f3-fb-04
arp -s 192.168.137.1 00-60-37-f3-fb-05
Компьютер\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter = 1
route -p add 192.168.137.0 mask 255.255.255.0 192.168.1.50