PDA

Bekijk de volledige versie : Сборка собственной прошивки



Pages : [1] 2

makcumka
30-10-2006, 11:02
Создание собственной прошивки

специально для всех даю краткую инструкцию... всего десяток комманд... для компиляции нужно иметь linux-box (в моем случае Debian GNU/Etch 4.0 развернутый в VMWare для чистоты экспиремента)


# uname -a
Linux debian 2.6.26-1-amd64 #1 SMP Thu Aug 28 13:32:26 UTC 2008 x86_64 GNU/Linux

подготовим место для сборки и скачали три необходимых файла


# rm -rf /opt/brcm /opt/broadcom
# ls -la ~/tmp
-rw-r--r-- 1 root root 273177367 2008-09-13 00:12 GPL_1927.ZIP
-rw-r--r-- 1 root root 2015762 2008-09-13 00:12 hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
-rw-r--r-- 1 root root 15256385 2008-09-13 00:12 wl500g-1.9.2.7-10.tar.bz2

выполняем по очереди комманды... вывод каждой не привожу... смысла не вижу (кому нужно могу сделать логи выполнения каждой комманды make)


# tar -C /opt -zxvf ~/tmp/GPL_1927.ZIP
# mv /opt/broadcom/opt/brcm /opt
# tar -C / -jxvf ~/tmp/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
# rm /opt/brcm/hndtools-mipsel-uclibc
# ln -sf /opt/brcm/hndtools-mipsel-uclibc-3.2.3-full /opt/brcm/hndtools-mipsel-uclibc
# export PATH=$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm/hndtools-mipsel-linux/bin
# tar -C /opt/broadcom/src -jxvf ~/tmp/wl500g-1.9.2.7-10.tar.bz2
# cd /opt/broadcom/src/wl500g-1.9.2.7-10 && make kernel && make
# cd /opt/broadcom/src/gateway && make && make images

в результате получаем все образы


# ls -la /opt/broadcom/src/gateway/mipsel-uclibc/
total 39880
drwxr-xr-x 5 root root 4096 2008-09-13 00:33 .
drwxr-xr-x 49 root root 4096 2008-09-13 00:18 ..
drwxr-xr-x 40 root root 4096 2008-09-13 00:33 install
drwxr-xr-x 3 root root 4096 2008-09-13 00:26 modules
drwxr-xr-x 14 root root 4096 2008-09-13 00:33 target
-rwx------ 1 root root 3095166 2008-09-13 00:33 target.cramfs
-rw-r--r-- 1 root root 669542 2008-09-13 00:33 vmlinuz
-rw-r--r-- 1 root root 3674112 2008-09-13 00:28 WL320gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-13 00:29 WL320gP-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-13 00:33 WL330gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-13 00:30 WL500gp-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-13 00:32 WL500gpv2-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3706880 2008-09-13 00:27 WL500gx-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-13 00:31 WL500W-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-13 00:31 WL520gu-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-13 00:28 WL550gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3768320 2008-09-13 00:33 WL700g-1.9.2.7-10.trx

Cd_spb
31-10-2006, 06:57
специально для всех даю краткую инструкцию... всего десяток комманд... для компиляции нужно иметь linux-box (в моем случае Debian GNU/Etch 4.0 развернутый в VMWare для чистоты экспиремента)

# uname -a
Linux debian 2.6.26-1-amd64 #1 SMP Thu Aug 28 13:32:26 UTC 2008 x86_64 GNU/Linux
Попробовал на Debiane под VMWare

debian:/# uname -a
Linux debian 2.6.18-6-686 #1 SMP Mon Aug 18 08:42:39 UTC 2008 i686 GNU/Linux
Свежая установка, из дополнительных настроек только openssh. Все операции проделаны через ssh, из под root`а. ~/tmp/ у меня не оказалось, сложил и соответственно распаковывал из /tmp/tt/
До следующей команды все проходит без ошибок

cd /opt/broadcom/src/wl500g-1.9.2.7-10 && make kernel
А на make выдает:

patching file options.h
Hunk #1 succeeded at 204 (offset 19 lines).
cd /opt/broadcom/src/gateway/dropbear-0.50 && \
CC=mipsel-uclibc-gcc ./configure --host=mipsel-linux --disable-zlib --disable-shadow \
--disable-lastlog --disable-utmp --disable-utmpx --disable-wtmp --disable-wtmpx \
--disable-libutil --disable-loginfunc --disable-pututline --disable-pututxline
configure: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used.
checking for mipsel-linux-gcc... mipsel-uclibc-gcc
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.
make: *** [/opt/broadcom/src/gateway/dropbear/config.h] Error 77
Может быть еще какие телодвижения нужно делать?

Cd_spb
31-10-2006, 07:19
Создание собственной прошивки

makcumka, спасибо все получилось.

Итак, по порядку:
Ставил на WMware, линух под ядро 2.6. При создании виртуальной машины указывал сетку "host-only", размер винта 8Гб (реально понадобилось меньше 5-ти), 256 оперативки.

Ставил Debian с CD образов под именем "debian-40r4a-i386-CD-1.iso" и т.д. Ставил стандартную установку, там проблем не ожидается. При запросе параметров сети, выбирал сеть с DHCP-manual, и указывал IP хоста.

Подготовка к установке нужных пакетов
- заполняем локальный репозиторий. В рутовой консоле выполняем

#apt-cdrom add
Вставляем(или монтируем к vmware) cd с маркировкой "debian-40r4a-i386-CD-2.iso".
Повторяем ввод команды для каждого диска. Не уверен, но может быть понадобится только первые четыре.

Проверяем на наличие и устанавливаем пакет с ssh-сервером

#aptitude search openssh-server
i openssh-server - Secure shell server, an rshd replacement
#aptitude install openssh-server
После этого у меня при помощи программы TunnelierPortable соединение проходило без проблем.
И далее я все делал через ssh - мне так привычней и удобней.

Проверка доступности необходимых пакетов.
Вывод не привожу, должен быть аналогичен предыдущему пункту:

#aptitude search build-essential
#aptitude search libncurses-dev
#aptitude search gawk
#aptitude search flex
#aptitude search zlib1g-dev
Если какой-то пакет не доступен, то нужно повторить заполнение локального репозитария.

Установка пакетов:

#aptitude install build-essential
#aptitude install libncurses-dev
#aptitude install gawk
#aptitude install flex
#aptitude install zlib1g-dev

Копирование исходников в виртуальную машину.
Через SFTP, реализованный в TunnelierPortable, положим в /home/user/tt/ файлы
GPL_1927.zip (http://www.asus.com.cn/pub/ASUS/wireless/WL-500g-03/GPL_1927.zip)
hndtools-mipsel-uclibc-3.2.3-full.tar.bz2 (http://oleg.wl500g.info/uClibc-0.9.19/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2)
wl500g-1.9.2.7-10.tar.bz2 (http://oleg.wl500g.info/1.9.2.7-10/wl500g-1.9.2.7-10.tar.bz2)

Дальше действовал по инструкции от makcumkи (http://wl500g.info/showpost.php?p=111453&postcount=32)

Удаляем хвосты(на всякий случай:)

# rm -rf /opt/brcm /opt/broadcom

Проверяем, что нужные исходники лежат там, где необходимо

# ls -la /home/user/tt/
-rw-r--r-- 1 root root 273177367 2008-09-13 00:12 GPL_1927.ZIP
-rw-r--r-- 1 root root 2015762 2008-09-13 00:12 hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
-rw-r--r-- 1 root root 15256385 2008-09-13 00:12 wl500g-1.9.2.7-10.tar.bz2

Распаковка исходников

#rm -rf /opt/brcm /opt/broadcom
#tar -C /opt -zxvf /home/user/tt/GPL_1927.ZIP
#mv /opt/broadcom/opt/brcm /opt
#tar -C / -jxvf /home/user/tt/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
#rm /opt/brcm/hndtools-mipsel-uclibc
#ln -sf /opt/brcm/hndtools-mipsel-uclibc-3.2.3-full /opt/brcm/hndtools-mipsel-uclibc
#export PATH=$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm/hndtools-mipsel-linux/bin
#tar -C /opt/broadcom/src -jxvf /home/user/tt/wl500g-1.9.2.7-10.tar.bz2
Делается достаточно долго, но проблем не ожидается.

Собственно сборка и компиляция:

#cd /opt/broadcom/src/wl500g-1.9.2.7-10 && make kernel && make
#cd /opt/broadcom/src/gateway && make && make images
При первых проходах вываливались ошибки.
На этом этапе, по совету DemonGloom, я начал подбирать необходимые пакеты, установленные "выше".

Проверка получившегося

# ls -la /opt/broadcom/src/gateway/mipsel-uclibc/
total 39880
drwxr-xr-x 5 root root 4096 2008-09-15 16:46 .
drwxr-xr-x 49 root root 4096 2008-09-15 16:33 ..
drwxr-xr-x 40 root root 4096 2008-09-15 16:45 install
drwxr-xr-x 3 root root 4096 2008-09-15 16:34 modules
drwxr-xr-x 13 root root 4096 2008-09-15 16:46 target
-rwx------ 1 root root 3094584 2008-09-15 16:46 target.cramfs
-rw-r--r-- 1 root root 669529 2008-09-15 16:45 vmlinuz
-rw-r--r-- 1 root root 3674112 2008-09-15 16:37 WL320gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-15 16:39 WL320gP-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-15 16:45 WL330gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-15 16:40 WL500gp-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-15 16:43 WL500gpv2-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3706880 2008-09-15 16:35 WL500gx-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-15 16:41 WL500W-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-15 16:42 WL520gu-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-15 16:36 WL550gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3768320 2008-09-15 16:46 WL700g-1.9.2.7-10.trx

Можно устанавливать Debian с сети (http://www.debian.org/distrib/), тогда в настройках виртуальной машину нужно выбирать мост или NAT, и третий пункт (подготовка локального репозитория) не понадобится.

PS. Сейчас будут пробовать перепрошивать.
PPS. Перепрошил - работает. Но почему же размер отличается от оригинального на 94208?

Xander
11-11-2006, 20:12
Добрый вечер!
Сегодня весь день провел, разбираясь с toolchain-ом. :)
Мне нужно было, как минимум, скомпилировать модуль ядра hid.o для поддержки моего UPS (Krauler UP-M500VA), который снабжен usb разъемом и поддерживает HID интерфейс.

Попутно я разобрался с процессом создания прошивки. Вот какие проблемы возникли:
(1) Сначала решил попробовать собрать прошивку (версия 1.9.2.7-7f), ничего не меняя в конфигурации, чтобы проверить, что все работает. Все скачал, установил, пропатчил. Но! В самом конце, после компиляции всех исходников, при выполнении make install для окончательной сборки прошивки возникла ошибка с исходниками библиотеки lzma - их не было на нужном месте.
На форуме нашел подсказку попробовать make lzma в каталоге прошивки, но и это не сработало. Покопался в Makefile, показалось что там все в порядке :confused: . Вобщем, пропатчил вручную.

(2) Еще такое дело: когда все-таки собрал, размер моего trx файла оказался на 230КБ меньше, чем оригинальная прошивка Олега. Это тоже очень странно... Как добиться, чтобы размеры совпадали?

(3) Но, моя цель была - модуль hid.o, так что выполнил команду make menuconfig в каталоге src/gateway.
Добавил поддержку hid устройств в секции usb (модуль) и опцию для поддержки устройств hiddev.
Сделал make и тут-то пошли ошибки в файлах drivers/usb/hid-core.c и drivers/usb/hiddev.c.
Путем тщательного анализа до меня дошло, что кто-то патчил код поддержки usb устройств кодом из ядра версии 2.4.25 (тогда как оригинальный код из 2.4.20), но недопатчил!! :rolleyes:
Дело в том что в каталоге drivers/usb/ заменены были все файлы, но header файлы, которыми они пользовались (в моем случае - это include/linux/hiddev.h), были заменены только частично. Пришлось качать исходники ядра 2.4.25 и обновлять файл.
После этого все прекрасно скомпилировалось, я засунул полученный hid.o на работающий роутер и тот увидел мой UPS. Я его немного потестил, все работает прекрасно.
Так что, считаю, патч для этого файла (хотя бы) можно было бы добавить в прошивку. :)

P.S. Оффтоп. Еще в свое время обнаружил, что в библиотеку uClibc при сборке не была включена локаль ru_RU.CP1251, зато включена be_BY.CP1251 (Беларуссия) и они совершенно идентичны (это показал анализ исходников). У меня это было необходимо для svn checkout на роутере, если в именах файлов на сервере встречаются русские буквы.
Может быть, кому-нибудь пригодится.

Oleg
11-11-2006, 20:16
(1) понятия не имею. :(
(2) это мой маленький секрет - там лежит tcpdump
(3) да, да. АСУС так развлекается. :) Дайте патч для юсб я добавлю его.

Xander
11-11-2006, 21:05
Спасибо за мгновенный ответ :)
Вот и патч.

Oleg
11-11-2006, 21:11
Добавил этот патч, назвав kernel-usb-hiddev.patch

midya
12-11-2006, 06:31
Господа прикрепите эту ветку многие уже пытаются создать на Олеговой прошивке свои сборки с некими дополнениями им это нужно !!!
Мож кто DM иль wget добавит=)))))

Snaut
13-11-2006, 08:46
Добрый день, ребята! Вопрос, конечно ламерский для Вас, но иожно я его задам? Есть железяка Asus Wl-500g Deluxe. Есть модифицированная прошивка для моего роутера (чтобы мобильник можно было подлючить свой). Так вот, есть задача воткнуть туда видеокамеру. Но, к сожалению, моя видеокамера не поддерживается. Объясните, пожалуйста, или ткните где можно прочитать, как моздать свою прошивку на основе модифицированной, но с поддержкой моей видеокамеры? Драйвера для этой видеокарты скачаны! Спасибо! Извините, если где-то на этом сайте есть, но я не нашел!


Добрый вечер!
Сегодня весь день провел, разбираясь с toolchain-ом. :)
Мне нужно было, как минимум, скомпилировать модуль ядра hid.o для поддержки моего UPS (Krauler UP-M500VA), который снабжен usb разъемом и поддерживает HID интерфейс.
Уважаемый не подскажите куда вы скопировали файлы с вашими драйверами. У меня задача сунуть отдельные скомпилированные модули ядра и отдельно их подключать. Но никак не могу их сунуть в прошивку, чтобы они были в /lib/kernel/modules? УЖе голову всю сломал. спасибо!

Друзья, вообщем скачал драйвер для моей видеокамеры Creative PC-CAM 300, взятый отсюда: http://wl500g.info/showthread.php?t=1698
Загружаю этот драйвер. В логах при подключении камеры пишет:
Jan 1 03:01:42 kernel: usb.c: registered new driver '
Jan 1 03:01:42 kernel: drivers/usb/spca5xx.c: spca5xx driver 00.56.02 registered
Jan 1 03:01:54 kernel: hub.c: new USB device 01:02.0-1, assigned address 2
Jan 1 03:01:54 USB webcam: attached
Jan 1 03:02:03 kernel: pwc Philips PCA645/646 + PCVC675/680/690 + PCVC730/740/750 webcam module version 8.12 loaded.
Jan 1 03:02:03 kernel: pwc Also supports the Askey VC010, various Logitech Quickcams, Samsung MPC-C10 and MPC-C30,
Jan 1 03:02:03 kernel: pwc the Creative WebCam 5, SOTEC Afina Eye and Visionite VCS-UC300 and VCS-UM100.
Jan 1 03:02:03 kernel: usb.c: registered new driver Philips webcam

Но при заходе на http://my.router:7776 говорит, что image not ready. В чем может быть проблема? или если несложно ткните где можно прочитать про компилирование данного модуля ядра для поддержки в моем роутере? Спасибо! Просьба сильно не бить и не ругаться на меня. Пока я мало что понимаю в этом роутере!

Вообщем, примерно понял из-за чего это. Не запускается почему-то сервер activex на порту 7777. сделал на рутере netstat -na, нету такого порта хотя http на 7776 висит исправно. Не подскажите где копать?

Ребят, нету ни у кого идей по поводу этого? Спасибо, ребята! Как всегда понимание наблюдаю. Собираю свою прошивку. так имхо правильнее будет.

Xander
13-11-2006, 13:28
Уважаемый не подскажите куда вы скопировали файлы с вашими драйверами. У меня задача сунуть отдельные скомпилированные модули ядра и отдельно их подключать. Но никак не могу их сунуть в прошивку, чтобы они были в /lib/kernel/modules? УЖе голову всю сломал. спасибо!
Их не обязательно засовывать в прошивку или /lib/modules :)
insmod лезет в этот каталог только если не указаны путь и расширение файла модуля. Поэтому достаточно положить ваш smth.o куда-нибудь и сделать:
insmod /some/path/smth.o

А засунуть в прошивку, я так понимаю, проще всего с помощью toolchain-а на компьютере. Если исходные тесты модуля уже там лежат, но в стандартной конфигурации этот модуль не собирается, то можно поправить конфиг с помощью make menuconfig.
Если ваш модуль уже скомпилирован, то его можно положить в src/gateway/mipsel-uclibc/target/lib/modules/... (путь даю по памяти, проверьте) после компиляции прошивки, но перед окончательным make install. Я таких вещей не делал, но, думаю, это сработает.

Snaut
13-11-2006, 14:55
Их не обязательно засовывать в прошивку или /lib/modules :)
insmod лезет в этот каталог только если не указаны путь и расширение файла модуля. Поэтому достаточно положить ваш smth.o куда-нибудь и сделать:
insmod /some/path/smth.o

А засунуть в прошивку, я так понимаю, проще всего с помощью toolchain-а на компьютере. Если исходные тесты модуля уже там лежат, но в стандартной конфигурации этот модуль не собирается, то можно поправить конфиг с помощью make menuconfig.
Если ваш модуль уже скомпилирован, то его можно положить в src/gateway/mipsel-uclibc/target/lib/modules/... (путь даю по памяти, проверьте) после компиляции прошивки, но перед окончательным make install. Я таких вещей не делал, но, думаю, это сработает.

нет, он этот путь создает после make install :(

Xander
13-11-2006, 17:37
нет, он этот путь создает после make install :(
значит, надо добавить команду в Makefile
P.S. Да, похоже, только так. Или еще можно разбить цель install на две (как минимум), но к этому надо будет подойти с умом :).

MagicGTS
29-11-2006, 08:25
Подскажите пожалуйста, как вообще делать собственные прошивки?
У меня есть wl-520g, но алтернативной прошивки под него нет. Вот и появилась идея, растрясти прошивку от Oleg`а до состояния пригодного для моего устройства. Но немогу толком разобраться, где, что и как делать. Для этого дела есть SUSE Linux 10. Будте так добры, дайте инструкцию по подробней.

Oleg
29-11-2006, 19:16
Начать Вам надо с загрузки с сайта АСУС исходных текстов для прошивки 1.9.5.4 и изучения Readme. :)

MagicGTS
30-11-2006, 17:37
Надо наверно уточнить, я заходил на вашу страничку, и читал там как пересобирать прошивку. Так вот, меня засмущало, что прошивка базируется на 1.8.2.7 или как-то так. И поэтому незнал как наложатся патчи на более новую версию. За одно в WiKi нашел руководство, но сырци пока не выкачал.
Тут больше вопрос вот в чем, насколько реально растрясти вашу прошивку, и понять что в ней "лишнего". При том что базовая прошивка от ASUS меня устраивает за исключением статической маршрутизации и некоторых глюков с Wi-Fi (кпк через 5-8 подключений неподключается, так как будто MAC фильтр включается, а в список разрешенных я его добавил).

Oleg
30-11-2006, 18:57
Про Вай-Фай забудьте. Про остальное - сделайте сами или посмотрите, как сделано у меня.

MagicGTS
03-12-2006, 20:16
Неудается собрать... Fedora Core 6. Инструкция из WiKi.
Версия 1.9.2.7.-7f. Лог:


make[3]: Entering directory `/tmp/broadcom/src/gateway/upnp/upnp/linux'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/broadcom/src/gateway/upnp/upnp/linux'
make[2]: Leaving directory `/tmp/broadcom/src/gateway/upnp/igd/linux'
install -d /tmp/broadcom/src/gateway/mipsel-uclibc/install/upnp/usr/sbin
install -m 755 igd/linux/upnp /tmp/broadcom/src/gateway/mipsel-uclibc/install/upnp/usr/sbin
mipsel-uclibc-strip /tmp/broadcom/src/gateway/mipsel-uclibc/install/upnp/usr/sbin/upnp
make[1]: Leaving directory `/tmp/broadcom/src/gateway/upnp'
[ ! -d utils ] || make -C utils install INSTALLDIR=/tmp/broadcom/src/gateway/mipsel-uclibc/install/utils
make[1]: Entering directory `/tmp/broadcom/src/gateway/utils'
make[1]: *** No rule to make target `wl', needed by `all'. Stop.
make[1]: Leaving directory `/tmp/broadcom/src/gateway/utils'
make: *** [utils-install] Ошибка 2
You have new mail in /var/spool/mail/root

ThinkPad
03-12-2006, 20:18
Неудается собрать... Fedora Core 6. Инструкция из WiKi.
Версия 1.9.2.7.-7f. Лог:
make[3]: Entering directory `/tmp/broadcom/src/gateway/upnp/upnp/linux'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/broadcom/src/gateway/upnp/upnp/linux'
make[2]: Leaving directory `/tmp/broadcom/src/gateway/upnp/igd/linux'
install -d /tmp/broadcom/src/gateway/mipsel-uclibc/install/upnp/usr/sbin
install -m 755 igd/linux/upnp /tmp/broadcom/src/gateway/mipsel-uclibc/install/upnp/usr/sbin
mipsel-uclibc-strip /tmp/broadcom/src/gateway/mipsel-uclibc/install/upnp/usr/sbin/upnp
make[1]: Leaving directory `/tmp/broadcom/src/gateway/upnp'
[ ! -d utils ] || make -C utils install INSTALLDIR=/tmp/broadcom/src/gateway/mipsel-uclibc/install/utils
make[1]: Entering directory `/tmp/broadcom/src/gateway/utils'
make[1]: *** No rule to make target `wl', needed by `all'. Stop.
make[1]: Leaving directory `/tmp/broadcom/src/gateway/utils'
make: *** [utils-install] Ошибка 2
You have new mail in /var/spool/mail/root

смотрите макефайл :-)) правил там не хватает каких то. или пути не верно указаны.....

MagicGTS
04-12-2006, 10:03
А вас незатруднит посмотреть у себя, может вы быстро найдёте где и чего меняли? У меня не так уж и много времени, да ещё не сильно во всём этом разбираюсь... Make файлы я пытался изучать, но это сильно запутаная вещь...

Oleg
04-12-2006, 10:25
Т.е. Вы пытаетесь собрать прошивку для Wl520g исопльзуя мои исходники? Ничего не выйдет, т.к. исходные тексты от АСУСтека отличаются.

MagicGTS
04-12-2006, 11:26
Нет, на данный момент я пытаюсь собрать прошивку под wl-500g. Затем планы сравнить конфиги сборщика под wl-520g от ASUS и ваши от wl-500g. По результатам сравнения вытряхнуть из вашей конфиги то, что не потребуется мне на wl-520g. Ну и соответственно собрать новую конфу и скомпилить её. В результате моих действий должна получиться прошивка аналогичная вашей под wl-500g, но содержащая минимум софта, но главное там останутся роуты в PPTP, и наверно глюки с Wi-Fi пропадут. Хотя там наверно другой драйвер, нежели на wl-500g. Но важны мне в первую очередь роуты.

Oleg
08-12-2006, 07:55
Пишите все команды, которые выполнили.

MagicGTS
08-12-2006, 12:18
Использовал дистрибутив Fedora Core 6,
инструкцию взял эту: http://wiki.wl500g.info/index.php/compilingcustomfirmware
Скачал GPL_1927.zip, hndtools-mipsel-uclibc-3.2.3-full.tar.bz2, прошивку wl500g-1.9.2.7-7f.tar.bz2
Все файлы свалил в /tmp
Из инструкции состряпал скрипт:


#!/bin/sh
OLEG=wl500g-1.9.2.7-7f
if [ -d broadcom ]; then
echo "Removing old broadcom tree..."
rm -rf broadcom
fi
echo "Unpacking Asus GPL source..."
tar xzf GPL_1927.zip

echo "Unpacking OLEG source..."
tar -C broadcom/src/ -xjf ${OLEG}.tar.bz2

tar -C / -xjf /tmp/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
rm -f /opt/brcm/hndtools-mipsel-uclibc
cd /opt/brcm && ln -s hndtools-mipsel-uclibc-3.2.3-full /opt/brcm/hndtools-mipsel-uclibc
cd /tmp

if [ ! -G /opt ]; then
echo "You should create /opt as root:"
echo "mkdir /opt && chgrp users /opt && chmod g+w /opt"
echo "Then continue as regular user!"
exit 1
fi

if [ -d /opt/brcm ]; then
echo "Removing old toolchain..."
rm -rf /opt/brcm
fi

echo "Installing broadcom toolchain..."
mv broadcom/opt/brcm /opt

BRCM="/opt/brcm/hndtools-mipsel"
PATH=${BRCM}-linux/bin:${BRCM}-uclibc/bin:${PATH}
export PATH


cd broadcom/src/${OLEG}
echo "Creating uClibc..."
make uClibc

echo "Creating kernel..."
make kernel

echo "Creating gateway..."
make

echo "Compiling gateway..."
cd ../gateway
make

echo "Creating firmware..."
make install

Собственно потом запустил этот скрипт.
Результат выполнения был несколькими постами выше.

Oleg
08-12-2006, 12:26
Ок, гляну, что там происходит.

MagicGTS
12-12-2006, 19:52
Вероятно скоро найду покупателя на свой wl-520g. И тогда у меня пропадет и так небольшой резон разбираться над альтернативой 520. А пока найдётся ещё кто, пройдёт уйма времени. Недайте загнутся порыву. Помогите с текущей проблемой, а там глядишь, и альтернативка получится. Многие владельци 520-х будут вам благодарны.

Oleg
13-12-2006, 13:42
Собственно всё ясно: у Вас не отработал один из мейков. Связано это с новым компилятором (я компилирую код на системе с Fedora Core 3, там таких проблем нет).

К сожалению скрипт, который Вы используете не отслеживает успешность выполнения и продолжает идти дальше. Одну такую проблемку я нашёл уже.

Сейчас я пробую FC5 в Virtual PC, поглядим, что получится в итоге.

Oleg
13-12-2006, 14:12
Собственно здесь описано в чём проблема. Странно, что я так и не применил эти патчи. :(

http://wl500g.info/showpost.php?p=39150&postcount=131

MagicGTS
13-12-2006, 14:34
Спасибо что откликнулись и разобрались с текущей проблемой. Выделю немного времени и попробую внести исправления как в указанной вами теме и собрать прошивку. А там продолжжу свои изыскания. Вопрос в догонку, а wi-fi модуль на 500 и 520 различны?
И как применить эти патчи? Я их переименовал в *.diff и кинул в папку с вашей распакованной прошивкой. Скрипт их не подхватил (хотя в makefile вроде прописанн сбор всех патчей из папки).

Oleg
14-12-2006, 09:26
я выложил вариант, который должен нормально собираться с новыми компиляторами - http://oleg.wl500g.info/1.9.2.7-7f/wl500g-1.9.2.7-7f-gcc4.tar.bz2

Радио одинаковое. Разница только в том, что в wl520g очень мало памяти.

Что касается патчей: разбирайтесь. :) Хотя я бы на Ваешм месте продал бы 520г и купил бы нормальное устройство...

MagicGTS
14-12-2006, 17:37
Вот очередная проблема при сборке. на команде make kernel облом с ошибкой. Лог в приложеном файле...

Oleg
16-12-2006, 16:32
Я обновил тот архив. Попробуйте ещё раз. :)

MagicGTS
16-12-2006, 22:18
Так, make kernel прошел, вот только просто make неработает, пишет ошибку из которой я могу предположить, что необходимо настраивать gcc необходимым образом.
Заодно вопрос, что-бы мне потом не долго искать, скажите, в каком файле кофигурация сборки определятся? Есть соображения на сей счет, но хочется получить точную наводку.
Лог с ошибкой в атаче.

MagicGTS
25-12-2006, 15:47
Вот умоего 520 начал глючить WiFi, недаёт подрубится.
А с компиляцией я так и неразобрался, всё ошибки кажет :( уж помогите побороть...

Oleg
25-12-2006, 18:14
Объясню свою позицию: если Вы не можете заставить компилироваться мою прошивку, то про собственную прошивку для 520г можете забыть... Не обижайтесь, но здесь нужна усидчивость и квалификация.

Для разнообразия можете попробовать собрать тот код, что даёт АСУС - волосу станут дыбом. Хотя я для 520г прошивку 1.9.5.4 собирал...

MagicGTS
25-12-2006, 19:03
Я бы рад сидеть с этим ужасом разбираться, но физически нет времени. Потом моя задача несколько проще, чем создание прошивки вообще, и если удасться собрать базовую прошивку, то дальше просто немного сноровки и всё, своя прошивка есть (даже не прошивка, а просто сборка модулей)... Но сейчас приходится по тупому собирать шишки, на граблях которые все давно обнаружены, что это за изврат у линуксойдов, не сделать доступную инструкцию, а заставить всех подряд тратить кучу времени на исправления чужих ошибок в якобы "релизном" варианте? Можно дать желающим ломаться там, где никого небыло, чем заставлять толпится на опушке "леса чудес"...
Я просто сильно прошу, подсобите немного, мне действительно не сруки заниматься сейчас глубоким изучений "компиляция программ в среде Linux, и обход чужих граблей там где их быть недолжно". Извиняйте конечно за критику, но она вполне объективна.

Oleg
25-12-2006, 19:08
:) У Вас времени нет, зато у остальных вагон?

Кстати, тот лог, что Вы выложили - не полный. Вы сами посмотрите его...

tchaynik
08-01-2007, 09:49
Не подскажите, что нужно для создания собственной (модифицированой) прошивки для wl500gP. И вкратце сам процесс если несложно ?

Xander
26-10-2007, 14:16
subj
Я монтирую на роутере nfs шару с сервера, после запуска /usr/sbin/portmap все прекрасно монтируется.
Тем не менее, этого еще не достаточно. Некоторые программы используют блокировки (lock). Например, программы для управления пакетами в дебиане. То есть, получается невозможно обновлять пакеты.
Причем lockd, который в прошивке присутствует, не работает. Молча вылетает с exit code 1. Наверно, так и надо, я пока не очень разбираюсь в теме.
Помучавшись, скомпилировал statd из nfs-utils из исходников прошивки. Запустил - все заработало. Только пришлось создать каталог /var/lib/nfs.

Бинарник после strip весит 63452 байт. Добавите его в прошивку, Олег? :) Вроде, штука нужная.

Oleg
26-10-2007, 14:39
Т.е. lockd не работает без statd?

Xander
26-10-2007, 15:08
По-моему, после запуска statd уже не нужно запускать lockd.

У меня в какой-то момент возник ядерный процесс [lockd], судя по PID, он возник сразу после запуска portmap.
Посмотрите исходный код lockd в nfs-utils - он же ничего почти не делает, только вроде пытается проверить, что ядро поддерживает какие-то системные вызовы. И еще комментарий в начале lockd.c:

/*
* lockd
*
* This is the user level part of lockd. This is very primitive, because
* all the work is now done in the kernel module.
*
*/

Наверно, имеется в виду тот самый ядерный процесс.
Другое дело - statd. Там много кода.
Не знаю, нужен ли он вообще или нет. Мое знание NFS очень поверхностное :) Но, по-моему, не нужен.

Oleg
26-10-2007, 15:10
ладно, почитаю. :)

Xander
26-10-2007, 15:36
Мда, маны рулят :)

The rpc.lockd program starts the NFS lock manager (NLM) on kernels that don't start it automatically. However, since most kernels do start it automatically, rpc.lockd. is usually not required. Even so, running it anyway is harmless.

И еще из debian changelog по nfs-utils:

* Test kernel version in init script; all kernels from 2.4 forward
have a lockd thread, and don't need rpc.lockd. Probe older kernels
by checking for lockd-related symbols. When in doubt, go ahead and
run rpc.lockd; if it's not needed, it exits. (closes: #205867)

Oleg
26-10-2007, 18:44
Только пришлось создать каталог /var/lib/nfs.
Странно, этот каталог создаётся автоматом, если включен NFS.

Xander
26-10-2007, 20:55
Странно, этот каталог создаётся автоматом, если включен NFS.
Не, у меня точно его не было, хотя nfs уже работал (без блокировок).

Oleg
26-10-2007, 20:57
не верю. :d может ручками пускали?

Xander
26-10-2007, 21:58
не верю. :d может ручками пускали?
ну да, ручками :)
загрузил модули, запустил /usr/sbin/portmap, смонтировал шару
а как еще?

Oleg
27-10-2007, 17:09
сервер включается через веб. клиент - ручками.

king2
18-01-2008, 12:29
Расскажите, плиз для дурака (меня :))? как скомпилировать прошивку?

Во-первых, под чем? :)
У меня в распоряжении есть: рабочий ноут с виндами, сам роутер (wl500gP, могу подключить к нему USB винт или флешку, если надо), есть тачка с FreeBSD. Под линухом ничего нету :(

Я смогу в таких условиях сам скомпилять прошивку?


Во-вторых, как? :)
Я скачал GPL_WL500gP_1972.zip с сайта асуса и разархивировал его.
Скачал wl500g-1.9.2.7-8.tar.bz2 и тоже разархивировал по соседству.

Как получить из этих двух директорий то, что надо будет компилять?
Чем надо это компилять?
Как поставить то, чем надо компилять?

Извините за чайниковость и заранее спасибо (если, конечно, мне кто-нибудь ответит)....

al37919
18-01-2008, 13:27
http://wiki.wl500g.info/index.php/compilingcustomfirmware

king2
18-01-2008, 13:36
http://wiki.wl500g.info/index.php/compilingcustomfirmware

Большое спасибо за ответ, однако, остались нераскрытой тема, сработает ли эта методика под FreeBSD или надо обязательно ставить linux (я что-то как-то все больше сервера под freebsd ставлю и linux нигде под рукой не имею...)?

al37919
18-01-2008, 13:54
Тема "Как скомпилять прошивку?" как раз раскрыта. :)

А что касается фряхи --- кто его знает. ИМХО шанс есть, тем более, что фряха поддерживает эмуляцию линуха. Хотя, возможно, проще поставить vmware server и в него небольшой линух.

angel_il
18-01-2008, 14:54
Тема "Как скомпилять прошивку?" как раз раскрыта. :)

А что касается фряхи --- кто его знает. ИМХО шанс есть, тем более, что фряха поддерживает эмуляцию линуха. Хотя, возможно, проще поставить vmware server и в него небольшой линух.

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

Vofik
30-01-2008, 16:40
Подскажите, как скомпилировать прошивку с определёнными модулями и установленынными драйверами и пакетами? вот я скачаю пакет исходников и что дальше? (кстати раскажите КАК компилировать то её и в какие папки чё класть)? и сколько места свободного в 1.9.2.7-8.12???:confused:

al37919
30-01-2008, 16:48
http://wiki.wl500g.info/index.php/compilingcustomfirmware
полагаю Вам достаточно будет скомпилированные модули просто положить, скажем, в /usr/local/lib , т.е. заливать целую прошивку не понадобится.

artp
20-08-2008, 10:02
Попытался самостоятельно собрать прошивку. Кое, что получилось, но прежде чем продолжать хочется получить пару советов/пояснений.

Во-первых, если я залил "кривую" прошивку, которая почему-то не может стартовать, то можно ли восстановить девайс? Например, включением питания с нажатым "restore" и заливкой по tftp правильной прошивки? Или как-то с использованием консольки?

Во-вторых, я собрал прошивку руководствуясь этой статьей (http://wiki.wl500g.info/index.php/compilingcustomfirmware). Естественно, с поправкой на текущую версию. Работал на FC9, x_64. Однако, получил существенно иной размер файла. Если прошивка от Олега имеет размер 3796992, то то, что получилось у меня (речь идет о файле WL500gp-1.9.2.7-10.trx) получилось 2904064. Что бы это могло значить? Соответственно, двинуться дальше опасаюсь до получения ответа на первый вопрос :)

lly
20-08-2008, 10:36
Да, восстанавливается по tftp без проблем. Однако, без консоли не увидеть причину падения...

Судя по размеру - похоже не скомпилировалось ядро, проверяй.

AndreyPopov
20-08-2008, 12:32
Попытался самостоятельно собрать прошивку. Кое, что получилось, но прежде чем продолжать хочется получить пару советов/пояснений.

Во-первых, если я залил "кривую" прошивку, которая почему-то не может стартовать, то можно ли восстановить девайс? Например, включением питания с нажатым "restore" и заливкой по tftp правильной прошивки? Или как-то с использованием консольки?

Во-вторых, я собрал прошивку руководствуясь этой статьей (http://wiki.wl500g.info/index.php/compilingcustomfirmware). Естественно, с поправкой на текущую версию. Работал на FC9, x_64. Однако, получил существенно иной размер файла. Если прошивка от Олега имеет размер 3796992, то то, что получилось у меня (речь идет о файле WL500gp-1.9.2.7-10.trx) получилось 2904064. Что бы это могло значить? Соответственно, двинуться дальше опасаюсь до получения ответа на первый вопрос :)

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

с другой стороны, на той странице, что вы указали написано:
Warning: this firmware doesn't build on a 64bit operating system. You must install a 32 bit operating system in your AMD64. Also gcc-4.0 is known not to produce gateway sources as it is too pedantic when creating config. Use gcc-3.x! Using make 3.81 when may cause troubles due to posix compilance backslash treatment in some Makefiles. Use make 3.80 instead!

artp
20-08-2008, 13:40
ну если вы собирали "чистую" прошивку без добавления пакетов, то чем вас размер не устраивает?

О... А какие пакеты в оригинальной прошивке вставлены? Не то, чтобы я страдал педантизмом, просто хочется наладить для себя технологию работы. Я довольно давно (лет 15) не возился с ядрами, а сейчас образовалась задача и я остановился на варианте с использованием WL500gp. Только надо свой модуль написать. Поэтому и хочется быть уверенным, что технология у меня отставлена правильная до того как "мочить" девайс.


с другой стороны, на той странице, что вы указали написано:
Warning: this firmware doesn't build on a 64bit operating system. You must install a 32 bit operating system in your AMD64. Also gcc-4.0 is known not to produce gateway sources as it is too pedantic when creating config. Use gcc-3.x! Using make 3.81 when may cause troubles due to posix compilance backslash treatment in some Makefiles. Use make 3.80 instead!
Не придал этому значения. Списал на некоторую устарелость статьи. Собирается ведь. Если не трудно, то выскажитесь насколько это актуально, с вашей т.з.

AndreyPopov
20-08-2008, 13:56
О... А какие пакеты в оригинальной прошивке вставлены? Не то, чтобы я страдал педантизмом, просто хочется наладить для себя технологию работы. Я довольно давно (лет 15) не возился с ядрами, а сейчас образовалась задача и я остановился на варианте с использованием WL500gp. Только надо свой модуль написать. Поэтому и хочется быть уверенным, что технология у меня отставлена правильная до того как "мочить" девайс.


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


что добавлено, вы сможете найти точнее здесь:
http://oleg.wl500g.info
http://wl500g.info/showthread.php?t=2704

на первый быстрый взгляд это:
IPV6
Samba
NFS
Wave Server
vsftpd (вместо встроенного stupid)
а также некоторые итилиты и программы из пакетов ipkg

я не спец в linux, но все равно компилить под 64-бит ОС программы для 32-бит никто и нигде не рекомендует.

lly
20-08-2008, 14:04
я не спец в linux, но все равно компилить под 64-бит ОС программы для 32-бит никто и нигде не рекомендует.
Извините, бред. Кросс-компилер как раз и решает такие задачи. А в toolchain'е именно он - mipsel-linux-gcc. Другой вопрос в том, что без пересборки самого тулчейна, могут возникнуть проблемы с работой бинарников тулчейна на x64 системе...

AndreyPopov
20-08-2008, 14:16
Извините, бред. Кросс-компилер как раз и решает такие задачи. А в toolchain'е именно он - mipsel-linux-gcc. Другой вопрос в том, что без пересборки самого тулчейна, могут возникнуть проблемы с работой бинарников тулчейна на x64 системе...

если вы хотите все время оглядываться и проверять все ли в порядке - это ваше право!

только лично я вообще не понимаю целесообразности использовать 64-бит ОС при том, что ЧИСТО 64-бит приложений практически нет - это мое суждение основано на ОС Windows, потому может в linux 64-бит прог больше????

gaaronk
20-08-2008, 14:22
Во-вторых, я собрал прошивку руководствуясь этой статьей (http://wiki.wl500g.info/index.php/compilingcustomfirmware). Естественно, с поправкой на текущую версию. Работал на FC9, x_64. Однако, получил существенно иной размер файла. Если прошивка от Олега имеет размер 3796992, то то, что получилось у меня (речь идет о файле WL500gp-1.9.2.7-10.trx) получилось 2904064. Что бы это могло значить? Соответственно, двинуться дальше опасаюсь до получения ответа на первый вопрос :)

Олег как минимум добавляет руками tcpdump, который весит 937109 байт

Psimulator
20-08-2008, 18:20
только лично я вообще не понимаю целесообразности использовать 64-бит ОС при том, что ЧИСТО 64-бит приложений практически нет - это мое суждение основано на ОС Windows, потому может в linux 64-бит прог больше????
то, что вы этого не понимаете, это не значито, что в этом нет смысла

64-битный linux видит всю установленную в системе память и позволяет уже имеющимся 64-битным программам хорошо с ней работать

AndreyPopov
20-08-2008, 18:48
то, что вы этого не понимаете, это не значито, что в этом нет смысла

64-битный linux видит всю установленную в системе память и позволяет уже имеющимся 64-битным программам хорошо с ней работать

у вас больше 3,2 гига памяти? и много таких пользователей, кому нужно БОЛЬШЕ 3,2 гига?

я понимаю прожоливость винды, особенно серверных приложений! но реально обычному пользователю, которых 95%!!!! зачем??? 64бит?
оплачиваете маркетинг производителей :D


и вся проблема в том СКОЛЬКО этих имеющихся 64-бит программ.

у вас есть примеры ПРОФЕССИОНАЛЬНЫХ пакетов, которыми пользуются 95% пользователей, которым так необходимо 64-бит?

или вы просто себя убеждаете, что 64-бит это круто?

artp
20-08-2008, 19:52
Однако, спасибо. Про пакеты я понял, что их много разных и точного соответстия размера ждать не надо. Собственно, это и был мой вопрос. Буду пробовать работоспособность "моей" прошивки путем прожигания. Только я почему-то предполагал, что те исходники, которые Олег выкладывает, и включают не только патчи, но и все эти пакеты.

По поводу 64 бит. Неожиданно началась дискуссия на постороннюю тему. :) Пардон за офтопик. Тулчайн работает и не ругается. Хорошо он работает или плохо увижу после пробного прожига. Пробные програмки, которые я им собирал, работают. Конечно, он никак не использует 64-х битность. Просто машинка, на которой я работаю используется не только для кросс-компиляции. Я на ней гоняю квантово-механические расчеты электронной структуры твердого тела. Пакет компиляется специально-заточенным интеловским фортраном под 64 бит + специфичными матричными библиотеками. Использование 64-битности на больших матричных операциях дает выигрыш во времени счета до 10% (зависит от размера матрицы и операции). При характерных временах расчета в несколько суток это уже становится актуальным. Мозгов в машине 5 гигов (последний гиг прироста скорости не дал), проц - разогнанный до визга квад. Т.ч. речь не о маркетинге или пижонстве идет, а о том, что мне лень еще и 32-битную федору на машину громоздить и обустраивать. Нет, я не физик теоретик и не из CERN'a.

mcwees
21-08-2008, 07:02
и вся проблема в том СКОЛЬКО этих имеющихся 64-бит программ.

у вас есть примеры ПРОФЕССИОНАЛЬНЫХ пакетов, которыми пользуются 95% пользователей, которым так необходимо 64-бит?

или вы просто себя убеждаете, что 64-бит это круто?


Господа, остановите холивар!
Коротко:
- в уникс64 ВСЕ пакеты 64-битные, но это не мешает в то же время работать (на той же системе) и 32х-прикладу. Если это не итаниум.
- 64-бит система это круче, чем 32 по оценкам независимых исследователей примерно на 3-7% вцелом. Хотя некоторые приложения (в основном это голая математика) показывают значительно больший прирост, например openssl ~30-50%

Главное - данный холивар не имеет отношения к обсуждаемой теме.

artp
21-08-2008, 11:01
Вообщем, то, что я собрал (размером 2904064) для WL500gpv2 грузиться в него отказывается. Веб морда говорит :
Firmware upgrade fail. It may result from incorrect image or error transmission. Please check the version of firmare and try again.

Повторюсь, что я делаю:
1. развернул GPL_1927. Откуда точно брал его - не помню.
2. переместил из него opt/brcm в /opt
3. развернул uClibc 0.9.19 (http://wl500g.dyndns.org/uClibc-0.9.19/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2)
4. слинковал /opt/brcm/hndtools-mipsel-uclibc на /opt/brcm/hndtools-mipsel-uclibc-3.2.3-full
5. развернул исходники (http://wl500g.dyndns.org/1.9.2.7-10/wl500g-1.9.2.7-10.tar.bz2) в broadcom/src (см п.1)
6. прописал в PATH /opt/brcm/hndtools-mipsel-uclibc/bin и /opt/brcm/hndtools-mipsel-linux/bin
7. пошел в broadcom/src/wl500g-1.9.2.7-10
8. сделал там make kernel, потом make
9. пошел в broadcom/src/gateway
10. сделал там make
11. потом make image-wl500gpv2

В результате получил вышеописанный результат. Если на 11-ом шаге сделать make install, то собирается WL500W-1.9.2.7-10.trx, размером 3702784, что тоже отличается от оригинального.

Если кто-то может, что-то сказать - плиз...

DemonGloom
21-08-2008, 11:16
Попробуй залить через tftp и сооьщи о результатах

lly
21-08-2008, 11:20
Нужно в src/gateway/Makefile выставить переменную MODEL=WL500gpv2
и повторить make install

artp
21-08-2008, 13:10
Победа разума над сенсипариллой!

lly, большой решпект. Именно этого и не хватало. Прописал правильную модель и make install сделал прошивку, которая хоть и немного отличается по размеру, но залилась и работает.

Всем спасибо.

PupsDRVR
21-08-2008, 18:13
Победа разума над сенсипариллой!

lly, большой решпект. Именно этого и не хватало. Прописал правильную модель и make install сделал прошивку, которая хоть и немного отличается по размеру, но залилась и работает.

Всем спасибо.

А что за прошивочка, в чем цимус? Может кому тут от неё тоже польза будет ;).

artp
21-08-2008, 18:24
А что за прошивочка, в чем цимус? Может кому тут от неё тоже польза будет ;).

Пока только воспроизвел стандартную.

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

PupsDRVR
21-08-2008, 18:39
Пока только воспроизвел стандартную.

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

Тогда вы нас в курсе держите, уверен, что желающие поробовать Вашу прошивку найдутся.

artp
21-08-2008, 21:02
Тогда вы нас в курсе держите, уверен, что желающие поробовать Вашу прошивку найдутся.

хорошо, но пока говорить еще рано :)

AndreyPopov
21-08-2008, 22:54
Пока только воспроизвел стандартную.

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


делать агрегатные линки может по умолчанию прошивка от DD-WRT для 3 и 4 порта ;)

artp
22-08-2008, 07:24
спасибо за информацию. Поглядим. Не думал, что это уже кому-то приходило в голову. Скромнее надо быть...

lly
22-08-2008, 07:32
Вряд-ли найдется много таких психов как я. Не хватает пропускной способности на эзернете. Хочу поиздеваться над сеткой, посмотреть, что может дать на этом железе поллинг и агрегатные линки. Когда-то я такими вещами занимался на free. С тех пор много времени прошло, но, говорят, мастерство не пропъешь... Ну а попутно мелкие детальки хочется попатчить.

Ну почему-же ;) Если будет нечем заняться - можешь поучаствовать в тестировании/доработке варианта прошивки Олега с ядром 2.4.36 и uClibc 0.9.29. Она пока на базе 1.9.2.7-9, но в ближайшем будущем перетащу на 10-ку (всё ждал Олега, чтобы он подзалечил дырки в новых Broadcom'овских модулях, но похоже это нескоро :( ).

mcwees
25-08-2008, 16:41
WL-500W 128 mb 1.9.2.7-10 ADOS 1.3.8 (сборка 73)
, mldonkey, rtorrent, провайдер Корбина L2TP (всё работает нормально)

А у мну млдонки валится из-за ошибок ext3 ((
не сразу правда, но всётаки.
Еще обиднее то, что ext2 не удается смонтировать...

PupsDRVR
25-08-2008, 19:26
А у мну млдонки валится из-за ошибок ext3 ((
не сразу правда, но всётаки.
Я бы питание посмотрел на винте, так из-за его недостатка происходит, смотрите тему про подключение HDD.

Еще обиднее то, что ext2 не удается смонтировать...

Чем ext3 не угодил? У меня все работатет, не жалуюсь. Может, действительно, проблемы с питанием.

З.Ы. В этой теме немного другое обсуждалось, нехорошо Оффтоп разводить ;)

mcwees
26-08-2008, 18:49
Чем ext3 не угодил? У меня все работатет, не жалуюсь. Может, действительно, проблемы с питанием.

З.Ы. В этой теме немного другое обсуждалось, нехорошо Оффтоп разводить ;)

Всем угодил. Но вот на 3..4-м торренте падает через пару суток.
Ну и, собсно, ext2 заявлен, а не монтируется. Баг?

Могет багзиллу завести? ;-)

artp
02-09-2008, 15:07
Ну почему-же ;) Если будет нечем заняться - можешь поучаствовать в тестировании/доработке варианта прошивки Олега с ядром 2.4.36 и uClibc 0.9.29. Она пока на базе 1.9.2.7-9, но в ближайшем будущем перетащу на 10-ку (всё ждал Олега, чтобы он подзалечил дырки в новых Broadcom'овских модулях, но похоже это нескоро :( ).

Боюсь быть ненадежным. Как сейчас, отвалил на 10 дней... Большой начальник:rolleyes: - много работы. Но, вообще-то, давай попробую. Где взять?

А, кстати, какие слухи про переход на 2.6? Помню, с пол года назад Олег, что-то писал на эту тему...

makcumka
12-09-2008, 16:03
Победа разума над сенсипариллой!

lly, большой решпект. Именно этого и не хватало. Прописал правильную модель и make install сделал прошивку, которая хоть и немного отличается по размеру, но залилась и работает.

Всем спасибо.

зачем править мейкфайл? достаточно было запустить make image-WL500gp чтобы собрать прошивку для WL500gp или на крайняк make images чтобы собрать под все платформы

p.s. чтение мейкфайла помогает ;)

lly
12-09-2008, 16:42
makcumka
Теоретизируешь? Сам то пробовал?

2All К сожалению Makefile сделан кривовато, и желания его выправлять пока ни у кого не нашлось...

artp
12-09-2008, 17:43
makcumka
Теоретизируешь? Сам то пробовал?

2All К сожалению Makefile сделан кривовато, и желания его выправлять пока ни у кого не нашлось...

Как это ни печально, но это так :(

makcumka
12-09-2008, 20:27
пиплы... вы гонити... все впорядке... сначала соборал свой образ,
потом ради экспиремента все! в результате получил:

debian:/opt/broadcom/src/gateway/mipsel-uclibc# ls -la
total 39880
drwxr-xr-x 5 root root 4096 2008-09-12 18:43 .
drwxr-xr-x 49 root root 4096 2008-09-12 18:18 ..
drwxr-xr-x 40 root root 4096 2008-09-12 18:42 install
drwxr-xr-x 3 root root 4096 2008-09-12 18:19 modules
drwxr-xr-x 14 root root 4096 2008-09-12 18:42 target
-rwx------ 1 root root 3095202 2008-09-12 18:43 target.cramfs
-rw-r--r-- 1 root root 669561 2008-09-12 18:42 vmlinuz
-rw-r--r-- 1 root root 3674112 2008-09-12 18:38 WL320gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-12 18:39 WL320gP-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-12 18:42 WL330gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-12 18:39 WL500gp-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-12 18:41 WL500gpv2-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3706880 2008-09-12 18:37 WL500gx-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-12 18:40 WL500W-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-12 18:41 WL520gu-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-12 18:37 WL550gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3768320 2008-09-12 18:43 WL700g-1.9.2.7-10.trx

makcumka
12-09-2008, 21:46
специально для всех даю краткую инструкцию... всего десяток комманд... для компиляции нужно иметь linux-box (в моем случае Debian GNU/Etch 4.0 развернутый в VMWare для чистоты экспиремента)


# uname -a
Linux debian 2.6.26-1-amd64 #1 SMP Thu Aug 28 13:32:26 UTC 2008 x86_64 GNU/Linux

подготовим место для сборки и скачали три необходимых файла


# rm -rf /opt/brcm /opt/broadcom
# ls -la ~/tmp
-rw-r--r-- 1 root root 273177367 2008-09-13 00:12 GPL_1927.ZIP
-rw-r--r-- 1 root root 2015762 2008-09-13 00:12 hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
-rw-r--r-- 1 root root 15256385 2008-09-13 00:12 wl500g-1.9.2.7-10.tar.bz2

выполняем по очереди комманды... вывод каждой не привожу... смысла не вижу (кому нужно могу сделать логи выполнения каждой комманды make)


# tar -C /opt -zxvf ~/tmp/GPL_1927.ZIP
# mv /opt/broadcom/opt/brcm /opt
# tar -C / -jxvf ~/tmp/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
# rm /opt/brcm/hndtools-mipsel-uclibc
# ln -sf /opt/brcm/hndtools-mipsel-uclibc-3.2.3-full /opt/brcm/hndtools-mipsel-uclibc
# export PATH=$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm/hndtools-mipsel-linux/bin
# tar -C /opt/broadcom/src -jxvf ~/tmp/wl500g-1.9.2.7-10.tar.bz2
# cd /opt/broadcom/src/wl500g-1.9.2.7-10 && make kernel && make
# cd /opt/broadcom/src/gateway && make && make images

в результате получаем все образы


# ls -la /opt/broadcom/src/gateway/mipsel-uclibc/
total 39880
drwxr-xr-x 5 root root 4096 2008-09-13 00:33 .
drwxr-xr-x 49 root root 4096 2008-09-13 00:18 ..
drwxr-xr-x 40 root root 4096 2008-09-13 00:33 install
drwxr-xr-x 3 root root 4096 2008-09-13 00:26 modules
drwxr-xr-x 14 root root 4096 2008-09-13 00:33 target
-rwx------ 1 root root 3095166 2008-09-13 00:33 target.cramfs
-rw-r--r-- 1 root root 669542 2008-09-13 00:33 vmlinuz
-rw-r--r-- 1 root root 3674112 2008-09-13 00:28 WL320gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-13 00:29 WL320gP-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-13 00:33 WL330gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-13 00:30 WL500gp-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-13 00:32 WL500gpv2-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3706880 2008-09-13 00:27 WL500gx-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-13 00:31 WL500W-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-13 00:31 WL520gu-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-13 00:28 WL550gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3768320 2008-09-13 00:33 WL700g-1.9.2.7-10.trx

Cd_spb
14-09-2008, 08:30
специально для всех даю краткую инструкцию... всего десяток комманд... для компиляции нужно иметь linux-box (в моем случае Debian GNU/Etch 4.0 развернутый в VMWare для чистоты экспиремента)


# uname -a
Linux debian 2.6.26-1-amd64 #1 SMP Thu Aug 28 13:32:26 UTC 2008 x86_64 GNU/Linux

Попробовал на Debiane под VMWare


debian:/# uname -a
Linux debian 2.6.18-6-686 #1 SMP Mon Aug 18 08:42:39 UTC 2008 i686 GNU/Linux


Свежая установка, из дополнительных настроек только openssh. Все операции проделаны через ssh, из под root`а. ~/tmp/ у меня не оказалось, сложил и соответственно распаковывал из /tmp/tt/

До следующей команды все проходит без ошибок

cd /opt/broadcom/src/wl500g-1.9.2.7-10 && make kernel

А на make выдает:

patching file options.h
Hunk #1 succeeded at 204 (offset 19 lines).
cd /opt/broadcom/src/gateway/dropbear-0.50 && \
CC=mipsel-uclibc-gcc ./configure --host=mipsel-linux --disable-zlib --disable-shadow \
--disable-lastlog --disable-utmp --disable-utmpx --disable-wtmp --disable-wtmpx \
--disable-libutil --disable-loginfunc --disable-pututline --disable-pututxline
configure: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used.
checking for mipsel-linux-gcc... mipsel-uclibc-gcc
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.
make: *** [/opt/broadcom/src/gateway/dropbear/config.h] Error 77

Может быть еще какие телодвижения нужно делать?

DemonGloom
14-09-2008, 09:40
поставить build-essential

Cd_spb
14-09-2008, 10:12
поставить build-essential
Поставил, то место проскочил, но вывалился в другом с ошибкой:


checking for flex... no
checking for lex... no
./configure: line 1464: flex: command not found
checking for flex... lex
checking for yywrap in -ll... no
checking lex output file root... ./configure: line 1552: lex: command not found
configure: error: cannot find output from lex; giving up
make: *** [/opt/broadcom/src/gateway/radvd/Makefile] Error 1

DemonGloom
14-09-2008, 15:38
Поищите пакет, содержащий в нзвании слово flex

Cd_spb
14-09-2008, 19:25
Сделал
aptitude install flex
Теперь уперся в Ncurses libraries.
Мне интересно - makcumka Вы в какой конфигурации ставили Debian, что Вам ничего не понадобилось доставлять?

makcumka
14-09-2008, 19:55
Мне интересно - makcumka Вы в какой конфигурации ставили Debian, что Вам ничего не понадобилось доставлять?
я ставлюсь обычно с netinst образа и в данном случае конечно же установил все необходимое для девелопмента ;)

если нужно могу свой dpkg --get-selections привести, но там много лишнего, т.к. я в этой виртуалке не только фирмварь собирал

Cd_spb
15-09-2008, 11:28
makcumka, спасибо все получилось.

Итак, по порядку:

Ставил на WMware, линух под ядро 2.6. При создании виртуальной машины указывал сетку "host-only", размер винта 8Гб(реально понадобилось меньше 5-ти), 256 оперативки.

Ставил Debian с CD образов под именем "debian-40r4a-i386-CD-1.iso" и т.д. Ставил стандартную установку, там проблем не ожидается. При запросе параметров сети, выбирал сеть с DHCP-manual, и указывал IP хоста.

Подготовка к установке нужных пакетов - заполняем локальный репозиторий. В рутовой консоле выполняем

#apt-cdrom add
Вставляем(или монтируем к vmware) cd с маркировкой "debian-40r4a-i386-CD-2.iso". Повторяем ввод команды для каждого диска. Не уверен, но может быть понадобится только первые четыре.

Проверяем на наличие и устанавливаем пакет с ssh-сервером


#aptitude search openssh-server
i openssh-server - Secure shell server, an rshd replacement
#aptitude install openssh-server

После этого у меня при помощи программы TunnelierPortable соединение проходило без проблем. И далее я все делал через ssh - мне так привычней и удобней.

Проверка доступности необходимых пакетов. Вывод не привожу, должен быть аналогичен предыдущему пункту:


#aptitude search build-essential
#aptitude search libncurses-dev
#aptitude search gawk
#aptitude search flex
#aptitude search zlib1g-dev

Если какой-то пакет не доступен, то нужно повторить заполнение локального репозитария.

Установка пакетов:


#aptitude install build-essential
#aptitude install libncurses-dev
#aptitude install gawk
#aptitude install flex
#aptitude install zlib1g-dev


Копирование исходников в виртуальную машину. Через SFTP, реализованный в TunnelierPortable, положим в /home/user/tt/ файлы
GPL_1927.zip (http://www.asus.com.cn/pub/ASUS/wireless/WL-500g-03/GPL_1927.zip)
hndtools-mipsel-uclibc-3.2.3-full.tar.bz2 (http://oleg.wl500g.info/uClibc-0.9.19/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2)
wl500g-1.9.2.7-10.tar.bz2 (http://oleg.wl500g.info/1.9.2.7-10/wl500g-1.9.2.7-10.tar.bz2)

Дальше действовал по инструкции от makcumkи (http://wl500g.info/showpost.php?p=111453&postcount=32)

Удаляем хвосты(на всякий случай:)

# rm -rf /opt/brcm /opt/broadcom

Проверяем, что нужные исходники лежат там, где необходимо


# ls -la /home/user/tt/
-rw-r--r-- 1 root root 273177367 2008-09-13 00:12 GPL_1927.ZIP
-rw-r--r-- 1 root root 2015762 2008-09-13 00:12 hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
-rw-r--r-- 1 root root 15256385 2008-09-13 00:12 wl500g-1.9.2.7-10.tar.bz2


Распаковка исходников


#rm -rf /opt/brcm /opt/broadcom
#tar -C /opt -zxvf /home/user/tt/GPL_1927.ZIP
#mv /opt/broadcom/opt/brcm /opt
#tar -C / -jxvf /home/user/tt/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
#rm /opt/brcm/hndtools-mipsel-uclibc
#ln -sf /opt/brcm/hndtools-mipsel-uclibc-3.2.3-full /opt/brcm/hndtools-mipsel-uclibc
#export PATH=$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm/hndtools-mipsel-linux/bin
#tar -C /opt/broadcom/src -jxvf /home/user/tt/wl500g-1.9.2.7-10.tar.bz2

Делается достаточно долго, но проблем не ожидается.

Собственно сборка и компиляция:


#cd /opt/broadcom/src/wl500g-1.9.2.7-10 && make kernel && make
#cd /opt/broadcom/src/gateway && make && make images

При первых проходах вываливались ошибки.
На этом этапе, по совету DemonGloom, я начал подбирать необходимые пакеты, установленные "выше".

Проверка получившегося


# ls -la /opt/broadcom/src/gateway/mipsel-uclibc/
total 39880
drwxr-xr-x 5 root root 4096 2008-09-15 16:46 .
drwxr-xr-x 49 root root 4096 2008-09-15 16:33 ..
drwxr-xr-x 40 root root 4096 2008-09-15 16:45 install
drwxr-xr-x 3 root root 4096 2008-09-15 16:34 modules
drwxr-xr-x 13 root root 4096 2008-09-15 16:46 target
-rwx------ 1 root root 3094584 2008-09-15 16:46 target.cramfs
-rw-r--r-- 1 root root 669529 2008-09-15 16:45 vmlinuz
-rw-r--r-- 1 root root 3674112 2008-09-15 16:37 WL320gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-15 16:39 WL320gP-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-15 16:45 WL330gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-15 16:40 WL500gp-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-15 16:43 WL500gpv2-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3706880 2008-09-15 16:35 WL500gx-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-15 16:41 WL500W-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-15 16:42 WL520gu-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-15 16:36 WL550gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3768320 2008-09-15 16:46 WL700g-1.9.2.7-10.trx



Можно устанавливать Debian с сети (http://www.debian.org/distrib/), тогда в настройках виртуальной машину нужно выбирать мост или NAT, и третий пункт (подготовка локального репозитория) не понадобится.

PS. Сейчас будут пробовать перепрошивать.
PPS. Перепрошил - работает. Но почему же размер отличается от оригинального на 94208?

vsu
15-09-2008, 19:57
PPS. Перепрошил - работает. Но почему же размер отличается от оригинального на 94208?
Вроде писали, что Олег подкладывал tcpdump в образ руками.

makcumka
15-09-2008, 22:49
чтоб не сомневаться, можно сравнить прошивки... достаточно выдрать файлы из squashfs и сравнить ;)

vectorm
17-09-2008, 09:57
Вот и я попробовал собирать прошивку :)
Делал на Ubuntu (на OpenSUSE 11 уперся в нерешенную проблему).
Все прекрасно собирается, теперь буду учиться кастомизировать :)

DemonGloom
17-09-2008, 12:11
на OpenSUSE 11 уперся в нерешенную проблему

А в чем проблема?

vectorm
17-09-2008, 13:00
А в чем проблема?
А так и не разобрался до конца, половины нужных пакетов не нашел, под рукой была Убунта 7.10, там все сразу заработало.
Научите еще как в исходники добавлять нужные пакеты ;)
Вот такое описалово (http://downloads.openwrt.org/kamikaze/docs/openwrt.html#x1-380002.1.2) нашел, в Олеговской прошивке аналогично? Закидайте ссылками, если не трудно.
Вот FAQ по сборке прошивки (http://www.nslu2-linux.org/wiki/FAQ/OptwareWl500gBuild).
Покопался немного в исходниках, правильно ли я понял:
1. Положить исходник пакета в /opt/broadcom/gateway
2. Поправить Makefile в папке пакета.
3. Добавить в /opt/broadcom/gateway/Makefile запись с названием, как у папки с исходниками пакета.
4. Собрать прошивку.

vectorm
19-09-2008, 22:18
Вот такое (http://www.nslu2-linux.org/wiki/HowTo/BuildANewerThttpdOrOtherUtilityByCrossCompiling) еще нашел.
Цитата:
4. In the thttpd directory, type ./configure to create the Makefile.
Создастся ли "правильный" Makefile, пригодный для компиляции прошивки?

al37919
19-09-2008, 22:35
я не совсем понял предысторию. Так о чем все-таки речь: если о нативной компиляции на роутере, то ./configure --- закономерный этап.
Если о кросс-компиляции, то нет. С кросс-компиляцией возможны опять же два варианта --- с использованием тулчейна для компиляции прошивки (компиляция пакетов таким образом есть изврат редкостный --- не уверен, что вам это надо), либо компиляция пакетов нормальным тулчейном (т.е. optware). Тогда нужно создавать mk файл, который будет описывать весь процесс, в т.ч. и запуск configure тоже. Инструкция по последнему варианту --- здесь: http://www.nslu2-linux.org/wiki/Optware/AddAPackageToOptware

vectorm
20-09-2008, 07:15
я не совсем понял предысторию. Так о чем все-таки речь: если о нативной компиляции на роутере, то ./configure --- закономерный этап.
Если о кросс-компиляции, то нет. С кросс-компиляцией возможны опять же два варианта --- с использованием тулчейна для компиляции прошивки (компиляция пакетов таким образом есть изврат редкостный --- не уверен, что вам это надо), либо компиляция пакетов нормальным тулчейном (т.е. optware). Тогда нужно создавать mk файл, который будет описывать весь процесс, в т.ч. и запуск configure тоже. Инструкция по последнему варианту --- здесь: http://www.nslu2-linux.org/wiki/Optware/AddAPackageToOptware
Я хотел попробовать напихать как можно больше в прошивку (у меня ужа набрался парк из 5 wl-500gP v.1), во-первых, для общего развития, во-вторых, создать прошивку под свои нужды.

Wolfgun
06-12-2008, 17:55
Уважаемые спецы.
Прошу помочь горю.
Хочу скомпилировать прошивку от V2 на V1, поскажите что для этого надо
1. GPL от V2
А что еще тулчайн от V1 или от V2
Что еще надо

Реально прошил сегодня V2 на V1 все работает кроме ftp и проблемы с портами Etherhet (т.е. пока не подключешь LAN4, WAN не работает), так же не работает ftp с авторизацией, ну естествено нет поддержки русского в Samba и FTP (а хочется)

DemonGloom
06-12-2008, 18:28
Неизвестно... Последнюю прошивку от v2 вроде никто собрать не смог :(

Owl
06-12-2008, 18:38
А смысл?..

DemonGloom
07-12-2008, 05:33
Оттуда надо httpd выковырять для работы нового интерфейса на прошивке Олега...

angel_il
07-12-2008, 18:55
Оттуда надо httpd выковырять для работы нового интерфейса на прошивке Олега...

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

Wolfgun
08-12-2008, 07:08
по идее не обязательно всю прошивку пересобирать, достаточно ядро и iptables,

Ангел ты скажи что надо, сам буду делать.
просто, в статье по сборке фигурирует 1) GPL 2)
тулчайн 3) tar.bz2

Внимание вопрос.
1) GPL от V2 c дравами от v1 и модулями что надо
2) тулчайн от V1 или V2 брать
3) и откуда выбрать tar.bz2

Wolfgun
08-12-2008, 07:37
Оттуда надо httpd выковырять для работы нового интерфейса на прошивке Олега...

не только в итерфейсе дело ...
например там самба с авторизацией пользователей (скорей всего Samba2) DDNS от Asus, нарезание полосы пропускания для каждого клиента (РС), автоматическое создание swap, если нет Wi-Fi подключений, выключает адаптер.
Мне понравилось! Вот был бы еще русский на FTP Samba, да telnet.
Да конечно на V1 работает она не супер. Прошивка работает, но коряво!!!!
Светодиоды не те что надо светятся ( например вместо Wi-FI и Power поменены местами), чтоб работал Wan надо включить кабель в Lan 4.

RekoD
02-01-2009, 17:40
Всем привет! С Новым Годом! :)

Немного о... даже не проблеме, а какой-то странности:

Следуя инструкции http://wiki.wl500g.info/index.php/compilingcustomfirmware

Скачал:
GPL_1927.tar.gz
hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
wl500g-1.9.2.7-10.tar.bz2

Написал 2 скрипта для развёртывания toolchain:

1-й скрипт:

#!/bin/sh

# unpack ASUS original code
tar -C /opt -xzf ./GPL_1927.tar.gz

# unpack and install uClibc
tar -C / -xjf ./hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
mv /opt/broadcom/opt/brcm/* /opt/brcm
rm -f /opt/brcm/hndtools-mipsel-uclibc
ln -s /opt/brcm/hndtools-mipsel-uclibc-3.2.3-full /opt/brcm/hndtools-mipsel-uclibc

# unpack and install Oleg's firmware patches
tar -C /opt/broadcom/src -xjf ./wl500g-1.9.2.7-10.tar.bz2

# some additional instructions
echo 'NOTE:'
echo 'Now add to /root/.bashrc the following line:'
echo 'PATH=$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm/hndtools-mipsel-linux/bin'

2-й скрипт:

#!/bin/sh

cd /opt/broadcom/src/wl500g-1.9.2.7-10
make kernel
make

echo 'If you see "Sources prepared for compilation" in the line above,'
echo 'then issue the following commands:'
echo ''
echo '#cd /opt/broadcom/src/gateway'
echo '#make images-WL500gpv2'
echo '#make install'
echo ''
echo 'This will produce the flash file for the wl500gPV2 router under:'
echo '/opt/broadcom/src/gateway/mipsel-uclibc/WL500g-1.9.2.7-10.trx'

Вопросы:

1. Почему-то не получилось сразу make images-WL500gpv2 (пошли ошибки). Сделал сначала make && make install (почему-то получилась прошивка для WL500W) потом make images-WL500gpv2 && make install - получилась прошивка для WL500gpv2.
Так должно быть?

2. Файл wl500gpv2-1.9.2.7-10.trx получился размером 3,694,592 байт (тот, что я скачивал готовый был 3,792,896 байт). Однако когда я выполнил стандартную прошивку (web интерфейс) - раутер продолжил работать. Если ошибки не было - значит ли это, что файл подошёл или же раутер просто не стал прошивать эту прошивку (никаких сообщений об ошибке не было)?

3. Все изменения (поднимал dropbear до этого) - сохранились. Значит ли это, что перепрошивка не затрагивает flashfs?

P.S. Собираю из исходников, т.к. надо "прикрутить" драйвер USB Serial Port - CP210x. В 2.4.x его нет, но есть патч, позволяющий добавить.

al37919
02-01-2009, 20:26
в gateway/Makefile надо изменить имя модели на желаемую, после этого делать make && make install. Примено это и рекомендуется в той самой инструкции.

В свою прошивку Олег всегда вручную добавлял tcpdump, поэтому размер никогда не сходился

Прошивка и flashfs находятся в разных разделах на флаши, поэтому они не влияют друг на друга.

RekoD
03-01-2009, 01:36
Спасибо огромное! разобрался :)

lightix
14-01-2009, 09:58
А пробовал кто-нибудь из исходников асусовскую прошивку собрать?
Я попытался для 520GC собрать тулчейном с сайта асуса, сыпятся ошибки :(

При этом 1.9.2.7-10 Олега на той же машине собирается замечательно...

yuraz
20-02-2009, 10:45
http://support.asus.com/download/download.aspx?SLanguage=ru-ru&model=WL-500gP%20V2

ASUS выкладвает исходные тексты прошивок!

кто знает как можно собрать прошивку что бы залить ее помом
писать на Си могу *NIX системы знаю - писал под UNIX

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


есть желание прикрутить к официальной прошивке 3.03.06
TELNETD затем прикрутить анализатор трафика
и не только
в общем хочется более полноценно использовать в раутере операционную систему добавить например анализатор трафика и т д

vectorm
20-02-2009, 13:15
А оглядеться вокруг и посмотреть на форуме - никак?
Все уже изобретено до Вас.

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

yuraz
21-02-2009, 20:35
А оглядеться вокруг и посмотреть на форуме - никак?
Все уже изобретено до Вас.

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

бегло я почитал
понятно что кто то это делает и никто америку не открывает
--
релизы от асус идут в исходниках и тому кто умеет собирать
прошивку вряд ли будет сложно включить в нее telnetd

DemonGloom
21-02-2009, 22:11
По слухам эту, прошивку никто собрать не смог..

nanobsd
21-02-2009, 22:26
можно скомпилить freebsd под mipsel. не выходит покачто выкинуть всё лишнее, чтоб уместилось в 8 мб :D

есть toolchain http://svn.freebsd.org/base/projects/mips/
есть скрипт создания img образа ядра http://svn.freebsd.org/base/projects/mips/tools/tools/tinybsd/

al37919
22-02-2009, 01:07
yuraz
если есть такой инетрес, то сначала имеет смысл освоить сборку прошивки Олега:
http://wiki.wl500g.info/index.php/compilingcustomfirmware
http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware
Тут путь по крайней мере достаточно проторенный.
А что в исходниках asus никакого readme нет?

NIXdummy
26-05-2009, 16:52
Всю ветку не прочел - каюсь, но может подскажите на чем и как эта прошивка собиралась, тоесть откуда были взяты исходники. Дело в том, что у меня из асусовских исходников версии 3.0.0.8 нифига не собиралось в течение месяца. Там какая-то проблема со статической/динамической линковкой. Я не программер и решить эту проблему так и не смог. В общем вся сборка стопарилась на сообщении .../ld error: -lnvram NOT FOUND. Еще бывало вместо "lnvram" "lshared" и еще куча всякого -l_чо_то_там.

Но в целом очень рад видеть наконец-таки полноценный busybox в прошивке, а также завершение пути и комманд по tab-у, а также хистори.

al37919
26-05-2009, 17:58
вот инструкции по сборке 1.9.2.7-d:
http://code.google.com/p/wl500g/wiki/Welcome?tm=6
Олега собирается так же.

NIXdummy
30-05-2009, 08:55
вот инструкции по сборке 1.9.2.7-d:
http://code.google.com/p/wl500g/wiki/Welcome?tm=6
Олега собирается так же.

Спасибо за ссылку - действительно все собирается и работает. Но толку от этого мало. Попытался запустить "make menuconfig" и "make config" - сработало только в /src/router и то результата не дало - ни ядро, ни тем более прошивка после этого не собираются:

make[1]: Entering directory '/home/maxos/ASUS/broadcom/src/gateway/iptables'
Unable to resolve dependency on /home/maxos/ASUS/broadcom/src/linux/linux/include/linux/version.h. Try 'make clean'
make: *** [iptables] Error 2

А то что оно без настройки собирается - так с темже успехом можно было бы выложить заархивированный бинарник прошивки и описать как его извлечь из архива. Результат был бы темже :(.

sorine
30-05-2009, 09:14
Спасибо за ссылку - действительно все собирается и работает. Но толку от этого мало. Попытался запустить "make menuconfig" и "make config" - сработало только в /src/router и то результата не дало - ни ядро, ни тем более прошивка после этого не собираются:

make[1]: Entering directory '/home/maxos/ASUS/broadcom/src/gateway/iptables'
Unable to resolve dependency on /home/maxos/ASUS/broadcom/src/linux/linux/include/linux/version.h. Try 'make clean'
make: *** [iptables] Error 2

А то что оно без настройки собирается - так с темже успехом можно было бы выложить заархивированный бинарник прошивки и описать как его извлечь из архива. Результат был бы темже :(.
Ну разве тяжело подредактировать файл kernel.config прямо в прошивке.
Или Makefile для добавления программ.

NIXdummy
30-05-2009, 10:17
Ну разве тяжело подредактировать файл kernel.config прямо в прошивке.
Или Makefile для добавления программ.

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

Причем компиляция почему-то стопорит не на драйверах, а как раз на программах, а точнее на iptables.

И потом в каком из этой кучи :eek::

/broadcom/src/Makefile
/broadcom/src/router/Makefile
/broadcom/src/router/config/Makefile
/broadcom/src/gateway/Makefile
/broadcom/src/...
/broadcom/src/...
/broadcom/src/...

Makefile-ов надо выставить сборку драйвера?
-----
Кстати с kernel.config - спасибо за подсказку - он там один-единственный, только вот клавиатура там уже включена (по крайней мере USB-овая CONFIG_USB_KBD=m) только в готовой прошивке usb-клавиатура почему-то не определяется при втыкании - и в /proc/bus/usb/devices пишет driver(none)

al37919
30-05-2009, 15:58
Кстати с kernel.config - спасибо за подсказку - он там один-единственный, только вот клавиатура там уже включена (по крайней мере USB-овая CONFIG_USB_KBD=m) только в готовой прошивке usb-клавиатура почему-то не определяется при втыкании - и в /proc/bus/usb/devices пишет driver(none)
если стоит m и модуль не включен в прошивку, то он находится в файле modules, распространяемом вместе с прошивкой

NIXdummy
30-05-2009, 16:30
если стоит m и модуль не включен в прошивку, то он находится в файле modules, распространяемом вместе с прошивкой

Да, такая папка есть - /src/mipsel-uclibc/modules однако что она там делает и зачем нужна, я так и не понял - там лежат куча скомпилированных драйверов keybdev.o mousedev.o videodev.o и другие. Все аккуратно разложены по своим папкам - клавитура в input, videodev в каталоге media - все хорошо, вот только в итоговом образе прошивки их по-моему нету:

/ # modprobe keybdev
modprobe: chdir(/opt/lib/modules): No such file or directory
/ # insmod keybdev
insmod: cannot insert 'keybdev.o': Operation not permitted

И в то же время откуда-то же они загружаются?!
Попробовал скопировать keybdev.o в /src/mipsel-uclibc/target/lib и сделать снова make install - не вышло: Firmware Upgrade Fail.

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

lly
30-05-2009, 16:41
Люди добрые! Объясните, как настроить сборку этой прошивки - если кто-нибудь кроме Олега знает?
Халява не пройдет, учись читать Makefile. Написать учебник для чайников не удалось пока никому.

Разве не логично, что Makefile ядра лежит там же где и ядро? то есть в src/linux/linux ? И по названию текущего каталога(src/gateway) из wiki неясно где Makefile прошивки?
А для работы modprobe нужен файлик modules.dep ? Если нет, тогда придется читать доки. И на ядро, и на modutils, и на make, и ....

NIXdummy
31-05-2009, 09:28
Халява не пройдет, учись читать Makefile. Написать учебник для чайников не удалось пока никому.


Блин! Ну неужели все так плохо? Там же лежат конфиги от menuconfiga, со всеми менюшками и подменюшками! Почему нельзя было оставить такую возможность, зачем надо было обрубать нетолько make menuconfig, но даже обычный маке config ?!!!



Разве не логично, что Makefile ядра лежит там же где и ядро? то есть в src/linux/linux ? И по названию текущего каталога(src/gateway) из wiki неясно где Makefile прошивки?


До этого то я допер - вот толко в src/linux/linux, menuconfig или просто config usb-овые драйвера не видит! Есть там пункт "Support USB Gadgets" и ВСЕ! Ни usbmouse, ни hid, ни usbkbd там нет!



А для работы modprobe нужен файлик modules.dep ? Если нет, тогда придется читать доки. И на ядро, и на modutils, и на make, и ....

На modprobe я забил. А вот что самое интересное, оказалось если (Внимание! Смертельный номер!) скопировать уже собранные драйвера из /src/mipsel-uclibc/modules/lib/modules/2.4.37.1/kernel/drivers на флэшку, тыкнуть ее затем в роутер, и сделать insmod драйвера с флэшки - то он успешно загружается и работает! Блин, ребята, а по нормальному сделать слабо? Если драйвер откомпилился не пихать его в отдельную папку, а влючить в прошивку?!

Как же все просто было на Д-Линке: поставил тулчейн, разжал исходники и ПРЯМО ИЗ КОРНЯ каталога исходников запустил make menuconfig (или make config - кому как удобно); make dep; make - и все собралось! Заливай и радуйся! А я еще думал что в Дликовских исходниках бардак! Видимо придется оставить исходники от Олега из за КРАЙНЕЙ КОНЦЕНТРАЦИИ БАРДАКА в них!

Буду пробовать uClinux.

al37919
31-05-2009, 10:41
Блин, ребята, а по нормальному сделать слабо? Если драйвер откомпилился не пихать его в отдельную папку, а влючить в прошивку?!
место однако не резиновое.


Как же все просто было на Д-Линке: поставил тулчейн, разжал исходники и ПРЯМО ИЗ КОРНЯ каталога исходников запустил make menuconfig (или make config - кому как удобно); make dep; make - и все собралось! Заливай и радуйся! А я еще думал что в Дликовских исходниках бардак! Видимо придется оставить исходники от Олега из за КРАЙНЕЙ КОНЦЕНТРАЦИИ БАРДАКА в них!
вот и славненько, раз у Вас есть девайс, который Вам нравится. Надеюсь больше Ваших постов в этом форуме не предвидится.

theMIROn
31-05-2009, 10:58
Блин! Ну неужели все так плохо? Там же лежат конфиги от menuconfiga, со всеми менюшками и подменюшками! Почему нельзя было оставить такую возможность, зачем надо было обрубать нетолько make menuconfig, но даже обычный маке config ?!!!потому конфигурирование выполняется автоматически by-design.



До этого то я допер - вот толко в src/linux/linux, menuconfig или просто config usb-овые драйвера не видит! Есть там пункт "Support USB Gadgets" и ВСЕ! Ни usbmouse, ни hid, ни usbkbd там нет!

src/gateway/mipsel-uclibc/modules/lib/modules/2.4.37.1/kernel/drivers/usb/usbkbd.o
src/gateway/mipsel-uclibc/modules/lib/modules/2.4.37.1/kernel/drivers/usb/usbmouse.o
оно и так уже компилируется, ничего дополнительно делать не нужно, остается только взять.



На modprobe я забил.

ну как бы и зря. если скопировать src/gateway/mipsel-uclibc/modules/lib в /opt/lib (да, на флешку), то modprode отлично сработает, т.к будет искать именно там



А вот что самое интересное, оказалось если (Внимание! Смертельный номер!) скопировать уже собранные драйвера из /src/mipsel-uclibc/modules/lib/modules/2.4.37.1/kernel/drivers на флэшку, тыкнуть ее затем в роутер, и сделать insmod драйвера с флэшки - то он успешно загружается и работает! Блин, ребята, а по нормальному сделать слабо?
Это и есть по-нормальному. Место в 4-метровых роутерах практически закончилось, чтобы засовывать модули, необходимые (?) 1% пользователей. Поэтому всегда есть компромисный вариант - или на флешку, или во flashfs с указанием пулного пути для insmod.
Описано практически в каждом первом faq на форуме.



Если драйвер откомпилился не пихать его в отдельную папку, а влючить в прошивку?!
Для большинства это не нужно, места нет, модули всегда доступны в архиве http://code.google.com/p/wl500g/downloads/list?can=2&q=modules



Как же все просто было на Д-Линке: поставил тулчейн, разжал исходники и ПРЯМО ИЗ КОРНЯ каталога исходников запустил make menuconfig (или make config - кому как удобно); make dep; make - и все собралось! Заливай и радуйся! А я еще думал что в Дликовских исходниках бардак!
очень рад за них, только вот где в свободном доступе есть исходники прошивок, основанных на оригинальных d-link настолько глубоко проработанные с приемлимой структурой организации патчей/обновлений. Да, я тоже не видел.



Видимо придется оставить исходники от Олега из за КРАЙНЕЙ КОНЦЕНТРАЦИИ БАРДАКА в них!

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

lly
31-05-2009, 15:41
Блин! Ну неужели все так плохо? Там же лежат конфиги от menuconfiga, со всеми менюшками и подменюшками! Почему нельзя было оставить такую возможность, зачем надо было обрубать нетолько make menuconfig, но даже обычный маке config ?!!!

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


Видимо придется оставить исходники от Олега из за КРАЙНЕЙ КОНЦЕНТРАЦИИ БАРДАКА в них!

Буду пробовать uClinux.
Скатертью дорожка. Надеюсь, в нем вы тоже не сумеете разобраться.

ser9ey
03-06-2009, 09:21
Здравствуйте!
Наверняка многих заинтересует полноценная поддержка NTFS (т.к. у многих внешний веник)
Есть набор патчей для OpenWRT
https://dev.openwrt.org/ticket/5186
хотелось бы увидеть его и в Олеговой прошивке.
Спасибо

история здесь: http://forum.openwrt.org/viewtopic.php?pid=75156

lly
03-06-2009, 10:05
Если бы ты внимательно почитал форум и воспользовался ненавистным поиском, то обнаружил бы следующие факты:

В оригинальную прошивку Олега 1.9.2.7-10 добавить fuse невозможно
Для большинства девайсов, в 4Mb флэш сиё хозяйство не влезет
Для 1.9.2.7-d (http://wl500g.info/showthread.php?t=17136) были собраны модули, но их так никто и не оттестировал, все крутые перцы с крутыми NTFS вениками сдулись

P.S. Подробности - через поиск.

palm
14-06-2009, 12:55
Помогите, пожалуйста, чайнику, скомпилить CFE для WL520gu.
Скачал последнюю официальную версию исходников с сайта ASUS. Сама прошивка собирается без проблем, но CFE автоматом собираться не хочет, в конфигах, ничего похожего, на разрешение такой сборки не нашёл. А при сборке из директории cfe, завершается с ошибкой компиляции-не находит прототипов некоторых функций, которых, действительно, в исходниках нет. Помогите, кто знает, измучился совсем :(

palm
15-06-2009, 20:42
Помогите, пожалуйста, чайнику, скомпилить CFE для WL520gu.
Скачал последнюю официальную версию исходников с сайта ASUS. Сама прошивка собирается без проблем, но CFE автоматом собираться не хочет, в конфигах, ничего похожего, на разрешение такой сборки не нашёл. А при сборке из директории cfe, завершается с ошибкой компиляции-не находит прототипов некоторых функций, которых, действительно, в исходниках нет. Помогите, кто знает, измучился совсем :(

Удалось собрать, пока, только, из самых старых исходников. И то, что получилось, не соответствует реальному загрузчику. Хотя и это-прогресс :)

Rena
21-06-2009, 11:31
# cd /opt/broadcom/src/wl500g-1.9.2.7-10 && make kernel && make

У меня после команды make вываливается

configure: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used.
checking for mipsel-linux-gcc...
mipsel-uclibc-gcc
checking for C compiler default output file name...
configure: error: C compiler cannot create executables
See `config.log'
for more details.
make: *** [/opt/broadcom/src/gateway/dropbear/config.h] Ошибка 77
Всё делаю по инструкции.

Заработало, оказывается не правильная ссылка на каталог hndtools-mipsel-uclibc-4.1.2-2 была.

Осталось всего ничего, добавить драйвера spca5xx-20060501.tar.gz, как, подскажите...

DmitriK
19-09-2009, 12:05
Добрый день, на форуме я новичок и на сколько понял, для нормальной сборки прошивки необходимо изучить азы описанный в статье: http://wiki.wl500g.info/index.php/compilingcustomfirmware. Эта ссылка мертвая, не подскажете, где можно найти подобную информацию? Возможно где то на других ресурсах. Лишь бы изложение было доступное для понимания чайника)

artp
28-10-2009, 14:07
Может кто из разработчиков поделится передовым опытом?

Дома, на столе стоит включенный комп (FC9). На нем занимаюсь сборкой прошивки (хожу с работы ssh). Рядом с компом стоит включенный асус. Доступен по локалке. Консолька тоже заведена на этот же комп. Короче все возможности. Хочу удаленно собрав вариант прошивки, тут же ее прошить в асус и помотреть, что происходит на консоли.

Возникает вопрос как это сделать? Пробрасывать кроме ssh еще и web-морду не кузяво. Да и она локальный файл прошивки захочет, а он на домашнем компе. Тащить его к себе, на рабочий комп и потом снова грузить в рутер, стоящий дома... Как-то криво, да и сбойнуть может. Тащить ради этого иксы на рабочий комп тоже странно.

Нет ли какого-то способа прогружать прошивку из шелла? В идеале, вообще, в Makefile вписать что-то типа: make write. Или может можно, что-то на консольке набрать, чтобы инициировать процесс?

vectorm
28-10-2009, 14:46
все возможности. Хочу удаленно собрав вариант прошивки, тут же ее прошить в асус и помотреть, что происходит на консоли.

Возникает вопрос как это сделать?
А про команду tftp забываем? ;)

artp
28-10-2009, 15:07
Ловить после reboot'а момент для заливки довольно напряжно. Или там можно как-то таймаут накрутить?

Или вы имеете в виду, типа, поднять tftp сервер на федоре, а из консоли tftp ..., а потом что-то вроде cat ...>/dev/mtd/2

А чуть более развернуто не поясните?

Komandir
28-10-2009, 15:42
Ловить после reboot'а момент для заливки довольно напряжно. Или там можно как-то таймаут накрутить?

Или вы имеете в виду, типа, поднять tftp сервер на федоре, а из консоли tftp ..., а потом что-то вроде cat ...>/dev/mtd/2

А чуть более развернуто не поясните?

teamviewer.com наверное поможет. Ставь дома и ходи с работы ...

theMIROn
28-10-2009, 15:52
Нет ли какого-то способа прогружать прошивку из шелла?
1 вариант.

1. выкладываем trx прошивку где нибудь на http/ftp
2. логинимся в роутер по ssh или сразу в консоль
3. cd /tmp && wget <path>/firmware.trx
4. write /tmp/firmware.trx /dev/mtd/1 -r

2 вариант.

1. заливаем в роутер прошивку по scp/sftp сразу в /tmp
2. write /tmp/firmware.trx /dev/mtd/1 -r

3 вариант.

1. делаем в putty туннель localhost:4080 на лок.ip роутера:80
2. соединяемся по ssh с роутером через putty
3. заходим в web интерфейс роутера через http://localhost:4080
4. заливаем прошивку с локального компа as always

p.s ключ -r команды write доступен только в 1.9.2.7-d/rtn прошивке, нужен для автоматической перезагрузки после выполнения

p.p.s для 1.9.2.7-rtn записываем не в /dev/mtd/1, а в /dev/mtd1. в остальном все так же

artp
28-10-2009, 16:09
О. Спасибо.

al37919
28-10-2009, 17:43
рекомендую вариант 2. Однако, при всем необходимо отметить, что это работает где-то в 95% случаев. В остальных требуется помощь локального оператора по перезагрузке по питанию. ;)

deg
09-01-2010, 18:16
ASUS WL500GPv1 имеет FLASH память длинной 8Mb. Могу ли я создавать прошивки для него почти на всю длину FLASH памяти (например, 7MB) за счет включения в прошивку большого числа модулей ядра и прикладных программ. Или я все же ограничен длиной прошивки не более 4Mb?

Заранее благодарен!

al37919
09-01-2010, 18:46
можно .

ser9ey
15-01-2010, 16:56
Если бы ты внимательно почитал форум и воспользовался ненавистным поиском, то обнаружил бы следующие факты:

В оригинальную прошивку Олега 1.9.2.7-10 добавить fuse невозможно
Для большинства девайсов, в 4Mb флэш сиё хозяйство не влезет
Для 1.9.2.7-d (http://wl500g.info/showthread.php?t=17136) были собраны модули, но их так никто и не оттестировал, все крутые перцы с крутыми NTFS вениками сдулись

P.S. Подробности - через поиск.

Спасибо за ответ :)

melnikdima
23-01-2010, 23:58
есть GPL source как создать прошивку???

al37919
24-01-2010, 08:29
http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware?wl=ru

lly
24-01-2010, 17:46
http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware?wl=ru
Из чистого ASUS GPL так не получится, требуется еще ломик и какая-то матерь ;)
В-общем, без базовых знаний C и разработки(не мышевозничества!) в принципе, можно даже не пытаться.

bak
14-03-2010, 19:45
Подскажите пожалуйста, что нужно для пересборки прошивки 1.9.2.7-10? Насколько я понял, необходимы исходники от Asus (это (http://files.wl500g.info/asus/wl500gp/gpl/) они? Если да, то какой из них?), исходники ядра (любой версии или именно 4.6.20?), toolchain (опять же какой именно? тот что предлагают по инструкции (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware), или тот что здесь (http://files.wl500g.info/asus/wl500gp/gpl/)) и исходники прошивки (насколько я понял, это (http://oleg.wl500g.info/1.9.2.7-10/wl500g-1.9.2.7-10.tar.bz2) они? Есть ли разница между моделями?)? И если можно вкратце поясните процесс пересборки (т. к. в разных инструкциях небольшие различия).

AndreyUA
14-03-2010, 19:50
Подскажите пожалуйста, что нужно для пересборки прошивки 1.9.2.7-10? Насколько я понял, необходимы исходники от Asus (это (http://files.wl500g.info/asus/wl500gp/gpl/) они? Если да, то какой из них?), исходники ядра (любой версии или именно 4.6.20?), toolchain (опять же какой именно? тот что предлагают по инструкции (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware), или тот что здесь (http://files.wl500g.info/asus/wl500gp/gpl/)) и исходники прошивки (насколько я понял, это (http://oleg.wl500g.info/1.9.2.7-10/wl500g-1.9.2.7-10.tar.bz2) они? Есть ли разница между моделями?)? И если можно вкратце поясните процесс пересборки (т. к. в разных инструкциях небольшие различия).Следуйте этой инструкции
http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware

lly
14-03-2010, 19:57
Следуйте этой инструкции
http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware
Он хочет собрать именно -10, для неё Олег постил свои ссылки на форуме. Ну а искать самому видимо, как всегда, лень.

bak
14-03-2010, 20:06
Он хочет собрать именно -10, для неё Олег постил свои ссылки на форуме. Ну а искать самому видимо, как всегда, лень.
Я уже целый вечер ищу на эту тему, но видимо не по тем ключевым словам (т. к. только пытаюсь разобраться). Конкретно для 10 отдельной инструкции не видел, поэтому и задал вопрос.

AndreyUA
14-03-2010, 20:14
Я уже целый вечер ищу на эту тему, но видимо не по тем ключевым словам (т. к. только пытаюсь разобраться). Конкретно для 10 отдельной инструкции не видел, поэтому и задал вопрос.http://wl500g.info/showthread.php?t=424

al37919
14-03-2010, 20:40
это совсем древняя инструкция. Подробная инструкция по сборке оригинальной прошивки Олега была на wiki данного форума, которая была упразднена за непопулярностью.

Для сборки последней прошивки Олега наиболее близкой инстркцией является именно инструкция с гуглокода. Подойти к ней надо слегка творчески, но она описывает все необходимые действия (хотя для сборки собственно текущей прошивки с гуглокода она уже слегка устарела).

базовая информация и ссылка на тулчейн есть здесь: http://oleg.wl500g.info

PS отдельной инструкции для -10 никогда не было

Power
14-03-2010, 23:24
Я делаю так:

Выполняем пункт 1 (Необходимый софт) из инструкции (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware).
Выпоняем часть пункта 2 (Скачать исходники) из той же инструкции, а конкретно, скачиваем GPL_1927.zip (сохраняем под именем GPL_1927.tar.gz, у меня он занимает 273177367 байт и имеет md5sum = 9597f51f922e6eeb69b1fb76bf18adc9).
Скачиваем в ту же папку файлы wl500g-1.9.2.7-10.tar.bz2 (http://oleg.wl500g.info/1.9.2.7-10/wl500g-1.9.2.7-10.tar.bz2) (исходники) и hndtools-mipsel-uclibc-3.2.3-full.tar.bz2 (http://oleg.wl500g.info/uClibc-0.9.19/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2) (тулчейн).
В этой же папке создаём подпапки addons и my-patches. В первую я сложил tcpdump (не помню, откуда взял, возможно, из своего роутера), путь: "addons/usr/sbin/" (как в роутере, если считать addons корнем). Во вторую (my-patches) сложил свои патчи, для сборки важны два:


gateway-Makefile.patch


--- router_ref/broadcom/src/gateway/Makefile 2009-09-20 04:46:22.000000000 +0400
+++ router/broadcom/src/gateway/Makefile 2009-09-20 03:04:28.000000000 +0400
@@ -154,7 +154,7 @@

# defaults
export LANGUAGE := "EN"
-MODEL=WL500W
+MODEL=WL500gp
# WL500gx, WL550gE, WL500gp, WL500W
export GLOBAL_OPTIONS := -DUSB_SUPPORT -DQOS -DWPA2_WMM -DPRNINFO -DNO_PARALLEL -DUSBONLY

(это чтоб каждый раз руками не лазить, модель подставьте свою);

rootprep.patch


--- router_ref/broadcom/src/gateway/misc/rootprep.sh 2009-09-20 04:46:20.000000000 +0400
+++ router/broadcom/src/gateway/misc/rootprep.sh 2009-09-20 04:41:07.000000000 +0400
@@ -46,3 +46,7 @@
# which is ignoring ld.so.conf completely
mkdir -p usr/X11R6
ln -sf ../../opt/lib usr/X11R6/lib
+
+# my additions
+mkdir -p lib64
+
(это не особо важно, просто в роутере есть такая папка, а в создаваемой прошивке не было, я решил добавить для порядка).


Теперь создаём где-нибудь скрипт с таким содержимым (чтоб при пересборке вручную все команды не вбивать), назовём его "build.sh"


#!/bin/bash

LANG="en_US.UTF-8"

target_dir="$HOME/router/1.9.2.7-10"
sources_dir="/path/to/sources"

new_path='PATH="$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm/hndtools-mipsel-linux/bin"'


function report_status()
{
[ x"$1" == x"0" ] && echo "Success." || echo "Fail."
return "$1"
}


function setup()
{
[ ! -e "${target_dir}" ] &&
mkdir -p "${target_dir}" &&
tar -C "${target_dir}/" -xpzf "${sources_dir}/GPL_1927.tar.gz" &&
tar -C "${target_dir}/broadcom/src/" -xp --bzip2 -f "${sources_dir}/wl500g-1.9.2.7-10.tar.bz2" &&
tar -C "${target_dir}/broadcom/" -xp --bzip2 -f "${sources_dir}/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2" &&
ln -sf -T "hndtools-mipsel-uclibc-3.2.3-full" "${target_dir}/broadcom/opt/brcm/hndtools-mipsel-uclibc" &&
set_opt

report_status "$?" && echo "don't forget to set ${new_path}"
}


function set_opt()
{
sudo ln -sf "${target_dir}/broadcom/opt/brcm" "/opt/"
}


case "$1" in
setup )
setup
;;
set-opt )
set_opt
report_status "$?"
;;
kernel )
cd "${target_dir}/broadcom/src/wl500g-1.9.2.7-10/" && make kernel && make

report_status "$?"
;;
my-patch )
cd "${target_dir}/" && cat "${sources_dir}/my-patches"/*.patch | patch -p1 &&
echo "tar -C '${sources_dir}/' -c 'addons/' | tar -x --strip-components 1" \
>> "${target_dir}/broadcom/src/gateway/misc/rootprep.sh"

report_status "$?"
;;
build )
cd "${target_dir}/broadcom/src/gateway/" && make && make install

report_status "$?"
;;
help )
echo "target dir: '${target_dir}'"
echo "Actions:
$0 setup
${new_path}
$0 kernel
$0 my-patch
$0 build
# PROFIT!"
;;
* )
echo "Usage: $0 { setup | set-opt | kernel | my-patch | build | help }"
;;
esac

Нужно исправить лишь 2 переменные в начале скрипта: target_dir - папка, куда всё распакуется и где будет собираться (папка не должна существовать, она будет создана скриптом), и sources_dir - папка, куда вы сложили архивы (нужно указать полный путь).
Дальше - просто: выполняем команды и следим за результатом


./build.sh setup # в конце этого действия нужны права рута (запись в /opt/), так что там явно вызывается sudo
PATH="$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm/hndtools-mipsel-linux/bin"
./build.sh kernel
./build.sh my-patch
./build.sh build

Если всё успешно, в ${target_dir}/broadcom/src/gateway/mipsel-uclibc/ будет лежать прошивка.

skim
18-03-2010, 17:06
Набросал тут некоторое время назад скриптик для автоматической сборки прошивки "от энтузиастов", да все никак руки не доходили опубликовать.

Собственно код:
http://paste.pocoo.org/raw/191153/
Использование:


firmware.sh [-6|--ipv6] [-m МОДЕЛЬ] [-h|--help] [-c|--clean] [-r ВЕРСИЯ]
-6,--ipv6 Включает поддержку IPv6 в прошивке.
-m МОДЕЛЬ Собирает прошивку для указанной модели роутера. По умолчанию используется WL500gp (не v2!).
-h,--help Показывает эту справочную часть.
-c,--clean Уничтожить следы работы скрипта (полностью удалит директорию ~/wl500g)
-r ВЕРСИЯ Собрать прошивку определённой версии. Помогает в тех случаях, когда текущая разрабатываемая версия работает крайне нестабильна.
Так же скрипт понимает переменную окружения FIRMDIR (cделанно для опытных пользователей).
Сборка возможна для следующих моделей роутеров: WL500gx, WL550gE, WL500gp, WL500gpv2, WL500W. Название модели регистрочувствительно.
При неправильном указании или неуказании модели - сборка осуществляется для модели WL500gp.

skim
18-03-2010, 17:07
и да, реквестирую полный порядок действий для сборки прошивки rt-n. Тоже сделаю скриптик :)

theMIROn
18-03-2010, 17:09
выложил бы аттачем, форматирование побилось

AlexeyS
18-03-2010, 17:22
Кстати, хоть разработчики и молчат, для последних ревизий прошивки GPL_1.9.2.7 не нужен, достаточно лишь директории создать.

AlexeyS
18-03-2010, 17:26
и да, реквестирую полный порядок действий для сборки прошивки rt-n. Тоже сделаю скриптик :)

Он такой же, как и для wl, только ядро 2.6.22.19 помещается в директорию linux/linux-2.6, вместо linux/linux

skim
18-03-2010, 17:29
2Devs:
ну и положили бы в ripped просто дерево каталогов без файлов :)
И вику не недо будет править и мне скрипт переписывать тоже не надо будет :)

al37919
18-03-2010, 17:58
Кстати, хоть разработчики и молчат, для последних ревизий прошивки GPL_1.9.2.7 не нужен, достаточно лиши директории создать.
те кто хочет быть в курсе происходящих изменений следит за комментариями к svn коммитам http://code.google.com/p/wl500g/source/list
Для остальных подобная информация все равно бесполезна.

dlukanidin
10-06-2010, 00:52
При компиляции получил следующую ошибку

httpd.c:77:23: error: bcmconfig.h: No such file or directory

подскажите где искать пропавший include.

brutevinch
14-07-2010, 13:47
Доброго времени суток.Есть огромное желание чуток подправить наличие httpd smbd и прочих ненужных для меня вещей в прошивке.Мне удалось без проблем собрать неизмененную прошивку. вопрос: как на примере самбы удалить ее из прошивки? П.С. искал.не нашел.

theMIROn
14-07-2010, 13:52
без httpd не будет работать web интерфейс. для первоначальной настройки он все ж желателен.

brutevinch
14-07-2010, 14:02
Я понимаю,спасибо. на самом деле для меня не проблема вносить руками в nvram и цель от части убрать вебку вообще.зачем лишний процесс??? народ тут тоже хотел избавиться от вебки. так же мне реально не нужна самба. надо бы просто научиьтся ремувиьт каку разную.

brutevinch
14-07-2010, 14:48
.....хотя убирать совсем вебку это злое решение. гораздо круче погасить httpd.как?? П.с. но самбу и прочее подобное я бы убрал.

LnrMn
14-07-2010, 16:15
Используйте при сборке menuconfig

brutevinch
14-07-2010, 19:00
Еще такой вопрос: кроме тех софтовых отличий которые указаны в теме про версию-d есть ли отличия в стабильности работы? Сильно ли она уступает -10? или можно смело собирать -d?

brutevinch
15-07-2010, 06:37
Огромное спасибо за menuconfig. ТО что доктор прописал. Теперь плиз подскажите обратный процесс. как внести ПО в прошивку?

theMIROn
15-07-2010, 06:46
Огромное спасибо за menuconfig. ТО что доктор прописал. Теперь плиз подскажите обратный процесс. как внести ПО в прошивку?

только ручками по образу и подобию имеющегося софта.
плюсом на форуме были темы про интеграцию софта из optware

CattheBlack
22-07-2010, 05:38
Подсажите, где найти собранную прошивку отсюда (http://code.google.com/p/wl500g/source/list?path=/branches/rt-n/)?
Поставил слаку на VirtualBox. Скачал тулчейн и прошивку, сбилдил по инструкции. Где теперь найти файл прошивки или как его получить в результате? Я в линуксе не силён, подскажите чайнику!
Отсюда (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware) выполнил все инструкции. Где найти файл прошивки?
Понимаю, вопрос дурацкий, но, может, поможете? ;)

Виктор89
22-07-2010, 06:21
ftp://core.dumped.ru/rt-n/ :rolleyes:

CattheBlack
22-07-2010, 06:45
А ничего, что там последняя - 1803?
Кстати, у меня в подписи ссылка именно туда (ftp://core.dumped.ru/rt-n/).

Painter
22-07-2010, 08:53
Видимо пока нет стабильной версии, поэтому не выкладывают

CattheBlack
22-07-2010, 09:07
Финальных версий нет вообще, это всё ночные сборки. По словам тех, кто с ними работает. Стабильность проверяется прошивкой и поиском глюков.
ftp://core.dumped.ru/rt-n/ - там, по словам владельца, стояла автосборка раз в сутки. Раз перестало - наверное, автор не занимается (например, в отпуске). Или какие-либо неполадки.
Так что я захотел попробовать собрать и выложить, если получится. Собралось всё без ошибок, вроде. Но вот куда записалось?
Да, я тупой чайник, но вопрос-то плёвый! Куда кладётся билд с настройками по умолчанию при действиях по инструкции...

VicSer
22-07-2010, 09:18
Файл собранной прошивки лежит в /whatever-you-want/broadcom/src/gateway/mipsel-uclibc/файлпрошивки.trx :)

CattheBlack
22-07-2010, 09:28
Спасибо огромное!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Parkinstein
22-07-2010, 09:41
Финальных версий нет вообще, это всё ночные сборки. По словам тех, кто с ними работает. Стабильность проверяется прошивкой и поиском глюков.
ftp://core.dumped.ru/rt-n/ - там, по словам владельца, стояла автосборка раз в сутки. Раз перестало - наверное, автор не занимается (например, в отпуске). Или какие-либо неполадки.
Так что я захотел попробовать собрать и выложить, если получится. Собралось всё без ошибок, вроде. Но вот куда записалось?
Да, я тупой чайник, но вопрос-то плёвый! Куда кладётся билд с настройками по умолчанию при действиях по инструкции...

Получилось??? Выкладывай :)

CattheBlack
22-07-2010, 15:27
уже не успею... билдил на работе, а ща на дачу уматываю :)

linvinus
07-09-2010, 18:41
theMIROn здравствуйте,
есть ли где нибудь канал для разработчиков, хотя бы на чтение.
По исходникам сложно определить насколько необходим тот или иной патч. Хотелось бы прочитать историю принятия патчей, или просто проконсультироваться.
Мне необходим роутер как простая и надёжная замена домашнего сервера (ftp+web) (никаких торрентов на самом роутере)
собрал свою прошивку на основе debian lenny с вашим ядром. т.е. всё кроме eapd nas wl на libc-2.7.so , гружусь с флешки. Собираю в виртуальной машине для mipsel архитекторы.
работает но вываливается ~раз в час может реже, но стабильно с ошибкой:
Call Trace:
[<801dbea4>] __nf_conntrack_find+0x54/0x178
[<801dbff0>] nf_conntrack_tuple_taken+0x28/0x48
[<802399a4>] nf_nat_used_tuple+0x30/0x44
[<80239e28>] nf_nat_setup_info+0x470/0x6bc
[<802401b0>] nf_nat_rule_find+0x9c/0xdc
[<80240328>] nf_nat_fn+0x138/0x214
[<802405a4>] nf_nat_in+0x30/0x12c
[<801d9584>] nf_iterate+0xd8/0x114
[<801d9658>] nf_hook_slow+0x98/0x160
[<801f38a4>] ip_rcv+0x2b0/0x720
[<801af078>] process_backlog+0x104/0x23c
[<801ac770>] net_rx_action+0xb4/0x21c
[<8002d26c>] __do_softirq+0x88/0x11c
[<8002d36c>] do_softirq+0x6c/0x74
[<80007614>] plat_irq_dispatch+0x14c/0x1b8
[<80007d6c>] ret_from_irq+0x0/0x4
[<80009d20>] cpu_idle+0x20/0x50
[<80324bf8>] start_kernel+0x2e0/0x33c

с вашей прошивкой RT-N16-1.9.2.7-rtn-r1943.trx по RT-N16-1.9.2.7-rtn-r1982.trx тоже падает.
Вот и встал вопрос где может быть зарыта собака. Хочу двигаться в направлении оригинальное ядро 2.6.22->минимум чтобы работало usb2.0 и драйвер wl
но очень сложно определиться что из патчей соответствует этому условию.

TReX
07-09-2010, 18:55
theMIROn здравствуйте,
есть ли где нибудь канал для разработчиков, хотя бы на чтение.
По исходникам сложно определить насколько необходим тот или иной патч. Хотелось бы прочитать историю принятия патчей, или просто проконсультироваться.
Мне необходим роутер как простая и надёжная замена домашнего сервера (ftp+web) (никаких торрентов на самом роутере)
собрал свою прошивку на основе debian lenny с вашим ядром. т.е. всё кроме eapd nas wl на libc-2.7.so , гружусь с флешки. Собираю в виртуальной машине для mipsel архитекторы.
работает но вываливается ~раз в час может реже, но стабильно с ошибкой:
Call Trace:
[<801dbea4>] __nf_conntrack_find+0x54/0x178
[<801dbff0>] nf_conntrack_tuple_taken+0x28/0x48
[<802399a4>] nf_nat_used_tuple+0x30/0x44
[<80239e28>] nf_nat_setup_info+0x470/0x6bc
[<802401b0>] nf_nat_rule_find+0x9c/0xdc
[<80240328>] nf_nat_fn+0x138/0x214
[<802405a4>] nf_nat_in+0x30/0x12c
[<801d9584>] nf_iterate+0xd8/0x114
[<801d9658>] nf_hook_slow+0x98/0x160
[<801f38a4>] ip_rcv+0x2b0/0x720
[<801af078>] process_backlog+0x104/0x23c
[<801ac770>] net_rx_action+0xb4/0x21c
[<8002d26c>] __do_softirq+0x88/0x11c
[<8002d36c>] do_softirq+0x6c/0x74
[<80007614>] plat_irq_dispatch+0x14c/0x1b8
[<80007d6c>] ret_from_irq+0x0/0x4
[<80009d20>] cpu_idle+0x20/0x50
[<80324bf8>] start_kernel+0x2e0/0x33c

с вашей прошивкой RT-N16-1.9.2.7-rtn-r1943.trx по RT-N16-1.9.2.7-rtn-r1982.trx тоже падает.
Вот и встал вопрос где может быть зарыта собака. Хочу двигаться в направлении оригинальное ядро 2.6.22->минимум чтобы работало usb2.0 и драйвер wl
но очень сложно определиться что из патчей соответствует этому условию.

А такое не подходит? ) http://code.google.com/p/wl500g/updates/list

lly
07-09-2010, 19:42
есть ли где нибудь канал для разработчиков, хотя бы на чтение.
Нет, по причине их малого количества. Решения по критическим патчам принимается в личной переписке.

По исходникам сложно определить насколько необходим тот или иной патч. Хотелось бы прочитать историю принятия патчей, или просто проконсультироваться.
Не понимаю вопроса - каждый патч к ядру имеет хоть какой либо комментарий или ссылку на kernel.org, плюс комментарии к коммитам. Художественные описания никто не пишет ;) А что необходимо лично тебе, не посоветует никто.

с вашей прошивкой RT-N16-1.9.2.7-rtn-r1943.trx по RT-N16-1.9.2.7-rtn-r1982.trx тоже падает.

Вот и встал вопрос где может быть зарыта собака.
В недоисправленном netfilter - 2.6.22 очень старое ядро. Если в последних билдах проблема осталась, значит текущих бекпортов мало или где-то вкралась ошибка.

TReX
07-09-2010, 20:10
В недоисправленном netfilter - 2.6.22 очень старое ядро. Если в последних билдах проблема осталась, значит текущих бекпортов мало или где-то вкралась ошибка.

Эх, а нельзя ли все же сделать чтобы INADYN можно было настраивать через веб мордочку и из раздела IPV6? (для настройки адреса для тунель брокера)

lly
07-09-2010, 20:15
Эх, а нельзя ли все же сделать чтобы INADYN можно было настраивать через веб мордочку и из раздела IPV6? (для настройки адреса для тунель брокера)
Возможно всё, просто это далеко не первоочередная задача. Если найдуться желающие сделать патч, будет быстрее...

linvinus
08-09-2010, 12:31
2 TReX спасибо, changelogs я умею смотреть :)

2 lly, спасибо за отклик, ситуацию понял.

Непонятно почему iptables 1.3.8? более новый сложно портировать?
мне нужны некоторые модули для shorewall


Что касается зависаний, вчера после прописывания
vm.min_free_kbytes=65536
зависания не повторялись, патайм почти 20 часов.
ядро от 1943
я поднял nginx и proftpd медленно но работает скорость можно оценить по ссылкам
https://linvinus.ru
http://linvinus.ru/ubuntu
ftp://linvinus.ru
всё крутится на роутере, ещё и памяти много свободной

#free
total used free shared buffers cached
Mem: 126564 29468 97096 0 380 6784
-/+ buffers/cache: 22304 104260
Swap: 224900 12716 212184

честно говоря всё упирается в скорость usb, она очень маленькая, и при обращении к usb всё начинает жутко тормозить.

Пока, кроме скорости usb, всё устраивает и всё работает (включая wifi), инет у меня через pppoe, при скачивании обновлений скорость поднимается до 20Мбит/сек, работает стабильно.

lly
08-09-2010, 12:42
Непонятно почему iptables 1.3.8? более новый сложно портировать?
мне нужны некоторые модули для shorewall

Перешел из ветки 2.4, там более новый втащить практически невозможно. "Сложно" - понятие относительное. Работы много, а критической необходимости в этом нет. Когда-нибудь сделаем...

linvinus
08-09-2010, 12:47
Перешел из ветки 2.4, там более новый втащить практически невозможно. "Сложно" - понятие относительное. Работы много, а критической необходимости в этом нет. Когда-нибудь сделаем...

понятно, а поддержка usb тоже из 2.4?

lly
08-09-2010, 12:50
понятно, а поддержка usb тоже из 2.4?
Мосье издевается? Я говорю про версию iptables(user-space), вопрос совместимости с ядерными модулями netfilter это другое.

linvinus
08-09-2010, 13:05
Мосье издевается? Я говорю про версию iptables(user-space), вопрос совместимости с ядерными модулями netfilter это другое.

не издеваюсь, я изначально планировал использовать iptables от debian, но получил глюки, создать цепочки можно а удалить нельзя.
пришлось пакет собирать из ваших исходников. Поэтому решил, что netfilter тоже старый.

lly
08-09-2010, 13:18
не издеваюсь
это было про usb

я изначально планировал использовать iptables от debian, но получил глюки, создать цепочки можно а удалить нельзя.
пришлось пакет собирать из ваших исходников. Поэтому решил, что netfilter тоже старый.
см. iptables/604-match-speedup.patch

Ну частями он обновлён, но в целом пока староват.

linvinus
08-09-2010, 14:18
это было про usb

см. iptables/604-match-speedup.patch

Ну частями он обновлён, но в целом пока староват.

понял спасибо, буду экспериментировать.

linvinus
08-09-2010, 17:39
Я чето не понял в этой теме ничего. Для чего надо собирать драйвер и что он делает?
А по ссылкам пройтись? В гугле набрать ndas?
Судя по всему, для работы с плеером, используется особый протокол ndas, под линукс есть исходники.

lly , позвольте ещё немного помучать жизненными вопросами.
каким образом вы проверяете работу прошивки?
каждый раз прошиваете? или есть вариант загрузки по tftp?
Наверное есть какой то ресурс у фелшки, сколько раз её можно перепрошивать?

theMIROn
08-09-2010, 17:43
каким образом вы проверяете работу прошивки?в реальной работе в реальных условиях и на импровизированных стендах

каждый раз прошиваете? или есть вариант загрузки по tftp?
самое простое - прошиться.
по tftp/pxe возможность есть, однако я лично ни разу не пробовал. Так же возможно загрузиться с флешки, но эту возможность еще не подправили.

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

lly
08-09-2010, 17:54
каким образом вы проверяете работу прошивки?
В основном - на стенде. На компе есть вторая сетёвка на которую повешены pptpd + l2tpd. Ну и кучка USB девайсов тоже имеется.

каждый раз прошиваете? или есть вариант загрузки по tftp?
Смотря что тестируем - если ядро/init, то да. Если приложение - то с флешки.
Вариант с tftp увы нерабочий на 500gP, надо править CFE, а лениво и программатора под рукой нет. На N16 должен работать, но не проверял.

linvinus
08-09-2010, 18:00
в реальной работе в реальных условиях и на импровизированных стендах

самое простое - прошиться.
по tftp/pxe возможность есть, однако я лично ни разу не пробовал. Так же возможно загрузиться с флешки, но эту возможность еще не подправили.

Спасибо посмотрю.

Заргузка с флешки, имеется ввиду загрузка ядра + базововый образ(на подобии initrd) а затем монтирование флешки и pivot_root в неё?
Я сейчас так и гружусь.

Насколько я понимаю закрузчик CFE грузит ядро и образ из /dev/mtdblock2
сам CFE вроде не умеет грузить с флешки.



ресурс флешки можно найти в интернете, и врядли убитая флешка будет "не гарантийным" случаем ;)
Да но чтобы получить доступ к консоли по RS-232 пришлось сорвать пломбу.
Я пока разбирался что к чему уже раз тридцать прошился.

Судя по документации 100 000 циклов перезаписи.

linvinus
08-09-2010, 20:18
разобрался с тормозами при работе по usb, заменил флешку жёстким диском
теперь всё летает.
65Мб свободной памяти это перебор, оставил
vm.min_free_kbytes=11313

theMIROn
08-09-2010, 20:28
разобрался с тормозами при работе по usb, заменил флешку жёстким диском
теперь всё летает.
65Мб свободной памяти это перебор, оставил
vm.min_free_kbytes=11313

так по умолчанию там ~1400 для резервирования памяти на ядро для 128 мб памяти.

linvinus
09-09-2010, 07:24
так по умолчанию там ~1400 для резервирования памяти на ядро для 128 мб памяти.

со значением по умолчанию у меня стабильно падало ядро.

Omega
09-09-2010, 08:56
Уважаемые модераторы !

Предлагается перенести посты про сборку прошивки отсюда в
профильную тему (чтобы не затерялись в этой раздутой теме): ;)

Сборка прошивки: http://wl500g.info/showthread.php?t=15702 :rolleyes:

См. также : http://wl500g.info/showpost.php?p=209435&postcount=3046
http://wl500g.info/showpost.php?p=208920&postcount=2998 :cool:

lly
09-09-2010, 08:58
Omega
Поддерживаю!

linvinus
10-09-2010, 07:37
Хорошо продолжаю обсуждение сборки и модернизации тут:

lly, посмотрел патчи для netfilter, и iptables понял в чём проблема.
молодцы что выделили это в виде патчей, в исходниках от асуса всё в кучу. Портировать наверное можно, но мне важнее совместимость с дебианом.

theMIROn
10-09-2010, 21:04
мда, слишком шибко работает, срезает начисто...

paramama
13-10-2010, 12:17
Добрый день, вот тут такая проблема. Я почитал как собирать прошивки для роутеров. Предположим я ее собрал, установил и получил роутер выполняющий стандартные функции. Но что нужно поменять и главное в каких файлах прошивки, чтобы после ее сборки и запуска роутера, у меня выводилась надпись Hello Word и всё - все события прекращались бы. Вообще мне необходимо написать свой функционал вот и пытаюсь узнать откуда толкаться

VladMgn
04-12-2010, 08:52
Извиняюсь, что не в тему форума, я думаю здесь есть люди, которые мне подскажут как извлечь, разобрать, прошивку - http://depositfiles.com/files/n7xvv0mzt, чтобы можно было поправить и собрать обратно..

AlexeyS
31-01-2011, 09:49
Кстати, а почему если я в конфиге прошивки пишу CONFIG_PPP=n и далее make oldconf, то в конфиге ядра CONFIG_PPP, автоматом не сбрасывается? Более того, если ручками подправить конфиг ядра, то периодически восстанавливается CONFIG_PPP=y (после make oldconf)!?
Простой патч ситуацию исправляет:


--- Makefile.top.orig<->2011-01-31 11:45:40.000000000 +0300
+++ ./Makefile.top<---->2011-01-31 11:44:25.000000000 +0300
@@ -519,6 +519,7 @@
$(LINUXDIR)/.config: .config
<----->cp $(LINUXDIR)/arch/mips/defconfig-bcm947xx $@
<----->$(call SwitchConfParam,$@,CONFIG_IPV6,$(if $(CONFIG_IPV6),y,n))
+<----->$(call SwitchConfParam,$@,CONFIG_PPP,$(if $(CONFIG_PPP),y,n))
.
#
# Overrides

lly
31-01-2011, 10:17
Кстати, а почему если я в конфиге прошивки пишу CONFIG_PPP=n и далее make oldconf, то в конфиге ядра CONFIG_PPP, автоматом не сбрасывается?
Потому что эти связки не очевидны. По изначальному смыслу в конфиге прошивки это отключение только PPPoE, а в ядре CONFIG_PPP это гораздо больше (PPPoE/l2tp/pptp).

А так нужно ли наводить порядок в этой части? Очень много параметров в конфиге прошивки остались исторически от Broadcom SDK & ASUS'а, и объём работ на причёсывание большой...

AlexeyS
31-01-2011, 10:53
А так нужно ли наводить порядок в этой части? Очень много параметров в конфиге прошивки остались исторически от Broadcom SDK & ASUS'а, и объём работ на причёсывание большой...

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

lly
31-01-2011, 10:59
Просто, есть подозрения, что лишние драйвера в ядре тормозят роутер при большом потоке на интерфейсе (мультикаст).
Драйвера - нет. А вот части netfilter, NAT, роутинга, сборщики фрагментов - да. И не забудь про жёсткую завязку драйвера WiFi на sk_buff

AlexeyS
31-01-2011, 11:15
Драйвера - нет. А вот части netfilter, NAT, роутинга, сборщики фрагментов - да. И не забудь про жёсткую завязку драйвера WiFi на sk_buff

Ну, естественно и эти части тоже отключаю, ну и IPV6 заодно... А вот насчёт sk_buff надо будет посмотреть, что там к чему, но пока вроде WiFi работал без проблем.

iSage
11-02-2011, 13:58
Пара вопросов:
Поскольку никакой конфигурялки при сборке нет, а мне нужен дополнительный модуль (cdc_ether), то я поступил так: собрал прошивку, потом пошел в директорию с ядром, и через make menuconfig включил нужное мне. После чего пересобрал прошивку вновь.
Корректно ли это?

Вопрос второй: есть ли безболезненный метод убрать/добавить что-либо из конфига ядра/busybox/etc и сделать добавление этого в образ рутфс, без правки мейкфайла в gateway?

lly
11-02-2011, 19:28
Пара вопросов:
Поскольку никакой конфигурялки при сборке нет, а мне нужен дополнительный модуль (cdc_ether), то я поступил так: собрал прошивку, потом пошел в директорию с ядром, и через make menuconfig включил нужное мне. После чего пересобрал прошивку вновь.
Корректно ли это?
Если данная версия модуля устраивает и он собрался, то почему нет? Процесс сборки ядра/модулей не отличается от ванильного с kernel.org


Вопрос второй: есть ли безболезненный метод убрать/добавить что-либо из конфига ядра/busybox/etc и сделать добавление этого в образ рутфс, без правки мейкфайла в gateway?
busybox сам всё корректно инсталлирует, а для остального надо править Makefile

featZima
11-02-2011, 20:53
если можно попросить, включите в прошивку такой патч http://www.mail-archive.com/netdev@vger.kernel.org/msg60638.html

lly
11-02-2011, 22:38
если можно попросить, включите в прошивку такой патч http://www.mail-archive.com/netdev@vger.kernel.org/msg60638.html
Одного этого патча мало - там серия из 4 патчей плюс нужна поддержка в tc (iproute2). Возможно займёмся, но не сейчас.


Это понятно. До этого мне далековато. Я имел ввиду, что если там какой-то мод igmpproxy или что-то подобное, то этот бинарник можно скопировать в dd-wrt и запустить.
Для модулей ядра подобные методы не прокатывают. Особенно для специально искорёженного ядра DD-WRT чтобы не скопировали их "ценный" драйвер WiFi.

pilson66
12-02-2011, 08:12
Пытался собрать rtn прошивку из svn (2585) по гайду (https://code.google.com/p/wl500g/wiki/CompilingCustomFirmware), но на пункте 4.1 получаю ошибку:

pilson@xen2:/usr/src/rtn/broadcom/src/1.9.2.7-rtn$ make
svnversion -c 2>/dev/null | sed "s/.*://" > /usr/src/rtn/broadcom/src/gateway/.svnrev
make -C /usr/src/rtn/broadcom/src/linux/linux-2.6 include/linux/version.h
make[1]: Entering directory `/usr/src/rtn/broadcom/src/linux/linux-2.6.22.19'
CHK include/linux/version.h
make[1]: Leaving directory `/usr/src/rtn/broadcom/src/linux/linux-2.6.22.19'
make -C /usr/src/rtn/broadcom/src/gateway .config
grep: /usr/src/rtn/broadcom/src/linux/linux-2.6/include/linux/utsrelease.h: No such file or directory
make[1]: Entering directory `/usr/src/rtn/broadcom/src/gateway'
make[1]: `.config' is up to date.
make[1]: Leaving directory `/usr/src/rtn/broadcom/src/gateway'
tar -xjf samba/samba-2.0.10.tar.bz2 -C /usr/src/rtn/broadcom/src/gateway
/usr/src/rtn/broadcom/src/1.9.2.7-rtn/patch.sh -Z /usr/src/rtn/broadcom/src/gateway/samba-2.0.10 samba/001-common.patch samba/002-security.patch samba/003-writex.patch samba/004-vista.patch samba/005-2k3sp1-rpc.patch samba/006-nt-ioctl.patch samba/007-mount.patch samba/010-cp1251.patch samba/011-utf8.patch samba/020-gcc34.patch samba/100-cifs-flags-compat.patch samba/101-clear-client-info.patch samba/400-enhanced_attributes.patch
Looking for last applied patch
Patching /usr/src/rtn/broadcom/src/gateway/samba-2.0.10 with samba/001-common.patch samba/002-security.patch samba/003-writex.patch samba/004-vista.patch samba/005-2k3sp1-rpc.patch samba/006-nt-ioctl.patch samba/007-mount.patch samba/010-cp1251.patch samba/011-utf8.patch samba/020-gcc34.patch samba/100-cifs-flags-compat.patch samba/101-clear-client-info.patch samba/400-enhanced_attributes.patch
samba/001-common.patch
patching file source/include/smb.h
patching file source/Makefile.in
patching file source/nmbd/nmbd_mynames.c
patching file source/smbd/close.c
patching file source/smbd/ipc.c
patching file source/smbd/negprot.c
patching file source/smbd/password.c
patching file source/smbd/process.c
patching file source/smbd/reply.c
patching file source/smbd/server.c
patching file source/smbd/service.c
patching file source/utils/smbpasswd.c
patching file source/web/swat.c
samba/002-security.patch
patching file source/include/smb.h
Hunk #1 succeeded at 272 (offset 16 lines).
Hunk #2 succeeded at 1912 (offset 18 lines).
patching file source/include/version.h
patching file source/smbd/filename.c
patching file source/smbd/ipc.c
Hunk #1 succeeded at 3556 (offset 6 lines).
Hunk #2 succeeded at 3578 (offset 6 lines).
Hunk #3 succeeded at 3631 (offset 6 lines).
Hunk #4 succeeded at 3642 (offset 6 lines).
Hunk #5 succeeded at 3667 (offset 6 lines).
Hunk #6 succeeded at 3736 (offset 6 lines).
patching file source/smbd/nttrans.c
patching file source/smbd/password.c
patching file source/smbd/reply.c
patching file source/smbd/trans2.c
samba/003-writex.patch
patching file source/include/smb.h
patching file source/lib/util_sock.c
patching file source/smbd/oplock.c
patching file source/smbd/process.c
patching file source/smbd/reply.c
samba/004-vista.patch
patching file source/smbd/nttrans.c
patching file source/rpc_server/srv_pipe.c
patching file source/smbd/process.c
samba/005-2k3sp1-rpc.patch
patching file source/rpc_parse/parse_rpc.c
samba/006-nt-ioctl.patch
patching file source/smbd/nttrans.c
samba/007-mount.patch
patching file source/client/smbmnt.c
patching file source/client/smbmount.c
patching file source/client/smbumount.c
samba/010-cp1251.patch
patching file source/lib/charcnv.c
samba/011-utf8.patch
patching file source/lib/util_unistr.c
patching file source/lib/kanji.c
patching file source/include/kanji.h
samba/020-gcc34.patch
patching file source/include/proto.h
patching file source/lib/debug.c
samba/100-cifs-flags-compat.patch
patching file source/smbd/nttrans.c
samba/101-clear-client-info.patch
patching file source/smbd/server.c
samba/400-enhanced_attributes.patch
patching file source/smbd/trans2.c
tar -xzvf samba/samba-2.0.10-codepages.tar.gz -C /usr/src/rtn/broadcom/src/gateway/samba-2.0.10
source/
source/codepages/
source/codepages/codepage.866
source/codepages/codepage.850
source/codepages/unicode_map.850
source/codepages/unicode_map.852
source/codepages/codepage.437
source/codepages/unicode_map.437
source/codepages/codepage.852
source/codepages/unicode_map.866
mv /usr/src/rtn/broadcom/src/gateway/samba-2.0.10 /usr/src/rtn/broadcom/src/gateway/samba
tar -xjf bpalogin.tar.bz2 -C /usr/src/rtn/broadcom/src/gateway
[ ! -f bpalogin.patch ] || /usr/src/rtn/broadcom/src/1.9.2.7-rtn/patch.sh -Z /usr/src/rtn/broadcom/src/gateway/bpalogin bpalogin.patch
tar -xjf jpegsrc.v8b.tar.bz2 -C /usr/src/rtn/broadcom/src/gateway
[ ! -f jpeg-8b.patch ] || /usr/src/rtn/broadcom/src/1.9.2.7-rtn/patch.sh -Z /usr/src/rtn/broadcom/src/gateway/jpeg-8b jpeg-8b.patch
tar -xjf mjpg-streamer/mjpg-streamer-r103.tar.bz2 -C /usr/src/rtn/broadcom/src/gateway
/usr/src/rtn/broadcom/src/1.9.2.7-rtn/patch.sh -Z /usr/src/rtn/broadcom/src/gateway/mjpg-streamer mjpg-streamer/000-build.patch mjpg-streamer/001-so-path.patch mjpg-streamer/002-pidfile.patch mjpg-streamer/003-memleaks.patch
Looking for last applied patch
Patching /usr/src/rtn/broadcom/src/gateway/mjpg-streamer with mjpg-streamer/000-build.patch mjpg-streamer/001-so-path.patch mjpg-streamer/002-pidfile.patch mjpg-streamer/003-memleaks.patch
mjpg-streamer/000-build.patch
patching file mjpg-streamer/Makefile
patching file mjpg-streamer/plugins/input_control/Makefile
patching file mjpg-streamer/plugins/input_file/Makefile
patching file mjpg-streamer/plugins/input_gspcav1/Makefile
patching file mjpg-streamer/plugins/input_testpicture/Makefile
patching file mjpg-streamer/plugins/input_uvc/Makefile
patching file mjpg-streamer/plugins/input_uvc/v4l2uvc.h
patching file mjpg-streamer/plugins/output_autofocus/Makefile
patching file mjpg-streamer/plugins/output_file/Makefile
patching file mjpg-streamer/plugins/output_http/httpd.c
patching file mjpg-streamer/plugins/output_http/Makefile
patching file mjpg-streamer/plugins/output_udp/Makefile
patching file mjpg-streamer/plugins/output_viewer/Makefile
patching file uvc-streamer/Makefile
patching file uvc-streamer/v4l2uvc.h
mjpg-streamer/001-so-path.patch
patching file mjpg-streamer/Makefile
patching file mjpg-streamer/mjpg_streamer.c
mjpg-streamer/002-pidfile.patch
patching file mjpg-streamer/mjpg_streamer.c
patching file mjpg-streamer/mjpg_streamer.h
mjpg-streamer/003-memleaks.patch
patching file mjpg-streamer/plugins/input_uvc/v4l2uvc.c
tar -xzf ntfs-3g/ntfs-3g-2011.1.15.tgz -C /usr/src/rtn/broadcom/src/gateway
/usr/src/rtn/broadcom/src/1.9.2.7-rtn/patch.sh -Z /usr/src/rtn/broadcom/src/gateway/ntfs-3g-2011.1.15
Looking for last applied patch
mv /usr/src/rtn/broadcom/src/gateway/ntfs-3g-2011.1.15 /usr/src/rtn/broadcom/src/gateway/ntfs-3g
[ -d /usr/src/rtn/broadcom/src/gateway/upnp ] || \
tar -xjf upnp.tar.bz2 -C /usr/src/rtn/broadcom/src/gateway
[ ! -f upnp.diff ] || /usr/src/rtn/broadcom/src/1.9.2.7-rtn/patch.sh -Z /usr/src/rtn/broadcom/src/gateway upnp.diff
Looking for last applied patch
upnp.diff already applied
tar -zxf libbcmcrypto-5.20.41.tar.gz -C /usr/src/rtn/broadcom/src/gateway
/usr/src/rtn/broadcom/src/1.9.2.7-rtn/patch.sh /usr/src/rtn/broadcom/src/gateway/libbcmcrypto libbcmcrypto-5.20.41.patch
Looking for last applied patch
Patching /usr/src/rtn/broadcom/src/gateway/libbcmcrypto with libbcmcrypto-5.20.41.patch
libbcmcrypto-5.20.41.patch
patching file Makefile
tar -C /usr/src/rtn/broadcom/src -xjf asustrx.tar.bz2
tar -C . --exclude .svn -cf - dhcpv6 | tar -C /usr/src/rtn/broadcom/src/gateway -xf -
tar: dhcpv6: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors

Sources prepared for compilation

Забыли добавить dhcpv6 в репозиторий?

данные системы:

pilson@xen2:/usr/src/rtn/broadcom/src/1.9.2.7-rtn$ uname -a
Linux xen2 2.6.32-5-xen-amd64 #1 SMP Wed Jan 12 05:46:49 UTC 2011 x86_64 GNU/Linux
pilson@xen2:/usr/src/rtn/broadcom/src/1.9.2.7-rtn$ cat /etc/issue.net
Debian GNU/Linux 6.0

P.S. Как в этом форуме прятать текст под спойлер?
P.S.2 Исправил содержание ошибки на первоначальную, до экспериментов.

iSage
12-02-2011, 08:35
Пытался собрать rtn прошивку из svn (2585) по гайду, но на пункте 4.1 получаю ошибку:

Я так понимаю это нормально, дальше все в любом случае собирается.

lly
12-02-2011, 08:42
Забыли добавить dhcpv6 в репозиторий?
Забыл убрать после переноса в busybox, поправил в r2586. Спасибо за репорт.


Я так понимаю это нормально, дальше все в любом случае собирается.
да

pilson66
12-02-2011, 08:44
Ага, спасибо, теперь обновил до 2586, доставил несколько пакетов в систему, пошло дальше, до пункта 4.2, собирается...
Также я наблюдаю в п.4.1 много ругани типа
Hunk #3 succeeded at 971 (offset 62 lines).
Hunk #4 succeeded at 1051 (offset 67 lines).
Hunk #5 succeeded at 1090 (offset 15 lines).
Это вроде как и нормально, но его не должно быть.

pilson66
12-02-2011, 09:29
Теперь застрял вот тут:

[ ! -d radvd ] || make -C radvd EXTRACFLAGS="-mips32 -mtune=mips32 -Wno-pointer-sign -DBCMWPA2 -DLINUX26"
make[1]: Entering directory `/usr/src/rtn/broadcom/src/gateway/radvd'
make all-am
make[2]: Entering directory `/usr/src/rtn/broadcom/src/gateway/radvd'
/bin/bash ./ylwrap scanner.l .c scanner.c -- /bin/bash /usr/src/rtn/broadcom/src/gateway/radvd/missing --run flex
make[2]: *** [scanner.c] Error 1
make[2]: Leaving directory `/usr/src/rtn/broadcom/src/gateway/radvd'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/src/rtn/broadcom/src/gateway/radvd'
make: *** [radvd] Error 2

Перед этим ругалось что отсутствует flex - установил.

AlexeyS
12-02-2011, 09:30
Hunk #4 succeeded at 1051 (offset 67 lines).
Hunk #5 succeeded at 1090 (offset 15 lines).[/code]
Это вроде как и нормально, но его не должно быть.

Патчи создавались для более ранних версий файлов, потому это нормально.

pilson66
12-02-2011, 15:51
Вобщем что я хочу сказать.
На x86_64 операционке прошивка собираться отказалась
На x86 - собралась без проблем.

lly
12-02-2011, 17:34
На x86_64 операционке прошивка собираться отказалась
У меня OpenSUSE 11.3 x86_64 - собирается как-то :p

theMIROn
12-02-2011, 20:01
Вобщем что я хочу сказать.
На x86_64 операционке прошивка собираться отказалась
На x86 - собралась без проблем.

постарайтесь сделать как все, выкинуть make 3.82 :)

pilson66
12-02-2011, 20:24
да как бы не 3.82 совсем...

pilson@xen2:~$ make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for x86_64-pc-linux-gnu

theMIROn
12-02-2011, 20:28
ок. у меня и леонида собирается, только что проверил.

lly
12-02-2011, 20:29
ок. у меня и леонида собирается, только что проверил.
У меня make 3.81, даже по-моему не первый раз в форуме об этом пишу ;)

pilson66
12-02-2011, 21:25
ок. у меня и леонида собирается, только что проверил.
Хм...
Пересоздал заново - все собралось нормально. Мистика...

FilimoniC
14-02-2011, 19:44
Прошу помощи. не собирается


HN root@KAORI> svn up
At revision 2601.
......
HN root@KAORI> make
grep: /opt/wl500g-f/broadcom/src/linux/linux-2.6/include/linux/utsrelease.h: No such file or directory
[ ! -d libbcmcrypto ] || make -C libbcmcrypto EXTRACFLAGS="-mips32 -mtune=mips32 -Wno-pointer-sign -DBCMWPA2 -DLINUX26"
find: `/opt/wl500g-f/broadcom/src/gateway/mipsel-uclibc/target'/bin/sh: file: not found
: No such file or directory
make[1]: Entering directory `/opt/wl500g-f/broadcom/src/gateway/libbcmcrypto'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/wl500g-f/broadcom/src/gateway/libbcmcrypto'
make -C libusb10
make[1]: Entering directory `/opt/wl500g-f/broadcom/src/gateway/libusb10'
make all-recursive
make[2]: Entering directory `/opt/wl500g-f/broadcom/src/gateway/libusb10'
Making all in libusb
make[3]: Entering directory `/opt/wl500g-f/broadcom/src/gateway/libusb10/libusb'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/opt/wl500g-f/broadcom/src/gateway/libusb10/libusb'
Making all in doc
make[3]: Entering directory `/opt/wl500g-f/broadcom/src/gateway/libusb10/doc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/opt/wl500g-f/broadcom/src/gateway/libusb10/doc'
make[3]: Entering directory `/opt/wl500g-f/broadcom/src/gateway/libusb10'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/opt/wl500g-f/broadcom/src/gateway/libusb10'
make[2]: Leaving directory `/opt/wl500g-f/broadcom/src/gateway/libusb10'
make[1]: Leaving directory `/opt/wl500g-f/broadcom/src/gateway/libusb10'
make -C /opt/wl500g-f/broadcom/src/linux/linux-2.6 include/linux/version.h
make[1]: Entering directory `/opt/wl500g-f/broadcom/src/linux/linux-2.6.22.19'
CHK include/linux/version.h
make[1]: Leaving directory `/opt/wl500g-f/broadcom/src/linux/linux-2.6.22.19'
make -C /opt/wl500g-f/broadcom/src/linux/linux-2.6 include/linux/autoconf.h
make[1]: Entering directory `/opt/wl500g-f/broadcom/src/linux/linux-2.6.22.19'
make[1]: Nothing to be done for `include/linux/autoconf.h'.
make[1]: Leaving directory `/opt/wl500g-f/broadcom/src/linux/linux-2.6.22.19'
make -C iptables BINDIR=/usr/sbin LIBDIR=/usr/lib KERNEL_DIR=/opt/wl500g-f/broadcom/src/linux/linux-2.6 COPT_FLAGS="-Os -mips32 -mtune=mips32 -Wno-pointer-sign -DBCMWPA2 -DLINUX26" EXTRA_LDFLAGS="-Wl,-rpath /lib" DO_MULTI=1
make[1]: Entering directory `/opt/wl500g-f/broadcom/src/gateway/iptables'
make[1]: Nothing to be done for `default'.
make[1]: Leaving directory `/opt/wl500g-f/broadcom/src/gateway/iptables'
[ ! -d netconf ] || make -C netconf EXTRACFLAGS="-mips32 -mtune=mips32 -Wno-pointer-sign -DBCMWPA2 -DLINUX26"
make[1]: Entering directory `/opt/wl500g-f/broadcom/src/gateway/netconf'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/wl500g-f/broadcom/src/gateway/netconf'
[ ! -d shared ] || make -C shared EXTRACFLAGS="-mips32 -mtune=mips32 -Wno-pointer-sign -DBCMWPA2 -DLINUX26"
make[1]: Entering directory `/opt/wl500g-f/broadcom/src/gateway/shared'
mipsel-uclibc-gcc -I. -I/opt/wl500g-f/broadcom/src/include -I../httpd -Wall -mips32 -mtune=mips32 -Wno-pointer-sign -DBCMWPA2 -DLINUX26 -fPIC -s -O2 -c -o nvparse.o nvparse.c
nvparse.c:32:23: error: bcmconfig.h: No such file or directory
make[1]: *** [nvparse.o] Error 1
make[1]: Leaving directory `/opt/wl500g-f/broadcom/src/gateway/shared'
make: *** [shared] Error 2

theMIROn
14-02-2011, 20:00
Прошу помощи. не собирается

http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware

FilimoniC
14-02-2011, 20:44
http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware

вот эта строка смущает...

grep: /opt/wl500-f/broadcom/src/linux/linux-2.6/include/linux/utsrelease.h: No such file or directory

potap89
15-02-2011, 21:31
можно ли создать смесь оригинальной прошивки и прошивки от Олега?

что для этого потребуется и пинок в нужную сторону)

Omega
15-02-2011, 22:17
можно ли создать смесь оригинальной прошивки и прошивки от Олега?

что для этого потребуется и пинок в нужную сторону)
Если кто-нибудь ещё не в курсе, все асусовские прошивки уже были ранее доработаны Олегом для адаптации под российских ISP ... ;)
И пинки нужно адресовать только Асусу для скорейшего внесения в свои поделки всех новых фич прошивок Олега и энтузиастов ... :D

З.Ы. Кстати, в наших нетбайнетах эти прошивки работают отлично, в отличии от всяких корбилайнов и прочих остальных онлаймов ... :cool:

theMIROn
16-02-2011, 01:02
Если кто-нибудь ещё не в курсе, все асусовские прошивки уже были ранее доработаны Олегом для адаптации под российских ISP ... ;)
к сожалению требования и закидоны ISP периодически меняются


И пинки нужно адресовать только Асусу для скорейшего внесения в свои поделки всех новых фич прошивок Олега и энтузиастов ... :D
судя по бетам процессы в эту сторону и идут :)

Shoo
01-03-2011, 10:10
Свежий 2709:

./523-mcast1-common-code.patch
Can not apply ./523-mcast1-common-code.patch cleanly
make[1]: *** [patch] Ошибка 1
make[1]: Leaving directory `/asus/firmwarertn/1.9.2.7-rtn/kernel-2.6'
make: *** [kernel-patch] Ошибка 2


Дальше как снежный ком:



grep: /asus/firmwarertn/linux/linux-2.6/include/linux/utsrelease.h: No such file or directory

cp: cannot stat `/asus/firmwarertn/linux/linux-2.6/arch/mips/defconfig-bcm947xx': No such file or directory

и т.д.

Мои кривые руки?


[root@localhost asus]# patch -v
patch 2.5.4


[root@localhost asus]# make -v
GNU Make 3.81


[root@localhost asus]# gcc -v
Используются внутренние спецификации.
Целевая архитектура: i386-redhat-linux
Параметры конфигурации: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=i386-redhat-linux
Модель многопотоковости: posix
gcc версия 4.1.2 20080704 (Red Hat 4.1.2-48)


Собиралось скриптом от WPtE :)

theMIROn
01-03-2011, 10:16
patch 2.5.4
у меня 2.5.9, накладывается ок.

Shoo
01-03-2011, 11:20
у меня 2.5.9, накладывается ок.


$ patch -v
patch 2.6


Успешно собралось, спасибо.

dmolokanov
03-03-2011, 06:36
Есть задача: собрать из исходников прошивку от энтузиастов с ядром 2.6.х для роутера asus wl500gp v2.
Руководствовался вот этим мануалом: http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware
Сама сборка проходит нормально. А после перепрошивки роутер не подает признаков жизни. В чем может быть проблема?

FilimoniC
03-03-2011, 07:09
Есть задача: собрать из исходников прошивку от энтузиастов с ядром 2.6.х для роутера asus wl500gp v2.
Руководствовался вот этим мануалом: http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware
Сама сборка проходит нормально. А после перепрошивки роутер не подает признаков жизни. В чем может быть проблема?

Собрали не под тот роутер?

dmolokanov
03-03-2011, 07:15
Все может быть. А как выбрать модель роутера при сборке? в мануале этого нет.

vladislav152
03-03-2011, 07:19
Столкнулся вчера с такой же проблемой. И тоже пришел к выводу, что собирается не под тот роутер. Но нигде не найду как выбрать целевую платформу. Пробовал сборку разными toolchain. Но роутер все равно мигает лампочкой питания после прошивки.

ryzhov_al
03-03-2011, 07:21
Собрали не под тот роутер?
Во-первых, после сборки прошивки она в названии будет содержать в названии файла модель роутера, во-вторых файл прошивки имеет сигнатуру модели роутера, которая проверяется на валидность после загрузки прошивки в web-интерфейсе.

$ tail --bytes=160 /tmp/harddisk/downloads/completed/RT-N16-1.9.2.7-rtn-r2722.trx
RT-N16


Столкнулся вчера с такой же проблемой. И тоже пришел к выводу, что собирается не под тот роутер. Но нигде не найду как выбрать целевую платформу. Пробовал сборку разными toolchain. Но роутер все равно мигает лампочкой питания после прошивки.
Во вчерашней ревизии r2719 ветки RTN была проблема с iptables. В r2722 уже всё работает, проверено с последним тулчейном hndtools-mipsel-uclibc-4.3.5-K26-2.tar.bz2.

dmolokanov
03-03-2011, 07:24
вот результат выполнения команды:


tail --bytes=160 WL500gpv2-1.9.2.7-rtn-r2707.trx
 WL500gpv2

ryzhov_al
03-03-2011, 07:28
Все может быть. А как выбрать модель роутера при сборке? в мануале этого нет.
Неправда. п.4.2 (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware).

dmolokanov
03-03-2011, 07:33
Неправда. п.4.2 (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware).
И все? только так можно выбрать платформу? если да, то я так и сделал, но роутер не заводится(

ryzhov_al
03-03-2011, 07:43
И все? только так можно выбрать платформу? если да, то я так и сделал, но роутер не заводится(
Чтож, если у вас действительно wl500gp v2, а не D-Link DIR-320 с куцым флешем, то давайте дождёмся комментариев авторов прошивки.
Пока предлагаю освоить заход режим восстановления.

lly
03-03-2011, 07:58
Вопрос неоднократно уже обсасывался в форуме, зачем было заводить отдельную тему мне непонятно.

Резюме: ядро должно быть MIPS32R1, а автоматизация в Makefile зачастую пока хромает.

dmolokanov
03-03-2011, 08:33
Вопрос неоднократно уже обсасывался в форуме, зачем было заводить отдельную тему мне непонятно.

Резюме: ядро должно быть MIPS32R1, а автоматизация в Makefile зачастую пока хромает.

А в каком файле надо указать MIPS32R1?

AndreyUA
03-03-2011, 10:08
А в каком файле надо указать MIPS32R1?

make menuconfig
и где-то там :)

ryzhov_al
03-03-2011, 10:52
make menuconfig
и где-то там :)
В ./broadcom/src/linux/linux-2.6 ^)
Между п.4.1 и п.4.2 по инструкции (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware). В менюшке make menuconfig это "CPU Selection".