Автор |
Сообщение |
Dimerson Начинающий |
|
Хотел узнать нет ли энтузиастов сборки прошивок для Broadcom железок ?
Для своего DLINK 2640U (не BRU/D или BRU/D) я пересобрал прошивку из GPL сырцов
с поддержкой PPTP клиента. Все работает (pppd call provider приходится запускать телнетом т.к. cfm не обьехать ).
Хотел завершить данный процесс тем что обновить ADSL и WiFI драйвер (например от ZHONE 6218-I2-x0x)
У меня:
ADSL: A2pB023g2.d19b
WiFI: 3.131.35.0.cpe2.3
В ZHONE:
ADSL: A2pB024k1.d20h
WiFi: 3.1.31.35.4.cpe2.0
Слава богу прошивки разбирать получается (только единственным образом - монтировать с помощью модуля squashfs собранным под ядро на Linux-X86 из сырцов прошивки от броадкома).
С adsl вроде понятно - Скорее всего надо менять /etc/adsl_phy.bin.
(может и adslctl следом). с WiFi это я так понял ядерный модуль wl.ko ?
В общем заранее спасибо если есть советы по замене драйверов для сборки своей прошивки. |
|
|
|
|
BorPas Девелопер |
|
а зачем вообще обновлять модули адсла и wifi ? лучше они врядли будут работать |
|
|
|
|
rendy Гуру |
|
BorPas писал(а): |
а зачем вообще обновлять модули адсла и wifi ? лучше они врядли будут работать |
Ну не скажи. DSL-драйвер - DSP код - основной модуль системы, в который зашиты основные алгоритмы различных модуляций. Учитывая, например, не очень хорошую реализацию стандарта Annex M на Broadcom обновление dsl-модуля может изменить ситуацию.
По поводу Wi-Fi не в курсе, но из этой же области, только касаемо Wi-Fi части (производительность, улучшенная работа с тем или иным видом шифрования и т.д.). |
|
|
|
|
Dimerson Начинающий |
|
Про WiFi могу сказать следующее - перед Dlink'ом я на свою беду прикупил Zyxel 660HTW2 (тоже MIPS32 но от TrendChip) . Так он блин на WPA2 тоупо ребутился под небольшой нагрузкой. Пошивок не было с полгода никаких и только когда я его сбыл с глаз долой - сменил на Длинк вышла прошивка с правленным WiFi кодом (бета выдавалась саппортом по запросу).
Про WiFi поглядел там модуль ядра собирается - это бинарник с фирварью (обьектник) + обвязка снаружи с которой он линкуется так что просто его вынуть не получится.
Можно в тупую взять модуль ядра.
И длинковский и от ZHONE содержат vermagic=2.6.8.1 gcc-3.4 (оба одним тулчейном собраны и с одного ядра). |
|
|
|
|
sog Гуру |
|
|
|
|
Dimerson Начинающий |
|
ну ЖЖ Пудеева это знакомый ресурс.
Он то и сподвиг меня на ковыряние с прошивками.
но:
1. метода описанная там не распакоывает rootfs.bin правильно (все файлы размером > 32K набиты мусором и больше размером чем надо).
то есть у броадкома Squashfs-lzma нестандартный. метода как распаковать описана в http://www.piccato.it/wikies/openwgate/modulo_squashfs
(берем ванильное ядро накатываем патч и собираем со squashfs+LZMA).
Далее загрузившись этим патченным и собранным ядром монтируем
mount -o loop -t squashfs rootfs.bin /mnt и выдергиваем все что надо из
образа.
2. Проблем собственно со сборкой и модификацией GPL сырцов нет.
Вопрос в _нештатном_ обновлении драйверов adsl и wifi, а в идеале отказ от cfm (суперекзека что есть вебморда, telnetd, sshd читатель и писатель кофигов и запускатель всего).
к openwrt не отсылать ибо тк нет сырцов драйвера ADSL и те что есть бинарные только под древнее ядро они возиться не будут 100 пудов. |
|
|
|
|
tundra37 Начинающий |
|
Ну вот хоть теперь я не один ковыряю D-Link. Я правда пока только ls "вкомпилил" в busybox и научился готовить прошивку из "кусков". Сейчас пытаюсь разобраться, как правильно adsl_phy.bin подменить. Есть модем USR9107, который тоже на broadcom сделан, но умеет на Анексах-А и В работать. Так вот прошивки А и В отличаются двумя файлами - adsl_phy.bin и adsldd.ko Кстати, в исходниках они лежат в одной папке и в скрипте в соседних строчках. adsldd.ko кладут в папку /lib/modules/extra/2.6.8.1/extra - это и есть драйвера для железа модема. Само ядро абсолютно стандартное и там ничего внутри специфического нет, ну кроме поправок для MIPS и собственно broadcom. С Аннекс-М сложность в том, что пока у меня нет прошивок для сравнения, но вроде уже ясно, что atmapi.ko и blaa_dd.ko - это прослойка между программами и драйвером adsldd и менять их "вредно" скорее всего. Если никто не даст другой информации, то придется сравнивать дизассемблер и копать идеологию MIPS
Драйвер WiFi видел в той же папке, имя зависит от железа.
++++++++++++++++++++++++++
Кстати, итальянский патч я скачивал, но там только две версии. Я просто перекопировал некоторые файлы из исходников модема в исходники ядра 2.6.11.4 ( это Suse 9.3) и сделал ядро и драйвер, понимающий squashfs модема. Аналогично, думаю, можно к любому ядру приделать.
Прошивать буду собственный модем на пробу после 23 февраля. |
|
|
|
|
Dimerson Начинающий |
|
Ясно - спасибо за ответ. С итальянским патчем проще всего:
распаковали ядо в /usr/src/linux
и в нем patch -p1 < patchfile
далее make menuconfig и добавим это ядро в меню GRUB
(не забыть нужное ide и ext2/ext3 вкопилить если не возиться с inird).
по апдейту фирмвари сейчас выясняю у французов с neubox4 (в тч и у florian - Чел что делает броадком драйверы для ядра bcm63xx)
P.S. А нет ли у вас идеи как избавиться от cfm ? на крайняк cfe всегда есть для смены прошивки а остальное хоть текстовым скриптом пускать из profile ...
Буржуи советуют заменить все из новой прошивки (в моем случае это от ZHONE):
wl.ko,adsl-phy.bin,atmapi.ko, blaa_dd.ko & atmapi.ko и blaa_dd.ko
то есть разобрать прошивку подменить файлы и залить ее в модем.
собирать фирмварь из бинарников (не сыцов) я не пробовал ... надо решиться вот.
P.P.S. Вот что бают французы:
<obinou> maybe wait just a bit for the new realease of neufbox4 : It is build over OpenWRT and will have to include the adsl drivers for the new kernels...
но их NeufBox4 на BCM6358 Последний раз редактировалось: Dimerson (Ср 4-02-09 : 23-37), всего редактировалось 1 раз |
|
|
|
|
tundra37 Начинающий |
|
Dimerson писал(а): |
по апдейту фирмвари сейчас выясняю у французов с neubox4 (в тч и у florian - Чел что делает броадком драйверы для ядра bcm63xx)
P.S. А нет ли у вас идеи как избавиться от cfm ? на крайняк cfe всегда есть для смены прошивки а остальное хоть текстовым скриптом пускать из profile ...
Буржуи советуют заменить все из новой прошивки (в моем случае это от ZHONE):
wl.ko,adsl-phy.bin,atmapi.ko, blaa_dd.ko & atmapi.ko и blaa_dd.ko
то есть разобрать прошивку подменить файлы и залить ее в модем. |
1) Про neubox4 в курсе, но они там модернизируют во все стороны(вроде уже nb5 есть) и опять же француский тяжко дается.
2) cfm - ну в мобльниках на swift вся прошивка это большой cfm. Разбираются в структуре, ищут подфункции и патчат бинарно.
А избавиться - декомпилировать и сделать исходники. Правда до Си тяжело довести, хотя если несколько человек, то не проблема.
Увы я могу только сделать декомпиляцию и поруководить. На полную силу построением исходников не могу заняться.
Но мне казалось, что cfm - это конфигуратор + веб-сервер и значит его можно безболезненно удалить, если вытащить зашитые в нем скрипты и написать простой текстово-менюшный конфигуратор, как в других модемах.
3) два раза указаны atmapi.ko и blaa_dd - надо добавить adsldd.ko |
|
|
|
|
Dimerson Начинающий |
|
там все тупо - прямо в бинарнике видно какие команды он запускает.
я бы во-первых вынес оттуда все что касается iptables:
то есть честные ip-up и ip-down для любых интерфейсов (ppp* имею в виду или там atm* - не юзал ppoa ни разу) - без портфорвардинга это очень просто
в ip-up:
iptables -t nat -A POSTROUTING -o $1 -s 192.168.1.0/255.255.255.0 -j MASQUERADE
iptables -A INPUT -s 0.0.0.0/0.0.0.0 -i $1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0.0.0.0 -i $1 -j DROP
в ip-down:
iptables -t nat -D POSTROUTING -o $1 -s 192.168.1.0/255.255.255.0 -j MASQUERADE
iptables -D INPUT -s 0.0.0.0/0.0.0.0 -i $1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -D INPUT -s 0.0.0.0/0.0.0.0 -i $1 -j DROP
то есть для любого паблик интерфейса поднимается нат и фильтры на входящий трафик.
опять же ppp_x_yy_z (ppoe) однозначно должен поднимать дефолт
если pptp_client как у меня то сохранять поднятый дефолт, чуть править таблицу маршрцтизации.
то есть чисто текстовый cli как в cisco устроил бы до безобразия.
проблема в том как сохранить конфиг. Как я понял у броадкома он ложится в свой /dev/mtdX в виде блоба а не на файловую систему.
с wlan не глядел пристально но там конфиг более изуверский.
В конце концов юниксы обходятся чез cfm сделать запуск всего на свете из profile с проверкой параметров и если параметр указывает на запуск чего-нибудь с подстановкой параметров из конфига.
рестарт сервисов на ходу это имхо лишнее. ребут железки очень быстр. |
|
|
|
|
tundra37 Начинающий |
|
Dimerson писал(а): |
P.P.S. Вот что бают французы:
<obinou> maybe wait just a bit for the new realease of neufbox4 : It is build over OpenWRT and will have to include the adsl drivers for the new kernels...
но их NeufBox4 на BCM6358 |
В 6338-PB00-R.pdf утверждается, что он совместим полностью
Fully backward-compatible with Broadcom’s existing
BCM6345, BCM6335, and BCM6348 software and toolchain
В 58-м больше специальных регистров, судя по исходникам. |
|
|
|
|
tundra37 Начинающий |
|
Dimerson писал(а): |
по апдейту фирмвари сейчас выясняю у французов с neubox4 (в тч и у florian - Чел что делает броадком драйверы для ядра bcm63xx)
.......................................
Буржуи советуют заменить все из новой прошивки (в моем случае это от ZHONE):
wl.ko,adsl-phy.bin,atmapi.ko, blaa_dd.ko & atmapi.ko и blaa_dd.ko
P.P.S. Вот что бают французы:
...........................................
|
http://www.neufbox4.org/forum/viewtopic.php?pid=9568
Вот тут по французски базар начался про adsl_phy
К сожалению сути я так и не уловил - надо какие-то вызовы перестроить и про ATM там тоже есть(во 2-м сообщении). Дискуссия продолжается, там и флориан подсоединился. Кстати, судя по вики, состояние openwrt для bcm63xx фиговое - ядро они сделали, а драйвера не могут до ума довести. Там же написано, что без открытия исходников broadcom, это вряд ли будет сделано. К сожалению я французским абсолютно не владею, а авто-переводчики в области программирования плохо работают, а для французского вообще не видел... Полная декомпиляция драйвера - дело сложное, а без этого им не обойтись. Одно дело всунуть драйвер в одно устройство, а они хотят сделать универсальный дистрибутив для многих. Но все-таки я буду копать дальше. Хотел себе уже было купить девайс, в котором можно развернуться(в 2500 маловато мозгов), но ASUS WL-600g дороговато, а для идеального DSL-2650U нет исходников
Придется выбросить на 2500U TR69 и играть в "Тришкин кафтан". |
|
|
|
|
Smokeman Начинающий |
|
Любопытно, а можно встроить в прошивку модуль Traffic Inspector или шэйпер, для управления скоростью проводных и беспроводных клиентов? |
|
|
|
|
tundra37 Начинающий |
|
Smokeman писал(а): |
Любопытно, а можно встроить в прошивку модуль Traffic Inspector или шэйпер, для управления скоростью проводных и беспроводных клиентов? |
Основная проблема, что в этих модемах ядро 2.6.8.1, а все исходники и патчи ориентированы на более старшие версии и почему-то никто не хочет выяснять что надо поправить - слишком уж сложная кухня эти ядра + другой проц. Для x86 пишут многие, а вот под mips -гораздо меньше. Быстрее наладят OpenWRT |
|
|
|
|
Vitali86 Начинающий |
|
tundra37 писал(а): |
Кстати, судя по вики, состояние openwrt для bcm63xx фиговое - ядро они сделали, а драйвера не могут до ума довести.
а для идеального DSL-2650U нет исходников |
А можете как для D-Link DSL-2650U / BRU / D собрать прошивку на основе OpenWrt без модулей для ADSL? |
|
|
|
|
tundra37 Начинающий |
|
Vitali86 писал(а): |
tundra37 писал(а): |
Кстати, судя по вики, состояние openwrt для bcm63xx фиговое - ядро они сделали, а драйвера не могут до ума довести.
а для идеального DSL-2650U нет исходников |
А можете как для D-Link DSL-2650U / BRU / D собрать прошивку на основе OpenWrt без модулей для ADSL? |
Собрать, почти не проблема : надо конфиги подправить под железо именно 2650U. Но вот проблема : наверняка что-то не пойдет и в режиме : я собираю, вы проверяете - раньше появится версия OpenWRT под это дело. Как минимум, вы должны иметь UART и минимально знать Линукс. Но в этом случае вы можете сами собирать и "отлаживать". Под моим мудрым руководством |
|
|
|
|
free_net Начинающий |
|
|
|
|
antokha Начинающий |
|
Ребят, я конечно поздно с вопросом обращаюсь, но можно ли в D-Link DSL2640U прошить порт Ethernet-WAN вместо какого-либо из обычных портов Ethernet? Или вообще допаять ещё один разъём, так как микросхема это действие вроде бы позволяет. |
|
|
|
|
tundra37 Начинающий |
|
antokha писал(а): |
Ребят, я конечно поздно с вопросом обращаюсь, но можно ли в D-Link DSL2640U прошить порт Ethernet-WAN вместо какого-либо из обычных портов Ethernet? Или вообще допаять ещё один разъём, так как микросхема это действие вроде бы позволяет. |
Ethernet-WAN это вещь программная и никаким паяльником не заставишь стандартную прошивку работать в этом режиме. А вот "напильник" в умелых руках может настроить его на этот режим.
Обсуждалось на форуме D-Link
http://forum.dlink.ru/viewtopic.php?p=554603&highlight=#554603 |
|
|
|
|
Vitali86 Начинающий |
|
tundra37 писал(а): |
я собираю, вы проверяете - раньше появится версия OpenWRT под это дело. Как минимум, вы должны иметь UART и минимально знать Линукс. Но в этом случае вы можете сами собирать и "отлаживать". Под моим мудрым руководством |
Можно попробовать и + пользователи с http://forum.openwrt.org/viewtopic.php?pid=90138 думаю помогут |
|
|
|
|
|
Аватары: Вкл|Выкл ЮзерИнфо: Вкл|Выкл Подписи: Вкл|Выкл
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы можете скачивать файлы
|
|