124

Еще немного об OpenWrt

Не секрет что китайские производители soho устройств (в данном случае роутеров), постоянно меняют ревизии устройств в зависимости от того какое железо в него встроили. У меня есть необходимость использовать дешевые роутеры tp-link в качестве свичей с изоляцией трафика или свичей с vlan. Когда я собрал первый билд OpenWrt для решения данной задачи мы использовали wr740n v4, то есть 4ю ревизию этой модели. Позднее появились 5я, 6я ревизии (для которых пришлось вносить изменения в исходники), а сейчас уже их вообще не поставляют. Поставщик предложил wr840n v2 (ru). Погуглив я нашел только то, что один энтузиаст с помощью jtag и tftp смог адаптировать прошивку от wr841n v9 и то не описал как. Но делать нечего, заказали пробную партию wr840n v2 (ru). Первое что я сделал - разобрал роутер, подпаял serial console (rx/tx/gnd) и подключился с компа к нему через usb to ttl конвертер. На этапе загрузки я увидел что у данного роутера действительно такое же железо как и у wr841n v9 (QCA953x, 4Mb памяти и 32 оперативки), однако при подсовывании прошивки через режим восстановления по tftp консоль ругалась на то что id устройства неверный. Дальше, зная как обозначается id для tp-link'ов в OpenWrt стал править исходники, а именно target/linux/ar71xx/image/Makefile:
добавляем секцию:

define Device/tl-wr840n-v2

$(Device/tplink-4mlzma)

BOARDNAME := TL-WR841N-v9

DEVICE_PROFILE := TLWR841

TPLINK_HWID := 0x08400002

endef
где TPLINK_HWID := 0x08400002 как раз id устройства (840 модель, 002 - ревизия), а так же в targed device добавляем свой tl-wr840n-v2.
Компилируем и льем прошивку. В результате имеем вполне себе работоспособный роутер с OpenWrt, а по скольку используем те же самые правленые исходники, то имеем на нем нужный нам функционал на борту. Единственный минус - led индикаторы не соответствуют действительности и при заходе в веб интерфейс мы видим устройство как wr841n v9, вместо wr840n v2, но это никак не мешает ему исполнять положенные на него задачи.
Чтобы другие люди не мучились с подбором и реализацией прошивки я запостил на wiki OpenWrt данное решение, пруф https://forum.openwrt.org/viewtopic.php?pid=346678#p346678
Всем добра!

Вы смотрите срез комментариев. Показать все
0
Автор поста оценил этот комментарий
Чувак, а не в курсе, почему на "бодрый подснежник" последней версии (на опенврт сделан) не работают за натом sip-устройства ни в какую? По sip связь то есть, а как до звука доходит - голяк, rtp не проходит сквозь роутер ни в какую. MR-3020.
На родной прошивка и любом другом роутере ессно все окей)
раскрыть ветку (9)
0
Автор поста оценил этот комментарий

возможно у вас подгружены модули ip_nat_sip, ip_conntrack_sip, попробуйте удалить их в консоли:

rmmod ip_nat_sip

rmmod ip_conntrack_sip
Если не так - покажите lsmod - подумаю...

раскрыть ветку (8)
0
Автор поста оценил этот комментарий
Этих модулей нет, и версия ядра / самой опенврт свежая, там уже названия другие - kmod.. по-моему. Но их тоже нет.
https://toster.ru/q/379157
раскрыть ветку (7)
0
Автор поста оценил этот комментарий

kmod - это название пакета, модуль может начинаться на nf, показывает что то на lsmod | grep sip? У меня была подобная проблема и была она именно в этих модулях. Дебажили tcpdump'ом, увидели что на сервак пакеты приходят с другим src, при удалении модулей все завелось как часы.

раскрыть ветку (6)
0
Автор поста оценил этот комментарий
Нет, модулей точно нет - наоборот, хотел поставить но с зависимостями не срослось..
раскрыть ветку (5)
1
Автор поста оценил этот комментарий

А есть доступ извне? Я бы посмотрел в консоли, что может быть не так...

раскрыть ветку (4)
0
Автор поста оценил этот комментарий
Можно придумать чего нибудь, стукнитесь в скайп - к моему нику прибавить цифру два.
раскрыть ветку (3)
1
Автор поста оценил этот комментарий

стукнулся, никто не открывает... ;)

раскрыть ветку (2)
0
Автор поста оценил этот комментарий
Свет отрубили(
Бывает, это ненадолго.
0
Автор поста оценил этот комментарий
Ща, на диване с телефоном лежу, пополз к компу)
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку