Ну вот и первая касса на линаксе.
первая проблема - касса не включается
замена аккумулятора помогает
Вторая проблема - касса - постоянно стартует и через 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 кстати показывает , что процесса такого еще нет в системе и похоже получается система валится либо до его запуска либо сразу в этом процессе.
продолжение следует....
из тех процессов , что загружены до сбоя вот см. :
Поскольку тех. поддержка упорно утверждает, что они не знают как прошить платы (куда образ, куда бутлоудер и т.д.), а только по 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
качаем WinSCP.exe, устан7авливаем связь