robertklep / dsm7-usb-serial-drivers

Synology DSM 7 USB serial drivers
510 stars 87 forks source link

lost cdc-acm.ko for syno ds415+ (avoton) DSM7.1 #69

Closed yahtala75 closed 1 year ago

yahtala75 commented 1 year ago

Hi, I make a mistake and lost the driver cdc-acm.ko and I don't know how to recover it :( Can you help me ? thank you

Yannick

robertklep commented 1 year ago

I compiled a version for you: https://github.com/robertklep/dsm7-usb-serial-drivers/raw/main/modules/avoton/dsm-7.1/cdc-acm.ko

(I never built this module so no idea if it works 😅)

yahtala75 commented 1 year ago

A great thanks !!!!

I followed also what you wrote to compile it myself. A really interesting new knowledge. On thing I didn't succeed to do is the command : sudo /toolkit/pkgscripts-ng/PkgCreate.py -p avoton -c HelloKernel I saw in the Readme file And after during compilation, I have this kind of error :

mv: cannot stat '//source/3.10.x/.ch341.o.tmp': No such file or directory
scripts/Makefile.build:314: recipe for target '//source/3.10.x/ch341.o' failed
make[2]: *** [//source/3.10.x/ch341.o] Error 1
Makefile:1229: recipe for target '_module_//source/3.10.x' failed
make[1]: *** [_module_//source/3.10.x] Error 2
make[1]: Leaving directory '/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build'

and

Traceback (most recent call last):
  File "/toolkit/pkgscripts-ng/include/python/parallel.py", line 15, in __call__
    result = self.__callable(*args, **kwargs)
  File "/toolkit/pkgscripts-ng/include/python/pkgcommon.py", line 191, in run_command
    env.execute(cmd, display=len(self.env_config.platforms)
  File "/toolkit/pkgscripts-ng/include/python/exec_env.py", line 79, in execute
    raise EnvError(
exec_env.EnvError: ('Execute chroot /toolkit/build_env/ds.avoton-7.1 env PackageName=3.10.x /pkgscripts-ng/SynoBuild --avoton -c --min-sdk 7.1 --parallel 4 3.10.x failed', 'Set cache size limit to 8.0 Gbytes\nStatistics cleared\n[INFO] projectList=3.10.x\n[INFO] Start to build 3.10.x.\n[SCRIPT] build script: //source/3.10.x/SynoBuildConf/build\n[INFO] ======= Run build script =======\nrm -rf *.o ch341.ko cp210x.ko pl2303.ko ti_usb_3410_5052.ko cdc-acm.ko *.cmd\nmake -C /usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root//usr/lib/modules/DSM-7.1/build M=//source/3.10.x modules\nmake -C /usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root//usr/lib/modules/DSM-7.1/build M=//source/3.10.x modules\nmake -C /usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root//usr/lib/modules/DSM-7.1/build M=//source/3.10.x modules\nmake[1]: warning: jobserver unavailable: using -j1.  Add \'+\' to parent make rule.\nmake -C /usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root//usr/lib/modules/DSM-7.1/build M=//source/3.10.x modules\nmake[1]: Entering directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\nmake[1]: warning: jobserver unavailable: using -j1.  Add \'+\' to parent make rule.\nmake[1]: warning: jobserver unavailable: using -j1.  Add \'+\' to parent make rule.\nmake[1]: Entering directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\nmake[1]: Entering directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\nmake[1]: warning: jobserver unavailable: using -j1.  Add \'+\' to parent make rule.\nmake[1]: Entering directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\n  CC [M]  //source/3.10.x/ch341.o\n  CC [M]  //source/3.10.x/ch341.o\n  CC [M]  //source/3.10.x/ch341.o\n  CC [M]  //source/3.10.x/ch341.o\n  CC [M]  //source/3.10.x/cp210x.o\nmv: cannot stat \'//source/3.10.x/.ch341.o.tmp\': No such file or directory\nscripts/Makefile.build:314: recipe for target \'//source/3.10.x/ch341.o\' failed\nmake[2]: *** [//source/3.10.x/ch341.o] Error 1\nMakefile:1229: recipe for target \'_module_//source/3.10.x\' failed\nmake[1]: *** [_module_//source/3.10.x] Error 2\nmake[1]: Leaving directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\nMakefile:8: recipe for target \'ti_usb_3410_5052.ko\' failed\nmake: *** [ti_usb_3410_5052.ko] Error 2\nmake: *** Waiting for unfinished jobs....\n  CC [M]  //source/3.10.x/cp210x.o\nmv: cannot stat \'//source/3.10.x/.ch341.o.tmp\': No such file or directory\nscripts/Makefile.build:314: recipe for target \'//source/3.10.x/ch341.o\' failed\nmake[2]: *** [//source/3.10.x/ch341.o] Error 1\nMakefile:1229: recipe for target \'_module_//source/3.10.x\' failed\nmake[1]: *** [_module_//source/3.10.x] Error 2\nmake[1]: Leaving directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\nMakefile:8: recipe for target \'cp210x.ko\' failed\nmake: *** [cp210x.ko] Error 2\nmv: cannot stat \'//source/3.10.x/.cp210x.o.tmp\': No such file or directory\nscripts/Makefile.build:314: recipe for target \'//source/3.10.x/cp210x.o\' failed\nmake[2]: *** [//source/3.10.x/cp210x.o] Error 1\nMakefile:1229: recipe for target \'_module_//source/3.10.x\' failed\nmake[1]: *** [_module_//source/3.10.x] Error 2\nmake[1]: Leaving directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\nMakefile:8: recipe for target \'pl2303.ko\' failed\nmake: *** [pl2303.ko] Error 2\n  CC [M]  //source/3.10.x/pl2303.o\n  CC [M]  //source/3.10.x/ti_usb_3410_5052.o\n  CC [M]  //source/3.10.x/cdc-acm.o\n  Building modules, stage 2.\n  MODPOST 5 modules\n  CC      //source/3.10.x/cdc-acm.mod.o\n  LD [M]  //source/3.10.x/cdc-acm.ko\n  CC      //source/3.10.x/ch341.mod.o\n  LD [M]  //source/3.10.x/ch341.ko\n  CC      //source/3.10.x/cp210x.mod.o\n  LD [M]  //source/3.10.x/cp210x.ko\n  CC      //source/3.10.x/pl2303.mod.o\n  LD [M]  //source/3.10.x/pl2303.ko\n  CC      //source/3.10.x/ti_usb_3410_5052.mod.o\n  LD [M]  //source/3.10.x/ti_usb_3410_5052.ko\nmake[1]: Leaving directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\n[Error] Build project fail!\nTime cost: 00:00:03 [Build-->3.10.x]\n[INFO] Build 3.10.x finished!\n\n----------------- Time cost statistics -----------------\nTime cost: 00:00:03 [Build-->3.10.x]\n\n########################################################\n      Error(s) occurred on project "3.10.x"\n########################################################\n1 projects, 1 failed, 0 blocked.\n\n[Error] Check [/logs/error.build] for fixing errors.')
multiprocessing.pool.RemoteTraceback: 
"""
Traceback (most recent call last):
  File "/toolkit/pkgscripts-ng/include/python/exec_env.py", line 76, in execute
    output = commandrunner.run(cmd, display=display, **kwargs)
  File "/toolkit/pkgscripts-ng/include/python/commandrunner.py", line 39, in run
    raise RunShellFailed(p.returncode, cmd, output)
commandrunner.RunShellFailed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.10/multiprocessing/pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
  File "/toolkit/pkgscripts-ng/include/python/parallel.py", line 15, in __call__
    result = self.__callable(*args, **kwargs)
  File "/toolkit/pkgscripts-ng/include/python/pkgcommon.py", line 191, in run_command
    env.execute(cmd, display=len(self.env_config.platforms)
  File "/toolkit/pkgscripts-ng/include/python/exec_env.py", line 79, in execute
    raise EnvError(
exec_env.EnvError: ('Execute chroot /toolkit/build_env/ds.avoton-7.1 env PackageName=3.10.x /pkgscripts-ng/SynoBuild --avoton -c --min-sdk 7.1 --parallel 4 3.10.x failed', 'Set cache size limit to 8.0 Gbytes\nStatistics cleared\n[INFO] projectList=3.10.x\n[INFO] Start to build 3.10.x.\n[SCRIPT] build script: //source/3.10.x/SynoBuildConf/build\n[INFO] ======= Run build script =======\nrm -rf *.o ch341.ko cp210x.ko pl2303.ko ti_usb_3410_5052.ko cdc-acm.ko *.cmd\nmake -C /usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root//usr/lib/modules/DSM-7.1/build M=//source/3.10.x modules\nmake -C /usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root//usr/lib/modules/DSM-7.1/build M=//source/3.10.x modules\nmake -C /usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root//usr/lib/modules/DSM-7.1/build M=//source/3.10.x modules\nmake[1]: warning: jobserver unavailable: using -j1.  Add \'+\' to parent make rule.\nmake -C /usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root//usr/lib/modules/DSM-7.1/build M=//source/3.10.x modules\nmake[1]: Entering directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\nmake[1]: warning: jobserver unavailable: using -j1.  Add \'+\' to parent make rule.\nmake[1]: warning: jobserver unavailable: using -j1.  Add \'+\' to parent make rule.\nmake[1]: Entering directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\nmake[1]: Entering directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\nmake[1]: warning: jobserver unavailable: using -j1.  Add \'+\' to parent make rule.\nmake[1]: Entering directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\n  CC [M]  //source/3.10.x/ch341.o\n  CC [M]  //source/3.10.x/ch341.o\n  CC [M]  //source/3.10.x/ch341.o\n  CC [M]  //source/3.10.x/ch341.o\n  CC [M]  //source/3.10.x/cp210x.o\nmv: cannot stat \'//source/3.10.x/.ch341.o.tmp\': No such file or directory\nscripts/Makefile.build:314: recipe for target \'//source/3.10.x/ch341.o\' failed\nmake[2]: *** [//source/3.10.x/ch341.o] Error 1\nMakefile:1229: recipe for target \'_module_//source/3.10.x\' failed\nmake[1]: *** [_module_//source/3.10.x] Error 2\nmake[1]: Leaving directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\nMakefile:8: recipe for target \'ti_usb_3410_5052.ko\' failed\nmake: *** [ti_usb_3410_5052.ko] Error 2\nmake: *** Waiting for unfinished jobs....\n  CC [M]  //source/3.10.x/cp210x.o\nmv: cannot stat \'//source/3.10.x/.ch341.o.tmp\': No such file or directory\nscripts/Makefile.build:314: recipe for target \'//source/3.10.x/ch341.o\' failed\nmake[2]: *** [//source/3.10.x/ch341.o] Error 1\nMakefile:1229: recipe for target \'_module_//source/3.10.x\' failed\nmake[1]: *** [_module_//source/3.10.x] Error 2\nmake[1]: Leaving directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\nMakefile:8: recipe for target \'cp210x.ko\' failed\nmake: *** [cp210x.ko] Error 2\nmv: cannot stat \'//source/3.10.x/.cp210x.o.tmp\': No such file or directory\nscripts/Makefile.build:314: recipe for target \'//source/3.10.x/cp210x.o\' failed\nmake[2]: *** [//source/3.10.x/cp210x.o] Error 1\nMakefile:1229: recipe for target \'_module_//source/3.10.x\' failed\nmake[1]: *** [_module_//source/3.10.x] Error 2\nmake[1]: Leaving directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\nMakefile:8: recipe for target \'pl2303.ko\' failed\nmake: *** [pl2303.ko] Error 2\n  CC [M]  //source/3.10.x/pl2303.o\n  CC [M]  //source/3.10.x/ti_usb_3410_5052.o\n  CC [M]  //source/3.10.x/cdc-acm.o\n  Building modules, stage 2.\n  MODPOST 5 modules\n  CC      //source/3.10.x/cdc-acm.mod.o\n  LD [M]  //source/3.10.x/cdc-acm.ko\n  CC      //source/3.10.x/ch341.mod.o\n  LD [M]  //source/3.10.x/ch341.ko\n  CC      //source/3.10.x/cp210x.mod.o\n  LD [M]  //source/3.10.x/cp210x.ko\n  CC      //source/3.10.x/pl2303.mod.o\n  LD [M]  //source/3.10.x/pl2303.ko\n  CC      //source/3.10.x/ti_usb_3410_5052.mod.o\n  LD [M]  //source/3.10.x/ti_usb_3410_5052.ko\nmake[1]: Leaving directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\n[Error] Build project fail!\nTime cost: 00:00:03 [Build-->3.10.x]\n[INFO] Build 3.10.x finished!\n\n----------------- Time cost statistics -----------------\nTime cost: 00:00:03 [Build-->3.10.x]\n\n########################################################\n      Error(s) occurred on project "3.10.x"\n########################################################\n1 projects, 1 failed, 0 blocked.\n\n[Error] Check [/logs/error.build] for fixing errors.')
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/toolkit/pkgscripts-ng/PkgCreate.py", line 184, in <module>
    main(sys.argv[1:])
  File "/toolkit/pkgscripts-ng/PkgCreate.py", line 177, in main
    packer.pack_package()
  File "/toolkit/pkgscripts-ng/include/python/pkguniform.py", line 437, in pack_package
    worker.execute()
  File "/toolkit/pkgscripts-ng/include/python/pkgcommon.py", line 86, in execute
    self._process_output(self._run(*argv))
  File "/toolkit/pkgscripts-ng/include/python/pkgcommon.py", line 212, in _run
    return doPlatformParallel(self.run_command, self.env_config.platforms)
  File "/toolkit/pkgscripts-ng/include/python/parallel.py", line 60, in doPlatformParallel
    output[item] = results[item].get()
  File "/usr/lib/python3.10/multiprocessing/pool.py", line 774, in get
    raise self._value
exec_env.EnvError: ('Execute chroot /toolkit/build_env/ds.avoton-7.1 env PackageName=3.10.x /pkgscripts-ng/SynoBuild --avoton -c --min-sdk 7.1 --parallel 4 3.10.x failed', 'Set cache size limit to 8.0 Gbytes\nStatistics cleared\n[INFO] projectList=3.10.x\n[INFO] Start to build 3.10.x.\n[SCRIPT] build script: //source/3.10.x/SynoBuildConf/build\n[INFO] ======= Run build script =======\nrm -rf *.o ch341.ko cp210x.ko pl2303.ko ti_usb_3410_5052.ko cdc-acm.ko *.cmd\nmake -C /usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root//usr/lib/modules/DSM-7.1/build M=//source/3.10.x modules\nmake -C /usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root//usr/lib/modules/DSM-7.1/build M=//source/3.10.x modules\nmake -C /usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root//usr/lib/modules/DSM-7.1/build M=//source/3.10.x modules\nmake[1]: warning: jobserver unavailable: using -j1.  Add \'+\' to parent make rule.\nmake -C /usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root//usr/lib/modules/DSM-7.1/build M=//source/3.10.x modules\nmake[1]: Entering directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\nmake[1]: warning: jobserver unavailable: using -j1.  Add \'+\' to parent make rule.\nmake[1]: warning: jobserver unavailable: using -j1.  Add \'+\' to parent make rule.\nmake[1]: Entering directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\nmake[1]: Entering directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\nmake[1]: warning: jobserver unavailable: using -j1.  Add \'+\' to parent make rule.\nmake[1]: Entering directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\n  CC [M]  //source/3.10.x/ch341.o\n  CC [M]  //source/3.10.x/ch341.o\n  CC [M]  //source/3.10.x/ch341.o\n  CC [M]  //source/3.10.x/ch341.o\n  CC [M]  //source/3.10.x/cp210x.o\nmv: cannot stat \'//source/3.10.x/.ch341.o.tmp\': No such file or directory\nscripts/Makefile.build:314: recipe for target \'//source/3.10.x/ch341.o\' failed\nmake[2]: *** [//source/3.10.x/ch341.o] Error 1\nMakefile:1229: recipe for target \'_module_//source/3.10.x\' failed\nmake[1]: *** [_module_//source/3.10.x] Error 2\nmake[1]: Leaving directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\nMakefile:8: recipe for target \'ti_usb_3410_5052.ko\' failed\nmake: *** [ti_usb_3410_5052.ko] Error 2\nmake: *** Waiting for unfinished jobs....\n  CC [M]  //source/3.10.x/cp210x.o\nmv: cannot stat \'//source/3.10.x/.ch341.o.tmp\': No such file or directory\nscripts/Makefile.build:314: recipe for target \'//source/3.10.x/ch341.o\' failed\nmake[2]: *** [//source/3.10.x/ch341.o] Error 1\nMakefile:1229: recipe for target \'_module_//source/3.10.x\' failed\nmake[1]: *** [_module_//source/3.10.x] Error 2\nmake[1]: Leaving directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\nMakefile:8: recipe for target \'cp210x.ko\' failed\nmake: *** [cp210x.ko] Error 2\nmv: cannot stat \'//source/3.10.x/.cp210x.o.tmp\': No such file or directory\nscripts/Makefile.build:314: recipe for target \'//source/3.10.x/cp210x.o\' failed\nmake[2]: *** [//source/3.10.x/cp210x.o] Error 1\nMakefile:1229: recipe for target \'_module_//source/3.10.x\' failed\nmake[1]: *** [_module_//source/3.10.x] Error 2\nmake[1]: Leaving directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\nMakefile:8: recipe for target \'pl2303.ko\' failed\nmake: *** [pl2303.ko] Error 2\n  CC [M]  //source/3.10.x/pl2303.o\n  CC [M]  //source/3.10.x/ti_usb_3410_5052.o\n  CC [M]  //source/3.10.x/cdc-acm.o\n  Building modules, stage 2.\n  MODPOST 5 modules\n  CC      //source/3.10.x/cdc-acm.mod.o\n  LD [M]  //source/3.10.x/cdc-acm.ko\n  CC      //source/3.10.x/ch341.mod.o\n  LD [M]  //source/3.10.x/ch341.ko\n  CC      //source/3.10.x/cp210x.mod.o\n  LD [M]  //source/3.10.x/cp210x.ko\n  CC      //source/3.10.x/pl2303.mod.o\n  LD [M]  //source/3.10.x/pl2303.ko\n  CC      //source/3.10.x/ti_usb_3410_5052.mod.o\n  LD [M]  //source/3.10.x/ti_usb_3410_5052.ko\nmake[1]: Leaving directory \'/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build\'\n[Error] Build project fail!\nTime cost: 00:00:03 [Build-->3.10.x]\n[INFO] Build 3.10.x finished!\n\n----------------- Time cost statistics -----------------\nTime cost: 00:00:03 [Build-->3.10.x]\n\n########################################################\n      Error(s) occurred on project "3.10.x"\n########################################################\n1 projects, 1 failed, 0 blocked.\n\n[Error] Check [/logs/error.build] for fixing errors.')

But it seems the modules are created.

robertklep commented 1 year ago

Yes, I also always get errors during compiling. I never bothered to look into why, as long as the modules are being built I'm happy 😅

yahtala75 commented 1 year ago

And I am happy also. did you use the 3.10.x drivers class files cdc-acm.c and cdc-acm.h ? Because I saw my arch was : "Linux Diskstation 3.10.108 #42962 SMP Tue Oct 18 15:01:39 CST 2022 x86_64 GNU/Linux synology_avoton_415+" And I saw the size is different between your file and the one I compile, I don't know if it's really important.

robertklep commented 1 year ago

Yes, I used those files from the 3.10.x source distribution.

As long as the module works, size doesn't matter 😄