Вам в поиск. mc больше не ставится такой командой, его надо ставить с URL
Printable View
Сразу NB - в юниксонойдных - ни в зуб ногой.
итак - девайс WL500gP
перепрошился "на ура" последней версией от Олега 1.9.2.7-7f
(за прошивки ему большой респект и уважуха - если смогу все что надо насторить - чем смогу обязательно помогу
Перешивка бутлоадера:
мой выдает - WL500gp-01-01-00-00 - серийник начинается на 69 - надо перепрошивать или не надо ?Quote:
WL500gx-01-01-01-33 - надо перешивать, память не распознается
WL500gx-01-03-01-33 - можно перешить
WL500gd-01-04-01-50 - перешивать не нужно, бутлоадер новый
Если нужно перешивать, то серийный номер роутера должен начинаться на 49, 4A, 4B, 4C, 51, 52, 53 - на них есть проблемы и перешивка проверялась.
__________________________________________________ _____________
пишет:Quote:
Отформатировать флэшку можно командой mke2fs -j /dev/scsi/host0/bus0/target0/lun0/part1
mke2fs: /dev/scsi/host0/bus0/target0/lun0/part1 is mounted !
mke2fs: it's not safe to run badblocks!
что не так ?
__________________________________________________ _____________
в PuTTY даю команды на выполнение:
получаем после ввода первой строчки: - mkdir: Cannot create directory `/opt/tmp': Read-only file systemQuote:
mkdir /tmp/harddisk/opt
mount -obind /tmp/harddisk/opt /opt смонтирует поддиректорию в /opt
mkdir -p /opt/tmp/ipkg
ipkg.sh install ipkg
ipkg update
еле нашел поиском что надо сделать тут:
что то заработало - что ? - не пойму :(Quote:
mkdir /tmp/harddisk/opt
mount -obind /tmp/harddisk/opt /opt
mkdir -p /opt/tmp/ipkg
флешка изначально "понималась" wl500 потом - после вставления - выставления - перестала. под "понималась" имеется ввиду видимое обращение к флешдрайву - мигание светодиода. флешка форматировалась несколько раз - в FAT / FAT32 / NTFS - после какого то из форматирований - флешка опять начала определяться WL500.
на данный момент в USB сидит флеш 128 - по ftp видно - можно и писать и читать. но флешка очень сильно греется - это нормально ? (пробовал другую флешку - то же самое)
__________________________________________________ _____________
как подключить девайс Topfield - рессивер с хардом ?
вот инструкции оригинал тут:
после команды "ps" ничего похожего нетQuote:
Проверьте, что ftpd-topfield демон работает: Для этого в терминале (у меня PuTTY) после логина посмотрите список процессов (команда ps).
Там должен быть:
ftpd-topfield ... -P ХХХХ ...
Где ХХХХ номер порта, на котором висит демон
И тогда к ресиверу можно доступиться так:
ftp://192.168.1.151:ХХХХ
следуем инструкциям - и после команды "ps" тоже самое - то есть ничего не наблюдаем...Quote:
Если же демона в стиске процессов нет, то вызов демона надо добавить в post-mount, чтобы получилось примерно так:
#!/bin/sh
/usr/local/root/bin/ftpd-topfield -D -P 2021 -t 60 -p /tmp/ftpd-topfield.pid --turbo
Делается так:
В терминале пишем
echo "#!/bin/sh" >> /usr/local/sbin/post-mount
echo “/opt/sbin/ftpd-topfield -D -P 2021 -t 60 -p /tmp/ftpd-topfield.pid --turbo” >> /usr/local/sbin/post-mount
Если демон не проинсталлирован, то ето надо сделать:
ipkg.sh update
ipkg.sh install ipkg
ipkg update
ipkg install ftpd-topfield
Да! И не забыть после изменения фаилов пост-моунт и пост-боот
Обязательно сказать:
flashfs save
flashfs commit
flashfs enable
А то, установки будут в силе до первого выключения.
ftpd-topfield пока не поддерживает русских имен. Я уже попросил автора сделать модификации - посмотрим...
__________________________________________________ _____________
задача котрая стоит передо мной:
имеем WL500gP - надо подключить к нему по USB хард - с частью расшаренных ресурсов и ресивер с жестким диском - что бы доступ к диску рессивера - только по локалке.
кстати - совсем непонятно как расшаривать папки на съемном носителе подключенном по USB только для локальной сети ? (в ориджинал прошивке веб-интерфес - это было)
__________________________________________________ _____________
Хочу еще поделится скриптами, написанными мной в процессе познания маленькой коробочки от асуса со встроенным монстром с именем линукс, которые могут пригодится ее пользователям с прошивкой от Олега.
Скрипт, представленный ниже монтирует все присоединенные к устройству внешние накопители. Уникальность скрипта в том, что он распознает созданную на накопителе метку и монтирует в точку файловой системы, указанную в ней. Также найдя соответствующую метку он может смонитровать файловую систему в точку /opt. В отличии от прошивки скрипт всё монтирует в /mnt.
Как это работает.Code:#!/bin/sh
#
# amount
#
# written for wl500g with Oleg's firmware
# by Mam(O)n
#
# Название точки по умолчанию для монтирования
DEFPNT="media"
# Название файла-метки на накопителе. Должен содержать имя точки монтирования
VLABEL=".mountpoint"
# Метка-файл для монтирования /opt. Должен лежать на накопителе в папке /opt.
VOPT=".mountopt"
# Опции для монтирования разделов с меткой
OPTS="rw"
# Опции для монтирования разделов без метки
KOPTS="rw"
# Скрипт инициализации всяких там демонов из /opt. (четатипа autorun)
INIT="/opt/etc/init.d/rc.unslung"
MNT=/mnt
TMP=/tmp
DSC=/dev/discs
TMPMNT=$TMP/tmpmnt
CAT=cat; EXPR=expr; LOGGER=logger; LS=ls; GREP=grep; MOUNT=mount; UMOUNT=umount; MKDIR=mkdir; RMDIR=rmdir
while [ -n "$1" ]; do
case $1 in
--exrc)
exrc=true ;;
esac
shift
done
ump="`$MOUNT | grep '/tmp/harddisk/' | awk '{print $3}'`"
ump1="`$MOUNT | grep '/tmp/harddisk ' | awk '{print $3}'`"
if [ -n "$ump1" ]; then ump="$ump $ump1"; fi
if [ -n "$ump" ]; then
echo "Unmount firmware mounted points"
for pnt in $ump; do
echo " - $pnt"
$UMOUNT $pnt && $LOGGER "$pnt unmounted"
done
fi
tst=`$MOUNT | $GREP "$MNT "`
if [ -z "$tst" ]; then
echo "Prepare /mnt mountpoint"
if [ ! -d "$TMP$MNT" ]; then $MKDIR -p $TMP$MNT; fi
$MOUNT -obind,rw,noatime,async $TMP$MNT $MNT;
fi
for dsk in `$LS $DSC/`; do
for prt in `$LS $DSC/$dsk/`; do
if [ $prt != "disc" ]; then
echo "Probe $DSC/$dsk/$prt"
if [ -z "`$MOUNT | $GREP $DSC/$dsk/$prt`" ]; then
# echo " - not mounted; trying to mount"
if [ ! -d "$TMPMNT" ]; then $MKDIR -p $TMPMNT; fi
if $MOUNT -oasync,ro $DSC/$dsk/$prt $TMPMNT 2> /dev/null; then
pnt=$DEFPNT
if [ -e "$TMPMNT/$VLABEL" ]; then
vlm=`$CAT $TMPMNT/$VLABEL`
vlm=`expr "$vlm" : '\([a-zA-Z0-9]\{0,13\}\)'`
if [ -n "$vlm" ]; then echo " - has a valid label"; pnt=$vlm; OPTS=$KOPTS; fi
fi
$UMOUNT $TMPMNT
if [ "`$MOUNT | $GREP $MNT/$pnt`" ]; then
echo " - mountpoint is already mounted by other; trying to select other"
iter=0
while [ -n "$iter" ]; do
iter=`$EXPR $iter + 1`
if [ $iter -gt 100 ]; then echo " - somthing wrong; exiting"; exit 1; fi
if [ -z "`$MOUNT | $GREP $MNT/$pnt.$iter`" ]; then
pnt="${pnt}.${iter}"
iter=""
fi
done
fi
if [ ! -d "$MNT/$pnt" ]; then $MKDIR -p $MNT/$pnt; fi
if $MOUNT -oasync,noatime,$OPTS $DSC/$dsk/$prt $MNT/$pnt 2> /dev/null; then
echo " - mounted at $MNT/$pnt"
$LOGGER "mounted $DSC/$dsk/$prt at $MNT/$pnt"
if [ -z "`$MOUNT | $GREP ' /opt '`" -a -e $MNT/$pnt/opt/$VOPT ]; then
if $MOUNT -obind,rw,async,noatime $MNT/$pnt/opt /opt 2> /dev/null; then
echo " - /opt mounted"
$LOGGER "mounted $MNT/$pnt/opt at /opt"
if [ "$exrc" = "true" -a -e "$INIT" ]; then
echo " - executing $INIT"
$LOGGER "executing $INIT"
$INIT "$MNT/$pnt" > /dev/null
fi
fi
fi
else
echo " - can't mount at $MNT/$pnt"
$LOGGER "mount error $DSC/$dsk/$prt at $MNT/$pnt"
fi
else
echo " - cannot be mount; skipped"
fi
$RMDIR $TMPMNT
else
echo " - already mounted at "`$MOUNT | $GREP $DSC/$dsk/$prt | awk '{print $3}' `
fi
fi
done
done
1. Скрипт размонтирует все, что было ранее смонтировано прошивкой в /tmp/harddisk
2. Подготавливается точка монтирования /mnt
3. Перебирает все диски и разделы в /dev/discs
4. Перебирает каждый раздел накопителя и если он еще не смонтирован то делается попытка его смонтировать, и если это происходит удачно, то проверяется файл-метка на диске, и если она существует, то происходит монтирование в точку, указанную в метке, иначе монтируется в точку по-умолчанию. Если в целевой точке монтирования было уже чтото смонтировано, то делается попытка смонитровать в точку с суфиксом.
5. Если на носителе присутствует папка opt и в ней есть метка, то она монтируется в точку /opt, если конечно там ничего уже не смонтировано.
6. Если при запуске скрипта указан ключ --exrc, то делается попытка запустить скрипт инициализации (при новом монтировании /opt)
Еще один скрипт, которым я хотел поделится, размонтирует все разделы накопителей, смонтированных ранее.
Уникальность этого скрипта в том, что он, если его запустить с опцией --killall, сначала убивает все процессы (ну почти все), которые как либо привязаны к точке монтирования, а затем пытается размонтировать раздел.
Как он работает.Code:#!/bin/sh
#
# aumount
#
# written for wl500g with Oleg's firmware
# by Mam(O)n
#
MNT=/mnt
TMP=/tmp
DSC=/dev/discs
KILL=kill; CAT=cat; EXPR=expr; LOGGER=logger; LS=ls; GREP=grep; MOUNT=mount; UMOUNT="umount"; MKDIR=mkdir; RMDIR=rmdir;
TMPMNT=$TMP/tmpmnt
while [ -n "$1" ]; do
case $1 in
--killall)
kl=true ;;
esac
shift
done
for dsk in `$LS $DSC/`; do
for prt in `$LS $DSC/$dsk/`; do
if [ $prt != "disc" ]; then
if [ -n "`$MOUNT | $GREP $DSC/$dsk/$prt`" ]; then
pnts=`$MOUNT | $GREP $DSC/$dsk/$prt | awk '{print $3}' `
for pnt in $pnts; do
echo "Device $DSC/$dsk/$prt at $pnt"
if [ "$kl" = "true" ]; then
for pid in `ps | grep [0-9] | awk '{print $1}'`; do
maps=""; cwds=""
if [ -e /proc/$pid/maps ]; then maps=`cat /proc/$pid/maps | awk '{print $6}' | grep "\(^$pnt\)"`; fi
if [ -e /proc/$pid/cwd ]; then cwds=`ls -l /proc/$pid/cwd | awk '{print $11}' | grep "\(^$pnt\)"`; fi
if [ -n "$cwds" -o -n "$maps" ]; then
echo " - killing PID: $pid \"`cat /proc/$pid/cmdline`\""
$KILL $pid
fi
done
fi
if $UMOUNT $pnt 2> /dev/null; then
echo " - sucessfully unmounted"
else
echo " - failed unmount"
fi
done
fi
fi
done
done
tst=`$MOUNT | $GREP "$MNT "`
if [ -n "$tst" ]; then
if $UMOUNT $MNT 2> /dev/null; then
echo "Mount point /mnt unbinded"
# if [ -d "$TMP$MNT" ]; then $RMDIR $TMP$MNT; fi
fi
fi
1. Перебирает все разделы всех накопителей
2. Если раздел смонтирован то
2.1 Если при запуске указана опция --killall то
2.1.1 Смотрит, есть ли точка монтирования в /proc/.../map, если да, то убивает этот процесс
2.1.2 Смотрит, есть ли точка монтирования в /proc/.../cwd, если есть, то убивает этот процесс
2.2 Пытается отмонтировать раздел
3. Пытается вернуть первоначальный статус /mnt
Подскажите плиз...
Есть проблемка.. мелочь.. а неприятно...
каждый раз запуская Путти приходиться давать вот такой набор команд, всего то для поднятия МС
как я понимаю... один раз установленный МС и Скрин лежит на винте вот тут - /tmp/harddisk/optCode:mkdir /tmp/harddisk/opt
mount -obind /tmp/harddisk/opt /opt
mkdir -p /opt/tmp/ipkg
ipkg.sh update
ipkg.sh install ipkg
ipkg update
ipkg install http://ipkg.nslu2-linux.org/feeds/unslung/wl500g/mc_4.1.35-3_mipsel.ipk
export TERMINFO="/opt/share/terminfo"
export TERM="linux"
ipkg install http://ipkg.nslu2-linux.org/feeds/unslung/wl500g/screen_4.0.3-2_mipsel.ipk
mc
но как сделать, что бы отказаться от этих манипуляций...
тут - http://www.wl500g.info/showpost.php?p=20276&postcount=3 читал... можно не тыкать носом...
там указано, что добавивбудет счастье... увы такого не происходить... роутер грит, что не такого - МСCode:export TERMINFO="/opt/share/terminfo"
export TERM="linux"
и предлагаеть сделать ipkg update
его же можно от этого отучить...
и еще.. как вычислить - сколько уже терминалов запущено ранее командой - screen ??? и если есть - как к ним прицепиться обратно...
вроде screen -r №
но что то не получается..
2 usmailer
по поводу автомонтирования раздела /opt тут где-то была ветка. суть в том, что надо рядом с post-boot положить файлик post-mount, в котором прописать:
и поставить етому файлику атрибуты как у post-bootQuote:
#!/bin/sh
/bin/mount -o bind,sync,noatime,rw /tmp/harddisk/opt /opt
В общем почитал форум, купил, поставил, сделал как написано и все запахало. Биг сенькс!
Сеть - Корбина, Орехово-Борисово Северное
У меня наверное урезанная инструкция. Ни на диске ни на бумаге не нашел процедуру обновления прошивки. Через web роутер ругается что неможе обновится (fail). Пытался при помощи утилиты. Вот что я делал:
выключал из розетки роутер
держал кнопку ресет
втыкал опять блок питания в розетку
отпускал кнопку
нажимал на ноуте в утилите кнопку загрузить
Ноут сперва не видел роуутер, а потом когда соединение устанавливалось говорил что нет устройств в режиме обновления
ссори вопрос решился скачивание правильной версии прошивки
Я поместил команды
vconfig add eth0 2
# set MAC
ifconfig vlan2 hw ether xx:xx:xx:xx:xx:
# set IP
ifconfig vlan2 xxx.xxx.xxx.xxx netmask 255.255.255.0 up
в post-boot.
Там же поднимаю маршруты
# via <gateway address>
ip route add 80.92.0.0/16 via xxx.xxx.xxx.xxx
ip route add 10.0.0.0/8 via xxx.xxx.xxx.xxx
В файле /usr/local/etc/dnsmasq.conf завел строки типа
server=/gornet.ru/80.92.100.180
В файле post-firewall
#re-init dnsmasq
kill -HUP `pidof dnsmasq`
А как потом переключаться между WAN? Через веб интерфейс можно?Quote:
Сообщение от OlegI
13) Настройка нескольких WAN. Нужно тем у кого несколько провайдеров или если хочется разделить порты и раздавать интернет незаисимо. В роутере используется свитч с поддержкой vlan. Порты нумеруются USB-1-2-3-4-0, где 0-WAN. Чтобы сделать например 1 порт независимым нужно дать команды
robocfg vlan 2 ports "1 5t" vlan 0 ports "2 3 4 5t"
vconfig add eth0 2
после этого появится полноценный интерфейс vlan2. Посмотреть список интерфейсов командой ifconfig -a
посмотреть конфигурацию портов свитча robocfg show
Новому интерфейсу можно назначить свой MAC адрес командой
ifconfig hw ether 00:11:32:23:32:23
запустить интерфейс:
ifconfig vlan2 192.168.2.1 broadcast 192.168.2.255 netmask 255.255.255.0 up
скорость маршрутизации 3Мбайта/c при загрузке процессора 65%
Товарищи,
Перешил WL-500gP последней прошивкой от Олега, и после перезапуска перестал автомонтироваться внешний харддиск. Вроде бы всё правильно в post-mount записал, но всё равно приходится выдергивать хард из рутера и втыкать обратно, тоесть рутер его как бы не видит вобще аппаратно. Есть подозрение что рутер инитится быстрее чем контроллер винта (потому что при ребуте питание пропадает видимо с ЮСБов) и поэтому не видится. Есть ли варианты заставить линуксЪ поискать девайсы принудительно?
Заранее спасибо за Ваши ответы и варианты :)
PS. Не бейте ногами за ламерский вопрос но всё же - а нету случайно варианта прошивки на *BSD а не Linux? А то мне BSD как-то ближе и роднее :o ;)
Господа, robocfg утверждает, что
ASUS WL-500g Deluxe stock config (eth0 is WAN, eth0.1 is LAN):
robocfg switch disable
robocfg vlans enable reset
robocfg vlan 0 ports "0 5u"
robocfg vlan 1 ports "1 2 3 4 5t"
robocfg port 0 state enabled stp none
robocfg switch enable
Кто-нибудь может мне помочь в этом разобраться ?
в частности , что такое tagged packets и почему в одном случае они
untagged (vlan 0), в другом tagged (vlan 1)?
у меня "robocfg show" показывает
vlan0: 1 2 3 4 5t
vlan1: 0 5t
т.е. уже оба с буквой t.
Хочу настроить два провайдера,
но предварительно разобраться что я делаю =)