LINUX.ORG.RU

Доступ к файловой системе прибора на Linux

 


0

4

Здравствуйте уважаемые форумчане! Задался я таким вопросом. Есть у меня прибор американского производства (навигатор-эхолот). Работает на ОС Linux, немного измененной и названной по другому производителем. Для расширения функционала приборчика мне хочется поменять пару текстовых файлов, чтобы появились русские буквы и еще койчего. Но есть некоторые проблемы: Прибор легко прошивается официальными прошивками, они подписаны ЭЦП. И если заменить че-нибудь в архиве, то суммы уже не совпадают и прибор такую прошивку игнорит... Поэтому мне и хотелось спросить опытных Линуксоводов, какие могут быть пути, чтобы сменить эти самые пару файлов?... Прибор всегда запускает только свою оболочку. Если вызвать ее сбой, то все равно он опять запускает ее. У него есть два интерфейса внешних - Nmea (com), и разъем для Микро СД. Я пробовал кидать на флешку разные файлы, обзывая их по всякому: .sh .bh и пр.что пришло на ум. В итоге узнал что браузер файлов прибора открывает только картинки, текст, и свой формат треков. У прибора есть еще Nmea - rs232, а точнее rs422 выход. По нему он постоянно передает свои навигационные данные. Подключался терминалкой к этому порту - данные идут, но послать команду в прибор не получается... Может чего подскажете?

Разве что искать дыру в браузере и скармливать специально заточенную картинку. Не стоит усилий, имхо.

alegz ★★★★
()

Да, желание производителей лишить клиента возможности испортить устройство (а чаще, посадить его на свою иглу) расстраивают. Я недавно разбирался с железкой на ромдосе, которая тоже выдаёт сугубо свои коды и надо тупо реверсить весь протокол общения компа и оригинальной программы (которой у меня не было). Хорошо, что производители (немцы) отозвались и прислали программу, теперь железка хоть работает. Неудобно, но всё же работает.

При чём, для доступа в программе используется три уровня - общий, где заблокировано всё кроме запуска циклов, пользовательский, в котором разрешается ещё и редактирование программ циклов, и администраторский, в котором разрешается редактирование параметров. Но! Как оказалось, есть ещё и сервисный уровень, который вообще нигде не указан и если бы добрый немец не сказал, я так и не запустил бы аппарат.

Также и у тебя будет, пиши производителю в сервисный центр и стучи.

Deleted
()

Прибор легко прошивается официальными прошивками, они подписаны ЭЦП

сейчас было бы интересно и выслушать мнение UEFI_хейтеров :-) ..

...ведь они пытались нам внушить мол именно UEFI вносит ЭЦП в прошивки .. (намекая будто бы *якобы* если бы не UEFI , то и ЭЦП не было бы!)

user_id_68054 ★★★★★
()
Ответ на: комментарий от user_id_68054

Если я правильно понимаю, там не Uefi, а немного другая система защиты. Не помню аббревиатуру. Насколько я ее понял: Есть архив с прошивкой. Все содержимое архива с контрольными суммами прописано в текстовом файле, который и подписан подписью. Соответственно загрузчик проверяет подписан ли файл и совпадают ли суммы, и если нет то не прошивает.

Сервисники производителя наврядли че скажут - это их бизнес, и русский язык в новых прошивках был убран намеренно. У официалов добавление русского языка (копирование одного текстового файлика) стоит 10000 рублей. Русскую прошивку в отрытый доступ не выкладывают, только америкосовская. Еще я обнаружил что прибор имеет одну архитектуру с более старшими моделями и программно урезана часть функций. Одна из самых важных - цвет экрана. Т.е. программно выставлен монохром в оболочке. Хотя картинки открывает в полноцвете.

fierystorm
() автор топика
Ответ на: комментарий от user_id_68054

Уефя ни при чем. но в ней первой (на массовом рынке PC) появилась секрьюре бот. Сейчас и ее саму стали подписывать, прикрываясь идеями безопасности, как некоторые правительства. Зло — это вендорлок, и не важно через что он реализован.

mandala ★★★★★
()
Последнее исправление: mandala (всего исправлений: 1)
Ответ на: комментарий от fierystorm

Сервисники производителя наврядли че скажут - это их бизнес, и русский язык в новых прошивках был убран намеренно. У официалов добавление русского языка (копирование одного текстового файлика) стоит 10000 рублей. Русскую прошивку в отрытый доступ не выкладывают, только америкосовская. Еще я обнаружил что прибор имеет одну архитектуру с более старшими моделями и программно урезана часть функций. Одна из самых важных - цвет экрана. Т.е. программно выставлен монохром в оболочке. Хотя картинки открывает в полноцвете.

Я бы железку продал и поискал с более адекватным производителем. Это же полный жопец!

mandala ★★★★★
()

Мне все никак не дают покоя пару файлов. Я к сожалению в программировании понимаю плохо, поэтому не могу их правильно интерпретировать. Но подозреваю, что они позволяют при определенных условиях запустить консольку управления через последовательный порт.

Думаю можно здесь написать код, может кто чего подскажет?

первый файл

#!/bin/sh

if [ -f /etc/nmea0183debug ]; then # Present a prompt exec /sbin/getty 57600 ttymxc0 else # Sleep forever exec /bin/sleep 42d >/dev/null 2>/dev/null </dev/null fi

второй файл

#!/bin/sh

if grep -q «console=» /proc/cmdline 2>/dev/null; then # Present a prompt echo «Please press Enter to activate this console.» read garbage exec /bin/login else # Sleep forever exec /bin/sleep 42d >/dev/null 2>/dev/null </dev/null fi

Запуск этих файлов прописан в etc/inittab

# Only activate a serial console when it is specified in the kernel command line.

ttyAM0::respawn:/usr/libexec/второй_файл.sh ttymxc0::respawn:/usr/libexec/первый_файл.sh

fierystorm
() автор топика
Ответ на: комментарий от mandala

Продать не вариант. Даже в таком исполнении железка одна из лучших в своей ценовой. Рынок очень узкий, поэтому железки неадекватно дорогие.

fierystorm
() автор топика
Ответ на: комментарий от fierystorm

1) Если существует фаил /etc/nmea0183debug то запустить консоль на устройстве ttymxc0 ,если нет то ждать 42 дня?секунды?.
После этого init перезапустит этот скрипт заново.
2)Если внутри файла /proc/cmdline команда grep находит строку «console=» то надо написать сообщение «Please press Enter to activate this console.» и что то там read garbage exec /bin/login

иначе вместо login запустить заглушку /bin/sleep,которая провисит 42 дня?секунды?

torvn77 ★★★★★
()
Ответ на: комментарий от fierystorm

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

Deleted
()

Есть у меня прибор американского производства (навигатор-эхолот). Работает на ОС Linux, немного измененной и названной по другому производителем.

У меня есть то незнаю что, с тем незнаю чем. Хочу сделать то, не знаю чего.
Название железки, какая аппаратная чать (SoC и т.п.)?
Ссылку на прошивку.
Обращался к производителю, требовал предоставить исходники прошивки с Linux?
...

arson ★★★★★
()
Последнее исправление: arson (всего исправлений: 1)

Вариант 1) заплатить вагон денег разработчику (этому или любому другому), чтобы он сделал все по твоему личному заказу.

Вариант 2) сделать самому.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от arson

https://yadi.sk/d/X8M9zAxAg64tw

Выложил распакованную прошивку. Подписанный файл в ней Update.sh Update.sh.asc

Название железки Ловранс Mark-4 HDI

Ссылка на описание производителя http://www.lowrance.com/en-GB/Products/Echosounder-Chartplotter/Mark-4-HDI-en...

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

fierystorm
() автор топика
Ответ на: комментарий от erzent

а кто сказал что в этом нафигаторе нет uefi?

мой экстрасенсорный пессимизм :-)

ведь я только того и жду когда в Эмбедовке начнётся поголоный UEFI (желательно без ЭЦП .. просто для целей стандартизации, а не для цели анального зондирования)..

а его всё нет ды и нет :-(

user_id_68054 ★★★★★
()
Последнее исправление: user_id_68054 (всего исправлений: 2)
Ответ на: комментарий от fierystorm
# Only activate a serial console when it is specified in the kernel command line.
ttyAM0::respawn:/usr/libexec/serialconsole.sh
ttymxc0::respawn:/usr/libexec/nmea0183debug.sh

При включении питания никаких сообщений uboot-а нет?
Я бы разобрал и посмотрел нет ли внутри еще одного Com-а (Rx,Tx)

arson ★★★★★
()
Ответ на: комментарий от user_id_68054

Всё правильно

UEFI вносит ЭЦП в прошивки

Массово. А точнее не UEFI, а неотключаемый SecureBoot.

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

Pinkbyte ★★★★★
()
Ответ на: комментарий от fierystorm

Да, остаётся подделать саму чексумму.

Deleted
()
Ответ на: комментарий от fierystorm

lowrance

Эти благородные доны в сети из 2х устройств пакеты по мультикасту гоняют. Сеть – их изделие и их же пульт к изделию, соединены напрямую куском витухи...

Stil ★★★★★
()
Ответ на: комментарий от fierystorm

Нет. При загрузке только логотип производителя.

в boot.bin «bootdelay=1».

bootdelay: After reset, U-Boot will wait this number of seconds before it executes the contents of the bootcmd variable. During this time a countdown is printed, which can be interrupted by pressing any key.
Ты точно не тормозишь?

arson ★★★★★
()
Ответ на: комментарий от Pinkbyte

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

erzent ☆☆
()
Ответ на: комментарий от fierystorm

Нет. При загрузке только логотип производителя.

Я надеюсь ты смотришь в эмулятор терминала подключенного к com-порту, а не на экран?

arson ★★★★★
()
Ответ на: комментарий от Pinkbyte

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

erzent ☆☆
()
Ответ на: комментарий от arson

Может и торможу. Смотрел на экран. Терминал Putty не кажет ничего. Если выставить отправку Nmea данных, то терминал кажет каждую секунду эти Nmea посылки. При перезагрузке не кажет ничего.

Сейчас прибор подключен через переходник RS-422 - RS-232. Я думал может через RS-422 будут отправляться команды в прибор, но нет.

fierystorm
() автор топика
Ответ на: комментарий от fierystorm

Терминал Putty не кажет ничего

Ну т.е. ты запустил putty, потом включил прибор и ни чего не увидел? Сразу после включения прибора по клавиатуре стучать пробовал?

Параметры порта какие?

arson ★★★★★
()
Последнее исправление: arson (всего исправлений: 1)
Ответ на: комментарий от arson

Параметры порта стандартные: 9600 8 1 none XON/XOFF В приборе настраивается только скорость. По клаве стучал, ничего.

Попробую снова напрямую к ком порту зацепиться без RS-422.

В прошлом году я производителя немного тряс на тему подключения, он мне вот чего ответил:

If you are receiving NMEA0183 data, then you already have the com port turned on and at least the top two connections correct. The only NMEA0183 information that the Mark4 HDI can take is AIS data. Do remember that the Mark4 HDI is RS422, and you can only set 1 baud rate for both input and output.

fierystorm
() автор топика
Ответ на: комментарий от arson

Если ставить в putty - то ничего не меняется. Nmea посылки становятся нечитаемы кракозябры. Перезагружается прибор как обычно.

fierystorm
() автор топика
Ответ на: комментарий от erzent

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

В суд нахрен.

AS ★★★★★
()
Ответ на: комментарий от fierystorm

В прошлом году я производителя немного тряс на тему подключения, он мне вот чего ответил:

If you are receiving NMEA0183 data, then you already have the com port turned on

И ? Я не понял, ты что от RS-232 тут хочешь получить ? Если он шлёт эти данные, то он (этот порт) только для этого и предназначен, вообще-то. Для подключения к чему-то ещё, что по этим данным может ориентироваться.

AS ★★★★★
()
Ответ на: комментарий от erzent

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

Значит, надо встречный иск готовить. Секюре бут обязан отключаться. Они там могут что угодно говорить про установку двух систем, это пусть, но когда поделка от Микрософт нахрен не сплющилась, секюребута этого быть не должно.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от fierystorm

Согласно документации у прибора может быть один rs422 или два rs232. Это зависит от версии прибора, настроек или способа подключения?

arson ★★★★★
()
Ответ на: комментарий от arson

Думаю что от способа подключения. RS-422 имеет tx+ tx- rx+ rx-

Rs-232 tx и rx

Тоесть первый ком порт это tx+rx+ второй tx-rx-

Первый ком порт у меня кажет читаемые nmea данные. Второй кажет краказябры.

Rs-422 показывал nmea посылки читаемые, и время от времени вставлял кракозябровые данные.

fierystorm
() автор топика
Ответ на: комментарий от arson

Не хочет второй ком нормально работать. Все скорости перебрал..

fierystorm
() автор топика
Ответ на: комментарий от arson

А каким методом Вы просмотрели файл Boot.bin? Я его пытался открыть блокнотом и PhpDesignerом - выводятся непонятные символы :( Этот файл не из рабочей части прошивки. Этот файл запускает процесс прошивания, насколько я понимаю.

fierystorm
() автор топика
Ответ на: комментарий от fierystorm

А каким методом Вы просмотрели файл Boot.bin?

mc (просмотр (F3) в hex (F4) виде, поиск (F7) «console=»)

Этот файл запускает процесс прошивания, насколько я понимаю.

Это U-boot (загрузчик), насколько я понимаю.

arson ★★★★★
()
Ответ на: комментарий от fierystorm

Ну это бинарный файл. Просто там есть строки параметров передаваемых при загруке.

arson ★★★★★
()
Ответ на: комментарий от init_6

У меня нет доступа к файлам на приборе. Еслибы можно было поправить прошивочный скрипт я бы не парился.

Производитель на вопрос о изменении файлов в прошивке молчит.

fierystorm
() автор топика
Ответ на: комментарий от fierystorm

Еслибы можно было поправить прошивочный скрипт я бы не парился.

Короче и сам вопрос конечно на грани...

Но если там внутри действительно части gnu/linux лично я б сперва попробовал попросить исходники у производителя. Если откажут то можно дальше раздувать этот факт потому что правда на твоей стороне.

init_6 ★★★★★
()
Ответ на: комментарий от init_6

Они назвали «свою» ОС - Violet OS Структура каталогов от Линукса. Также с папке usr/doc лежат лицензии на все компоненты. Там есть и лицензия на ядро - kernel-modules-2.6.35.3 в ней помимо прочего имя основателя Линукса значится.

Попробую в таком ключе написать производителю. Только я не совсем понимаю - для чего мне исходники? Если у меня они будут - то что? Я же все равно не смогу записать в прибор ничего, до тех пор, пока у меня не будет закрытого ключа ихней ЭЦП.

fierystorm
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.