================================================================================================================== Вставка от =DeaD=
ВНИМАНИЕ!!! На рынке сейчас часто вместо DIR-320 продаётся DIR-320NRU - это совершенно другой по железу роутер и всё что тут описано к нему не имеет отношения. Будьте бдительны!
На текущий момент задача проброски видео и уарта на роутере D-Link DIR-320 решена полностью, при этом в рамках флеш-памяти роутера, т.е. для работы подключение каких-то флешек или usb-хабов не требуется.
Порядок модификации роутера для этой задачи подробно описан в вики на странице [[DIR-320]].
Кроме того от пользователя d3xr есть описание установки прошивки OpenWrt на DIR-320, оно находится на странице [[OpenWrt]] ==================================================================================================================
Вдохновленный темой http://roboforum.ru/forum40/topic5222.html, задумался над созданием робота на базе этого роутера. Первоначальный функционал - управляемый с компьютера робот по каналу Wi-Fi. Робот прошит (так скажем, не без усилий) прошивкой от http://vampik.ru/. На нем завелась Linux-подобная операционка, можно подключиться Телнетом. Задача первая научиться рулить роботом посредством операционной системы. На борту есть USB порт, говорят есть UART. Вот его лицо
Да не, ну нету в линухе такого религиозного догмата, что программы надо класть в bin То есть в продакшен-версии конечно единообразие нужно, но работать должно из любого места. Похоже правда библиотеки не подхватываются. А версии библиотек в /lib и на флешке разные? И что в переменной LD_LIBRARY_PATH?
Последний раз редактировалось boez 02 мар 2011, 11:47, всего редактировалось 1 раз.
А, ну значит при компиляции в экзешник вписались ссылки на ту версию либы, которая в /opt/lib. Попробуй в /lib создать симлинк с именем как у либы из /opt/lib - если либа из /lib как таковая годится (в ней есть нужные функции с нужными параметрами и соглашениями вызова) - заведется, если нету - рухнет или по ненахождению функции, или по SEGFAULT.
Добавлено спустя 1 минуту 46 секунд: Да, ИМХО чтобы собрать экзешник совсем правильно - чтоб он использовал библиотеки из /lib, его надо собирать на ПК теми же тулзами, что и сам билдрут прошивки. Это можно проделывать и для роутеров, у которых никакой флешки нету.
Это понятно, что теми же тулзами, что сборка исходной прошивки, можно собрать. Хотелось бы более прямой путь, а не собирать с нуля операционку при необходимости скомпилировать простую программку
Ну там я так понимаю можно один раз наваять мейкфайл, в котором прописать все пути и опции, а потом любой может его взять, поменять разве что имя входных и выходного файла и компилить любые свои проги. Я ж говорю не о пересборке рута и перепрошивке роутера, а о компиляции билдрутовыми тулзами своего экзешника, но с привязкой к версиям библиотек, которые в роутере. Ну а потом экзешник тем или иным путем копируется на роутер и там работает. Можно прямо в мейкфайл команду scp вписать (скажем в таргет 'install') и если по сети с роутером связь есть, make install будет прогу собирать и в роутер вливать, автоматом.
Добавлено спустя 1 минуту 28 секунд: Ты кстати какую версию прошивки пользуешь? Может я щас прям на нее гляну и такой мейкфайл нарисую, самому интересно.
=DeaD= писал(а):А нельзя это ключами gcc явно указать?
Можно, обычным -L указать линкеру откуда брать либы для линковки, но если я ничего не путаю - то libнафиг.so линкеру не годятся, по крайней мере те что в роутере, там же символов нету. А libнафиг.a остались в билдруте на хосте, на роутере их тоже нету. Так что собрать все правильно внутри роутера наверное не получится...
Так и подмывает влезть в разговор умных дядек. Скажите, а конфига у этой программы нет? И вообще, откуда она взялась - я вчера пол-интернета перекопал, так ничего кроме Software UART не нашел. Неужели нельзя эти библиотеки через конфиг прописать.
О, а еще мысль. А если отмонтировать флешку и подмонтировать каталог с библиотеками в /opt?
Ниче не понимаю. Во-первых ты пишешь, что такие же библиотеки уже есть в прошивке - это раз Ты сам написал программу, у которой депенденсиз неизвестно какой и не можешь поменять их (вынести в конфиг, обрезать и т.д.)? - это два Почему ты уперся именно в эту программу и как получилось что ты ее обвесил мегабайтом библиотек?
Добавлено спустя 1 минуту 3 секунды: И я так понимаю, увеличить память до 128 мб, распаять внутренний ЮСБ/использовать ЮСБ хаб и внешнюю флешку - это не отвечает критериям (дешевизны/повторяемости и т.д.)???
Добавлено спустя 3 минуты 39 секунд: Опубликуй ПЛЗ ldd /opt/suart
один будет логгировать УАРТ на нужный интерфейс, а второй интерфейс на УАРТ.
Добавлено спустя 2 минуты 27 секунд: А, блин, нифига. Она только лог ядра перенаправляет
Добавлено спустя 3 минуты 55 секунд: Слушай, а зачем вообще эта история с сокетом и т.д.? У тебя программа на компе не может открыть телнет, запустить там программу работы с портом и получать/отправлять весь вывод прямо с устройства?? Делов-то, вроде, не шибко много?
dccharacter писал(а):Слушай, а зачем вообще эта история с сокетом и т.д.? У тебя программа на компе не может открыть телнет, запустить там программу работы с портом и получать/отправлять весь вывод прямо с устройства??
Действительно, зачем я делаю программу работы с портом, если её можно просто запустить? Осталось только найти её готовую и компактную или использующую уже имеющиеся на роутере библиотеки