Posted: Thu Dec 11, 2008 22:38 Post subject: DD-WRT v24-sp2 mini-usb от Eko + Samba на DIR-320
Набросал тут небольшую пошаговую инструкцию. Писал для другого форума, но, может быть, и здесь кому-то окажется полезной.
Часто приходится видеть вопрос - "какой беспроводной роутер выбрать для дома?". И чаще всего на него отвечают: ASUS WL-500g Premium. При этом забывают упомянуть, что стоит эта железяка больше $100. Мне это кажется совершенно неоправданным. Более того, можно получить роутер с той же функциональностью и даже построенный на том же чипсете за половину от указанной суммы. Для этого потребуется купить роутер Dlink DIR-320 и воспользоваться приведенной ниже инструкцией. В результате мы получим мощный роутер, который можно использовать не только по прямому назначению, но и установить на него файл-сервер, принт-сервер, torrent-клиент и еще много-много всего.
Итак, поехали.
1. Скачиваем прошивку DD-WRT_mini_usb Eko c сайта dd-wrt.com
Наберитесь терпения. С первого раза может не получиться.
3. Если роутер прошился и работает - возрадуйтесь, половина дела сделана. Теперь настраиваем подключение к интернет и изучаем веб-интерфейс прошивки. Инструкция для поключения к Корбине (годится и для других провайдеров с PPTP Dual Access) здесь: http://homenet.corbina.net/index.php?showtopic=87133
4. Через Веб-интерфейс включаем поддержку JFFS2 (вкладка Тех. Обслуживание->Управление) и поддержку USB (вкладка Службы->Службы). В этом разделе включаем все пункты, кроме поддержки USB 1.1 (UHCI) и поддержки USB 2.0 (последнее, в принципе, работает, но глючно)
5. Подключаем к роутеру флешку или HDD с USB-интерфейсом. Если планируется подключение принтера и/или нескольких дисков, используем USB-хаб. Встроенная памаять роутера всего 4 МБ, и большая ее часть используется прошивкой, поэтому часть подключенной флешки или диска будет использована для установки дополнительных компонентов. Желательно выделить для этих целей отдельную партицию на диске или даже целую флешку, которая будет подключена к роутеру "на веки вечные". Флешку или партицию форматируем в ext.3. Под Windows, к сожалению, это сделать невозможно, поэтому ищем компьютер с линуксом или качаем образ Live CD. Я использовал Xubuntu: http://xubuntu.com/. Также можно использовать GParted Live CD (спасибо YuriKr): http://sourceforge.net/project/showfiles.php?group_id=115843&package_id=271779 или Paragon Hard Disk Manager (спасибо stylus)
Примечание: форматировать в ext.3 остальные партиции необязательно, роутер отлично работает с FAT.
6. Подключаемся к роутеру телнетом, вводим команду dmesg и ищем строки типа
/dev/scsi/host0/bus0/target0/lun0: p1
(если используется диск с несколькими партициями, то будет что-то вроде: /dev/scsi/host0/bus0/target0/lun0: p1 p2 p3).
Это "внутренний" адрес флешки. Теперь нужно подключить ее к встроенной памяти роутера:
mount -o noatime /dev/scsi/host0/bus0/target0/lun0/part1 /jffs
Чтобы подключение происходило автоматически при загрузке роутера, добавляем эту команду в Параметры запуска через веб-интерфейс (вкладка Тех. Обслуживание->Команды). Проверяем, подключилаcь ли флешка, командой df. Если флешка подключилась, вы увидите что-то вроде:
/dev/scsi/host0/bus0/target0/lun0/part1
233333 33365 187921 15% /jffs
также увеличенный размер JFFS будет виден через веб-интерфейс на вкладке Статус
7. Для расширения функциональности роутера используем пакеты Optware. Сначала подготавливаем место для их установки:
mkdir /jffs/opt
mount -o bind /jffs/opt /opt
8. Скачиваем установочный скрипт:
wget http://www.3iii.dk/linux/optware/optware-install-ddwrt.sh -O - | tr -d "\r" > /tmp/optware-install.sh
и запускаем его:
sh /tmp/optware-install.sh
У меня скрипт выдавал ошибку на стадии проверки конфигурации, поэтому я отредактировал его с помощью редактора vi, удалив из него соответствующий раздел.
9. Изменяем пути по умолчанию:
export PATH=/opt/bin:/opt/sbin:$PATH
unset LD_LIBRARY_PATH
10. Список пакетов Optware можно получить командой
ipkg-opt list | more
Мне необходим Самба сервер для доступа к дискам, подключенным к роутеру и принт-сервер p910nd. Для примера рассмотрим настройку и установку самбы.
12. На вкладке Global меняем имя guest account на "root". Настраиваем общий доступ к папкам на вкладке Shares. Проверяем, как все работает.
13. Теперь нам нужно сделать так, чтобы Самба запускалась автоматически при загрузке роутера. Для этого создаем скрипт optware.startup:
mkdir /jffs/etc
mkdir /jffs/etc/config
vi /jffs/etc/config/optware.startup
со следующим содержимым:
#!/bin/sh
mount -o bind /jffs/opt /opt
unset LD_LIBRARY_PATH
unset LD_PRELOAD
[ -e /opt/etc/profile ] && mount -o bind /opt/etc/profile /etc/profile
if [ -d /opt/etc/init.d ]; then
for f in /opt/etc/init.d/S* ; do
[ -x $f ] && $f start
done
fi
и делаем его загрузочным:
chmod +x /jffs/etc/config/optware.startup
Также создаем файл /opt/etc/profile, содержащий следующую строку:
14. Для того, чтобы подключенные к роутеру диски корректно отключались при его перезагрузке, добавляем Shutdown скрипт через веб-интерфейс (вкладка Тех. Обслуживание->Команды):
umount /mnt &
umount /opt &
umount /jffs &
sleep 2
15. Перезагружаем роутер и наслаждаемся результатами.
Сразу скажу, что перед тем, как я познакомился с DD-WRT, мои знания о линуксе были равны нулю, да и сейчас не сильно увеличились. Конечно, опытный линуксовод сделает все сам без проблем, поэтому данная инструкция предназначена скорее для таких же чайников, как я сам - надеюсь, она поможет кому-то сэкономить время и немного денег. Если ее недостаточно, дополнительную информацию можно получить в DD-WRT Wiki:
http://www.dd-wrt.com/wiki/index.php/Optware
и в форумах на том же сайте.
Буду благодарен за отзывы и комментарии
asmedin[жывотное]gmail.com
Александр
Last edited by asmedin on Mon Jan 12, 2009 19:04; edited 2 times in total
Небольшой комментарий к п.2: способ прошивки по ссылке действительно такой, что с первого раза не получается. Однако на форуме опубликован более прогрессивный способ: http://www.dd-wrt.com/phpBB2/viewtopic.php?t=43229
И вопрос по поводу п. 5: какой софтиной разбить флешку на разделы и какие рекомендации по поводу размеров этих разделов?
Небольшой комментарий к п.2: способ прошивки по ссылке действительно такой, что с первого раза не получается. Однако на форуме опубликован более прогрессивный способ: http://www.dd-wrt.com/phpBB2/viewtopic.php?t=43229
Да, все верно, к сожалению, обнаружил этот способ уже после того, как написал инструкцию.
YuriKr wrote:
И вопрос по поводу п. 5: какой софтиной разбить флешку на разделы и какие рекомендации по поводу размеров этих разделов?
Под Windows я такой софтины не нашел. Похоже, под ней нельзя ни разбить флешку, ни отформатировать ее в ext2/3.
Под Линуксом можно разбить флешку с помощью Fdisk или Gparted (последний имеет графический интерфейс).
Если под рукой нет машины с линуксом, можно скачать образ установочного диска Xubuntu. С этого диска можно загрузить систему в режиме LiveCD (без установки на компьютер) и проделать все необходимые операции.
По поводу размеров. У меня установленные Самба и принтсервер заняли около 30 МБ, т.е. для основных пакетов Optware флешки и раздела 64 МБ будет вполне достаточно. Некоторые рекомендуют еще выделить отдельную партицию под Linux Swap, но я не вижу в этом необходимости - RAM у роутера достаточно большая (32 МБ).
Да, все верно, к сожалению, обнаружил этот способ уже после того, как написал инструкцию.
Так редактировать свои сообщения тут можно Или я могу "примечание модератора" написать: есть-де и другой способ, более стабильный.
asmedin wrote:
YuriKr wrote:
И вопрос по поводу п. 5: какой софтиной разбить флешку на разделы и какие рекомендации по поводу размеров этих разделов?
Под Windows я такой софтины не нашел. Похоже, под ней нельзя ни разбить флешку, ни отформатировать ее в ext2/3.
Под Линуксом можно разбить флешку с помощью Fdisk или Gparted (последний имеет графический интерфейс).
Если под рукой нет машины с линуксом, можно скачать образ установочного диска Xubuntu. С этого диска можно загрузить систему в режиме LiveCD (без установки на компьютер) и проделать все необходимые операции.
По поводу размеров. У меня установленные Самба и принтсервер заняли около 30 МБ, т.е. для основных пакетов Optware флешки и раздела 64 МБ будет вполне достаточно. Некоторые рекомендуют еще выделить отдельную партицию под Linux Swap, но я не вижу в этом необходимости - RAM у роутера достаточно большая (32 МБ).
Своп на флешке - гм... частые записи на нее могут ее до дыр протереть, как говорят (т.е. из строя вывести).
И еще вопросик. Раз поддержка USB2 не включена - значит, эта штука будет работать в USB1.1?
Posted: Fri Dec 12, 2008 17:47 Post subject: Re: DD-WRT v24-sp2 mini-usb от Eko + Samba на DIR-320
asmedin wrote:
8. Скачиваем установочный скрипт:
wget http://www.3iii.dk/linux/optware/optware-install-ddwrt.sh -O - | tr -d "\r" > /tmp/optware-install.sh
и запускаем его:
sh /tmp/optware-install.sh
У меня скрипт выдавал ошибку на стадии проверки конфигурации, поэтому я отредактировал его с помощью редактора vi, удалив из него соответствующий раздел.
Что нужно удалить? какой раздел? Тоже ошибку выдает.
Так редактировать свои сообщения тут можно Или я могу "примечание модератора" написать: есть-де и другой способ, более стабильный.
Спасибо, пост отредактировал
YuriKr wrote:
Своп на флешке - гм... частые записи на нее могут ее до дыр протереть, как говорят (т.е. из строя вывести).
Да, наверное, это только для HDD.
YuriKr wrote:
И еще вопросик. Раз поддержка USB2 не включена - значит, эта штука будет работать в USB1.1?
И в чем глюки поддержки USB2 в DD-WRT?
Глюки следующие: при включенной поддержке USB2 некоторые флешки невозможно подключить. Т.е., командой dmesg они отображаются, но mount не работает. И, что еще хуже, некоторые флешки работают нестабильно, т.е., подключаются через раз.
Есть еще один момент. Дело в том, что даже если включить USB2 и использовать флешки, которые читаются всегда, скорость чтения/записи будет практически такой же, как при использовании USB1.1. Насколько я понимаю, здесь уже начинает играть роль слабый CPU роутера, и такой эффект наблюдается на всех роутерах ASUS и Dlink на этом чипсете.
Поэтому, не стоит сильно расстраиваться, что USB 2.0 работает коряво.
Posted: Sun Dec 14, 2008 14:59 Post subject: Re: DD-WRT v24-sp2 mini-usb от Eko + Samba на DIR-320
Randwer wrote:
Что нужно удалить? какой раздел? Тоже ошибку выдает.
Открываем скрипт для редактирования:
vi /tmp/optware-install.sh
и удаляем блок, отвечающий за проверку конфигурации:
_check_config()
{
echo "Checking system config ..."
GATEWAY=$(netstat -rn |
sed -n 's/^0.0.0.0[ \t]\{1,\}\([0-9.]\{8,\}\).*/\1/p' )
if [ -n "${GATEWAY}" ]; then
echo "Using ${GATEWAY} as default gateway."
else
echo "Error: No default gateway set!"
exit 2
fi
if [ -s /etc/resolv.conf ]; then
echo "Using the following nameserver(s):"
if grep nameserver /etc/resolv.conf ; then
GATEWAY_SUBNET=$(echo "${GATEWAY}" |
sed 's/\.[0-9]\{1,3\}\.[0-9]\{1,3\}$//')
if [ "${GATEWAY_SUBNET}" = "192.168" ]; then
if grep -q ${GATEWAY} /etc/resolv.conf ; then
echo "Gateway ${GATEWAY} is also nameserver."
else
echo "Warning: local nameserver is different than gateway!"
echo "Check config or enter:"
if test -L /etc/resolv.conf ; then
echo " sed -i s/192.168.*/${GATEWAY}/ /tmp/resolv.conf"
else
echo " sed -i s/192.168.*/${GATEWAY}/ /etc/resolv.conf"
fi
echo "and try again."
fi
fi
else
echo "Error: No nameserver specified in /etc/resolv.conf"
exit 5
fi
else
echo "Error: Empty or nonexistent /etc/resolv.conf"
exit 3
fi
if mount | grep -q /opt ; then
[ -d /opt/etc ] && echo "Warning: /opt partition not empty!"
else
echo "Error: /opt partition not mounted."
echo "Enter"
echo " mkdir /jffs/opt"
echo " mount -o bind /jffs/opt /opt"
echo "to correct this."
exit 4
fi
}
А каким образом победить винду (vista), чтобы при доступе к шаре, при вводе пользователя и пароля она не поставляла перед пользователем имя компьютера?
у меня беда, вчера решил все это дело провернуть, вроде все получилось, поставил одну флешку для эксперимента, но ни как не мог зайти на нее через сетевое окружение , она требует пароля, я туда все что можно вводил не подходит, потом решил перезагрузить, перегрузился и все Самба сервер не работает. И чтоб все восстановит надо проделывать все операции с 7 го пункта
7. Для расширения функциональности роутера используем пакеты Optware. Сначала подготавливаем место для их установки:
mkdir /jffs/opt
mount -o bind /jffs/opt /opt
итд
100% где-то косапорю
ПС и по своему опыту, я юникса в глаза никогда не видел чтоб сделать на флешке файловую систему ext.3 промаялся часа 2-3 , пол беды, есть пункты где надо добавлять /редактировать записи, и для меня как для не опытного было большим открытием как сохранять отредактированное и выходить :wq
наверняка еще что-то есть чего я не знаю, вот и не выходит у меня=(