Перейти к содержанию

Вопрос

Опубликовано

Всем привет!

Подскажите плз. возможно ли на Keenetic Air (KN-1611) получить полный доступ. Через telnet\ssh у меня получилось  попасть только в интерфейс CLI пользователем admin.

Рекомендуемые сообщения

  • 0
Опубликовано (изменено)
  В 31.01.2022 в 10:12, typedef сказал:

Всем привет!

Подскажите плз. возможно ли на Keenetic Air (KN-1611) получить полный доступ. Через telnet\ssh у меня получилось  попасть только в интерфейс CLI пользователем admin.

Показать  

К сожалению штатными методами это все. Может только через entware что то можно сделать.

Изменено пользователем Илья Картавенко
  • 0
Опубликовано
  В 31.01.2022 в 10:17, Илья Картавенко сказал:

Ксожалению штатными методами это все. Может только через entware что то можно сделать.

Показать  

да я уж про штатные средства и не говорю.
Уже попробовал Keenetic-SDK, собрал свой firmware. Но вот как его оттестить нормально не имея полного доступа к системе...

  • 0
Опубликовано

провозился сегодня целый день с Keenetic SDK
Так и не нашел каким образом они формируют /etc/passwd. В образ попадает этот файл из штатного места
   \build_dir\target-mipsel-linux-musl_musl\base-files\ipkg-KN-1611\base-files\etc

там все требуемые файлы для \etc
Но passwd (и еще несколько) это символические ссылка на /tmp/passwd, которого нет. Видимо во время билда он создается и потом удаляется. Я так и не смог найти где и как именно :(

Я так понимаю, там я смогу включить root'а

Ткните плз. в доки, где этот процесс описан.

  • 0
Опубликовано
  В 31.01.2022 в 17:41, typedef сказал:

Ткните плз. в доки, где этот процесс описан.

Показать  

Такого описания нет.
Вам нужно включить следующие компоненты в "make menuconfig"

  • "NDM ---> Debug ---> ndm-mod-shell" и
  • "NDM ---> Opkg ---> ndm-mod-opkg".

Тогда у вас появится возможность запускать интерпретатор ash из CLI ndm командой

(config)> exec ash

BusyBox v1.24.2 () built-in shell (ash)

~ # 
~ # ls
bin    dev    etc    flash  lib    opt    proc   root   sbin   sys    tmp    usr    var

Правда для установки этих двух компонентов вам возможно придётся отключить часть уже установленных, так как у KN-1610 доступно всего ~7.5 MB для rootfs.

  • 0
Опубликовано
  В 31.01.2022 в 19:32, sergeyk сказал:

Такого описания нет.
Вам нужно включить следующие компоненты в "make menuconfig"

  • "NDM ---> Debug ---> ndm-mod-shell" и
  • "NDM ---> Opkg ---> ndm-mod-opkg".

Тогда у вас появится возможность запускать интерпретатор ash из CLI ndm командой

(config)> exec ash

BusyBox v1.24.2 () built-in shell (ash)

~ # 
~ # ls
bin    dev    etc    flash  lib    opt    proc   root   sbin   sys    tmp    usr    var

Правда для установки этих двух компонентов вам возможно придётся отключить часть уже установленных, так как у KN-1610 доступно всего ~7.5 MB для rootfs.

Показать  

огромное спасибо за новое знание! :)
Странно, что за целый день поисков по различным источникам я нигде не встретил ничего подобного.

Добавил оба компонента, собрал имидж, залил в роутер. Ошибок не было, все запустилось, но команды exec не появилось...
 

(config)> exec
Command::Base error[7405600]: no such command: exec.

может еще чего надо включить?

  • 0
Опубликовано
  В 01.02.2022 в 15:15, typedef сказал:
(config)> exec
Command::Base error[7405600]: no such command: exec.

может еще чего надо включить?

Показать  

поставил уже из веб интерфейса роутера поддержку OPKG, появилась команда exec (правда сам веб интерфейс раскорячился, видимо памяти мало)
но не может найти ash

(config)> exec ash
Process error[268241546]: system failed [0xcffd0a8a], "ash" executable not found.

 

  • 0
Опубликовано
  В 01.02.2022 в 15:15, typedef сказал:

Добавил оба компонента, собрал имидж, залил в роутер. Ошибок не было, все запустилось, но команды exec не появилось...

Показать  

Если не появилось, значит что-то не так делали.

  • 0
Опубликовано
  В 01.02.2022 в 16:13, sergeyk сказал:

Если не появилось, значит что-то не так делали.

Показать  

я на самом деле делаю такое впервые, поэтому вполне возможно.
Делал так:
  1. сгружаю с роутера актуальную версию KN-1611_stable_3.07.C.2.0-1_firmware.bin
  2. загружаю ее параметры в конфиг ./unpack.sh ../KN-1611_stable_3.07.C.2.0-1_firmware.bin
  3. захожу в make menuconfig и добавляю два компонента, которые Вы писали выше
  4. собираю имидж - make -j5
  5. заливаю прошивку в роутер

Вот на последнем пункте я не уверен, что все делаю правильно
  - скачал Keenetic Recovery
  - распаковал архив и в директорий \fw положил свой собранный имидж. 
  - переименовал его в KN-1611_recovery.bin
  - и дальше согласно инструкции:
       запустил саму утилиту krutil_ru.exe
       перезапустил роутер с зажатым ресетом
       дождался прошивки

вроде все.
Что не так не знаю...

  • 0
Опубликовано

меня смущает что после всех манипуляций выше, при коннекте через telnet пишется
KeeneticOS version 3.07.C.2.0-1, copyright (c) 2010-2022 Keenetic Ltd.
хотя версия имиджа, что я собрал - 3.07.C.1.0-4

  • 0
Опубликовано

сегодня попробовал распаковать образ, который я собрал в SDK
запускаю ./unpack.sh KN-1611-3.07.C.1.0-4.bin
в ответ

"Unable to find TLV table offset."

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

  • 0
Опубликовано
  В 01.02.2022 в 16:13, sergeyk сказал:

Если не появилось, значит что-то не так делали.

Показать  

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

"NDM ---> Debug ---> ndm-mod-shell" и
"NDM ---> Opkg ---> ndm-mod-opkg"
 

На мой вопрос через форму обратной связи посоветовали посмотреть файл self-test, в нем поле <name>Component lister</name>

В нем должен быть shell
У меня таких два фрагмента, оба одинаковые:
 

        <thread>
            <name>Component lister</name>
            <tid>0</tid>
            <lock_list_complete>yes</lock_list_complete>
            <locks/>
            <statistics>
                <interval>0</interval>
                <cpu>
                    <now>0.000000</now>
                    <min>0</min>
                    <max>0</max>
                    <avg>0</avg>
                    <cur>0</cur>
                </cpu>
            </statistics>
        </thread>

Искал по всему файлу поиском по имени "shell" и "opkg" - ничего нет

внизу информация о релизе:
 

    <!-- show upnp redirect -->
    <!-- show version -->
    <release>3.07.C.2.0-1</release>
    <sandbox>stable</sandbox>
    <title>3.7.2</title>
    <arch>mips</arch>
    <ndm>
        <exact>0-49ce9d9</exact>
        <cdate>14 Jan 2022</cdate>
    </ndm>
    <bsp>
        <exact>0-7f0f81fa9</exact>
        <cdate>19 Jan 2022</cdate>
    </bsp>
    <ndw>
        <version>3.7.67</version>
        <features>wifi5ghz,mimo5ghz,atf5ghz,wifi_button,led_control,dual_image,wifi_ft,wpa3</features>
        <components>adguard-dns,base,cloudcontrol,corewireless,dhcpd,dot1x,easyconfig,igmp,l2tp,lang-en,miniupnpd,mws,nathelper-ftp,nathelper-pptp,nathelper-sip,ndns,pingcheck,ppe,pppoe,pptp,skydns,trafficcontrol,ydns</components>
    </ndw>
    <ndw3>
        <version>1.30</version>
    </ndw3>
    <manufacturer>Keenetic Ltd.</manufacturer>
    <vendor>Keenetic</vendor>
    <series>KN</series>
    <model>Air (KN-1611)</model>
    <hw_version>11168000</hw_version>
    <hw_type>router</hw_type>
    <hw_id>KN-1611</hw_id>
    <device>Air</device>
    <region>RU</region>
    <description>Keenetic Air (KN-1611)</description>

ничего не понимаю, как будто я и не собирал свой имидж...

  • 0
Опубликовано
  В 02.02.2022 в 17:41, typedef сказал:

ничего не понимаю, как будто я и не собирал свой имидж...

Показать  

Похоже, что так.
Какие файлы у вас в bin/mt7628/ с расширением .bin и какие у них размеры?

  • 0
Опубликовано
  В 02.02.2022 в 18:12, sergeyk сказал:

Похоже, что так.
Какие файлы у вас в bin/mt7628/ с расширением .bin и какие у них размеры?

Показать  

пошел по порядку с самого начала
1.  очистил все
    make dirclean
2. распаковал последнюю оригинальную прошивку  
   ./unpack.sh ../KN-1611_stable_3.07.C.2.0-1_firmware.bin
3. собрал ее без изменений
   make -j5
4. добавил компоненты: "ndm-mod-shell" и "ndm-mod-opkg"
    make menuconfig
5. собрал с изменениями
   make -j5
 

alvas@Alvas-PC:~/keenetic/keenetic-sdk/bin/mt7628$ ls -l
total 19696
-rw-r--r-- 1 alvas alvas  9568316 Feb  2 21:30 20220202_2130_Firmware-KN-1611-3.07.C.1.0-4.bin
-rw-r--r-- 1 alvas alvas 10551356 Feb  2 21:33 20220202_2133_Firmware-KN-1611-3.07.C.1.0-4.bin
-rw-r--r-- 1 alvas alvas      164 Feb  2 21:33 md5sums
drwxr-xr-x 2 alvas alvas    32768 Feb  2 21:33 packages
alvas@Alvas-PC:~/keenetic/keenetic-sdk/bin/mt7628$


 

  • 0
Опубликовано

@typedef смотрите содержимое каталога build_dir/target-mipsel-linux-musl_musl/root-mt7628/, это образ rootfs, который был запакован в последний сгенерированный файл. В этом rootfs должны быть bin/busybox и lib/libndmOpkg.so.

  • 0
Опубликовано
  В 02.02.2022 в 18:50, sergeyk сказал:

добавить пакет Opkg в оригинальную прошивку изначально на устройстве

Показать  

А для роутеров без USB доступен компонент "Поддержка открытых пакетов" ? Или я не так понял?

  • 0
Опубликовано
  В 02.02.2022 в 18:42, sergeyk сказал:

Эти файлы не годятся, слишком большие. У вас сборка завершается ошибкой, которую вы игнорируете.
Максимально допустимый размер файла есть в конфигурации, и для KN-1610 он равен

~/keenetic-sdk (main)$ cat .config | grep CONFIG_TARGET_FIRMWARE_SIZE
CONFIG_TARGET_FIRMWARE_SIZE="0x790000"
~/keenetic-sdk (main)$ printf %d 0x790000
7929856

 

Показать  

хм... странно
вроде нет никаких ошибок при сборке нет
да и цифры у меня другие
 

alvas@Alvas-PC:~/keenetic/keenetic-sdk$ cat .config | grep CONFIG_TARGET_FIRMWARE_SIZE
CONFIG_TARGET_FIRMWARE_SIZE="0xf60000"
alvas@Alvas-PC:~/keenetic/keenetic-sdk$ printf %d 0xf60000
16121856


сейчас еще глянул официальный файл из Recovery для 1611 - KN-1611_recovery.bin
Он размером 8257596

Да и роутер никаких ошибок прошивки тоже не выдает, по крайней мере я их не вижу.
 

  В 02.02.2022 в 18:49, sergeyk сказал:

@typedef смотрите содержимое каталога build_dir/target-mipsel-linux-musl_musl/root-mt7628/, это образ rootfs, который был запакован в последний сгенерированный файл. В этом rootfs должны быть bin/busybox и lib/libndmOpkg.so.

Показать  

bin/busybox есть, а вот ib/libndmOpkg.so нет

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

  • 0
Опубликовано
  В 02.02.2022 в 18:59, typedef сказал:

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

Показать  

Можно только "./unpack ..." и "make ...", чистить ничего не нужно.

  • 0
Опубликовано
  В 02.02.2022 в 19:01, sergeyk сказал:

Можно только "./unpack ..." и "make ...", чистить ничего не нужно.

Показать  

ну да.
Спасибо, я попробую!

И еще вопрос до кучи )

в /build_dir/target-mipsel-linux-musl_musl/root-mt7628/etc лежат файлы конфигов
некоторые живые, а некоторые символические ссылки на /tmp
например:
lrwxrwxrwx 1 alvas alvas    11 Feb  2 21:15 passwd -> /tmp/passwd
lrwxrwxrwx 1 alvas alvas     8 Feb  2 21:15 ppp -> /var/ppp
lrwxrwxrwx 1 alvas alvas    16 Feb  2 21:15 resolv.conf -> /var/resolv.conf

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

  • 0
Опубликовано
  В 02.02.2022 в 20:17, sergeyk сказал:

И что вы теперь намерены с этим делать?

Показать  

моя цель была запустить анонсированный в версии 3.7.1 сервис mdns (который на самом деле для 1611 недоступен)
Из-за этого весь сыр-бор, а потом уже стало интересно )
Сейчас я добавил модуль ndm-mdns, он за собой поставил демона avahi. Но вот как это все запускается я пока не понял
service avahi-deamon start 
не работает, так как sevice не поддеживается...

  • 0
Опубликовано
  В 02.02.2022 в 20:22, typedef сказал:

моя цель была запустить анонсированный в версии 3.7.1 сервис mdns (который на самом деле для 1611 недоступен)
Из-за этого весь сыр-бор, а потом уже стало интересно )
Сейчас я добавил модуль ndm-mdns, он за собой поставил демона avahi. Но вот как это все запускается я пока не понял
service avahi-deamon start 
не работает, так как sevice не поддеживается...

Показать  

ну вроде все теперь работает как надо, AirPlay и прочие радости из ZeroConfig работают между двумя подсетями (проводными и wi-fi)
Теперь остался последний шаг, как правильно добавить файл конфига и запустить при старте avahi-daemon

С первым вроде понятно, надо добавить конфиг в 
\package\base-files\files\etc
а как правильно прописать автозапуск демона?

  • 0
Опубликовано
  В 02.02.2022 в 20:52, typedef сказал:

а как правильно прописать автозапуск демона?

Показать  

Запускайте по событию или через скрипт opkg initrc (/opt/etc/initrc по умолчанию):

https://github.com/ndmsystems/packages/wiki/Opkg-Component#hook-scripts

  • 0
Опубликовано
  В 02.02.2022 в 18:57, MercuryV сказал:

А для роутеров без USB доступен компонент "Поддержка открытых пакетов" ? Или я не так понял?

Показать  

Да, сейчас opkg включен для всех моделей.

  • 0
Опубликовано
  В 03.02.2022 в 03:24, sergeyk сказал:

Запускайте по событию или через скрипт opkg initrc (/opt/etc/initrc по умолчанию):

https://github.com/ndmsystems/packages/wiki/Opkg-Component#hook-scripts

Показать  

ага, спасибо!
Вечером попробую.
Я правильно понимаю, что я должен написать скрипт /opt/etc/initrc и положить его в \package\base-files\files\
Ну или лучше написать отдельный скрипт 
avahi, положить его в \package\base-files\files\opt\etc\init.d
В SDK я что то не нашел подобных скриптов, в том числе /opt/etc/ndm/*

  • 0
Опубликовано
  В 03.02.2022 в 03:24, sergeyk сказал:

Запускайте по событию или через скрипт opkg initrc (/opt/etc/initrc по умолчанию):

https://github.com/ndmsystems/packages/wiki/Opkg-Component#hook-scripts

Показать  

Что то не получилось у меня с наскока сделать автоматический запуск демона :(
Файлы в \package\base-files\files\opt\etc положил (и initrc и директорий init.d со скриптом внутри добавил). Они не запускаются потому что без флага на запуск. Видимо где то в makefile надо делать chmod +x

Может где то есть примерчик, чтобы по аналогии сделать?
Ну или, если я Вас еще не задолбал, поясните по подробнее как добавить скрипт start\stop какого-нить сервиса

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.