-
Posts
15 -
Joined
-
Last visited
-
Days Won
2
Posts posted by Firs
-
-
В 14.06.2023 в 13:35, Mordent сказал:
Воткнул сегодня 7.2.0-64570. На чистую. Представился ds3622xs+.
все как в мануале до момента подсовывания дров сетевухи и acpi. Вместо этого! (вместо означает, что их добавлять не надо)
./rploader.sh ext ds3622xsp-7.2.0-64570 add https://github.com/pocopico/tcrp-addons/raw/main/all-modules/rpext-index.json ./rploader.sh ext ds3622xsp-7.2.0-64570 add https://github.com/pocopico/tcrp-addons/raw/main/eudev/rpext-index.json ./rploader.sh backup ./rploader.sh build ds3622xsp-7.2.0-64570 withfriend
У вас корректно работает acpi на 7.2.0-64570? Я имею ввиду завершение работы по кнопке питания?
У меня нет, работает только virtio сеть.
Proxmox 8.0.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
Возьмите на заметку, кто будет обновляться на этой версии.
-
Обновился до версии 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 работал нормально.
Кто нибудь может подтвердить это или опровергнуть?
-
22 часа назад, Firs сказал:
Я попытался обновить загрузчик до версии v0.8.0.0 и получил ошибку:
Найдено новое устройство <vid=0627, pid=0001> — не соответствует ожидаемому <vid=46f4, pid=0001>
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 -
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
Скрытый текст{
"extra_cmdline": {
"pid": "0x0001",
"vid": "0x46f4",
"sn": "xxx",
"mac1": "xxx",
"SataPortMap": "66",
"DiskIdxMap": "0600"
},
"synoinfo": {"internalportcfg" : "0xffff",
"maxdisks" : "16",
"support_bde_internal_10g" : "no",
"support_disk_compatibility" : "no",
"support_memory_compatibility" : "no"
},
"ramdisk_copy": {
}}
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
-
У меня стоит версия 8.2.7-6222 на DSM 6.1.7-15284 Update 3
Никакой тайм-бомбы не замечено. Никаких проблем с лицензиями или отвалом камер.
Подключено 25 камер, больше половины по RTSP.
-
В 03.01.2021 в 15:52, Th3B3st1990 сказал:
Переодически Syno теряет соединение с ИБП. почему-то меняется номер usb порта с ttyUSB0 на ttyUSB1. можно как-то сделать чтоб Syno сам автоматом подхватывал порт в такой ситуации ?
Можно попробовать в ups.conf добавить, вместо port = /dev/ttyUSB0
port = /dev/serial/by-id/usb-POWERCOM_CO.__LTD._USB_to_Serial-if00-port0
ну или как он там будет называться у вас
-
6 часов назад, Skyinfire сказал:
Я не нашел его в листах совместимости того самого "extra.lzma for ds3615 v4.8".
Я так понимаю, эти листы до лампы, если все управление идет через Proxmox...
Да, когда на машине стоит Proxmox, на всё железо мы используем стандартные драйвера debian. В этом случае мы можем ставить какие угодно контроллеры, виртуальный DSM про контроллер не будет ничего знать, для него это будут диски подключенные по SATA интерфейсу.
Если хотите можно сделать raid средствами самого аппаратного контроллера и отдать DSM уже готовый том.
- 1
-
Не знаю актуально ещё или нет.
Есть рабочий вариант на 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, можете запускать что угодно, ну, контроллер домена на винде, например. Любые фантазии- 1
-
18 часов назад, ars_viper сказал:
Если не затруднит можно расписать подробнее?
Да уж куда подробнее. Я описал все этапы максимально подробно. Возможно, для DSM 6.2.3 понадобится какая нибудь незначительная адаптация, в виде других путей или версии того же NUT, но в целом должно быть одинаково.
Но, мой совет, купите UPS совместимый с Synology "из коробки". Какой нибудь APC Back-UPS стоит недорого, это сэкономит кучу времени и сил, т.к. IMP-525ap ну очень капризный аппарат.
-
Небольшое дополнение.
Чтобы при отключении/включении 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
-
3 часа назад, Lordbl4 сказал:
после установки обновлений драйвера не слетят?
Уверен что всё слетит. Придётся сохранить скомпилированные драйвера и конфиги, чтобы после обновления их "подсунуть" обратно.
-
Я тоже на этом попался. Обновился с 5.2 3615, на 6.1 3617. Думаю, ну 3617 же "покруче", почему нет? И попался на этом с пакетами. Пришлось откатываться на 3615.
-
Есть у меня старенький 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
Цитата(В powercom.c производится переопределение types[type].name=KIN даже если в настройках задан type=IMP для UPS Powercom IMP-425AP и подобных, что приводит к ошибочному определению battery.charge: 0.0 Также, неправильно отображаются частота и напряжение сети.)
Информацию по исправлению драйвера я нашёл тут:
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
- 6
Установка DSM 7.1.1 на Proxmox
in Виртуализация
Posted
Сам спросил, сам ответил.
acpi работает если добавить пакет:
./rploader.sh ext ds3622xsp-7.2.0-64570 add https://raw.githubusercontent.com/PeterSuh-Q3/tcrp-addons/master/acpid/rpext-index.json