Jump to content
XPEnology Community

depesh

Member
  • Posts

    23
  • Joined

  • Last visited

Posts posted by depesh

  1. Все мои труды коту под хвост,но нечего.Собирать буду новый добротный Нас.Этот остался у бывшей жены.Кто старое помянет,тому глаз вон.Жизнь только начинается и мой любимый сайт не останется без внимания.Ждите меня с новым набором железа.

  2. Создал wordpress и открыл доступ для него по https,появилась возможность другим пользователям из вне качать файлы.НО!!Пропал доступ по самбе и afp,самба ослепла и тай машина от макбука тоже.Что посоветуете?

  3. Что нового в 6.1?

    самое значимое - Active Directory Server

    Ты знаешь как легально и на легальном железе это приоритетное нововведение.А с нашими недолоджиками только дома перед товарищами носом вертеть.

  4. Что нового в 6.1?

    пожалуйста

    Ну такого чтоб Вау не увидел в тексте об новых фишках.А ради прогресса напосмотреть особо нет желания.Я своё первое детище не могу допилить(визуально вроде пашет),а копнуть глубже то седеешь.Да тут особо смотрю подсказчиков и нет,установили кое-как настроили и пропали в века.Или навечно :grin:

  5. Именно так, я прописал подменный мак на сетевую.

    Realtek 8103EL/8102EL это не критично?у меня маленько другое.

    Совсем запутали :smile: еще раз я прошивал 8111H. В указанном архиве много сетевых, возможно что то и подойдет Вам.

    есть одна замута,на стандартной прошивке от роутера так не замутишь(на моей точно),но у меня есть ещё роутер и там я из исходников собрал под себя.Можно принудительно вписать мак адрес родной карты и через него будить удалённо.Но сейчас пока с работой нет времени на это.

  6. Именно так, я прописал подменный мак на сетевую.

    Realtek 8103EL/8102EL это не критично?у меня маленько другое.

    Совсем запутали :smile: еще раз я прошивал 8111H. В указанном архиве много сетевых, возможно что то и подойдет Вам.

    я так предполагаю это тоже чем я прошивал,но версия младше(я шил v17) и кстати по мануалу прошивка с командами.Может в этом весь сок.Сейчас сделаю так с вашим вариантом.

  7. Прошился,но на мак под synology не даёт прошиться.В прошивальщике написало,с каких циферок должен быть примерно мак адрес.Есть у кого совет???

    Программой Rufus делаете флешку под DOS.

    А дальше читаем это пост viewtopic.php?f=5&t=3059&start=3290#p61701

    Свою 8111H так прошил.

    Ты констатируешь тот факт,что можно вписать(прошить) "белый" мак от Сино?Просто повторюсь,что я шил http://www.asrock.com/support/download/MacTool.asp этим и при прописи мак от Сино,прошивальщик сказал,что тебуется мак адресс,который начинается с

    00036а

    001966

    002522...

    Короче типа прирагативность врубилась на маке(сетевая ведь не внешка а встройка).

  8. Материнская плата Asrock g31m-vs2, образ флешки перекомпилированный jjh отсюда http://xpenology.com/forum/viewtopic.php?f=2&t=1&start=40

    Чипсет: Intel G31-ICH7

    Сеть-работает

    Sata-работает

    USB-работает

    Выключение-работает

    Перезагрузка-нормально не работает(перезагружается, но при заходе в веб интерфейс выдаёт:

    Раздел 1 на DiskStation поврежден. Система может не загружаться.
    . Если ничего не трогать, а сразу выключить комп из веба, а потом включить, то загружается нормально, без ошибок и можно продолжать работать. При вторичной перезагрузке из веб выдало:
    Системный раздел (Swap) на DiskStation поврежден. Система может не загружаться.

    При выключении и последующей загрузке опять всё нормально, без ошибок, можно продолжать работать.

    Та же картина(при перезагрузке из веб) с образом от Andy928 отсюда: http://xpenology.com/forum/viewtopic.php?f=5&t=8 на iMac 2011(MC309) в VirtualBox,

    с той лишь разницей что сообщение выдаёт:

    Системный раздел (Root) на DiskStation поврежден. Система может не загружаться.

    Как-то так :smile:

    PS: Ещё не работают службы DDNS и QuickConnect, исходя из этого не работает Cloud Station, не отправляются сообщения на Skype(тупо зависает при проверке учётной записи). Думаю это связано с не валидным серийником.

    Столько вопросов а форум Мёртвый,поиск остался на том же уровне,что и был с багами.Чата нет до сих пор.Может там была б возможность решать глобально.Если увидешь мою просьбу,то отпишись в личку.Как на этой матери с включением,с выключением то всё отлично.И перезагрузка отлично.Все сервисы работают на ура.Пытался сменить мак адрес на сетевой,но политика asrock не даёт менять на свои данные.Может ты чем подскажешь.Как сон работает или работал.У меня постоянно пашет и видимо нет его.Версию из шапки не пробывал а сразу накатил новую,накатывал 6 версию.Всё пашет.Но ищу решение со сном.Настроил WOL,хотя он из коробки работал(родной мак был затёрт,после перепрошивки всё работает).

  9. Realtek 8103EL/8102EL имеется такая сетевая(в подписи),хотелось бы сменить mac.Есть у кого такая,кто сменил прошивкой.Нужен образ для этого.В шапке пусто.

    Кстати пытаюсь гуглить на предмет замены и нахожу варианты https://ivstar.net/kak-smenit-mak-adres-na-setevoy-karte.html.Это видимо просто подмена а не какая прошивка.

    Как сменить MAC-адрес за 30 секунд с помощью программы

     

    MAC-адрес можно узнать и сменить с помощью программы MACChange.

     

    Работать с программой очень просто. Скачали и запустили, затем выбираем в окне списка нужное сетевое устройство. В правой колонке появится текущий MAC адрес устройства (запишите его сначала на листок на всякий случай). Строкой ниже можно задать свой MAC адрес и нажать кнопку Применить. Иконка в виде молнии позволяет сгенерировтаь случайный MAC адрес. Если надо вернуть MAC адрес сетевой карты к заводским настройкам, просто нажимаете кнопку Сбросить.

    Вчера нашёл в гугле обычный метод смены под dos mac адреса сетевой для материнок asrock,если всё пройдёт хорошо,то думаю можно закрепить в шапку.

    Проверка почему не работает wol,показала что у меня затёрся мак.А я голову ломал.Прошился,но на мак под synology не даёт прошиться.В прошивальщике написало,с каких циферок должен быть примерно мак адрес.Есть у кого совет???

  10. Так никто не апгрейдился еще с 5.2-5644.5 на 6.0.2?

    Вроде бы уже всё прожевали вот тут viewtopic.php?f=2&t=22100

    Но стоит ли?

    Потому что читал темы о том что народ даунгрейдится обратно до 5.2, типа что всё еще сыровато, лоадер не допилен...

    Если используете Virtualbox то не стоит, он там пока не работает.

     

    Отправлено с моего SM-G930F через Tapatalk

    И чистым накатывал и обновлял...Нечего особенного.Откатился на 5.2,в подписи просто не изменил.Пытаюсь wake on lan поднять,так все сервисы пашут.Вопрос на засыпку...станция должна полностью засыпать"без шума и пыли",или всё же кулера работают.Просто первые шаги у меня,так сказать присматриваюсь.Я предполагаю,что сон должен быть как на обычных Пк,с полной остановкой всего(сон-гибернация).

  11. Пробую все версии и собака такая мой набор только от 5.0 поддерживает.Ну ставиться без проблем.Может кто посоветует под мой арсенал 4 версию.Встала одна,но сетевая видимо из коробки не завелась.А так ставил оригинальный образ от dsm.

  12. Железо - ASUS P8H77-I; процессор Intel Pentium G2020, 2.90ГГц; 4 гига оперативки; жесткий диск HDD 3ТБ, Western Digital Red, WD30EFRX.

    Все завелось без проблем. Я не знаю как это должно выглядеть на правильных synology, но у меня выглядит так:

    - при этой установке http://xpenology.com/forum/viewtopic.php?f=2&t=555 все работает, но как то непонятно прописываются USB-диски, да и само USB может отвалиться в любой момент.

    - при этой установке http://xpenology.com/forum/viewtopic.php?f=2&t=1028 так же все отлично, USB не отваливается, но в диспечере дисков творится какая то чехарда. Все USB-диски определяются как e-sata диск, нет все работает НО меня это как то смущает.

    - отсюда http://xpenology.com/forum/viewtopic.php?uid=1442&f=2&t=991&start=0 я поставил 4.2-virtio 3211. Эта мне очень понравилась, в диспечере дисков USB устройст нет вообще, зато в ==Панели управления-->Устройства и принтеры== все USB-устройства определены правильно, даже USB 3.0. Корочено никакой чехарды, все лежит на своих местах (это мое мнение).

     

    Рекомендовано к сборке!!

    Вчера смотрел в эту сторону 4.2-virtio 3211,так как пробывал тоже как и ты и проблемы одна в одну.но мне понравилась тишина работы.Псевдонас мой стал тише шуметь кулерами чем на 5.2 и 6.02.Сейчас попробую 4.2-virtio 3211,может это и есть та изюминка.У меня на всех версиях не хотел спать,мне это важно.Вот и ищу компромис.Сейчас пока nas4free накинул на флешку,если и там не будет спать то голова моя загудит.

  13. Всем доброго времени суток. Имеем неттоп Asus с процом Intel Atom. Установлен nanoboot x32 и dsm 4528. Подскажите:

    1. Возможно обновиться до последней актуальной версии или 4528 это финиш?

    2. Возможно заставить работать встроенный в неттоп WiFi?

    Спасибо.

    Слушай!!Вот я тебе отвечу,имеется сковородка с макаронами а можно в ней найти пирожки?Яснее надо писать и где подпись по железу?Тут нет Аланов Чумаков и Ванг.

  14. Состав сборки Nas:

    1.Собственно сама материнская плата G31M-VS

    [spoiler=]

    Процессор
    - Поддержка процессоров Intel Dual Core Core™ 2 Extreme / Core™ 2 Duo / Pentium® Dual Core / Celeron® Dual Core / Celeron, Dual Core Wolfdale для разъема LGA 775
    - Поддержка процессоров с TDP до 65 Вт
    - Поддержка FSB1333/1066/800 МГц
    - Поддержка технологии Hyper-Threading
    - Поддержка технологии Untied Overclocking
    - Поддержка EM64T
    Чипсет
    - Северный мост: Intel® G31
    - Южный мост: Intel® ICH7
    Память
    - Двухканальная память DDR2
    - 2 x DDR2 DIMM
    - Поддержка DDR2 800/667 non-ECC, не буферизованная
    - Максимальный объем памяти: 8 Гб*
    
    *При работе под Windows® XP и Vista™ компьютер сможет определить только 4 ГБ памяти. Это связано с ограничениями операционных систем. При работе под Windows® XP 64-bit и Vista™ 64-bit в паре с 64-битным процессором система определит всю установленную память.
    BIOS
    - 4Мб AMI BIOS
    - AMI Legal BIOS
    - Поддержка "Plug и Play"
    - Совместимость с ACPI 1.1
    - Поддержка jumperfree
    - Поддержка SMBIOS 2.3.1
    - VCCM 
    - Поддержка Smart BIOS
    Графическое ядро
    - Встроенная графика Intel® GMA 3100
    - Pixel Shader 2.0, DirectX 9.0
    - Максимальное количество памяти 384 МБ
    - Поддержка D-sub с максимальным разрешением до 2048x1536 @60Гц
    Аудио
    - 5.1-канальный HD-кодек уровня Windows® Vista™ Premium (Realtek ALC662 / VIA® VT1708S / VT1705 Audio Codec)
    ЛВС
    - Realtek PCIEx1 LAN 8103EL / 8102EL
    - Скорость: 10/100 Ethernet
    - Поддержка Wake-On-LAN
    - Поддержка PXE
    Разъемы
    - 1 x PCI Express x16
    - 1 x PCI
    Коннекторы
    - 2 x SATA2 3.0 Гб/с (без поддержки RAID и Hot Plug)
    - 1 x ATA100 IDE (поддерживает 2 x IDE устройства)
    - 1 x LPT
    - Разъем для подключения вентиляторов процессора/корпуса
    - 24-контактный разъем питания ATX
    - 4-контактный разъем питания 12 В
    - CD-in
    - Вывод аудио на переднюю панель корпуса
    - 2 x USB 2.0 (поддержка до четырех USB 2.0)
    Задняя панель ввода/вывода
    Панель ввода/вывода
    - 1 x PS/2 для мышки
    - 1 x PS/2 для клавиатуры
    - 1 x COM1
    - 1 x VGA
    - 4 x USB 2.0
    - 1 x RJ-45 LAN с индикаторами (ACT/LINK LED и SPEED LED)
    - Разъемы HD-аудио: Линейный вход / Передние динамики / Микрофон
    Уникальная Особенность
    - ASRock OC Tuner
    - Intelligent Energy Saver
    - Instant Boot
    - Hybrid Booster:
    - CPU Frequency Stepless Control
    - ASRock U-COP
    - Boot Failure Guard (B.F.G.)
    Диск с ПО
    - Драйвера, утилиты, антивирус (Trial-версия)
    Комплект поставки
    - Инструкция по установке, диск с ПО, заглушка для задней панели ввода/вывода
    - Кабель ATA 100 
    - 1 x кабель SATA 
    - 1 x кабеля питания SATA 1-1
    Контроль оборудования
    - Датчик температуры процессора
    - Датчик температуры корпуса
    - Контроль скорости вентилятора процессора
    - Контроль скорости вентилятора корпуса
    - тихий вентилятор для процессора
    - Мониторинг напряжений: +12V, +5V, +3.3V, CPU Vcore
    Форм-фактор
    - Форм-фактор Micro ATX: 22.4 x 17.0 см
    ОС
    - Совместимость с Microsoft Windows® 7 / 7 64-bit / Vista™ / Vista™ 64-bit / XP / XP 64-bit / 2000
    Сертификаты
    - FCC, CE

     

    2.Процессор Intel-Pentium-Processor-E5300

    [spoiler=]

    Семейство процессора  Intel Pentium Dual-Core
    Тип разъема  Socket 775
    Количество ядер  2
    Внутренняя тактовая частота  2660 МГц
    Частота шины данных  800 МГц
    Тип упаковки  BOX
    Количество контактов  775
    Объем кэш памяти 1 уровня  64 Кб
    Объем кэш памяти 2 уровня  2048
    Напряжение питания  0.85В-1.3625В
    Наименование ядра  Wolfdale
    Технологии обеспечения 64-разрядной работы  есть
    Энергосберегающие технологии  Максимальная рабочая температура 74.1 °C

     

    3.HDD320+HDD500 Raid1

    Установлена DSM 6.0.2-8451 Update 9 с офсайта под псевдо DS3615xs,загрузчик модифицированный скачать тут.Был добыт опытным путём серийник и мак или пользуемся поиском.QuickConnect работает,кроме wol(но материнка поддерживает),думаю просто надо включить в биосе это.Завтра поковыряю биос на предмет улучшений работы и отпишусь.Подключал Wifi USB-адаптер DWA-140,отлично справляется.В коробочке есть pci Wifi Dlink DWA-525/A2,может есть возможность завести?По таймеру отключается и включается -уже нет,оказалось включение выставлено было в биосе.Используется как хранилище и под тайм машину для резервного копирования macOS Sierra 10.12.3.

    Разборка в настройках биоса нечего не дала,склоняюсь что wol на встроенной сетевой карте либо не работает,либо тут ручная работа.Отсюда вытекает,что не пашет сон.То есть полное остановка кулера и ж.д.Выключение с кнопки работает и ругани нет в журнале.Мысле пока ноль.

    Заказал USB звуковую карту,если кто краем глаза посмотрит и скажет надёжность работы в Хреnology,буду премного благодарен.

    5636b7bfb85at.jpg

    Пару дней тестил других прошивок аналогов nas.Читал их форумы и везде хвалят прошивку от synology.Так,что хлопцы запряжёны-кони пьяны. :grin:

    Уже исправил в посте,как оказалось выключение работает по таймеру,а включение не работает.Оно как оказалось было в биосе включено.Так и не могу забороть режим Wake on lan.

    Тема создана для общего ознакомления.В процессе редактирования.........

  15. Из пакетов я ставил itunes.

    Вот. itunes ставит с собой mDNSResponder и возможно другую версию Netatalk(это сервер AFP-шар под linux).

    странно и я заметил это убожество,сношу всё в ноль(чистая система)пашет.как только ставишь какие-то пакеты и пошли траблы.опытным путём думаю долго выискивать.

    завтра проверю на 10.9.5,так как проект мой закончился.можно откатываться

  16. Внимание! Все действия, описанные в данной документации, производились в научно-познавательных целях, и не имеют цели извлечения какой-либо прибыли.

    Раздел 1. Подготовка исходников и сборка проекта.

     

    Шаг 1. Установка VirtualBox и Ubuntu

    Установите VirtualBox (http://www.virtualbox.org/) и создайте виртуальную машину для установки Ubuntu.

    Я использовал следующие параметры виртуальной машины для комфортной работы: RAM 4 gb, 2 CPU, HDD 50 Gb

    В качестве операционной системы, я выбрал Ubuntu 12.10 x64 (http://www.ubuntu.com)

     

    Шаг 2. Инструменты и исходные коды

    Скачайте инструменты компиляции и исходные коды, предоставляемые Synology, согласно лицензии GPL (http://sourceforge.net/projects/dsgpl/files/)

    Все действия производились с исходными кодами для процессоров Intel (серия Bromolow). Это не значит, что полученное ядро будет работать только на Bromolow процессорах.

    Эксперименты показали, что проект успешно запускается на AMD, Atom, Cedarview, Pineview процессорах.

    Вам понадобятся:

    DSM 4.1 Tool Chains (gcc420_glibc236_x64_bromolow-GPL.tgz)

    Synology NAS GPL Source (synogpl-2636-bromolow.tbz)

    На момент написания этого руководства были актуальны версия DSM 4.1 и исходные коды ядра (2636 сборка).

     

    Шаг 3. Распаковка исходных кодов

    Установка инструментов и исходных кодов сводится к простой распаковке.

    Распакуйте архивы.

    tar -xvzf gcc420_glibc236_x64_bromolow-GPL.tgz -C /usr/local/ 
    
    tar -xvjf synogpl-2636-bromolow.tbz -C /usr/local/x86_64-linux-gnu/
    

     

    Важное замечание! Если вы используете 64-разрядную версию Ubuntu, необходимо установить 64-битные библиотеки.

    sudo apt-get install libc6-i386
    

     

    Для запуска конфигуратора ядра, необходимо установить Ncurses

    sudo apt-get install build-essential ncurses-dev
    

     

    Шаг 4. Сборка проекта.

    Для сборки проекта необходимо:

    переписать файл конфигурации "bromolow" из каталога "x86_64-linux-gnu/source/linux-3.x/synoconfigs" в каталог "x86_64-linux-gnu/source/linux-3.x" с именем ".config"

    отредактировать "makefile" и установить значения переменным ARCH и CROSS_COMPILE

    ARCH ?= x86_64
    CROSS_COMPILE ?= /usr/local/x86_64-linux-gnu/bin/x86_64-linux-gnu-
    

    Способ редактирования файла "makefile" не является верным. Более правильным способом является указание переменных с необходимыми значениями в командной строке вызова "make". Например: "make ARCH=x86_64 CROSS_COMPILE=/usr/local/x86_64-linux-gnu/bin/x86_64-linux-gnu- modules"

     

    Перед сборкой модулей необходимо сконфигурировать ядро. Делается это командой "make menuconfig". Вам будет предложено невероятно огромное количество настроек ядра. По умолчанию загрузится конфигурация "bromolow", которую вы скопировали из каталога "x86_64-linux-gnu/source/linux-3.x/synoconfigs" с имеем ".config"

     

    Стоит отметить, что на этом этапе необходимо как минимум включить поддержку сетевых контроллеров Realtek. Иначе собранное ядро будет искать только определенную модель контроллера Intel.

     

    Далее выполните команду "make oldconfig". Теперь настало время собрать объектные модули. Выполните команду "make modules".

    Сборка модулей достаточно затяжной процесс, и на медленных машинах может занять до 15 минут.

    Если все вышеуказанные шаги были сделаны верно, сборка объектных модулей пройдет без ошибок.

     

    Сборка ядра является так-же достаточно простой операцией. Введите команду "make bzImage". Результатом будет собранное ядро, находящееся в каталоге "/usr/local/x86_64-linux-gnu/source/linux-3.x/arch/x86/boot" с именем "bzImage". В последствии его нужно переименовать в "zImage".

    Всё вышеперечисленное не является чем-то новым и не описанным. В сети множество описаний, достаточно подробно описывающих сборку ядра.

     

    Раздел 2. Модификация ядра.

    Сразу оговорюсь, я произвел модификацию на скорую руку, и вполне вероятно, она не является правильной и корректной. Однако необходимого эффекта я добился.

    Предлагаю сообществу, основываясь на моих изысканиях, доработать и возможно улучшить этот проект.

     

    Разработчики DSM сделали достаточно много изменений исходного кода ядра. В основном эти изменения направлены на контроль состояния дисков.

    Сердцем DSM является модуль "synobios.ko". Этот модуль содержится в двух местах: 1) на RAM диске (файл rd.gz) 2) на hda1 (файл hda1.tgz)

    Если попытаться запустить систему с вновь собранным ядром, модуль synobios.ko не загрузится, и запускаться не будет.

    Этому есть несколько причин:

    1) В ядре отсутствуют функции "funcSynoSendEboxRefreshEvent" и "funcSynoEunitPowerctlType".

    Эту неприятность можно легко поправить в файлах "/usr/local/x86_64-linux-gnu/source/linux-3.x/drivers/ata/libata-core.c" и "/usr/local/x86_64-linux-gnu/source/linux-3.x/kernel/sysctl.c".

    //#ifdef MY_DEF_HERE  // закомментировать
    int (*funcSYNOSendEboxRefreshEvent)(int portIndex) = NULL;
    EXPORT_SYMBOL(funcSYNOSendEboxRefreshEvent);
    //#endif  // закомментировать
    

    //#ifdef MY_DEF_HERE  // закомментировать
    EUNIT_PWRON_TYPE (*funcSynoEunitPowerctlType)(void) = NULL;
    EXPORT_SYMBOL(funcSynoEunitPowerctlType);
    //#endif  // закомментировать
    

    2) Если собрать ядро с вышеуказанными изменениями, то при загрузки ядра будет падать функция syno_sata_mv_gpio_write(), я не стал глубоко вдаваться о её назначении (на первый взгляд она занимается получением состояния SATA диска, чтобы радостно мигать светодиодом на передней панели корпуса, при обращениях к диску), а просто закомментировал её содержимое в файле "/usr/local/x86_64-linux-gnu/source/linux-3.x/drivers/ata/sata_mv.c"

    #ifdef MY_ABC_HERE
    /*FIXME - Too brutal and directly, should separate into levels*/
    void syno_sata_mv_gpio_write(u8 blFaulty, const unsigned short hostnum)
    {
    /*
    struct Scsi_Host *shost = scsi_host_lookup(hostnum);
    struct ata_port *ap = NULL;
    void __iomem *host_mmio = NULL;
    u32 gpio_value = 0;
    int led_idx;
    
    if(NULL == shost) {
    	goto END;
    }
    
    if(NULL == (ap = ata_shost_to_port(shost))) {
    	scsi_host_put(shost);
    	goto END;
    }
    
    if(NULL == (host_mmio = mv_host_base(ap->host))) {
    	scsi_host_put(shost);
    	goto END;
    }
    
    led_idx = ap->print_id - ap->host->ports[0]->print_id;
    
    gpio_value = readl(host_mmio + GPIO_CTL_DATA);
    
    if(blFaulty) {
    	gpio_value |= (1 << led_idx);
    }else {
    	gpio_value &= ~(1 << led_idx);
    }
    
    writel(gpio_value, host_mmio + GPIO_CTL_DATA);
    scsi_host_put(shost);
    
    END:
    */
    return;
    }
    EXPORT_SYMBOL(syno_sata_mv_gpio_write);
    #endif
    

    После пересборки ядра с новыми изменениями, модуль synobios.ko уже не будет ругаться на отсутствующие функции, и не будет падать на вызове "syno_sata_mv_gpio_write()". Однако загружаться и рапортовать о своей готовности synobios.ko также не будет. Причиной всего является отсутствие на последовательном порту COM1 разработанного компанией Synology монитора (основанного на серийном микроконтроллере). Монитор занимается включением и выключением светодиодов, подачей звуковых сигналов, контролем температуры и системы охлаждения NAS. Одной из функций монитора является идентификация оборудования.

    В качестве примера, я буду рассматривать synobios.ko (размер файла 52840 байт).

    .text:0000000000002370                                         public SetMicropId
    .text:0000000000002370                         SetMicropId     proc near               ; DATA XREF: .data:synobios_ops_0o
    .text:0000000000002370
    .text:0000000000002370                         var_18          = qword ptr -18h
    .text:0000000000002370
    .text:0000000000002370 48 83 EC 18                             sub     rsp, 18h
    .text:0000000000002374 0F B6 15 1D 33 00 00                    movzx   edx, cs:syno_module+8
    .text:000000000000237B 0F B6 05 17 33 00 00                    movzx   eax, cs:syno_module+9
    .text:0000000000002382 48 C7 04 24 00 00 00 00                 mov     [rsp+18h+var_18], 0
    .text:000000000000238A C0 EA 04                                shr     dl, 4
    .text:000000000000238D 83 E0 0F                                and     eax, 0Fh
    .text:0000000000002390 48 C1 E0 04                             shl     rax, 4
    .text:0000000000002394 0F B6 D2                                movzx   edx, dl
    .text:0000000000002397 48 09 D0                                or      rax, rdx
    .text:000000000000239A 04 01                                   add     al, 1
    .text:000000000000239C 74 15                                   jz      short loc_23B3
    .text:000000000000239E 31 D2                                   xor     edx, edx
    .text:00000000000023A0 81 3D F2 32 00 00 FF 00+                cmp     cs:MpId_20729, 0FFh
    .text:00000000000023AA 74 1C                                   jz      short loc_23C8
    .text:00000000000023AC
    .text:00000000000023AC                         loc_23AC:                               ; CODE XREF: SetMicropId+56j
    .text:00000000000023AC                                                                 ; SetMicropId+76j ...
    .text:00000000000023AC 89 D0                                   mov     eax, edx
    .text:00000000000023AE 48 83 C4 18                             add     rsp, 18h
    .text:00000000000023B2 C3                                      retn
    .text:00000000000023B3                         ; ---------------------------------------------------------------------------
    .text:00000000000023B3
    .text:00000000000023B3                         loc_23B3:                               ; CODE XREF: SetMicropId+2Cj
    .text:00000000000023B3 48 C7 C7 FE 45 00 00                    mov     rdi, offset aGetMicropFail ; "get microp fail\n"
    .text:00000000000023BA 31 C0                                   xor     eax, eax
    .text:00000000000023BC E8 9B 42 00 00                          call    printk
    .text:00000000000023C1 BA FF FF FF FF                          mov     edx, 0FFFFFFFFh
    .text:00000000000023C6 EB E4                                   jmp     short loc_23AC
    .text:00000000000023C8                         ; ---------------------------------------------------------------------------
    .text:00000000000023C8
    .text:00000000000023C8                         loc_23C8:                               ; CODE XREF: SetMicropId+3Aj
    .text:00000000000023C8 48 C7 C6 13 46 00 00                    mov     rsi, offset aR  ; "R"
    .text:00000000000023CF 48 89 E2                                mov     rdx, rsp
    .text:00000000000023D2 B9 08 00 00 00                          mov     ecx, 8
    .text:00000000000023D7 48 89 F7                                mov     rdi, rsi
    .text:00000000000023DA E8 81 FE FF FF                          call    ReadUart
    .text:00000000000023DF 85 C0                                   test    eax, eax
    .text:00000000000023E1 BA FF FF FF FF                          mov     edx, 0FFFFFFFFh
    .text:00000000000023E6 75 C4                                   jnz     short loc_23AC
    .text:00000000000023E8 0F BE 04 24                             movsx   eax, byte ptr [rsp+18h+var_18]
    .text:00000000000023EC 31 D2                                   xor     edx, edx
    .text:00000000000023EE 89 05 A8 32 00 00                       mov     cs:MpId_20729, eax
    .text:00000000000023F4 EB B6                                   jmp     short loc_23AC
    .text:00000000000023F4                         SetMicropId     endp
    .text:00000000000023F4
    .text:00000000000023F4                         ; ---------------------------------------------------------------------------
    .text:00000000000023F6 66 66 66 90 66 66 90 66+                align 20h
    
    

    Выше представлена функция SetMicropId в которой по адресу .text:00000000000023E8 производиться чтение из монитора ID NAS.

    Результат чтения будет помещен в регистр EAX. Так как монитора у нас нет, то необходимо произвести некоторую модификацию кода.

    В нашем случае мы принудительно загрузим в регистр EAX необходимое значение.

     

    text:00000000000023C8 48 C7 C6 13 46 00 00                    mov     rsi, offset aR  ; "R"
    .text:00000000000023CF 48 89 E2                                mov     rdx, rsp
    .text:00000000000023D2 B9 08 00 00 00                          mov     ecx, 8
    .text:00000000000023D7 48 89 F7                                mov     rdi, rsi
    .text:00000000000023DA E8 81 FE FF FF                          call    ReadUart
    .text:00000000000023DF 85 C0                                   test    eax, eax
    .text:00000000000023E1 BA FF FF FF FF                          mov     edx, 0FFFFFFFFh
    .text:00000000000023E6 90                                      nop
    .text:00000000000023E7 B8 42 00 00 00                          mov     eax, 42h ; 'B'
    .text:00000000000023EC 31 D2                                   xor     edx, edx
    .text:00000000000023EE 89 05 A8 32 00 00                       mov     cs:MpId_20729, eax
    .text:00000000000023F4 EB B6                                   jmp     short loc_23AC
    .text:00000000000023F4                         SetMicropId     endp
    

    P.S. Изначально этот хак был мной подсмотрен у уважаемого vortex'a, курирующего проект QNology (http://qnology.xvtx.ru/).

     

    Итак, регистр EAX должен содержать код модели, который можно подсмотреть в файле "/usr/local/x86_64-linux-gnu/source/linux-3.x/include/linux/synobios.h или ниже:

    typedef enum {
    MICROP_ID_710p = 0x31, /* '1' */
    MICROP_ID_411p = 0x33, /* '3' 411+II is the same*/
    MICROP_ID_1010p = 0x32, /* '2' */
    MICROP_ID_1511p = 0x36, /* '6' */
    MICROP_ID_810p = 0x35, /* '5' */
    MICROP_ID_810rp = 0x34, /* '4' */
    MICROP_ID_2211p = 0x37, /* '7' */
    MICROP_ID_2211rp = 0x38, /* '8' */
    MICROP_ID_2411p = 0x39, /* '9' */
    MICROP_ID_3411xs = 0x43, /* 'C' 3412xs is the same */
    MICROP_ID_3411rpxs = 0x41, /* 'A' 3412rpxs is the same */
    MICROP_ID_3611xs = 0x42, /* 'B' 3612xs is the same*/
    MICROP_ID_712p = 0x44, /* 'D' */
    MICROP_ID_412p = 0x45, /* 'E' */
    MICROP_ID_1512p = 0x47, /* 'G' */
    MICROP_ID_1812p = 0x46, /* 'F' */
    MICROP_ID_812p = 0x48, /* 'H' */
    MICROP_ID_812rp = 0x49, /* 'I' */
    MICROP_ID_2212p = 0x4A, /* 'J' */
    MICROP_ID_2212rp = 0x4B, /* 'K' */
    MICROP_ID_2413p = 0x4C, /* 'L' */
    MICROP_ID_10613xsp = 0x4d, /* 'M' */
    MICROP_ID_3413xsp = 0x4e, /* 'N' */
    MICROP_ID_913p = 0x4f, /* 'O' */
    MICROP_ID_713p = 0x50, /* 'P' */
    MICROP_ID_UNKNOW = 0xFF,
    } SYNO_MICROP_ID;
    

    Уже в процессе эксплуатации мода, я столкнулся с постоянно вываливающимся в консоль, предупреждением: "synobios: buzzer stop button pressed"

    Решил проблему с ним достаточно быстро, пропатчив одну функцию

    .text:0000000000000395 80 7C 24 17 00                          cmp     [rsp+28h+var_11], 0
    .text:000000000000039A EB D4                                   jmp     short loc_370 // JZ изменил на JMP
    

     

    На этом, процесс модификации ядра и модуля synobios.ko можно считать завершенным.

     

    Раздел 3. Сборка комплекта для инсталляции.

    Шаг 1. Модификация rd.gz и hda1.tgz

    Теперь, имея исправленный synobios.ko, необходимо поместить его на своё законное место.

    В качестве подопытного, я ипользовал прошивку от DS3612xs (файл DSM_DS3612xs_2668.pat). Файл, с расширением .PAT представляет собой tar архив и содержит в себе достаточно большой набор файлов некоторое количество из которых нам никогда не понадобятся. Удаляем лишнее, и получаем минимально необходимый комплект:

    checksum.syno		// содержит контрольные суммы всех, перечисленных ниже файлов
    grub_cksum.syno	// содержит контрольную сумму файлов zImage и rd.gz (используется в загрузчике GRUB)
    hda1.tgz			// образ системы
    rd.gz				// RAM диск
    updater			// WEB версия установщика (вместо Synology Assistent)
    VERSION			// Файл, содержащий версию DSM
    zImage			// Образ ядра
    

     

    Первым делом нужно поместить новый "synobios.ko" на RAM диск в файле "rd.gz".

    Для этого его необходимо распаковать и смонтировать

    gunzip /tmp/rd.gz
    sudo mount -t ext2 -o loop rd /mnt/ramdisk
    

    Перезаписываем "synobios.ko" в каталоге /mnt/ramdisk/lib/modules

     

    Пакуем RAM диск

    sudo umount /mnt/ramdisk
    gzip /tmp/rd
    

     

    Вторым делом, нужно заменить "synobios.ko" в образе системы (файл hda1.tgz)

    Для этого я использовал вспомогательную утилиту Archivemount (http://en.wikipedia.org/wiki/Archivemount). Её необходимо предварительно установить.

    Копируем hda1.tgz в /tmp и монтируем командой:

    sudo archivemount /tmp/hda1.tgz /mnt/hdd

    Перезаписываем "synobios.ko" в каталоге /mnt/hdd/lib/modules

    Размонтируем командой:

    sudo umount /mnt/hdd
    

    В каталоге /tmp появится обновленный файл hda1.tgz

    Его необходимо переименовать в hda1 и запаковать архиватором xz командой: xz -z9 hda1

    Полученный файл "hda1.xz" переименовать в "hda1.tgz"

     

    Шаг 2. Пересчет контрольной суммы

    Теперь мы имеем собранный zImage, модифицированные rd.gz и hda1

    Настало время собрать валидный PAT файл, который можно использовать для установки системы.

    Чтобы PAT файл был валидным, необходимо пересчитать контрольную сумму файлов и поместить их в checksum.syno

    Для этих целей есть генератор файла контрольных сумм: Раздел 4. Загрузочный диск. Модификация GRUB[/size]

    Шаг 1. Структура загрузочного диска.

    Загрузочный диск состоит из двух разделов. На первом разделе находится загрузчик модифицированный загрузчик GRUB.

    Функции, которые производит загрузчик являются достаточно ключевыми:

    1) Проверка контрольных сумм файлов ядра системы (zImage) и RAM диска (rd.gz) и сверка их со значениями, хранящимися в файле grub_cksum.syno с второго раздела загрузочного диска.

    2) Идентификация оборудования (чтение из монитора, висящего на COM1) аналогично функции SetMicropId в synobios.ko

    3) Чтение конфигурации железа (MAC адрес сетевых карт и серийный номер) из файла vender

     

    Для корректной работы загрузчика необходимо модифицировать его код.

    Описывать этот процесс не имеет смысла, так как готовый к употреблению загрузчик содержится в сборке XPEnology. Стоит отметить, что код устройства можно изменить по адресу:

    seg000:0000DEF7 E8 F1 38 01 00                          call    serial_port_READ
    seg000:0000DEFC B8 36 00 00 00                          mov     eax, 42h
    

    Регистр EAX должен содержать код оборудования, согласно таблицы, представленной выше.

    Эта инструкция содержится по смещению 0x5efc модуля stage2 загрузчика.

     

    Для расчета контрольной суммы файлов zImage и rd.gz можно воспользоваться встроенной в загрузчик функцией проверки контрольных сумм.

    Если контрольная сумма zImage не верная, загрузчик сообщит об этом и покажет корректную. Перепишите корректную в файл grub_cksum.syno и запустите загрузчик повторно. Он рассчитает соответственно вторую контрольную сумму для файла rd.gs

     

    Желающие копнуть глубже могут выудить алгоритм из загрузчика (stage2). Он основан на алгоритме MD5 c небольшими изменениями.

     

    Шаг 2. Изменение MAC адреса и серийного номера.

    файл vender

    0000000000: 00 11 32 08 D6 2A 4B 00 │ 11 32 08 D6 2B 4C 00 00   ◄2◘Ц*K ◄2◘Ц+L
    0000000010: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
    0000000020: 42 33 4A 34 4E 30 30 30 │ 30 30 31 00 00 00 00 00  B3J4N000001
    0000000030: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
    0000000040: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
    0000000050: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
    0000000060: 00 00 00 00 5B 00 00 00 │ 69 00 00 00 01 01 00 00      [   i   ☺☺
    0000000070: 00 00 00 00 00 00 00 00 │ 00 00 00 00 01 01 01 01              ☺☺☺☺
    0000000080: 00 00 00 00 00 00 00 00 │ 00 00 00 00 01 01 01 01              ☺☺☺☺
    0000000090: 01 01 01 01 01 01 01 00 │ 00 01 00 00 00 00 00 00  ☺☺☺☺☺☺☺  ☺
    00000000A0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 01 01 01 00              ☺☺☺
    00000000B0: 01 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00  ☺
    

    Смещение 0x0001 - MAC адрес 1

    Смещение 0x0008 - MAC адрес 2

    Смещение 0x000F - MAC адрес 3

    Смещение 0x0017 - MAC адрес 4

    Смещение 0x0020 - серийный номер

     

    На этом данное описание можно считать завершенным.

     

    Благодарю за внимание. В ближайшие дни инструкция будет дополнена и переведена на английский.

    Принимаю любые дополнения и предложения !

     

    С Уважением, Andy хренолог :smile:

     

    В планах:

    1) Нарисовать эмулятор монитора и встроить его в ядро. Либо выполнить его в виде демона.

    2) Адаптировать какой-нибудь китайский девайс, типа (http://www.aliexpress.com/item/4-Fan-Sp ... 36498.html) для вывода информации о дисках и т.д...

    Мвмочки дорогие,openwrt пока научился с исходников собирать на заказ месяца два зубрил.А тут на полгода бессоных ночей.Но за то для openwrt у меня проект висит на 4pda.Будем курить. :grin:

  17. Хотелось создать тему по выбору железа, с которым работали бы новые прошивки. А так же железа подходящего под прошивки "++" с доп. драйверами.

    Насколько мне известно, стандартной прошивкой поддерживается только южный мост ICH9R

     

    Выбор матплаты:

    Intel D2700DC (MUD) (чипсет: Intel NM10, SATA: 2, RAID: нет) [прошивка: 4.1-2668]

    ASUS AT4NM10-I (чипсет: Intel NM10, SATA: 2, RAID: нет) [прошивка: 4.1-2668]

    ASUS LGA1155 P8H77-M PRO (чипсет: Intel H77, SATA: 4+3, RAID: 0, 1, 5, 10) [прошивка: 4.2-3202]

    Asus P5Q Pro (чипсет: Intel P45-ICH10R, SATA: 7, RAID: 0, 1, 5, 10) [прошивка: 4.1-2668++] (встроенный Ethernet не работает)

    ASRock A330GC (чипсет: Intel 945GC, SATA: 2, RAID: нет) [не завелось на 4.1-2668]

    ASRock G31M-VS2 (чипсет: Intel G31-ICH7, SATA: 4, RAID: нет) [прошивка: 4.1-2668]

    Supermicro X7SPA-H (Intel ICH9R, SATA: 6, RAID: 0, 1, 5, 10) [прошивка: 4.1-2668]

     

    Протестированые платы на прошивке 4.1-2668

     

    Выбор корпуса:

    SilverStone SG05 (Mini-ITX, 1x3,5" или 2x2,5")

    Cooler Master Elite 120 (Mini-ITX, 3x3,5" или 4x2,5")

    SilverStone GD08B Black (ATX, mATX, 8х3,5")

    Fractal Design Array R2 (Mini-ITX, 6х3,5")

    Chenbro SR30169 Black (Mini-ITX, 4х3,5")

    HP ProLiant N40L Micro Server (AMD Turion II 2core 1,5ГГц, 4х3,5")

    У меня asrock g31vs и работает последняя версия,но sata портов 2.железо в подписи.

  18. Не качает Transmission. Пишет "permission denied", либо отключается сам. Установился вроде нормально.

     

    UPD Прописал везде права и заработало.

     

     

    Какие права и где? Вроде всё везде разрешил... начинает качать - потом Permission denied...

    Вот и я мозги вынес себе,но попробую ещё через mc прописать.

×
×
  • Create New...