Menu

#60 Missing configuration file after install

v0.5.0
closed
1
2020-06-26
2014-05-02
Jedzia
No

Install-CMD:
instcbm.exe xa1541

On a Windows XP SP3 System with a fresh install of openCBM i got "plugin not found" errors. The reason for this was a missing C:\windows\system32\opencbm.conf configuration file.
Creating a zero byte opencbm.conf and repeating the install-cmd above fixes the problem and creates a working configuration file.

Discussion

  • Spiro Trikaliotis

    Thanks for your report, I can completely confirm it.

    The problem was introduced in a patch from October 2012 (commit 8e58fe34849d9)! I will work on a solution and fix it.

    For the time being, generating an empty opencbm.conf at the location you give is the correct work-around.

    I am sorry for the inconvenience.

    Regards
    Spiro

     
  • Spiro Trikaliotis

    • assigned_to: Spiro Trikaliotis
    • Group: v0.4.99.97 --> v0.4.99.98
     
  • Jedzia

    Jedzia - 2014-05-02

    No Problem, in the meantime i've done some debugging:

    === 1.) virgin installment ===
    C:\Projects\C64\opencbm-code\opencbm\bin\i386>instcbm.exe xa1541
    Working directory = 'C:\Projects\C64\opencbm-code\opencbm\bin\i386\',
    system directory = 'C:\WINDOWS\system32\',
    driver directory = 'C:\WINDOWS\system32\DRIVERS\'.
    Copying '.\opencbm.dll' to 'C:\WINDOWS\system32\opencbm.dll'
    Copying '.\opencbmvdd.dll' to 'C:\WINDOWS\system32\opencbmvdd.dll'

    === 2.) second run ===
    C:\Projects\C64\opencbm-code\opencbm\bin\i386>instcbm.exe xa1541
    Working directory = 'C:\Projects\C64\opencbm-code\opencbm\bin\i386\',
    system directory = 'C:\WINDOWS\system32\',
    driver directory = 'C:\WINDOWS\system32\DRIVERS\'.
    Using plugin: 'xa1541' with filename 'opencbm-xa1541.dll'.
    ++++ Install: 'xa1541' with filename 'opencbm-xa1541.dll'.
    Copying '.\opencbm-xa1541.dll' to 'C:\WINDOWS\system32\opencbm-xa1541.dll'
    Copying '.\cbm4wdm.sys' to 'C:\WINDOWS\system32\DRIVERS\cbm4wdm.sys'
    Copying '.\cbm4nt.sys' to 'C:\WINDOWS\system32\DRIVERS\cbm4nt.sys'

    C:\Projects\C64\opencbm-code\opencbm\bin\i386>

    === 3.) run after providing an empty C:\WINDOWS\system32\opencbm.conf ===
    C:\Projects\C64\opencbm-code\opencbm\bin\i386>instcbm.exe xa1541
    Working directory = 'C:\Projects\C64\opencbm-code\opencbm\bin\i386\',
    system directory = 'C:\WINDOWS\system32\',
    driver directory = 'C:\WINDOWS\system32\DRIVERS\'.
    Using plugin: 'xa1541' with filename 'opencbm-xa1541.dll'.
    ++++ Install: 'xa1541' with filename 'opencbm-xa1541.dll'.
    Copying '.\opencbm-xa1541.dll' to 'C:\WINDOWS\system32\opencbm-xa1541.dll'
    Copying '.\cbm4wdm.sys' to 'C:\WINDOWS\system32\DRIVERS\cbm4wdm.sys'
    Copying '.\cbm4nt.sys' to 'C:\WINDOWS\system32\DRIVERS\cbm4nt.sys'
    Using driver 'C:\WINDOWS\system32\DRIVERS\cbm4wdm.sys'
    Checking configuration for OpenCBM

    The following configuration is used:

    INSTCBM version: 0.4.99.97 (Development)
    Driver version: 0.4.99.97 (Development)
    Driver path: C:\WINDOWS\system32\DRIVERS\cbm4wdm.sys
    DLL version: 0.4.99.97 (Development)
    DLL path: C:\Projects\C64\opencbm-code\opencbm\bin\i386\opencbm.dll

    Driver configuration:
    Default port: ........ LPT1
    Driver start mode: ... auto (2)
    LPT port locking: .... yes
    Cable type: .......... auto (-1)

    No problems found in current configuration

    C:\Projects\C64\opencbm-code\opencbm\bin\i386>


    opencbm\install\instcbm.c(1474):
    in function
    static BOOL
    SelfInitGenericOpenCBM(HMODULE OpenCbmDllHandle, const char * DefaultPluginname)

    1.run)
    Parameter DefaultPluginname = NULL
    2.)
    DefaultPluginname = 0x00272470 "xa1541"

    opencbm\lib\WINDOWS\archlib.c(109)
    in function
    BOOL CBMAPIDECL opencbm_plugin_install_generic(const char * DefaultPluginname)

      • 2.)
        configurationFilename = configuration_get_default_filename();
        Here configuration_get_default_filename() returns NULL, so control flow leaves the function.

        if (configurationFilename == NULL) {
            break;
        }
        
        configuration_handle = opencbm_configuration_create(configurationFilename);
        
        if (configuration_handle == NULL) {
            break;
        }
        

    3.)
    configurationFilename = 0x00272490 "C:\WINDOWS/System32/opencbm.conf"
    then configuration_handle is set, no error. works.


    But if you say, that was introduced by a patch you already know. Well, then I lean back lazily :)

     
  • Spiro Trikaliotis

    • Group: v0.4.99.98 --> v0.5.0
     
  • Spiro Trikaliotis

    This problem has already been fixed.

     
  • Spiro Trikaliotis

    • status: open --> closed
     

Anonymous
Anonymous

Add attachments
Cancel