Open NyaMisty opened 2 years ago
Can you give it a shot at creating a symbolic link between bromolow-7.0.1 and bromolow-7.0 such as:
$ cd /var/packages/synokernel-dm/target/lib/modules
$ sudo ln -s bromolow-7.0 bromolow-7.0.1
And then see if that now works at loading the modules?
Thanks!
I know ln -s bromolow-7.0 bromolow-7.0.1
would work, and I actually modified script to read only first two version part in /etc/version (e.g 7.0.1 would be 7.0) to make it work.
I'm just here to see if we have better way handling this
Any updates? 7.1 doesn't work too
Thnx for the reminder as I had forgoten this by now.
As for 7.1, there isn't much I can do as kernel sources has not been released by Synology. Still, you can give it a shot and see if the modules do load using similar fix as above.
Modules load and work in 7.1 with symlink. Autoloading doesn't work. I need load modules after reboot manually.
I had to create an on-boot scheduled task with the script /var/packages/synocli-kernel/target/bin/synocli-kernelmodule.sh --spk synokernel-usbserial -u 60-synokernel-usbserial.rules -c synokernel-usbserial.cfg:cp210x start
in order to get auto-loading to work.
Unfortunately, at least for apollolake, the kernel version changed and the symlink trick won't do it anymore...
@jisakiel are you referring to dsm 7.2 ? And can you provide a uname -a
Yep. I tried poking at rebuild for 7.2 but I've quickly seen it's more involved than it seemed.
Specifically my DS218+ is now 4.4.302+ compared to the 4.4.180+ that gets shipped inside the apollolake-7.0. uname is now
Linux diskstation 4.4.302+ #64561 SMP Fri May 19 01:32:50 CST 2023 x86_64 GNU/Linux synology_apollolake_218+
I have used other serial drivers instead from robertklep/dsm7-usb-serial-drivers, and have noticed other changes as well - kernels seem to be checking for module signature now as well, I'd imagine for (not) support purposes:
cp210x: module verification failed: signature and/or required key missing - tainting kernel
Yep. I tried poking at rebuild for 7.2 but I've quickly seen it's more involved than it seemed. Specifically my DS218+ is now
4.4.302+
compared to the4.4.180+
that gets shipped inside the apollolake-7.0. uname is nowLinux diskstation 4.4.302+ #64561 SMP Fri May 19 01:32:50 CST 2023 x86_64 GNU/Linux synology_apollolake_218+
I have used other serial drivers instead from robertklep/dsm7-usb-serial-drivers, and have noticed other changes as well - kernels seem to be checking for module signature now as well, I'd imagine for (not) support purposes:cp210x: module verification failed: signature and/or required key missing - tainting kernel
This ain't gonna be fun, not fun at all. If it now requires module signature then I believe it's something we'll never be able to provide...
It still loads, mind you, it just taints it. For the modules I shared anyhow. El 11 jun 2023 13:30 +0100, Vincent Fortier @.***>, escribió:
Yep. I tried poking at rebuild for 7.2 but I've quickly seen it's more involved than it seemed. Specifically my DS218+ is now 4.4.302+ compared to the 4.4.180+ that gets shipped inside the apollolake-7.0. uname is now Linux diskstation 4.4.302+ #64561 SMP Fri May 19 01:32:50 CST 2023 x86_64 GNU/Linux synology_apollolake_218+ I have used other serial drivers instead from robertklep/dsm7-usb-serial-drivers, and have noticed other changes as well - kernels seem to be checking for module signature now as well, I'd imagine for (not) support purposes: cp210x: module verification failed: signature and/or required key missing - tainting kernel This ain't gonna be fun, not fun at all. If it now requires module signature then I believe it's something we'll never be able to provide... — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>
@jisakiel
It still loads, mind you, it just taints it. For the modules I shared anyhow.>
What do you mean by this? Did you get the cp210x module working?
Yes, though I only tried https://github.com/robertklep/dsm7-usb-serial-drivers to avoid the hassle. Off a real quick look they just seem to be rebuilt. As I mentioned when loading they mention a lack of signature and a kernel being tainted; I would guess Synology wants to stop supporting custom modules (which makes business sense) but didn't want to leave people using customisations dry, hence this. It's not bad, all things considered; just the 7.2 kernel toolchains etc. need to be added I'd think.
Just in case I did try direct insmod of the 7.0 drivers shipped in synokernel-usbserial but as expected they won't load anymore (not without rebuilding):
sudo insmod /var/packages/synokernel-usbserial/target/lib/modules/apollolake-7.
0/4.4.180+/drivers/usb/serial/cp210x.ko
insmod: ERROR: could not insert module /var/packages/synokernel-usbserial/target/lib/modules/apollolake-7.0/4.4.180+/drivers/usb/serial/cp210x.ko: Invalid module format
And in dmesg: [861822.745360] cp210x: version magic '4.4.180+ SMP mod_unload ' should be '4.4.302+ SMP mod_unload '
I would guess Synology wants to stop supporting custom modules
Yes indeed, they want to limit USB support to Storage Devices. see https://kb.synology.com/en-us/DSM/tutorial/Transfer_files_between_Synology_NAS_and_a_computer_using_a_USB_cable
_The USB ports on Synology NAS are only used for connections to external USB storage devices or compatible devices._
Aditionally there are UPS devices supported to connect by USB.
sudo insmod /var/packages/synokernel-usbserial/target/lib/modules/apollolake-7. 0/4.4.180+/drivers/usb/serial/cp210x.ko insmod: ERROR: could not insert module /var/packages/synokernel-usbserial/target/lib/modules/apollolake-7.0/4.4.180+/drivers/usb/serial/cp210x.ko: Invalid module format
And in dmesg: `[861822.745360] cp210x: version magic '4.4.180+ SMP mod_unload ' should be '4.4.302+ SMP mod_unload ' `
For rather simple driver such as usbserial it's probably ok to "fake" the version number in the kernel source Makefile to reflect the new version. But for more complex ones such as linuxtv it's a totally different beast. Still something to consider if the kernel sources doesn't become available in a reasonable time-frame.
Good news is, if I got this right @jisakiel is that while it now looks for signature it still loads the driver module.
FYI, working module from @robertklep : https://github.com/robertklep/dsm7-usb-serial-drivers/raw/main/modules/geminilake/dsm-7.2/cp210x.ko
Besides of the following symlink (used my arch avoton
& 7.1.1
:
Can you give it a shot at creating a symbolic link between bromolow-7.0.1 and bromolow-7.0 such as:
$ cd /var/packages/synokernel-dm/target/lib/modules $ sudo ln -s bromolow-7.0 bromolow-7.0.1
And then see if that now works at loading the modules?
I have to use this workaround too, otherwise the modules are not loaded after a reboot:
I had to create an on-boot scheduled task with the script
/var/packages/synocli-kernel/target/bin/synocli-kernelmodule.sh --spk synokernel-usbserial -u 60-synokernel-usbserial.rules -c synokernel-usbserial.cfg:cp210x start
in order to get auto-loading to work.
Any chance to fix those two issues ? Shouldn't the package (service) take care of this ?
Same as in the issue #5286.
Any chance to fix those two issues ? Shouldn't the package (service) take care of this ?
I suppose this will never be possible. Since DSM 7, Synology refuses to install (thirdparty) packages that need any root access (for installation, service start, etc.). Every installation Task that needs root access has to be done manually as root on the command line or by a script (task that is executed manually or by schedule). Yes, Synology allows to execute a script as root user, and docker containers can be run as root too, but spk packages (not created by synology?) are not allowed to do this.
Is this a new Bug?
Package Name
synocli-kernel
Package Version
1.1-8
Device Model
DS3615xs
Device Architecture
x86_64
Firmware Version
7.0.1-42218
What happened?
When running
/var/packages/synocli-kernel/target/bin/synocli-kernelmodule.sh
, it detects the system version as 7.0.1. DSM 7.0.1 is simply a minor version of 7.0, and shares the same kernel, so no kernel modules are built specially for 7.0.1.So when I runs this, it told me that ko files are not found. That's because the script is looking for ko in
/var/packages/synokernel-dm/target/lib/modules/bromolow-7.0.1/3.10.108
, but instead it should look for 7.0.Install Log
Service Log
No response
Other Logs
No response