Яндекс.Метрика

    Подсознание

    «Железный тюнинг» Asus WL-520GC

    Решил поделиться с уважаемым хабросообществом своим опытом модернизации маршрутизатора ASUS WL-520gc
    Не буду писать долгое вступление, о том, для чего в маршрутизаторе нужен USB порт, почему его нет в ASUS WL-520gc, но есть в ASUS WL-520gu, а сразу приступлю к сути вопроса :)

    Что нам потребуется:


    • 1. Микросхема стабилизатор напряжения КРЕН5А, КРЕН5Б(не тестировал) или аналоги
    • 2. USB-удлиннитель
    • 3. Паяльник с тонким жалом


    Приступим....


    Для начала необходимо отсоединить все подключенные кабели и антенну, затем приступим к разборке корпуса маршрутизатора, с этим у меня по-началу возникли небольшие сложности, а именно-я не смог найти винт, который препятствовал открытию корпуса, после отвинчивания 2-х видимых, сразу скажу, чтобы не стали отрывать все наклейки подряд-недостающие винты располагаются симметрично под резиновыми наклейками:)
    после разборки, видим рядом с разъемом питания нашу цель-нераспаянняй USB порт ;-)

    «Железная» часть


    • 1. Устраняем разрыв на линии данных, на плате обозначен как NF1 (можно сделать перемычками, но мой паяльник это не позволил, поэтому я вывел проводами на оборотную сторону платы)
    • 2. Ставим перемычку вместо элемента FB12
    • 3. Припаиваем микросхему КРЕН в соответствии с Изображением 1
    • 4. Длеаем отверстие на задней стенке корпуса маршрутизатора(между Ethernet портами и гнездом блока питания), диаметром, равным толщине кабеля USB-удлиннителя.
    • 5. Отрезаем от USB-удлиннителя часть, на которой находится порт, длинной 15-20 см(дело вкуса, кому как удобнее)
    • 6. Оголяем провода, просовываем кабель через проделанное отверстие, припаиваем к плате, в соответсвии с распиновкой USB(см Изображение 1)

    Программная часть


    Здесь, уже как говорится, дело вкуса и привычки. Я испытал два варианта прошивок:DD-WRT и прошивку от Олега.

    DD-WRT


    Вкратце объясню в чем смысл:
    • 1. Берется прошивка DD-WRT для Asus WL-520GC (micro-plus_ssh), из нее с помощью модкита удаляются ненужные для загрузки маршрутизатора пакеты(для освобождения места под USB драйвера) и добавляются драйвера USB и файловой системы ext2.
    • 2. Из получившейся после распаковки папки rootfs/sbin перемещается файл init в папку rootfs/usr/sbin, создается новый файл init, представляющий из себя скрипт:

    #!/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

    • 3. Делаем скрипт исполняемым, с помощью модкита прошивка обратно запаковывается в *.bin файл.
    • 4. На предварительно отформатированную в ext2 флешку от root заливается содержимое папки rootfs mega прошивки, полученное после ее распаковки с помощью модкита
    • 5. Подсоединяем флеху к роутеру, шьем полученный в 3-ем пункте образ

    После завершения прошивки, маршрутизатор загрузится с mega прошивкой…
    Установка пакетов поробно расписана здесь все необходимые Образы прошивок брать здесь

    Прошивка от Олега


    Этот вариант сложнее, в плане того, что придется вручную собирать прошивку для данной модели маршрутизатора.Мы же поступим проще-возьмем готовое ;-)
    • 1. Скачиваем прошивку
    • 2. Скачиваем файловую систему для флешки
    • 3. На отформатированный в ext3 раздел флешки распаковываем архив с файловой системой
    • 4. Подключаем флешку, прошиваем роутер.
    • 5. После прошивки и перезагрузки маршрутизатора, соединяемся с ним по telnet(юзер/пароль admin/admin) и даем команду

    nvram set boot_dev="/dev/scsi/host0/bus0/target0/lun0/part1"
    nvram commit

    • 6. Перезагружаемся

    После ребута, маршрутизатор порадует нас «полной» версией прошивки от Олега с возможностью установки пакетов.
    Сам лично сейчас пользуюсь именно вторым вариантом, так как разница в скорости довольно ощутима, причем не в пользу DD-WRT.
    В итоге имеем функционал как у Asus WL-520GU за меньшие деньги(мне во время акции данный девайс достался примерно за 1500 рублей)

    Веселые картинки:

    Большое спасибо за неоценимую помощь уважаемому lightix с форума dd-wrt.com, по сути, это он является автором данного способа, я лишь все собрал «в кучу» и упорядочил.
    _________
    Текст подготовлен в ХабраРедакторе