LINUX.ORG.RU

прошу помощи по Openwrt

 , ,


0

1

Доброго времени суток всем обитателям форума.Обращаюсь к вам за помощью,подсказкой или хоть за какой либо информацией по теме openwrt.суть проблемы в следующем: Установил прошивку openwrt 24.10 на роутер tp-link tl wr841n ver.13.Роутер имеет 8mb флешки, что как я полагаю,должно было быть достаточно для установки пакета openvpn на openwrt.Однако в web интерфейсе system-software я вижу,что у меня 2,25mb всего,из них свободно 1,86mb и соответственно на роутере не достаточно памяти для openvpn + зависимости,которые ,как показывает установщик пакетов, требуют +- 4mb.Возникает вопрос, почему веб интерфейс показывает только 2mb из 8mb имеющихся.Ранее я ставил прошивку openwrt 18.xx на wr841n ver.9, который имеет 4mb флешки,и веб интерфейс отображал 21%свободной памяти-68kb,что будет 100%= -+350kb. Кто может обьяснить почему так отображается память и где те 6 из 8mb?Всех отозвавшихся заранее благодарю!



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

где те 6 из 8mb

Вы опенврт и поставили на флешку в 8мб. Где ос по вашему находится?

Ранее я ставил прошивку openwrt 18.x

Очевидно, что 18 версия занимает намного меньше места, чем новая 24.

Сейчас роутеры от 128мб это норма, а не много. 8мб для опенвпн вам хватит, только если вы сами будете собирать прошивку из исходников, отрезая ненужные куски, например как веб интерфейс. Инструкция на их сайте. Есть ещё пакет от wolfssl для опенвпн, но там вроде всё так же тогда и нужно собирать на wolfssl, а не mbedtls, чтобы сэкономить место.

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

Ядро в новых версиях всё толще и толще, 8 MB — это в обрез даже для базовой системы (я в своё время даже 20 версию на своём 842 поднять не смог, так и сижу на 19), а OpenVPN ещё тащит за собой кучу зависимостей типа SSL. Я спасаюсь Extroot на usb-флешке, но на 841 usb-порта нет. Можно попробовать пересобрать образ с помощью ImageBuilder, выкинув всё лишнее, в том числе Luci, и управлять чисто по SSH.

anonymous
()

И учитывай, что опенвпн на проце такого древнего роутера может максимум 15-20 Мбит/с выдать даже с отключенным шифрованием (что не рекомендуется). Если есть возможность со стороны сервера, ВПН можно попытаться поднять по PPTP - тоже тормозно, но не настолько.

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

А есть какое-то «Руководство по сборке OpenWRT для самых маленьких»?

Т.е., вот есть у меня 3 девайса, пара на MT7628 и один на Qualcomm IPQ8062. Все 3 сейчас штатно работают. На всех трех с завода идет кастомный OpenWRT 14.07. Дампы флешек всех трех имею и могу поднять с любого состояния. Есть рут-шелл на девайсах.

Хочу собрать что-то общего назначения на свежей версии OpenWRT.

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

https://upload.jabberworld.info/u/ec27dcda43c1bdb422cd46afa492a43811cee88a/rX...

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

собирать прошивку из исходников

Не обязательно прям из исходников, openwrt-imagebuilder соберет легко и просто из бинарных пакетов. Но чем-то придется пожертвовать, да.
На своей прошивке я удалил гуи (Luci).

p.s. Первый коммент в теме - ответ ТС`у, что не так с прошивкой. Она стала толще. Или возвращаться на старую, или перетряхивать эту.

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

С какой стороны мне к этому всему подступиться? Какие данные нужно вытянуть с работающего девайса?

Разделы u-boot, u-boot env, art чаще всего нужны. Остальное — это ядро и корень, как правило разбитый на два раздела, соединяемые через overlayfs. ART — это данные калибровки Wi-Fi чипа конкретно с твого девайса.

Вообще чтобы посмотреть таблицу разделов стоит почитать dmesg или лог загрузки и /proc/mtd в первом есть оффсеты разделов, во-втором данные по ним.

Хочу файлик, который я залью программатором на флешку и получу то, что хочу.

Я думаю, лучше залить через sysupgrade или командой mtd (вначале стереть, потом записать), чтобы не перезаписывать зря разделы которые трогать не нужно.

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

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

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

За пару действий переходишь навечно на openwrt и пользуешься

AX3000T шикарная штучка за 3к рэ, при желании за рублей 300 можно и какой-нибудь билайн турбо+ на авито, тоже неплохо openwrt кушает

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

С какой стороны мне к этому всему подступиться?

Качаешь imagebuilder для нужной платформы и https://openwrt.org/docs/guide-user/additional-software/imagebuilder

Можно еще https://firmware-selector.openwrt.org, но вручную больше опций доступно.

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


Разделы u-boot, u-boot env, art чаще всего нужны. Остальное — это ядро и корень, как правило разбитый на два раздела, соединяемые через overlayfs. ART — это данные калибровки Wi-Fi чипа конкретно с твого девайса.

Вообще чтобы посмотреть таблицу разделов стоит почитать dmesg или лог загрузки и /proc/mtd в первом есть оффсеты разделов, во-втором данные по ним.


Смотрел уже, их тут 19. Зачем столько? :)

root@TL-ER6020:~# cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00020000 00010000 "SBL1"
mtd1: 00020000 00010000 "MIBIB"
mtd2: 00040000 00010000 "SBL2"
mtd3: 00080000 00010000 "SBL3"
mtd4: 00010000 00010000 "DDRCONFIG"
mtd5: 00080000 00010000 "TZ"
mtd6: 00080000 00010000 "RPM"
mtd7: 00080000 00010000 "APPSBL"
mtd8: 00040000 00010000 "APPSBLENV"
mtd9: 00300000 00010000 "HLOS"
mtd10: 00f00000 00010000 "rootfs"
mtd11: 00010000 00010000 "partition-table"
mtd12: 00010000 00010000 "device-info"
mtd13: 00010000 00010000 "support-list"
mtd14: 00010000 00010000 "firmware-info"
mtd15: 00020000 00010000 "tddp"
mtd16: 00020000 00010000 "log"
mtd17: 00500000 00010000 "rootfs_data"
mtd18: 02000000 00010000 "firmware"


Кстати, в чем считается размер? 00f00000 для корня это 15728640 в десятичной. По факту размер у меня меньше 10 метров:

mtd:rootfs 8.8M 8.8M 0 100% /rom

Или там просто разбивка с запасом и остальные 6 МБ пустые?

командой mtd

Залил некий образ, сделанный через imagebuilder, получил кирпич. Вернул все обратно.

лучше залить через sysupgrade

root@TL-ER6020:~# sysupgrade -v /tmp/openwrt-ipq806x-generic-arris_tr4400-v2-squashfs-sysupgrade.bin
/tmp/openwrt-ipq806x-generic-arris_tr4400-v2-squashfs-sysupgrade.bin is not a valid FIT image



Или не так?

По профилям, предлагаемым в make info у imagebuilder'а, я так понимаю, отличается набор приложений (где-то поддержка USB нужна, где-то фирмварь под wifi и т.п.), поэтому можно использовать первый попавшийся и корректировать его? В остальном, если взят imagebuilder под конкретный проц, то образ в любом случае должен завестись?

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

Ну вот тут их 19. Как вообще определить, что в итоге нужно? Как делается переразбивка? Флешка 32 МБ, как двигать соотношения для юзера или корня?

можно подключиться по UART

С этим немного проблема, тут level shift'ер не распаян. Т.е., в теории можно двигаться в этом направлении, но пока все прошивки и конфигурацию буду делать или из работающей (и доступной по сети) системы, или программатором.

https://rain.linuxoid.in/2025/02/08/препарируем-multiwan-роутеры-от-tp-link/

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

при желании за рублей 300 можно и какой-нибудь билайн турбо+ на авито

Ты отстал от жизни, их уже по 1500 продают и за такую цену они моментально перепуками забираются (купил 3 штуки себе про запас за 800р)

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

Из занятного:

[01:22:44] <rain> root@TL-ER6020:~# cat /etc/config/wportal
config global 'global_set'
       option enable 'on'
       option wechat_appid 'wx5c474c09b96e02bd'
    option wechat_secret 'c02f5381a526f920673e5949774780fe'
    option wechat_check_interval '604800'      
       option identification_type 'ipmac'
       option web_idle_time '0'
       option wifi_idle_time '0'
[01:23:04] <rain> wechat? На роутере? )
[01:24:47] <rain> /etc/wifidog.conf:27:WechatWiFiDNS wifi.weixin.qq.com

YAR ★★★★★
()

У меня был какой-то старый TP-Link c OpenWRT. Там не хватало места, но можно было воткнуть флешку, смонтировать ее каким-то OpenWRT пакетом, который ее определенным образом правильно монтирует и потом ставить пакеты на флешку. Точный процесс не расскажу, но сделать точно можно было.

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

Ок, а одноплатники как обходятся без этого? Вон, Cubieboard работает у меня - тоже ARM, но система как система. Один раздел на внешней флешке. /proc/mtd пустой. Или тут это на nand влепили, а посмотреть нельзя, потому что со стороны Linux'а поддержки работы с ней нет?

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

Ну с горем по полам установил все что нужно,теперь встал вопрос о подключении к openvpn серверу.Проблема на проблеме и сейчас при старте openvpn не появляется интерфейс tun0,который нужно внести в firewall.в чем может быть загвоздка?

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

Если подключаешься терминалом по SSH, выполни logread -e openvpn (если всё-таки взгромоздил Luci, смотри System Log) и разбирайся. Скорей всего соединения с сервером не происходит по какой-то причине. Смотри авторизацию, сертификаты, шифрование и всё такое.

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

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

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

https://t.me/routerich

О какой официальной поддержке может идти речь, если ты будешь взламывать и ставить прошивку, которую производитель ЗАПРЕЩАЕТ ставить? Как раз у роутерыча поддержка официальная

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

8 МБ — это мало. Лучше забей и поставь ненужный комп шлюзом, будет полноценный Linux доступен, памяти дохрена, а эффект тот же.

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

https://openwrt.org/supported_devices

В 2025 году искать связь между поддержкой и платностью, как-то странно, тем более на сайте RuLinux

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

Смотрел уже, их тут 19. Зачем столько? :)

Ещё надо dmesg или лог загрузки смотреть, там порядок разделов.

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

Кстати, в чем считается размер? 00f00000 для корня это 15728640 в десятичной. По факту размер у меня меньше 10 метров:

Один раздел может быть внутри другого.

В остальном, если взят imagebuilder под конкретный проц, то образ в любом случае должен завестись?

Не уверен. Там же ещё device tree нужен от конкретно твоей борды.

Ну вот тут их 19. Как вообще определить, что в итоге нужно?

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

Как делается переразбивка?

Таблица разделов mtd обычно захардкожена в образ ядра или его командную строку, но тут я у тебя вижу partition table, может на этой флешке не так. Лог загрузки надо смотреть.

Флешка 32 МБ, как двигать соотношения для юзера или корня?

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

С этим немного проблема, тут level shift’ер не распаян

Я не очень понимаю как это. По идее UART на 3.3 вольта или на 5 вольт, зачем тебе сдвиг уровней, ты же не к 12-вольтовому комп-порту подключаешь а к USB-адаптеру уже на нужные уровни?

работающей (и доступной по сети) системы

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

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

Ок, а одноплатники как обходятся без этого? Вон, Cubieboard работает у меня - тоже ARM, но система как система. Один раздел на внешней флешке. /proc/mtd пустой. Или тут это на nand влепили, а посмотреть нельзя, потому что со стороны Linux’а поддержки работы с ней нет?

Потому что у одноплатников обычно не сырая флешка, а eMMC или SD-карта или даже USB-флешка. Но таким штукам нужен контроллер, а не только чип памяти. Соотвественно mtd - это подсистема в линуксе где у процессора прямой доступ к чипу памяти вместо контроллера с эмуляцией блочного устройства.

Xenius ★★★★★
()

О боже, его даже продают в магазине на 3 буквы за 3.2к. Я чтобы вот такие ситуации исключить взял Xiaomi R3P и там 512 мб оперативки с 256 мб флешкой позволяют создать мини сервер. На хрен эти полностью кастрированные роутеры ненужны. Как вариант научится паять память тогда уж.

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

Какая еще эмуляция? Это прямая работа ровно таким же образом как если нет отдельного чипа памяти. Это вам через задницу пропихнули мысль что m.2 это обязательно контроллер и набортная память, а не системная. Причем за эти сколько там? 512 мегабайт предлагается доплатить в разы. Да проще рейд на ZFS сделать из пачки карт памяти. Важна только сама память - исключительно только память.

anonymous
()