MEGA на D-Link DIR-320

Post new topic   Reply to topic    DD-WRT Forum Forum Index -> Оборудование на основе Broadcom
Goto page 1, 2, 3, 4, 5, 6  Next

Нужно ли такое решение?
Да, можно сэкономить и получить полный функционал!
82%
 82%  [ 81 ]
Нет, нафига этот геморрой нужен?
8%
 8%  [ 8 ]
Не знаю, мне кажется слишком сложно.
9%
 9%  [ 9 ]
Total Votes : 98

Author Message
IronShaft
DD-WRT Novice


Joined: 01 Dec 2008
Posts: 19

PostPosted: Mon Dec 01, 2008 17:50    Post subject: MEGA на D-Link DIR-320 Reply with quote
Привет всем. Частенько пользуюсь советами других, решил тоже поделиться своим решением. Наверное кому-то будет актуально. Решение позволяет загружать и использовать полные прошивки (MEGA) на устройствах с флешками 4 мегабайта. Все ниже сказанное имеет отношение к Linux на рабочей станции и D-Link DIR-320. Как это сделать в винде - не знаю. Пользовался сим продуктом последний раз более двух лет назад.

1. Качаем прошивки.
Основную: http://www.dd-wrt.com/dd-wrtv2/downloads/others/eko/V24_TNG/svn11028/dd-wrt.v24-11028_NEWD_std-nokaid_usb.bin
Мегу: http://www.dd-wrt.com/dd-wrtv2/downloads/others/eko/V24_TNG/svn11028/dd-wrt.v24-11028_NEWD_mega.bin
Прошивки должны быть одинаковой версии. Можете взять актуальную, сейчас это последняя.

2. Качаем софт для распаковки.
http://www.dd-wrt.com/dd-wrtv2/downloads/others/tornado/firmwaremodkit2-new-LZMA/firmwaremodkit2_x86.tar.bz2
Это для 32 битной системы, для 64 бита лежит там-же.

3. Распаковываем фирмваре модкит.

4. Распаковываем прошивки в соответствующие папки.

5. Заходим в папку rootfs/sbin в основном имидже.

6. Перемещаем файл init в папку rootfs/usr/sbin

7. Создаем новый файл init, представляющий из себя скрипт:

Code:

#!/bin/sh
if [ $1 == "noinitrd" ] ; then
    insmod /lib/modules/`uname -r`/usbcore.o
    insmod /lib/modules/`uname -r`/usb-uhci.o
    insmod /lib/modules/`uname -r`/usb-ohci.o
    insmod /lib/modules/`uname -r`/ehci-hcd.o
    insmod /lib/modules/`uname -r`/scsi_mod.o
    insmod /lib/modules/`uname -r`/sd_mod.o
    insmod /lib/modules/`uname -r`/usb-storage.o
    insmod /lib/modules/`uname -r`/ext2.o
    sleep 8s
    mount -t proc none /proc
    mount -t ext2 -o noatime,nodiratime /dev/scsi/host0/bus0/target0/lun0/part1 /mnt
    if [ -x /mnt/sbin/init ] ; then
        mount -o move /proc /mnt/proc && \
        pivot_root /mnt /mnt/mnt && {
            mount -o move /mnt/dev /dev
            mount -o move /mnt/tmp /tmp
            mount -o move /mnt/jffs /jffs
            exec /sbin/init $*
        }

    else
        exec /usr/sbin/init $*
    fi
else
    exec /usr/sbin/init $*
fi


Не забываем сделать скрипт исполняемым.

8. Упаковываем прошивку, получившийся имидж шьем в роутер. В принципе, роутер уже работоспособен, он представляет собой роутер с прошивкой std_nokaid_usb.

9. Готовим USB флешку. Создаем на ней линукс раздел. Разделов может быть несколько, скрипт использует первый раздел. Раздел должен быть размером не менее 15 мегабайт. Но Вы же не проявите чудеса жадности и сделаете размер побольше, чтобы для jffs что-то осталось, правда?

10. Форматируем раздел в ext2. (Это ВАЖНО!)

11. Копируем содержимое rootfs МЕГА прошивки в свежеотформатированный раздел на флешке. Меняем владельца и группу всех файлов на root.

Вставляем USB флеху в роутер, включаем питание. Наслаждаемся возможностями прошивки MEGA. Very Happy

Надеюсь совместными усилиями мы доведем решение до совершенства. Из обнаруженных глюков - не работает перезагрузка как из веб интерфейса (только делает вид), так и из терминала (команда reboot). init 6 перегружает роутер, но как-то странно. Пока не разобрался из-за чего это происходит. Нужна ваша помощь. Может кто знает, как здесь реализована перезагрузка? И подправит скрипт соответствующим образом?

UPD: Проблему перезагрузки победил, методику и скрипт поправил. Готовую (патченную) прошивку можете взять здесь: http://www.palmtv.ru/files/dd-wrt.v24-11028_NEWD_std-nokaid_usb-4mega.bin
rootfs для USB: http://www.palmtv.ru/files/rootfs.tgz Laughing


Last edited by IronShaft on Tue Dec 02, 2008 11:07; edited 5 times in total
Sponsor
YuriKr
DD-WRT User


Joined: 18 Nov 2008
Posts: 275

PostPosted: Tue Dec 02, 2008 5:22    Post subject: Reply with quote
А флэшка какого объема требуется?
IronShaft
DD-WRT Novice


Joined: 01 Dec 2008
Posts: 19

PostPosted: Tue Dec 02, 2008 10:13    Post subject: Reply with quote
YuriKr wrote:
А флэшка какого объема требуется?

В DIR-320 стоит 4 мбайта. В принципе, можно попробовать загрузить MICRO на 2 МБайтную, в jffs загрузить модули для USB, поднять USB, поравить скрипт, чтобы jffs не перемонтировал... Но я не помню, а есть рутеры с 2 МБайтным флешем и USB портом?

Кроме всего прочего, в исходном сообщении было написано, какой нужен флеш. Laughing
YuriKr
DD-WRT User


Joined: 18 Nov 2008
Posts: 275

PostPosted: Tue Dec 02, 2008 10:21    Post subject: Reply with quote
IronShaft wrote:
YuriKr wrote:
А флэшка какого объема требуется?


...

Кроме всего прочего, в исходном сообщении было написано, какой нужен флеш. Laughing


Э, там сказано лишь: "9. Готовим USB флешку." А объем не указан Smile
IronShaft
DD-WRT Novice


Joined: 01 Dec 2008
Posts: 19

PostPosted: Tue Dec 02, 2008 10:32    Post subject: Reply with quote
YuriKr wrote:

Э, там сказано лишь: "9. Готовим USB флешку." А объем не указан Smile


А-а-а-а-а! Семен Семеныч... USB флешка... Не менее 15 Мегабайт. Laughing Поправлю исходное сообщение...
lightix
DD-WRT User


Joined: 03 Dec 2008
Posts: 111

PostPosted: Tue Dec 23, 2008 10:11    Post subject: Reply with quote
IronShaft
Насколько я понял, в данном случае прошивка во встоеной флеш-памяти роутера нужна только для того, чтобы роутер загрузился, подгрузились драйвера для usb, смонтировался раздел на usb флешке, и уже оттуда запускалась мега прошивка?
Интересно было бы попробовать такое на asus wl-520gc с 2мб флешем, но для этого нужно собрать прошивку с поддержкой usb и jffs (эдакий загрузчик прошивки с usb флеш-памяти), которая влезет в 2мб, и припаять на плату usb разъем Wink

_________________
DD-WRT v24 sp2 MEGA on ASUS wl-520gc [with USB]
Slayer_b
DD-WRT Novice


Joined: 20 Dec 2008
Posts: 45

PostPosted: Tue Dec 23, 2008 15:29    Post subject: Reply with quote
lightix wrote:
IronShaft
Насколько я понял, в данном случае прошивка во встоеной флеш-памяти роутера нужна только для того, чтобы роутер загрузился, подгрузились драйвера для usb, смонтировался раздел на usb флешке, и уже оттуда запускалась мега прошивка?
Интересно было бы попробовать такое на asus wl-520gc с 2мб флешем, но для этого нужно собрать прошивку с поддержкой usb и jffs (эдакий загрузчик прошивки с usb флеш-памяти), которая влезет в 2мб, и припаять на плату usb разъем Wink

+1,тем же вопросом интересуюсь,знать бы куда припаять,а так не проблема.....
lightix
DD-WRT User


Joined: 03 Dec 2008
Posts: 111

PostPosted: Tue Dec 23, 2008 15:43    Post subject: Reply with quote
разъем usb нашел, паяльник тоже, ухожу в линукс пытаться выкусить из прошивки как можно больше и запустить роутер с поддержкой юсб Smile
_________________
DD-WRT v24 sp2 MEGA on ASUS wl-520gc [with USB]
lightix
DD-WRT User


Joined: 03 Dec 2008
Posts: 111

PostPosted: Tue Dec 23, 2008 17:56    Post subject: Reply with quote
Для опытов взял micro-plus прошивку, выбросил из нее все что касалось pptp,pppoe,radius,tc а также web-интерфейс (он более 500кб тянет!), запихнул модули
usbcore.o usb-uhci.o usb-ohci.o ehci-hcd.o scsi_mod.o sd_mod.o usb-storage.o ext2.o и зачем-то jffs2.o (по идее то можно его не писать).
роутер завелся, правда без веб-интерфейса Smile) но при этом нормально функционирует (сейчас пишу через него).
почему то не реагирует на insmod, наверное в микро его нет Sad Пойду поставлю busybox от nokaid, как раз если выбросить jffs2.o, должен влезть

_________________
DD-WRT v24 sp2 MEGA on ASUS wl-520gc [with USB]
AndreyPopov
DD-WRT User


Joined: 15 May 2008
Posts: 432

PostPosted: Tue Dec 23, 2008 18:19    Post subject: Reply with quote
lightix wrote:
Для опытов взял micro-plus прошивку, выбросил из нее все что касалось pptp,pppoe,radius,tc а также web-интерфейс (он более 500кб тянет!), запихнул модули
usbcore.o usb-uhci.o usb-ohci.o ehci-hcd.o scsi_mod.o sd_mod.o usb-storage.o ext2.o и зачем-то jffs2.o (по идее то можно его не писать).
роутер завелся, правда без веб-интерфейса Smile) но при этом нормально функционирует (сейчас пишу через него).
почему то не реагирует на insmod, наверное в микро его нет Sad Пойду поставлю busybox от nokaid, как раз если выбросить jffs2.o, должен влезть


jffs2 реально не надо, это для внутреннего флэша. sd_mod то же не надо, это для подключения sd/mmc карт.
insmod должен быть встроен в busybox, так что наверное надо брать busybox из прошивки mini-usb-ftp!

думаю если взять mini_usb_ftp у Eko svn11218 - она занимает 3.1 метра, то выбросив web и pptp, ppoe и прочее лишнее для wireless и прочие дополнительные Services то может и так влезет?
lightix
DD-WRT User


Joined: 03 Dec 2008
Posts: 111

PostPosted: Tue Dec 23, 2008 21:10    Post subject: Reply with quote
Заново перелопатил micro-plus, добавив все необходимое, в том числе и скрипт монтирующий флешку, сейчас вроде бы все ок.
Было бы неплохо, если бы кто нибудь с реально работающим юсб портом (например тот же 520GU) попробовал залить полученную микро прошивку с поддержкой юсб, и попробовал загрузиться с юсб флешки с мега прошивкой.

Посмотрел на плату - не хватает обвязки по питанию usb (с БП заходит 9V а для usb устройств нужно 5V, на плате же просто обрыв), а также похоже гальванической развязки линии данных между процессором и разъемом (тоже обрыв).

_________________
DD-WRT v24 sp2 MEGA on ASUS wl-520gc [with USB]
Slayer_b
DD-WRT Novice


Joined: 20 Dec 2008
Posts: 45

PostPosted: Tue Dec 23, 2008 21:46    Post subject: Reply with quote
пришла такая мысль---что если в усб всунуть хаб 1 USB to 3 USB(стоит около $10),на один из входов которого припаять флешку метров на 128,все это попытаться уместить прямо в корпусе,естесственно усб разъемы отпаять в целях экономии места....,один из двух оставшихся вывести за пределы корпуса для подключения большЕй флешки или внешнего харда....
З.Ы. если есть возможность,скиньте плз фотографии разобранных GU/GC на xslayer.bx(собака)gmail.com ну или ссылочкой поделитесь)
lightix
DD-WRT User


Joined: 03 Dec 2008
Posts: 111

PostPosted: Tue Dec 23, 2008 22:04    Post subject: Reply with quote
Нашел вот фотку GU http://wl500g.info/showpost.php?p=64187&postcount=2
На GC не хватает обвязки которая вокруг порта на GU, и еще, на GC питание 9V, а для питания usb устройств нужно 5V, но я так понял что в развязке по питанию как раз должен стоять стабилитрон на 5V.

Поковырялся еще в прошивке micro-plus-ssh , прикинул, что если выкинуть из нее ssh сервер, pppd, upnp, radius, QoS и tc , то места высвобождается вполне достаточно для драйверов, при этом можно оставить в живых веб-интерфейс Smile

_________________
DD-WRT v24 sp2 MEGA on ASUS wl-520gc [with USB]
Slayer_b
DD-WRT Novice


Joined: 20 Dec 2008
Posts: 45

PostPosted: Tue Dec 23, 2008 23:55    Post subject: Reply with quote
в общем распаковал щас мега и микро прошивки,разница в размере получилась в 4 раза,еще насторожил тот факт,что все файлы в /bin имеют одинаковый размер(может дело в версии модкита,щас времени нет новую пробовать,а может и в системе дело,хотя все нужные пакеты установлены,распаковывает без ошибок,система Ubuntu 8.10 x86 со всеми последними обновами)....возник вопрос по поводу удаления пакетов из прошивки---как узнать какие пакеты установлены,и для удаления пакета нужен его "исходник" в формате ipk?.....хотел бы из микро удалить телнет в пользу ППТП,и еще,пакет для установки пптп это pptp_1.6.0-3_mipsel.ipk? или это и есть тот недоклиент,который и так есть в микро версии....
а по-поводу порта....судя по маркировке платы,она должна быть полностью идентична GC,да и сторона не совсем та,которую я ожидал бы видеть)хотелось бы обратную......днем попробую разобрать свой,гляну что и как там....эх,как гарантию терять не хочется....
lightix
DD-WRT User


Joined: 03 Dec 2008
Posts: 111

PostPosted: Wed Dec 24, 2008 0:14    Post subject: Reply with quote
Итак, наконец-то окончательный вариант микро прошивки с поддержкой юсб - это micro-plus-ssh из которой выброшен ssh и pppoe , а все остальное (в том числе и веб интерфейс) - на месте , а также добавлены драйвера необходимые для GU, и загрузочный скрипт.

Результат:
Code:

root@asus_wrt:~# dmesg
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-ohci.c: USB OHCI at membase 0xb8003000, IRQ 6
usb-ohci.c: usb-00:03.0, PCI device 14e4:471a
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
SCSI subsystem driver Revision: 1.00
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
root@asus_wrt:~#


USB порт у GC есть, и программно доступен, осталось доработать железо напильником Smile

_________________
DD-WRT v24 sp2 MEGA on ASUS wl-520gc [with USB]
Goto page 1, 2, 3, 4, 5, 6  Next Display posts from previous:    Page 1 of 6
Post new topic   Reply to topic    DD-WRT Forum Forum Index -> Оборудование на основе Broadcom All times are GMT

Navigation

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum