(решено) Настройка/обновление через SSH (cli/nvram/rwfs/mtd_write)

Цитата: nak-alexey от 15/09/2018, 22:20Здравствуйте! Появилась необходимость настраивать роутер с прошивкой WINE-NG через SSH, но не могу разобраться где лежит конфиг. Пожалуйста, можете подсказать как присвоить значение ключам через SSH?
Здравствуйте! Появилась необходимость настраивать роутер с прошивкой WINE-NG через SSH, но не могу разобраться где лежит конфиг. Пожалуйста, можете подсказать как присвоить значение ключам через SSH?

Цитата: CHIPSET от 15/09/2018, 22:52По команде "nvram" можно получить справку. Например, "nvram_show 2860" покажет все параметры с присвоенными значениями, "nvram_get 2860 имя_параметра" выведет значение параметра, а "nvram_set 2860 имя_параметра значение" задаст его. Также в настройке может помочь местный CLI(справка по командам "st", "sw" и "wl"). Остальные конфиги вроде как через "vi" можно поменять(в /etc). Ну и прочими стандартными утилитами, такими как ip, sysctl и т.д. И главное не забывайте после настройки выполнять "fs save" чтобы сохранить изменения!
По команде "nvram" можно получить справку. Например, "nvram_show 2860" покажет все параметры с присвоенными значениями, "nvram_get 2860 имя_параметра" выведет значение параметра, а "nvram_set 2860 имя_параметра значение" задаст его. Также в настройке может помочь местный CLI(справка по командам "st", "sw" и "wl"). Остальные конфиги вроде как через "vi" можно поменять(в /etc). Ну и прочими стандартными утилитами, такими как ip, sysctl и т.д. И главное не забывайте после настройки выполнять "fs save" чтобы сохранить изменения!

Цитата: nak-alexey от 15/09/2018, 23:06Большое спасибо! Разобрался!!! Еще подскажите как залить новую прошивку через SSH?
Большое спасибо! Разобрался!!! Еще подскажите как залить новую прошивку через SSH?

Цитата: sfstudio от 15/09/2018, 23:41Закачать распакованный образ в /tmp (например с помощью wget), затем сбросить состояние RWFS скомандовав fs restore после чего записать образ в нужный раздел сказав mtd_write -r write имя образа Kernel_RootFS.
Все команды введённые без параметров выводят подсказку.
ВНИМАНИЕ!!!
Всё что вы делаете руками с nvram или флэшем не имеет никакой "защиты от дурака", т.е. любая ваша ошибка может привести к смерти девайса с необходимостью искать программатор. А в некоторых случаях (например после fullreset или другой порчи eeprom) для восстановления полноценной работы потребуется спец оборудование для перекалибровки устройства.
Железка на 100% послушная, и если вы скомандуете ей самоубиться - она это сделает без всяких вопросов.
P.S. полный список команд (а так же демонов и тд) можно увидеть нажав 2 раза TAB будучи подключенным к устройству по SSH. Так же работает и автодополнение. Система по сути является весьма узкоспециализированным Linux дистрибутивом оптимизированным под конкретное железо, с окружением на основе busybox, т.е. все базовые инструменты будут теми же. В т.ч. /proc, /sys псевдофс для взаимодействия с ядром. Большинство команд (кроме демонов) будучи запущенными без параметров или с -h/--help (как и в большом Linux) выдадут подсказку.
Закачать распакованный образ в /tmp (например с помощью wget), затем сбросить состояние RWFS скомандовав fs restore после чего записать образ в нужный раздел сказав mtd_write -r write имя образа Kernel_RootFS.
Все команды введённые без параметров выводят подсказку.
ВНИМАНИЕ!!!
Всё что вы делаете руками с nvram или флэшем не имеет никакой "защиты от дурака", т.е. любая ваша ошибка может привести к смерти девайса с необходимостью искать программатор. А в некоторых случаях (например после fullreset или другой порчи eeprom) для восстановления полноценной работы потребуется спец оборудование для перекалибровки устройства.
Железка на 100% послушная, и если вы скомандуете ей самоубиться - она это сделает без всяких вопросов.
P.S. полный список команд (а так же демонов и тд) можно увидеть нажав 2 раза TAB будучи подключенным к устройству по SSH. Так же работает и автодополнение. Система по сути является весьма узкоспециализированным Linux дистрибутивом оптимизированным под конкретное железо, с окружением на основе busybox, т.е. все базовые инструменты будут теми же. В т.ч. /proc, /sys псевдофс для взаимодействия с ядром. Большинство команд (кроме демонов) будучи запущенными без параметров или с -h/--help (как и в большом Linux) выдадут подсказку.

Цитата: sfstudio от 15/09/2018, 23:48Цитата: CHIPSET от 15/09/2018, 22:52. Остальные конфиги вроде как через "vi" можно поменять(в /etc). Ну и прочими стандартными утилитами, такими как ip, sysctl и т.д. И главное не забывайте после настройки выполнять "fs save" чтобы сохранить изменения!
Нет, большинство конфигов либо генерируется на лету из параметров nvram скриптами инита(т.е. править нужно скрипт если захочется что-что что не может быть сделано изменением параметров в nvram), или же используются темплэйты (опять таки если что-то не предусмотрено - правим темпэйты).
При изменении nvram не нужно делать fs save. nvram сущность отдельная и достаточно set/get что бы изменить/создать/прочитать какую-либо переменную. Вот если что-то правили руками в /etc тогда да, нужно записать на флешь сказав fs save.
Ну и напоминаю, что фирмварь умеет пакеты rwfs и хуки из инита, что бы не править сами системные скрипты). Подробности есть в теме рядом и в ридми в гит.
Всё руки не дойдут описать всё это в примерах, дабы родить заметку на сайт. Если у кого-то будет желание это сделать (заметку-статью, с примерами и на пальцах родить) - милости просим, разместим за вашим авторством без проблем.
Цитата: CHIPSET от 15/09/2018, 22:52. Остальные конфиги вроде как через "vi" можно поменять(в /etc). Ну и прочими стандартными утилитами, такими как ip, sysctl и т.д. И главное не забывайте после настройки выполнять "fs save" чтобы сохранить изменения!
Нет, большинство конфигов либо генерируется на лету из параметров nvram скриптами инита(т.е. править нужно скрипт если захочется что-что что не может быть сделано изменением параметров в nvram), или же используются темплэйты (опять таки если что-то не предусмотрено - правим темпэйты).
При изменении nvram не нужно делать fs save. nvram сущность отдельная и достаточно set/get что бы изменить/создать/прочитать какую-либо переменную. Вот если что-то правили руками в /etc тогда да, нужно записать на флешь сказав fs save.
Ну и напоминаю, что фирмварь умеет пакеты rwfs и хуки из инита, что бы не править сами системные скрипты). Подробности есть в теме рядом и в ридми в гит.
Всё руки не дойдут описать всё это в примерах, дабы родить заметку на сайт. Если у кого-то будет желание это сделать (заметку-статью, с примерами и на пальцах родить) - милости просим, разместим за вашим авторством без проблем.