ДримКас Ф

Ну вот и первая касса на линаксе.

первая проблема - касса не включается

замена аккумулятора помогает

Вторая проблема - касса - постоянно стартует и через 15сек перезапускается

Прошивок для кассы не существует - как так ? А вот так.

Написали заявку в ДримКас, приехал водитель к нам офис , отдал новые платы , взамен неисправных и уехал (старые даже не спросил).

Поменяли в одной кассе все завелось нормально, в другой опять та же проблема!?...

Начили изучать вопрос:
на плате FCR1ARM977MB2-20170213, Fiscat - логотип

Контроллер ARM Nuvoton NUC977DK62Y (300 MHz, RAM 64 MB DDR-II)
8 sets of UART, Ethernet, SDIO/eMMC interface, NAND Flash interface, LCD controller, CAN 2.0B, ISO-7816 interface and High-Speed USB 2.0 host/device controller

память Spansion S34ML02G100TF100 (2Gb SLC NAND Flash Memory, тут образ линакс как я понимаю )
батарейка , которая тоже неудачно сбоит 1 раз в полгода
WiFi микруха REALTECK RTL81883US
RTL8201F еще что-то

все это похоже на что-то типа распберри

Теперь интересно , что оказывается касса доступна по управления по локальной сети через SSH 22 порт.

Кстати предварительно попутно надо решить вопрос - а какой ip у кассы, ведь она пытается его получить у DHCP. И тут такой танец с бубенцами : программой WinShark через перекрестный кабель пытаемся мониторить , что касса пытается слать в локальную сеть.

Выясняем , что это происходит с MAC адреса 00 00 00 12 34 ad (хотя поддержка убеждает , что в 99% случаев MAC начинается на BE:EF). Прявязываем к этому MAC адресу (00 00 00 12 34 ad) в DHCP сервере какой-нибудь ip (у меня например 192.168.1.143) и о чудо касса по этому ip отвечает по ssh 22.

Так как касса быстро сбоит и перезапускается , то пришлось написать такой батник, чтобы консольная прога (putty) быстро вводила логин/пароль и сразу другие команды.


cd "C:\Program Files\PuTTY"
plink.exe -ssh 192.168.1.143 -P 22 -l root -pw root -m "C:\DEVELOPMENT\DRIVERS\putty.txt" 
pause

putty.txt


#!/bin/bash

process=fiscat
t=`pidof $process`

while [ -z "$t" ]
do
	echo "process $process not found."
	pidof $process
	sleep 0.1;
done

sleep 0.1;
ps aux | grep fiscat
echo ------------
pidof fiscat
echo ------------
killall fiscat
#kill $t
#kill $(pidof -x process_name)
#ps axu
#ps aux | grep fiscat

Тут со слов поддержки надо как-то успеть убить процесс fiscat до перезагрузки.
команда ps axu кстати показывает , что процесса такого еще нет в системе и похоже получается система валится либо до его запуска либо сразу в этом процессе.

продолжение следует....

из тех процессов , что загружены до сбоя вот см. :

фотка 1

Поскольку тех. поддержка упорно утверждает, что они не знают как прошить платы (куда образ, куда бутлоудер и т.д.), а только по ssh 22 можно с ними общаться, то закономерно можно сделать вывод ,что или в РФ не знают, что и как там шьют китайцы при изготовлении , либо не хотят, чбобы кто-то кроме них знал эти секреты.

попробуем разобраться с потрохами:
ARM Nuvoton NUC977DK62Y память оперативная внутри проца (64 MB DDR-II) - это удобно.
Понятно в NUC977DK62Y есть какой-то бутлоудер, который предоставляет варианты прошивки.
Из даташита - System Boot - Boot from SPI Flash, NAND Flash, eMMC Flash or USB - как-бы варианты загрузки ОС есть (даже с USB флэшки)

Flash Memory - ну это однозначно для ФС линакс и др.программных файлов.

заинтерессовал разъем USB_DEV1 (4 pin) MH04/1.25mm/180°/Wafer-SMT - такие встречаются на платах Штриха , см. от двигателя Штрих-ФР-К.
и похоже перемычкой boot можно выбирать загрузку системы не с Flash , а с USB. Во всяком случае должен появиться USB-VCOM устройство.

вообще Nuvoton - интересная тема ARM контроллеров , со средой разработки.
так вот USB_DEV1 оказался при замкнутом boot USB- концентратором

привезли на замену новую плату


Lan подключен , пошли обновления 1.3.11,1.3.13...
на экране "ККТ не авторизована" и не реагирует на клавиши.
Ошибка информирует об отсутствии заводского номера ККТ.
соединяемся с кассой по SSH 22 порту, убиваем процесс fiscat

фотка 2

качаем WinSCP.exe, устан7авливаем связь

фотка 3
фотка 4

Файлы для скачивания