LINUX.ORG.RU

Отслеживание обмена данных с символьным устройством

 , , ,


0

1

Есть проприетарный драйвер (в виде набора библиотек, загружаемых андройдом), работающий с dsp-ядром. Связь с оборудованием сделана в виде символьного устройства rk28-dsp. Он каким-то образом загружает туда firmware и передаёт параметры поток. Есть исходный код ядерной части. Нужно как-то отследить, что происходит с устройством. Пробовал трассировать процессы, работающие с устройством, но в вывод попадает только close(fd). Есть возможность собрать свой модуль под ядро, так что по идее можно попробовать сделать фейковое устройство. Может ещё какие-нибудь способы есть? Всё это под arm архитектуру, может можно как-нибудь достать код из бинарника? Хочу перехватить эти данные

★★★★★

Ответ на: комментарий от ziemin

сосат ? будто от лора можно дождаться других советов :(

anonymous
()

если есть сорцы - просто пропатчить ядро

но к сожалению скорее всего ввод вывод через mmio

так что valgrind ammt

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

Как я понял сокат для сокетов и ни о каком пробросе ioctl не может идти речи. Полного конфига ядра нет, удачных случаев сборки рабочих ядер тоже (загрузчик не принимает). kexec для тестов отсутствует. Можно собрать только отдельный модуль, они вот успешно загружаются. Удалось даже подключить btusb и произвести сканирование (но не более того). А mmio разве нельзя протрассировать? Ведь оно всё равно сводится к процедурам чтения/записи? Или хотя бы адреса доступа получить? Данные по идее - raw-поток, содержащий прошивку из /etc/firmware и демультиплексированный видеопоток. Может есть дизассемблер для arm (хотя не уверен, что разберусь)? И почему в strace видно только close(fd)? Где вызов открытия файлов? Где вызов mmap? Обычно я такие вызовы вижу при трассировке. Что такое valgrind ammt?

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

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

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

Уже нашёл man, попробую приаттачить его к gdb. Основная проблема - как его собрать, чтобы с андройдом работал.

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

Они ядро не предаставили для моего усторйства, хотя оно отличается от того, что предоставили rockchip, так что мне по на законность.

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

P.S. я хочу изучить результат работы этого драйвера, а это вполне законно. Вот если я бы его дизассемблировал (на что у меня мозгов не хватит), вопрос был ба актуален.

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