PDA

Bekijk de volledige versie : Команды перепрошивки роутера



dmolokanov
23-03-2011, 10:53
Доброго времени суток.
Есть задача: нужно написать скрипт для автоматического обновления прошивки на роутере.
Какие команды надо использовать, чтобы перепрошить роутер?
т.е. я могу закачать в /tmp/ файл с прошивкой. а что делать дальше?

прошивка от энтузиастов, собранная из исходников.

igor77777
23-03-2011, 11:11
...
Какие команды надо использовать, чтобы перепрошить роутер?
...
прошивка от энтузиастов, собранная из исходников.

Раз Вы собираете прошивку из исходников, то я уверен, что Вам не составит труда найти скрипт или программу, которая вызывается при нажатии "Upload" в web-морде роутера.

A1ex
23-03-2011, 11:20
Есть задача: нужно написать скрипт для автоматического обновления прошивки на роутере.
Какие команды надо использовать, чтобы перепрошить роутер?
т.е. я могу закачать в /tmp/ файл с прошивкой. а что делать дальше?


write -r FileName.trx linux

-r - после прошивки перегрузиться

dmolokanov
23-03-2011, 11:23
Раз Вы собираете прошивку из исходников, то я уверен, что Вам не составит труда найти скрипт или программу, которая вызывается при нажатии "Upload" в web-морде роутера.
В этом-то и дело, что никакого скрипта я не нашел. Я перерыл исходники httpd сервера и нашел всего 2 команды:
1. Закачать файл в /tmp/linux.trx
2. #define sys_upgrade(image) eval("write", image, MTD_DEV(1))

я так подумал, что 2 это


write /tmp/linux.trx /dev/mtdblock1


Но перепрошивка не произошла(

al37919
23-03-2011, 11:42
write /tmp/linux.trx /dev/mtdblock1


потому что правильно так:

write /tmp/linux.trx /dev/mtd/1
Однако, если вышепредложеный вариант работает, то он еще лучше.

FilimoniC
23-03-2011, 11:47
Вопрос: зачем?
Это спортивный интерес или используется динамическая генерация прошивок?

dmolokanov
23-03-2011, 11:51
write -r FileName.trx linux

так все заработало. Спасибо

dmolokanov
23-03-2011, 11:54
Вопрос: зачем?
Это спортивный интерес или используется динамическая генерация прошивок?

Собираю фирменную прошивку для устройств на базе роутера, т.е. wl500gpv2+куча других железяк, которые подключены к нему.

dmolokanov
23-03-2011, 11:59
Задам вопросы здесь же:
1) Как можно добавить папки и файлы в прошивку при сборке?
2) Как добавить программы в прошивку. именно не установка, а добавление в trx файл при сборке.
3) Как правильно собрать ffmpeg, чтобы он поддерживал работу с веб-камерой и вещание мультикастом?

если такие вопросы уже поднимались, подойдут и ссылки.

igor77777
23-03-2011, 12:00
Собираю фирменную прошивку для устройств на базе роутера, т.е. wl500gpv2+куча других железяк, которые подключены к нему.

А можно подробности?
Или ещё рано, или вообще секрет?

PS: Извините меня, я подумал, что Вы очередной новичок с наполеоновскими планами.

AndreyUA
23-03-2011, 12:08
Задам вопросы здесь же:
1) Как можно добавить папки и файлы в прошивку при сборке?
2) Как добавить программы в прошивку. именно не установка, а добавление в trx файл при сборке.
3) Как правильно собрать ffmpeg, чтобы он поддерживал работу с веб-камерой и вещание мультикастом?

если такие вопросы уже поднимались, подойдут и ссылки.
1,2. Зайдите в папку others и откройте Makefile, там все понятно.

dmolokanov
23-03-2011, 12:18
А можно подробности?
Или ещё рано, или вообще секрет?

PS: Извините меня, я подумал, что Вы очередной новичок с наполеоновскими планами.

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

lly
23-03-2011, 12:23
Можно сказать, что и новичок. Начальство требует от меня наискорейшей сборки прошивки. Подробности раскрыть не могу, сами понимаете..
А вы(и ваше начальство) отдаёте себе отчёт, что результаты работы придётся выложить на всеобщее обозрение, в соответствие с лицензией GPL?

dmolokanov
23-03-2011, 12:32
А вы(и ваше начальство) отдаёте себе отчёт, что результаты работы придётся выложить на всеобщее обозрение, в соответствие с лицензией GPL?

На самом деле мне все равно. это уже не моя головная боль :)
мне сказали-я делаю.

FilimoniC
23-03-2011, 12:33
А вы(и ваше начальство) отдаёте себе отчёт, что результаты работы придётся выложить на всеобщее обозрение, в соответствие с лицензией GPL?
И исходники тоже.

Гы гы....
[ОффТопик]
Кстати, может кто посоветует толковый ресурс на русском по CC-лицензиям? Конкретно CC-BY-SA

FilimoniC
23-03-2011, 12:34
На самом деле мне все равно. это уже не моя головная боль :)
мне сказали-я делаю.

Не забудьте что к каждому екземпляру необходимо приложить копию лицензии GPL!

UPD: Лицензия GPL всегда все портит.

lly
23-03-2011, 12:40
На самом деле мне все равно. это уже не моя головная боль :)
мне сказали-я делаю.
В таком случае не обижайтесь если вас обзовут вором(как минимум, сообщником) и многие перестанут помогать.

FilimoniC
С чего-бы? Если добавляешь чисто своё, то это не подпадает под GPL и можно не выкладывать. А если используешь чужое готовенькое нахаляву, то чего орать-то?

dmolokanov
23-03-2011, 12:52
lly
об этом я как-то не подумал.кто знает, может все и выложим в дальнейшем. я только в начале длинного пути:(
Может все еще передумается и проект заморозят.

FilimoniC
23-03-2011, 12:54
В таком случае не обижайтесь если вас обзовут вором(как минимум, сообщником) и многие перестанут помогать.

FilimoniC
С чего-бы? Если добавляешь чисто своё, то это не подпадает под GPL и можно не выкладывать. А если используешь чужое готовенькое нахаляву, то чего орать-то?
Про споры "заголовочные файлы ядра это тоже часть ядра и те кто их использовал..." еще идут.

FilimoniC
23-03-2011, 12:56
lly
об этом я как-то не подумал.кто знает, может все и выложим в дальнейшем. я только в начале длинного пути:(
Может все еще передумается и проект заморозят.

Скажите, вы делаете "еще один умный дом"?

lly
23-03-2011, 13:14
Про споры "заголовочные файлы ядра это тоже часть ядра и те кто их использовал..." еще идут.
Offtopic: IMHO это ответная казуистика чтобы избежать ситуации как с Broadcom'овскими блобами. Нам исходники микрокода для WiFi карт нафиг не упёрлись, а вот возможность собрать драйвер под любую версию ядра - очень нужна.

То же и с любыми коммерческими проектами - мне неинтересен исходник их бинарника гоняющего роутер за конкретным сортом пива, а вот правки ядра/uClibc/iptables и т.п. - очень даже. Вот только 99% ex'USSR фирм предпочитают метод работы "стырить и выдать за своё" :mad:

dmolokanov
23-03-2011, 13:58
lly
Не думаю, что мы будем дописывать что-то в ядро. задачи больше прикладные и направлены на автоматизацию разных процессов.
Не думаю, что это кому-то будет очень интересно.

Вас видимо сбила фраза про "фирменную прошивку"? неудачно выразился, согласен(

dmolokanov
23-03-2011, 14:11
Не получилось правильно добавить файлы :(
Сделал, как мне советовали:
1. Скачал wget вот отсюда: http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/wget_1.12-2_mipsel.ipk
2. Распаковал.
добавил в others\Makefile


...
install -m 777 wget/bin/wget $(INSTALLDIR)/usr/bin
install -m 777 wget/etc/wgetrc $(INSTALLDIR)/usr/etc
...

3. Собрал прошивку
4. Прошил. Файлы добавились, но при попытке запустить:


wget
-sh: wget: not found
...
sh /usr/bin/wget
/usr/bin/wget: line 1: syntax error: unexpected "("


С чем это может быть связано?

AndreyUA
23-03-2011, 16:00
Не получилось правильно добавить файлы :(
Сделал, как мне советовали:
1. Скачал wget вот отсюда: http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/wget_1.12-2_mipsel.ipk
2. Распаковал.
добавил в others\Makefile


...
install -m 777 wget/bin/wget $(INSTALLDIR)/usr/bin
install -m 777 wget/etc/wgetrc $(INSTALLDIR)/usr/etc
...

3. Собрал прошивку
4. Прошил. Файлы добавились, но при попытке запустить:


wget
-sh: wget: not found
...
sh /usr/bin/wget
/usr/bin/wget: line 1: syntax error: unexpected "("


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

dmolokanov
24-03-2011, 06:29
Да, я сначала подмонтировал флешку в /opt, установил-все работало.
Потом я добавил файл wget в прошивку, но он не запускается(

al37919
24-03-2011, 06:52
optware собирается другим тулчейном, у него зависимости свои.

dmolokanov
24-03-2011, 07:36
optware собирается другим тулчейном, у него зависимости свои.

А как же тогда добавить полноценный wget в прошивку?

al37919
24-03-2011, 07:54
лучше всего собрать его тем же тулчейном, что прошивку, либо положить в /opt все что он хочет там видеть

dmolokanov
24-03-2011, 09:04
Для сборки прошивки пользовался вот этим: http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware
мои действия:
1. скачал wget http://ftp.gnu.org/pub/gnu/wget/wget-1.12.tar.gz
2. сделал: export PATH=$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin
3. ./configure && make
4. залил на роутер, не работает(

Я все верно делаю? ядро прошивки 2.6, роутер wl500gpv2

ryzhov_al
24-03-2011, 09:46
Правильно ли я понял, что вы получаете знания (http://www.wl500g.info/search.php?do=finduser&u=41272) от форумчан для собственного заработка? Просите ответить на вопросы побыстрее, задавая их по нескольку (http://www.wl500g.info/showthread.php?p=227447#post227447) раз (http://www.wl500g.info/showthread.php?p=227328#post227328) в разных темах потому, что начальство давит (http://www.wl500g.info/showpost.php?p=227903&postcount=12)? Если так, то я отказываюсь как-либо помогать.

Мне кажется, что теме место во флудильне.

FilimoniC
24-03-2011, 11:26
Правильно ли я понял, что вы получаете знания (http://www.wl500g.info/search.php?do=finduser&u=41272) от форумчан для собственного заработка? Просите ответить на вопросы побыстрее, задавая их по нескольку (http://www.wl500g.info/showthread.php?p=227447#post227447) раз (http://www.wl500g.info/showthread.php?p=227328#post227328) в разных темах потому, что начальство давит (http://www.wl500g.info/showpost.php?p=227903&postcount=12)? Если так, то я отказываюсь как-либо помогать.

Мне кажется, что теме место во флудильне.

Ну в общем-то все так делают. Любая Linux-конференция нацелена именно на получение знаний, что в итоге оборачивается получением денег. А вот флуд нескольких тем это уже свинство.

2dmolokanov Вы скажите начальству что нифига не понимаете в этом и а) либо они дают время вам разобраться б) платят деньги за аутсорс в) нанимают человека вместо вас, который в этом соображает лучше.
Вам пора объяснить начальству что чудес не бывает и скорость вашей работы не зависит от громкости начальства, а так же обратно пропорциональна степени его назойливости.

Einheri
11-04-2011, 09:45
у самого перебывали 2 роутера асус, сейчас роутер понадобился родным. живут они не близко. если какие вдруг проблемы - не намотаюсь. объяснять как перепрошить/настроить/все что угодно - бесполезно. вопрос такой:

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

как я это вижу:
захожу удаленно, на настроеный рабочий роутер. wget'ом сливаю ему на флешку прошивку. запускаю скрипт. получаю перепрошитый роутер.

как предполагается действие скрипта:
забекапить настройки и flash на usb drive(далее флешка), восстановить настройки по умолчанию одновременно прописав себя в автозагрузку, после загрузки включить залив новой прошивки. След фаза(в мануалах пишут что желательно, надо ли в действительности - разработчикам виднее), еще раз восстановить настройки по умолчанию, ребут, после ребута восстановить забекапенные настройки с флехи, и собственно все.

переход к каждому след шагу я понимаю изменением передаваемого параметра скрипту при автозагрузке.

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

ABATAPA
11-04-2011, 09:52
я так понимаю - это может быть и возможно, но только если такой "скрипт" и автозапуск к нему как-то прилепить внутри прошивки. для этого тогда придется делать пересборку каждой прошивки. а можно ли без этого?

Что мешает делать всё это через "штатную" Web-"морду"? Откроёте к ней доступ снаружи с нужного IP, или пробрасывайте ssh-туннель - и все.

smi
11-04-2011, 11:51
роутер понадобился родным. живут они не близко. если какие вдруг проблемы - не намотаюсь. объяснять как перепрошить/настроить/все что угодно - бесполезно. вопрос такой:

...

как я это вижу:
захожу удаленно, на настроеный рабочий роутер. wget'ом сливаю ему на флешку прошивку. запускаю скрипт. получаю перепрошитый роутер. Вы желаете создать проблему, чтобы потом ее мужественно преодолевать? Зачем вам его перепрошивать? Следует, раз настроить и больше не трогать, во избежании возникновения проблем, за исправлением которых, действительно придется мотаться туда ;)

BcTpe4HbIu
11-04-2011, 11:54
Вы желаете создать проблему, чтобы потом ее мужественно преодолевать? Зачем вам его перепрошивать? Следует, раз настроить и больше не трогать, во избежании возникновения проблем, за исправлением которых, действительно придется мотаться туда ;)

Я бы даже сказал, что хватит последней прошивки из ветки -d. она как то по стабильней вроде

genych
11-04-2011, 14:37
Что мешает делать всё это через "штатную" Web-"морду"? Откроёте к ней доступ снаружи с нужного IP, или пробрасывайте ssh-туннель - и все.

В свете:

След фаза(в мануалах пишут что желательно, надо ли в действительности - разработчикам виднее), еще раз восстановить настройки по умолчанию, ребут, после ребута восстановить забекапенные настройки с флехи, и собственно все.
- Вряд-ли, после прошивки удастся подключиться к роутеру даже по ssh

smi
11-04-2011, 15:27
Я бы даже сказал, что хватит последней прошивки из ветки -d. она как то по стабильней вроде Не суть важно, какая прошивка, главное настроить и не трогать. А вот удаленная перепрошивка, чтобы не мотаться, прямой путь к мотанию. Причем не просто мотанию, а в режиме ошпаренной собаки, т.к. там "все висит" и "все пропало" :cool:

Einheri
12-04-2011, 06:21
Вы желаете создать проблему, чтобы потом ее мужественно преодолевать? Зачем вам его перепрошивать? Следует, раз настроить и больше не трогать, во избежании возникновения проблем, за исправлением которых, действительно придется мотаться туда ;)

скорее я желаю создать систему, чтоб не создавать себе проблем в мотании через полгорода. это объясняется тем, что по неясной причине мой rt-n16 на прошивках 26**, вроде бы, зависал примерно раз в неделю при скачке какого-нибудь торрента локальным компом. если вон "тама" будет такая проблема, то придется долго туда ехать, или объяснять что передернуть питание, притом могут WAN выдернуть, да потом еще не туда засунуть его (подходящих "дырочек" там ведь много).

почему через ssh не выйдет genych уже сказал совершенно верно. если бы при сбросе настроек по дефолту роутер все так же был доступен по ssh, под стандартным именем и паролем мне бы хватило пары минут чтоб туда зайти, восстановить настройки и эту "дыру" убрать. проблема в том, что при таком сбросе он провайдерские настройки все забудет, и если ssh и расшарен, то достучаться к нему не получится.

если по поводу такого скрипта никто не подскажет, тогда такой вопрос, непосредственно относящийся к прошивке. на кой рекомендуют отключать wan, все лан, usb, при перепрошивке девайса?