Jump to content
XPEnology Community

Firs

Transition Member
  • Posts

    15
  • Joined

  • Last visited

  • Days Won

    2

Firs last won the day on June 21 2017

Firs had the most liked content!

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Firs's Achievements

Newbie

Newbie (1/7)

8

Reputation

  1. Сам спросил, сам ответил. acpi работает если добавить пакет: ./rploader.sh ext ds3622xsp-7.2.0-64570 add https://raw.githubusercontent.com/PeterSuh-Q3/tcrp-addons/master/acpid/rpext-index.json
  2. У вас корректно работает acpi на 7.2.0-64570? Я имею ввиду завершение работы по кнопке питания? У меня нет, работает только virtio сеть. Proxmox 8.0.3
  3. Upd. Всё, разобрался. В DS3622xs+ 7.1.1-42962 Update 2 модуль: https://github.com/pocopico/redpill-load/raw/develop/redpill-acpid/rpext-index.json и правда не работает, но зато работает https://raw.githubusercontent.com/pocopico/rp-ext/master/redpill-acpid/rpext-index.json Возьмите на заметку, кто будет обновляться на этой версии.
  4. Обновился до версии DS3622xs+ 7.1.1-42962 Update 2 и перестало работать выключение через acpi. Хотя при сборке подключен модуль: https://github.com/pocopico/redpill-load/raw/develop/redpill-acpid/rpext-index.json Инсталляция под Proxmox 7.2, загрузчик tinycore-redpill v0.9.3.0 На предыдущей версии DSM 7.1-42661 Update 1, acpi работал нормально. Кто нибудь может подтвердить это или опровергнуть?
  5. I managed to update the bootloader v0.8.0.0 I once again went through all the compilation steps, starting with downloading the file from github. Probably last time, I made some mistake at the configuration stage
  6. I'm running XPEnology under Proxmox 7.2 I tried to update the bootloader to version v0.8.0.0, and I get an error: Found new device <vid=0627, pid=0001> - didn't match expected <vid=46f4, pid=0001> On version v0.4.6 everything worked. My user_config.json I tried changing in the grub.cfg (to vid=0627) But, but the error remains and becomes "reverse": Found new device <vid=46f4, pid=0001> - didn't match expected <vid=0627, pid=0001> I don't understand what's going on ----------- Google Translate
  7. У меня стоит версия 8.2.7-6222 на DSM 6.1.7-15284 Update 3 Никакой тайм-бомбы не замечено. Никаких проблем с лицензиями или отвалом камер. Подключено 25 камер, больше половины по RTSP.
  8. Можно попробовать в ups.conf добавить, вместо port = /dev/ttyUSB0 port = /dev/serial/by-id/usb-POWERCOM_CO.__LTD._USB_to_Serial-if00-port0 ну или как он там будет называться у вас
  9. Да, когда на машине стоит Proxmox, на всё железо мы используем стандартные драйвера debian. В этом случае мы можем ставить какие угодно контроллеры, виртуальный DSM про контроллер не будет ничего знать, для него это будут диски подключенные по SATA интерфейсу. Если хотите можно сделать raid средствами самого аппаратного контроллера и отдать DSM уже готовый том.
  10. Не знаю актуально ещё или нет. Есть рабочий вариант на 12 дисков с большим потенциалом расширения практически до бесконечности. У меня реализована такая схема: На машине стоит система виртуализации Proxmox. SAS/SATA диски подцеплены на контроллер LSI 9211-8i (можно купить подешману Fujitsu D2607-8i и перешить). Внутри крутится DSM, которой напрямую прокинуты диски как SATA устройства. Диски на самом железе можно тасовать и втыкать как угодно, т.к. они имеют уникальные UUID, и цепляются к DSM непосредственно под своими ID. (например: sata0: /dev/disk/by-id/ata-WDC_WD100EMAZ-00WJTA0_1DGNDE1Z,discard=on,size=9314G,serial=1DGNDE1Z) Можно, и нужно прописать в *.conf виртуалки серийники дисков, тогда они будут видны в DSM и их будет легко идентифицировать. Всё работает отлично, и есть полная совместимость с "железным" DSM, достаточно воткнуть эти диски в "оригинальный" NAS. Теперь о расширении. Если воткнуть в хост побольше оперативки, можно наделать таких виртуалок с DSM вагон и тележку. Например, у нас 200 дисков, каждой машине хотим отдать 12 штук, нужно 16 виртуалок. Каждой можно выделить 4 гига оперативки. Итого нужно около 64 гигов хосту, чтобы всё это потянуть (самому Proxmox тоже останется, можно не переживать). Дальше уже этими массивами по 12 дисков вертим как хотим. Хотим используем как отдельные тома, хотим, объединяем при помощи PetaSpace в один огромный виртуальный том и т.д. А можно пойти ещё дальше, и сделать, ну скажем, 16 томов raid6 по 12 дисков на самом proxmox, тем же mdadm, или в ZFS, да как угодно, и эти 16 томов отдать одной единственной виртуальной DSM. Правда в этом случае, понятное дело, не будет обратной совместимости дисков с "оригинальной" DSM. Но, с другой стороны, это будет обычный linux raid, который вы можете собрать на любой машине и прочитать данные. Есть, правда один маленький нюанс. В версии DSM 6.1, можно скомпилить драйвер virtio для сети, и подцепить всё по 10G, а вот в версии 6.2, облом. Мне не удалось скомпилить virtio (вернее скомпилить можно, но он валится с ошибкой), и приходится сидеть на "стоковом" e1000e, который 1G. Можно запустить vmxnet3, но он тоже почему-то выше 1G не заводится В принципе можно прокинуть в DSM непосредственно саму сетевуху 10G и оно даже будет работать. Но вот как быть, если у нас будет 16 виртуалок, не знаю. Не 16 же сетевух ставить Одним словом, если нужно 10G, то придётся сидеть на DSM 6.1 (такой конфиг работает стабильно уже года 3 у меня). Виртуализация отличная штука. Более того, при достаточно мощном железе вы там же, на proxmox, можете запускать что угодно, ну, контроллер домена на винде, например. Любые фантазии
  11. Да уж куда подробнее. Я описал все этапы максимально подробно. Возможно, для DSM 6.2.3 понадобится какая нибудь незначительная адаптация, в виде других путей или версии того же NUT, но в целом должно быть одинаково. Но, мой совет, купите UPS совместимый с Synology "из коробки". Какой нибудь APC Back-UPS стоит недорого, это сэкономит кучу времени и сил, т.к. IMP-525ap ну очень капризный аппарат.
  12. Небольшое дополнение. Чтобы при отключении/включении USB кабеля не приходилось вручную перезапускать службы, можно немного дополнить настройки: Создаём файл /usr/lib/udev/rules.d/99-usb-serial.rules: SUBSYSTEMS=="tty", ATTRS{manufacturer}=="POWERCOM CO., LTD.", ATTRS{product}=="USB to Serial", KERNEL=="ttyUSB[0123]", SYMLINK+="powercom" Конец файла /usr/lib/udev/script/tty-util.sh приводим к следующему виду: case $action in add) add_handler /usr/syno/etc/rc.sysv/ups-usb.sh start ;; remove) remove_handler upsdrvctl stop ;; *) ;; Esac Редактируем файл /usr/syno/etc/ups/ups.conf (заменяем порт на /dev/powercom) [ups] driver = powercom port = /dev/powercom type = IMP В конце файла /etc/rc, перед exit 0 добавляем создание симлинка: #Запуск UPS ln -s /dev/ttyUSB0 /dev/powercom /usr/syno/etc/rc.sysv/ups-usb.sh start exit 0
  13. Уверен что всё слетит. Придётся сохранить скомпилированные драйвера и конфиги, чтобы после обновления их "подсунуть" обратно.
  14. Я тоже на этом попался. Обновился с 5.2 3615, на 6.1 3617. Думаю, ну 3617 же "покруче", почему нет? И попался на этом с пакетами. Пришлось откатываться на 3615.
  15. Есть у меня старенький UPS Powercom IMP-425AP. Давно хотел его подключить к Synology, но дело осложнялось тем, что он является устройством типа USB to Serial, и официально не поддерживается. В интернете гуглится статья на эту тему, по адресу: https://forum.synology.com/enu/viewtopic.php?f=39&t=17658 Но статья давно устарела, т.к. там идёт речь о DSM 3.0-1337 Сразу предупреждаю, я не очень "грамотный" пользователь *nux систем, но, собрав по крупицам некоторую информацию, я всё же смог подключить свой UPS Powercom IMP-425AP к DSM 6.1-15047 Может, я где-то допустил ошибки, но и итоге всё работает. Надеюсь мой опыт будет кому-то полезен. И так, наш UPS в системе определяется как: Bus 002 Device 004: ID 0d9f:0002 Powercom Co., Ltd Black Knight PRO / WOW Uninterruptible Power Supply (Cypress HID->COM RS232) (С таким ID 0d9f:0002 есть целая серия старых IMP-*25AP) Для DSM 6.1-15047 я использую загрузчик Jun's Loader v1.02b Вначале мы воспользуемся советами, описанными в этой статье: https://xpenology.com/forum/topic/7187-how-to-build-and-inject-missing-drivers-in-jun-loader-102a/ Качаем исходный код ядра: https://sourceforge.net/projects/dsgpl/files/Synology%20NAS%20GPL%20Source/15047branch/bromolow-source/linux-3.10.x.txz/download Synology 3615xs построен на архитектуре bromolow, нам нужна версия 15047 (я использую эту версию, т.к. в ней работает нужный мне VirtualBox) Устанавливаем плагин debian-chroot ( https://synocommunity.com/package/debian-chroot ) из раздела сообщества. Запускаем chroot: /var/packages/debian-chroot/scripts/start-stop-status chroot Ставим пакеты apt-get update apt-get upgrade apt-get install locales dpkg-reconfigure locales dpkg-reconfigure tzdata apt-get install mc make gcc build-essential kernel-wedge libncurses5 libncurses5-dev libelf-dev binutils-dev kexec-tools makedumpfile fakeroot linux-kernel* lzma Создаём рабочий каталог «/volume1/@appstore/debian-chroot/var/chroottarget/test/» Распаковываем в каталог /volume1/@appstore/debian-chroot/var/chroottarget/test/ исходники ядра linux-3.10.x.txz Заходим в каталог linux-3.10.x и запускаем cp synoconfigs/bromolow .config Делаем резервную копию конфигурации make ARCH="x86_64" oldconfig Настраиваем конфигурацию make ARCH="x86_64" menuconfig Выбираем «М» напротив драйвера Device Drivers/USB support/USB Serial Converter support/USB Cypress M8 USB Serial Driver Сохраняем конфигурацию и компилируем модули make ARCH="x86_64" modules Копируем скомпилированные модули cypress_m8.ko, usbcore.ko, usbserial.ko в рабочий каталог synology /lib/modules/ Не забываем проверять/выставлять права файлам: chmod 644 Дальше переходим к работе с пакетом NUT. Это нужно, чтобы скомпилировать модуль powercom Информацию по исправлению драйвера я нашёл тут: http://forum.pcm.ru/viewtopic.php?f=3&t=2627 Качаем исходники NUT 2.4.1 http://pkgs.fedoraproject.org/repo/extras/nut/nut-2.4.1.tar.gz/609ebaf2123fc7171d25a6c742dd7d66/nut-2.4.1.tar.gz Распаковываем их в каталог /volume1/@appstore/debian-chroot/var/chroottarget/test/ В каталоге /volume1/@appstore/debian-chroot/var/chroottarget/test/nut-2.4.1 создаём файл патча «patch-nut» с содержимым: --- drivers/powercom.c 2009-02-17 12:20:48.000000000 +0300 +++ drivers/powercom.c 2010-03-02 15:48:25.354735038 +0300 @@ -852,21 +852,30 @@ /* setup flow control */ types[type].flowControl.setup_flow_control(); - if (!strncmp(types[type].name, "BNT",3) || !strcmp(types[type].name, "KIN") || !strcmp(types[type].name, "IMP")){ + if (getval("type") == NULL){ if (!ups_getinfo()) return; if (raw_data[UPSVERSION]==0xFF){ types[type].name="IMP"; - model=IMPmodels[raw_data[MODELNUMBER]/16]; } if (raw_data[MODELNAME]==0x42){ if (!strcmp(types[type].name, "BNT-other")) types[type].name="BNT-other"; else types[type].name="BNT"; - model=BNTmodels[raw_data[MODELNUMBER]/16]; } if (raw_data[MODELNAME]==0x4B){ types[type].name="KIN"; + } + } + if (!strncmp(types[type].name, "BNT",3) || !strcmp(types[type].name, "KIN") || !strcmp(types[type].name, "IMP")){ + if (!ups_getinfo()) return; + if (!strcmp(types[type].name, "IMP")){ + model=IMPmodels[raw_data[MODELNUMBER]/16]; + } + if (!strncmp(types[type].name, "BNT",3)){ + model=BNTmodels[raw_data[MODELNUMBER]/16]; + } + if (!strcmp(types[type].name, "KIN")){ model=KINmodels[raw_data[MODELNUMBER]/16]; } linevoltage=voltages[raw_data[MODELNUMBER]%16]; Применяем патч: patch -p0 -l <patch-nut В драйвере powercom по умолчанию включена самопроверка батарей при каждом старте драйвера. Настройки или возможности отключения этой проверки – нет. Метод устранения этой особенности я подсмотрел здесь: http://forum.lissyara.su/viewtopic.php?t=17735&start=25 Если Вам это не актуально, можете данный шаг пропустить. В файле: /volume1/@appstore/debian-chroot/var/chroottarget/test/nut-2.4.1/drivers/powercom.c находим строчки: ... upsdebugx(1,"Detected: %s , %dV",modelname,linevoltage); if (ser_send_char (upsfd, BATTERY_TEST) != 1) { upslogx(LOG_NOTICE, "writing error"); dstate_datastale(); return; } ... и комментируем лишнее: ... upsdebugx(1,"Detected: %s , %dV",modelname,linevoltage); /*if (ser_send_char (upsfd, BATTERY_TEST) != 1) { upslogx(LOG_NOTICE, "writing error"); dstate_datastale(); return; }*/ ... Компилируем NUT (пути для конфигов и т.д. выставляем такие же, как у synology): ./configure --with-user=root --with-group=root --prefix=/usr/syno/etc/ups --sysconfdir=/usr/syno/etc/ups --datadir=/usr/syno/share make Копируем скомпилированный файл powercom из каталога /volume1/@appstore/debian-chroot/var/chroottarget/test/nut-2.4.1/drivers/ в рабочий каталог synology /bin Не забываем проверять/выставлять права файлам: chmod 644 Теперь нужно добавить скомпилированные драйвера, в загрузчик Jun's Loader v1.02b. Используем osfmount (под windows), чтобы извлечь «extra.lzma» (сжатый файл cpio) из synoboot.img (находится «extra.lzma» на втором разделе FAT). Osfmount часто используют для редактирования файла grub.cfg в synoboot.img. («extra.lzma» - содержит дополнительные драйвера *.ko, которые стартуют при загрузке) Скопируем «extra.lzma» в /volume1/@appstore/debian-chroot/var/chroottarget/test/extra-drv Для распаковки «extra.lzma» выполним команду: lzma -d extra.lzma Далее, извлекаем файлы из «extra»: cpio -idv <extra После чего файл «extra.lzma» можно удалить. В распакованный каталог …/usr/lib/modules/ копируем скомпилированные модули cypress_m8.ko, usbcore.ko, usbserial.ko, а в /etc редактируем файл rc.modules В конце списка EXTRA_MODULES добавляем свои три драйвера, без *.ko rc.modules выглядит примерно так: EXTRA_MODULES="mii mdio libphy atl1 atl1e atl1c alx uio ipg jme skge sky2 ptp_pch pch_gbe qla3xxx qlcnic qlge netxen_nic sfc e1000 pcnet32 vmxnet3 bnx2 libcrc32c bnx2x cnic e1000e igb ixgbe r8101 r8168 r8169 tg3 usbnet ax88179_178a button evdev ohci-hcd cypress_m8 usbcore usbserial" DISK_MODULES="BusLogic vmw_pvscsi megaraid_mm megaraid_mbox megaraid scsi_transport_spi mptbase mptscsih mptspi mptsas mptctl ata_piix megaraid_sas mpt2sas mpt3sas" EXTRA_FIRMWARES="bnx2/bnx2-rv2p-09ax-6.0.17.fw bnx2/bnx2-rv2p-09-6.0.17.fw bnx2/bnx2-rv2p-06-6.0.15.fw tigon/tg3_tso5.bin tigon/tg3_tso.bin tigon/tg3.bin" Дальше, внутри каталога, /volume1/@appstore/debian-chroot/var/chroottarget/test/extra-drv, создаём новый файл cpio, и сжимаем его lzma. Полученный, новый «extra.lzma» записывается в каталог уровнем выше. Выполняем команду: (find . -name modprobe && find . \! -name modprobe) | cpio --owner root:root -oH newc | lzma -8 > ../extra.lzma Полученный файл «extra.lzma», при помощи osfmount, записываем обратно в образ synoboot.img. Теперь произведём настройку DSM 6.1 Выполняем: insmod /lib/modules/cypress_m8.ko mknod /dev/ttyUSB0 c 188 0 chmod 644 /dev/ttyUSB0 Настраиваем скорость порта: stty -F /dev/ttyUSB0 speed 1200 cs8 raw (Дальнейшая настройка подсмотрена тут: https://xpenology.com/forum/topic/4413-dsm-52-5592-update-4-amp-serial-apc-ups/#comment-38621) Редактируем файл: /etc/rc Добавляем в KERNEL_MODULES драйвера «usblp cypress_m8 usbserial»: if [ $KERNEL_VCODE -ge $(KernelVersionCode "4.4") ]; then KERNEL_MODULES="usblp cypress_m8 usbserial llc p8022 psnap usbcore quota_tree quota_v2 crc-ccitt crc-itu-t zlib_inflate dm-bufio dm-snapshot" else KERNEL_MODULES="usblp cypress_m8 usbserial llc p8022 psnap usbcore quota_tree quota_v2 crc-ccitt crc-itu-t zlib_inflate dm-snapshot" fi В конце файла, перед exit 0 добавляем строку запуска службы UPS: /usr/syno/etc/rc.sysv/ups-usb.sh start В файле /usr/syno/etc/rc.sysv/ups-usb.sh правим строку StartAllDrv() { local DRV_LIST="usbhid-ups blazer_usb bcmxcp_usb richcomm_usb tripplite_usb" на StartAllDrv() { local DRV_LIST="powercom usbhid-ups blazer_usb bcmxcp_usb richcomm_usb tripplite_usb" Редактируем файл /usr/syno/etc/ups/ups.conf [ups] driver = powercom port = /dev/ttyUSB0 type = IMP Загружаем файл https://github.com/networkupstools/nut/raw/master/data/cmdvartab и копируем его в каталог /usr/syno/share/ На этом всё. После перезагрузки, UPS должен автоматически появиться в GUI: P.S. Посмотреть более подробный статус UPS можно командой: upsc ups admin@serv01:~$ upsc ups battery.charge: 100.0 driver.name: powercom driver.parameter.pollinterval: 5 driver.parameter.port: /dev/ttyUSB0 driver.parameter.type: IMP driver.version: 2.4.1 driver.version.internal: 0.12 input.frequency: 50.00 input.voltage: 226.0 input.voltage.nominal: 220 output.frequency: 50.00 output.voltage: 226.0 ups.load: 12.0 ups.mfr: PowerCom ups.model: IMP-425AP ups.model.type: IMP ups.serial: Unknown ups.status: OL
×
×
  • Create New...