Jump to content
XPEnology Community

Vortex

Members
  • Posts

    211
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Vortex

  1. No, but they encrypt all 7.xx minor updates and official packages.
  2. I’m using them for ROON: https://roononnas.org/en/synology/
  3. Here is the missed kernel modules for usb audio stripped from the DSM 7.x I've compiled it for DS918+ (XPEnology/Redpill DSM 7.0.1). To load use this sequence: insmod soundcore.ko insmod snd.ko insmod snd-hwdep.ko insmod snd-timer.ko insmod snd-pcm.ko insmod snd-seq-device.ko insmod snd-rawmidi.ko insmod snd-usbmidi-lib.ko insmod snd-usb-audio.ko snd-usb-audio_918p_701.zip
  4. Toolkit is enough to build the kernel module: Guide 6.x, Guide 7.0
  5. - No, Just CSM Boot Filter. - It is in the archive. Named ORIG.ROM.
  6. Here we go: TerraMaster Fx-422 BIOS mod by Vortex Enabled: - CSM Options - RTC Alarm Options To flash (use FreeDOS or something): AFUDOS.EXE BIOSMOD.ROM Enjoy. tm_422_biosmod_vtx.zip
  7. I realize the @ThorGroupdid not understand the purpose of all the synobios_ops. Here's a complete list struct synobios_ops { struct module *owner; /*01*/ int (*get_brand)(void); /*02*/ int (*get_model)(void); /*03*/ int (*get_cpld_version)(void); /*04*/ int (*get_rtc_time)(struct _SynoRtcTimePkt *); /*05*/ int (*set_rtc_time)(struct _SynoRtcTimePkt *); /*06*/ int (*get_fan_status)(int, FAN_STATUS *); /*07*/ int (*set_fan_status)(FAN_STATUS, FAN_SPEED); /*08*/ int (*get_sys_temperature)(struct _SynoThermalTemp *); /*09*/ int (*get_cpu_temperature)(struct _SynoCpuTemp *); #if defined(CONFIG_SYNO_PORT_MAPPING_V2) /*10*/ int (*set_disk_led)(DISKLEDSTATUS*); #else /* CONFIG_SYNO_PORT_MAPPING_V2 */ /*10*/ int (*set_disk_led)(int, SYNO_DISK_LED); #endif /* CONFIG_SYNO_PORT_MAPPING_V2 */ /*11*/ int (*set_power_led)(SYNO_LED); /*12*/ int (*get_cpld_reg)(CPLDREG *); /*13*/ int (*set_mem_byte)(MEMORY_BYTE *); /*14*/ int (*get_mem_byte)(MEMORY_BYTE *); /*15*/ int (*set_gpio_pin)(GPIO_PIN *); /*16*/ int (*get_gpio_pin)(GPIO_PIN *); /*17*/ int (*set_gpio_blink)(GPIO_PIN *); /*18*/ int (*set_auto_poweron)(SYNO_AUTO_POWERON *); /*19*/ int (*get_auto_poweron)(SYNO_AUTO_POWERON *); /*20*/ int (*init_auto_poweron)(void); /*21*/ int (*uninit_auto_poweron)(void); /*22*/ int (*set_alarm_led)(unsigned char); /*23*/ int (*get_buzzer_cleared)(unsigned char *buzzer_cleared); /*24*/ int (*set_buzzer_clear)(unsigned char buzzer_clear); /*25*/ int (*get_power_status)(POWER_INFO *); /*26*/ int (*get_backplane_status)(BACKPLANE_STATUS *); /*27*/ int (*module_type_init)(struct synobios_ops *); /*28*/ int (*uninitialize)(void); /*29*/ int (*set_cpu_fan_status)(FAN_STATUS, FAN_SPEED); /*30*/ int (*set_phy_led)(SYNO_LED); /*31*/ int (*set_hdd_led)(SYNO_LED); /*32*/ int (*pwm_ctl)(SynoPWMCTL *); /*33*/ int (*check_microp_id)(const struct synobios_ops *); /*34*/ int (*set_microp_id)(void); /*35*/ int (*get_superio)(SYNO_SUPERIO_PACKAGE *); /*36*/ int (*set_superio)(SYNO_SUPERIO_PACKAGE *); /*37*/ int (*exdisplay_handler)(struct _SynoMsgPkt *); /*38*/ int (*read_memory)(SYNO_MEM_ACCESS*); /*39*/ int (*write_memory)(SYNO_MEM_ACCESS*); /*40*/ void (*get_cpu_info)(SYNO_CPU_INFO*, const unsigned int); /*41*/ int (*set_aha_led)(struct synobios_ops *, SYNO_AHA_LED); /*42*/ int (*get_copy_button_status)(void); // for matching userspace usage, button pressed = 0, else = 1 /*43*/ int (*hwmon_get_fan_speed_rpm)(SYNO_HWMON_SENSOR_TYPE *); /*44*/ int (*hwmon_get_psu_status)(SYNO_HWMON_SENSOR_TYPE *, int); /*45*/ int (*hwmon_get_sys_voltage)(SYNO_HWMON_SENSOR_TYPE *); /*46*/ int (*hwmon_get_backplane_status)(SYNO_HWMON_SENSOR_TYPE *); /*47*/ int (*hwmon_get_sys_thermal)(SYNO_HWMON_SENSOR_TYPE *); /*48*/ int (*hwmon_get_sys_current)(SYNO_HWMON_SENSOR_TYPE *); /*49*/ int (*set_ok_to_remove_led)(unsigned char ledON); /*50*/ int (*get_sys_current)(unsigned long*); /*51*/ int (*get_disk_intf)(SYNO_DISK_INTF_INFO *); };
  8. Not an errors. Just Status notifiers/Commands goes to the PIC16F1829 According to: #define UART2_CMD_BUTTON_POWER 0x30 /* '0' */ #define UART2_CMD_SHUTDOWN 0x31 /* '1' */ #define UART2_CMD_BUZZER_SHORT 0x32 /* '2' */ #define UART2_CMD_BUZZER_LONG 0x33 /* '3' */ #define UART2_CMD_LED_POWER_ON 0x34 /* '4' */ #define UART2_CMD_LED_POWER_BLINK 0x35 /* '5' */ #define UART2_CMD_LED_POWER_OFF 0x36 /* '6' */ #define UART2_CMD_LED_HD_OFF 0x37 /* '7' */ #define UART2_CMD_LED_HD_GS 0x38 /* '8' */ #define UART2_CMD_LED_HD_GB 0x39 /* '9' */ #define UART2_CMD_LED_HD_AS 0x3A /* ':' */ #define UART2_CMD_LED_HD_AB 0x3B /* ';' */ #define UART2_CMD_LED_HD_BREATH 0x3D /* '=' */ #define UART2_CMD_LED_USB_ON 0x40 /* '@' */ #define UART2_CMD_LED_USB_BLINK 0x41 /* 'A' */ #define UART2_CMD_LED_USB_OFF 0x42 /* 'B' */ // control by microp, echo J to ttyS1 to light on the 10G led, echo K to ttyS1 to turn off the 10G led #define UART2_CMD_LED_10G_LAN_ON 0x4A /* 'J' */ #define UART2_CMD_LED_10G_LAN_OFF 0x4B /* 'K' */ #define UART2_CMD_SWITCH_MICROP_VERSION 0x4F /* 'O' */ #define UART2_CMD_LED_MIRROR_OFF 0x50 /* 'P' */ #define UART2_CMD_LED_MIRROR_GS 0x51 /* 'Q' */ #define UART2_CMD_LED_MIRROR_GB 0x52 /* 'R' */ #define UART2_CMD_LED_MIRROR_AS 0x53 /* 'S' */ #define UART2_CMD_LED_MIRROR_AB 0x54 /* 'T' */ #define UART2_CMD_TOGGLE_FAN_RPS_REPORT 0x55 /* 'U' */ #define UART2_CMD_SET_PWM_DUTY 0x56 /* 'V' */ #define UART2_CMD_SET_PWM_FREQ 0x57 /* 'W' */ #define UART2_CMD_BUTTON_USB 0x60 /* '`' */ #define UART2_CMD_BUTTON_RESET 0x61 /* 'a' */ // control by up, must echo u first! uP #1 #define UART2_CMD_FAN_FAILURE 0x66 /* 'f' */ // control by up, must echo EC1 first! uP #17 #define UART2_CMD_CPUFAN_FAILURE 0x67 /* 'g' */ #define UART2_CMD_RCPOWEROFF 0x70 /* 'p' */ #define UART2_CMD_RCPOWERON 0x71 /* 'q' */ #define UART2_CMD_DISABLE_SCHEDULE_POWERON 0x72 /* 'r' */ #define UART2_CMD_ENABLE_SCHEDULE_POWERON 0x73 /* 's' */ #define UART2_CMD_DISABLE_FANCHECK 0x74 /* 't' */ #define UART2_CMD_ENABLE_FANCHECK 0x75 /* 'u' */ #define UART2_CMD_DISABLE_CPUFANCHECK "EC0" #define UART2_CMD_ENABLE_CPUFANCHECK "EC1" #define UART2_CMD_ENABLE_POWERBTN_WAKEUP "SW1" #define UART2_CMD_DISABLE_POWERBTN_WAKEUP "SW0" #define UART2_CMD_ALARM_LED_ON "LA1" #define UART2_CMD_ALARM_LED_BLINKING "LA2" #define UART2_CMD_ALARM_LED_OFF "LA3" #define UART2_CMD_SWITCH_LED_CONTROL "M" //Switch the led control between status and power #define UART2_CMD_WOL_ENABLE "l" #if defined(MY_DEF_HERE) || defined(MY_ABC_HERE) #define UART2_CMD_GET_UNIQUE_CMD 0x52 /* 'R' */ #endif lets'decode: 4 - Power LED on 9 - Status LED green blink 8 - Status LED green on 3 - Long beep (successfully booted) R -GetMicroP (several attempts) r - Disable Sched. Poweron K - LAN10G LED off p - RC power off (?) - - is a delimiter It would be great if these commands (GetMicroP is most important) (together with /dev/ttyS1) were shimmed in the LKM!
  9. Jun на форуме иногда появляется, но активность у него нулевая. В личку не отвечает. Т.к. исходниками загрузчика он не делится, реверс его модуля и реализация заново для новых версий дсм может занять долгое время (скажу сразу, я этим не занимаюсь). Если Jun после выхода релиза не появится с новым загрузчиком, нас ждет какое то время «пробуксовка» с временем выхода решения да в и прежнем виде возможно его уже больше не будет. В dsm 7 rc отсутствуют те “навороты” защиты, которые были в dsm 6. Оставлена только базовая защита против модификации. Может это из за RC и ее еще добавят в последний момент, а может решили изменить политику. Я смог запустить RC на паре своих тестовых baremetal устройств. Пока все хорошо. Но, повторю, это не загрузчик-автомат, он не так удобен в плане обновлений dsm и слишком специфичен к конечному девайсу.
  10. Всем привет. Странно, что зв год почти никто не пытается понять, отчего не ставится 6.2.4 Все ждут Jun'a, который за два года не написал ни одного сообщения. Анализ ошибки "va not found", привел меня к модулю kexec, который выполняет первичный патч ядра. В 6.2.4 из-за каких-то других смещений, этот патч не проходит и дальнейшая загрузка не стартует. Разбираюсь дальше.
  11. хм.... думаю, разумно вам будет создать отдельную тему про WDMyCloud Mirror и там обсудить. чтобы не заходить в оффтопик.
  12. Обновления (не все) можно ставить штатно. Есть т.н. "опасные" обновления, затрагивающие защиту DSM, вот их ставить без обновления загрузчика нельзя. Какое обновление опасное, а какое безопасное обычно определяется экспериментальным путем пользователми уже в первые часы Надеюсь, я ответил на Ваш вопрос. Оффтопик прекращаем.
  13. Личные сообщения станут доступны после написания нескольких постов на форуме. Если Вы просто прохожий и зашли лишь за паролем, проходите мимо
  14. Всем кто уже поставил 5.2-5644 и все работает, волноваться незачем. Предупреждение для тех, кто заново ставит. Сино обновила файл буквально два дня назад. demon_sl оч правильно сделал что сохранил старый pat. Скоро сделаем новый хагрузчик под все pat-ы.
  15. Пакеты для dsm60 собраны для x86_64, они без lib64 не заработают.
  16. Юзерспейс (hda1) патчится из рамдиска в момент загрузки. Хренобут не несет в себе готовые бинари. Он содержит только патчи и создает патченный образ системы на лету, в момент загрузки. Вот поэтому важно юзать хренобут соответствующей основной прошивке версии. Иначе, новые файлы не пропатчатся, а заменятся старыми, из кеша. Такова особенность нашего PatchEngine - он был создан как раз для того, чтобы как можно долше работать без новых патчей и переживать мелкие апдейты. На крупные апдейты все же новая версия очень рекомендуется. Тем кто уже обновился, если не глючит, откатываться назад не нужно. Дождитесь новой весии загрузчика и потом еще раз накатите систему поверх.
  17. Ядро обычно неизменно на протяжении всех минорных обновлений. initramfs тоже особой роли не играет. а вот защищенные файлы (а их около 30 штук) благодарся системе кеширования патчей, остаются старыми. а это обычно самые важные файлы.
  18. Offtopic: Скажу сразу, я не администратор этого форума, у меня лишь минимальные модераторские полномочия для технических целей (поправить шапку итд). Я не слежу за порядком на форуме - у меня на это практически нет времени. Но зато я слежу за несколькими интересными с моей точки зрения темами и если в этих темах начинается срач - чтение всего этого это отнимает у меня время. Я безусловно уважаю полезные посты Bob'a на форуме, но это не даёт ему права опускаться до хамства и флуда. Прошу ничего не воспринимать на личный счет. Ontopic: Недавно вышла 5.2.5644. Обновляться до неё стандартно с загрузчиком 5.2.5592 не рекомендую - так система может и будет работать, но вы получите часть старых файлов - они останутся от 5592. Смысла в этом немного, одни недостатки. Поэтому подождите обновления хренобута до 5.2.5644. Оно уже тестируется.
  19. Если Автор патча пожелал распространять его через личку, значит так считает нужным и следует уважать его выбор. Выкладывание патча в общий доступ - проявление неуважения к нему и его трудам. Это грозит тем, что в следующий раз этот автор попросту не будет иметь никакого интереса делать эту работу снова. Помните, что Синолоджи тут тоже присутствует и постоянно закрывает лазейки в новых версиях. Есть шанс, что в скором времени, мы останемся вообще без камер или новой DSM, или адаптация к новым версиям будет занимать продолжительное время. Не ссорьтесь и уважайте чужой труд. [Флуд и оффтопик почистил]
  20. Можно ставить. Только один момент - прсле установки дважды перезагрузите.
×
×
  • Create New...