Хм... Корректный suspend и wakeup это интересно. Буду пробовать. Спасибо за ссылки.
Printable View
Попробовал запустить патченный rootapp. Так мало того что запустилось, так оно еще и работает )) .
В двух словах: наша коробка как и многие другие при выключении с пульта переходят в спящий режим. А после включения - выходят из него. Автоматическое монтирование устройств происходит заново. Если используем optware, наш каталог /opt теряет сцылку на внешний носитель, в результате все пакеты установленные из репозитория не работают. (по крайней мере с USB так). Помогала только перезагрузка или передергивание питания. Сейчас же если установить патченный rootapp, то при нажатии кнопки питания на пульте отрабатывает скрипт rc.suspend , а после выхода из спящего режима - rc.wakeup. Там соответственно можно прописать все что нам нужно для корректной работы. Для примера, я закоментировал все в rc.suspend, а в rc.wakeup тупо прописал reboot. В результате после выхода из спящего режима коробка перегрузилась и скрипт rcS отработал как положено. Но думаю можно сделать красивее.
Сцылки я давал выше, там и подробная инстукция.
З.Ы. Может создать шапку и расписать там все подробно? Могу со временем сам сделать. Если народу нужно.
Купил час назад R1 в Юлмар-е. Пульт с кнопками громкости, бут кор 17-тый.
Offtop.
Неделю назад взял точно такой же. С пультом тоже повезло, т.к. громкостью бывает пользуюсь.
На IXBT видел много багрепортов, что не работает R1 если в настройках поставить DHCP и нужно настройки ip и шлюза ручками вбивать. Подключил к RT-N16 с прошивкой от энтузиастов через DHCP, нормально выдался ip. Телевидение и радио работает.
Заметил только глюк, телевидение с глюками идет(иногда кратковременно прерывается звук). Лечится просто элементарно, канал на паузу, а через пару сек Play. Видимо изначально буфер маленький, а этим действием мы его расширяем :)
А вообще пока рад, очень доволен.
после "долгих" эксприментов выяснилось что Самба из optware работает только если диск на роутере ext3. На NTFS плеер начинает дико томозить и копирование на него не идет. Жаль.
Странно. У меня нормально работала... Т.е. вообще-то ей без разницы какая fs на расшариваемом ресурсе. Она же всё через системные драйвера делает. Как впрочем и ФТП.
PS:А не пробовал поставить podware от LossLess ? Там походу более новая версия. Да и компилирует он под конкретно наш камень.
podware пока не пробовал. Решил жестко закрепить за диском ext3. Пока тьфу-тьфу работает норм. Позже поставлю "подварь" на флэшку и подключу второй ХДД с ФАТ32, потом отпишусь.
З.Ы. Начал писать шапку ;)
Промудохолся пол дня над расшариванием папок в W7. Есть два компьютера. Одинаковая винда. W7 Ultimate. На одном все норм заходит, на втором все время "Logon Fail". Ппц, че тока не делал. И входил в Домашнюю группу. И выходил. И создавал пользователя отдельного. Короче полный набор. Но результат один и тот же. На одногм компе все норм с пол пинка, на другом три буквы :)))) Нашел кучку инструкций, но ОНИ ВСЕ основаны на том, чтобы вообще всем без пароля дать доступ, а это не норм. Попробую конечно, но оставлять так желания нет. Есть какие нить варианты, чтобы по человечески сделать по паролю? На одном ведь компе без проблем заходит.
Вчера почему-то пропал мой раздел с /opt. (наверное пива много было :D) и решил поставить podware. Установил но из пакетов там:
Еще глянул индекс репозитория так там Самбы нет (это моя основная цель ковыряния плеера). Так что наверное отпадает.Code:~ # ipkg list
ipkg-pod - 0.99.163-2 -
uclibc-pod - 0.9.28-1 -
Successfully terminated.
Попытался собрать материал по модификации нашего плеера.
Для начала несколько полезных ссылок:
Форум IXBT : перейти
Форум ICONBIT: перейти
PlayOn!HD альтернативные прошивки, инструкции: перейти
Англоязычный сайт Minimodding: перейти
Англоязычный сайт XMBC: перейти
Англоязычный сайт Oplayware: перейти
Цель – поставить софт из optware. Ну и еще немного твиков.
Для начала прошиваем плеер прошивкой HDP_R3_UN_112PAL_r00.rar . После прошивки плеер становится ASUS O!PLAY Air HDP-R3 только без Wifi и картридера.
Далее делаем начальные установки: прописываем вручную IP, язык и т.п. Потом заходим в плеер по telnet. Логин root, пароля нет.
Далее меняем родной RootApp на патченный. Разархивируем архив rootapp.tgz , например, на флешку. Потом флешку вставляем в плеер. Исполняемый файл RootApp и файлы rc.suspend, rc.wakeup надо положить в /usr/local/etc.Code:[TELNET] CONNECT (<unnamed>/192.168.1.8)
Venus login: root
warning: cannot change to home directory
BusyBox v1.1.3 (2010.01.21-03:14+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
/ #
Определяем как смонтировалась наша флешка:
Как видим что она смонтировалась как /tmp/usbmounts/sda1. Теперь копируем с нее файлы в память плеера.Code:/ # df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/root 111232 87520 23712 79% /
/dev/mtdblock/2 40960 1272 39688 3% /usr/local/etc
/dev/rd/0 40 40 0 100% /mnt/rd
/dev/scsi/host3/bus0/target0/lun0/part1 1970272 119072 1851200 6% /tmp/usbmounts/sda1
rc.suspend выполняется перед уходом в standby по кнопке с пульта.Code:mount / -o remount,rw
/ # cp /tmp/usbmounts/sda1/RootApp /usr/local/etc
/ # cp /tmp/usbmounts/sda1/rc.suspend /usr/local/etc
/ # cp /tmp/usbmounts/sda1/rc.wakeup /usr/local/etc
rc.wakeup выполняется после поднятия системы по кнопке с пульта.
Файлы выполняются из RootApp, все прикладные функции - то что мы видим на экране остаются в DvdPlayer и не меняются.
Теперь, чтобы всё заработало, надо в файлике rcS (кстати, это скрипт, который отрабатывает при старте плеера, по типу post скриптов роутера) изменить меcто запуска плеера:
ищемCode:vi /usr/local/etc/rcS
меняемCode:echo Running dvdplayer with RootApp
./RootApp DvdPlayer&
Теперь правим файлы rc.suspend и rc.wakeup. Я в первом удалил все, а во втором прописал reboot. Для начала работы этого достаточно.Code:echo Running dvdplayer with RootApp
/usr/local/etc/RootApp DvdPlayer&
Теперь перегружаемся:
После перезагрузки проверяем, что плеер завелся с новым RootApp:Code:/ # reboot
Теперь займемся жестким диском. У меня 500Гб USB. Разбивать будем в 2 раздела ext3. Почему ext3? Потому, что Самба не хочет работать нормально с NTFS. По крайней мере у меня. Да и нативная ФС в linux – ext3. Первый раздел будет под программы, 2-й – фильмы, музыка и т.п. Вытаскиваем флешку и подключаем жесткий диск. Далее смотрим на него:Code:/ # ps
PID Uid VmSize Stat Command
1 root 364 S init
…….
181 root 168 S /usr/local/etc/RootApp DvdPlayer
183 root 4188 S < DvdPlayer
184 root 168 S /usr/local/etc/RootApp DvdPlayer
….
Как видим он определился как /dev/sda, у меня на нем уже 2 раздела есть. Вобщем удаляем все.Code:/ # fdisk -l
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 2 60729 487797660 7 HPFS/NTFS
/dev/sda2 1 1 8001 83 Linux
Partition table entries are not in disk order
/ #
Смотрим, что диск не разбитый:Code:/ # umount /tmp/usbmounts/sda2
/ # umount /tmp/usbmounts/sda1
/ # fdisk /dev/sda
The number of cylinders for this disk is set to 60801.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): d
Partition number (1-4): 1
Command (m for help): d
Selected partition 2
Создаем первый раздел. Я решил, что для программ мне 200 метров хватит.Code:Command (m for help): p
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
Command (m for help):
Теперь 2-й раздел. Используем все оставшееся место:Code:Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-60801, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-60801, default 60801): +200M
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 83
Command (m for help):
Смотрим, что получилось:Code:Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (26-60801, default 26):
Using default value 26
Last cylinder or +size or +sizeM or +sizeK (26-60801, default 60801):
Using default value 60801
Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 83
Command (m for help):
Сохраняемся:Code:Command (m for help): p
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 25 200781 83 Linux
/dev/sda2 26 60801 488183220 83 Linux
Command (m for help):
После проверяем не подмонтировался ли винт. Если да, то опять отключаем.Code:Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Форматируем разделы:Code:/ # df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/root 111232 87520 23712 79% /
/dev/mtdblock/2 40960 1556 39404 4% /usr/local/etc
/dev/rd/0 40 40 0 100% /mnt/rd
/dev/scsi/host3/bus0/target0/lun0/part1 7745 3980 3365 54% /tmp/usbmounts/sda1
/ # umount /tmp/usbmounts/sda1
/ #
Все жесткий диск готов к работе.Code:/ # mkfs.ext3 /dev/sda1
/ # mkfs.ext3 /dev/sda2
Теперь займемся подключением и установкой пакетов из optware.
В конец файла /usr/local/etc/rcS вставляем следующее:Code:mount / -o remount,rw
/ # mkdir /opt
Перегружаемся. Проверяем:Code:=HACKING===
PREFIX=/tmp/usbmounts
while [ ! -e $PREFIX/sda1 ]
do
sleep 2
done
if [[ -e $PREFIX/sda1 -a -d $PREFIX/sda1 ]]
then
mount / -o remount,rw
umount /tmp/usbmounts/sda1
rm -r /tmp/usbmounts/sda1
mount /dev/sda1 /opt
mount /dev/sda1 /opt -o rw,remount
mount / -o remount,r
/opt/etc/init.d/rc.unslung start
fi
Теперь у нас есть каталог /opt для установки программ. Также удален /tmp/usbmounts/sda1, чтобы плеер его не видел.Code:/opt # df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/root 111232 87520 23712 79% /
/dev/mtdblock/2 40960 1560 39400 4% /usr/local/etc
/dev/rd/0 40 40 0 100% /mnt/rd
/dev/sda1 194442 4131 180272 2% /opt
/dev/scsi/host2/bus0/target0/lun0/part2 480522388 131232 455981996 0% /tmp/usbmounts/sda2
Теперь в файле /usr/local/etc/profile оформляем секцию # Path manipulation таким образом:
Если будем ставить mc, то прописываем в конецCode:# Path manipulation
if [ `id -u` = 0 ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
pathmunge /opt/bin
pathmunge /opt/sbin
fi
Все! Теперь ставим ipkg.Code:TERM=xterm
export TERMINFO=/opt/share/terminfo
alias mc="mc -c"
Code:mkdir /opt/tmp
mkdir /opt/tmp/ipkg
cd /opt/tmp
wget http://www.kovari.priv.hu/download/ipkg-cl.tgz
tar -xvf ipkg-cl.tgz
mv /opt/tmp/ipkg-cl /usr/local/bin/
rm ipkg-cl.tgz
wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/uclibc-opt_0.9.28-13_mipsel.ipk
ipkg-cl install uclibc-opt_0.9.28-13_mipsel.ipk
wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ipkg-opt_0.99.163-10_mipsel.ipk
ipkg-cl install ipkg-opt_0.99.163-10_mipsel.ipk
rm *.ipk
/opt/bin/ipkg update