Menu

Connecting to an old Neat scanner is giving me an error message

Mel
2024-08-03
2024-08-03
  • Mel

    Mel - 2024-08-03

    Hi there,
    I have been handed an old Neat Portable Scanner (Model 030108 if relevant). After a bit of struggle, I found the drivers thru archive(dot)org and downloaded both 32 and 64 bit versions.

    Also downloaded NAPS V 7. 4 . 3 . 0

    Connected scanner to the USB port.

    I am on Windows 11, hence I installed 64 bit version first.

    Then I installed NAPS2

    Created new scanner profile and selected my Neat portable scanner from the profile using TWAIN scanner setting

    Now when I click on scan, the progress bar goes about half way before giving me this error message:

    Status(StatusCode="Unavailable".Detail="failed to connect to all addresses")
    
    the guru meditation (Technical Details), when clicked, gives me this wonderful java stack trace looking message, which I have no clue what it is saying:
    
    Grpc.Core.RpcException: Status(StatusCode="Unavailable", Detail="failed to connect to all addresses")
    
    at async Task<bool> GrpcDotNetNamedPipes.Internal.MessageReader<TMessage>.MoveNext(CancellationToken cancellationToken)
    
    at async Task NAPS2.Remoting.Worker.WorkerServiceAdapter.TwainScan(ScanOptions options, CancellationToken cancelToken, ITwainEvents twainEvents)
    
    at async Task NAPS2.Scan.Internal.Twain.RemoteTwainController.StartScan(ScanOptions options, ITwainEvents twainEvents, CancellationToken cancelToken)
    
    at async Task NAPS2.Scan.Internal.Twain.TwainScanDriver.Scan(ScanOptions options, CancellationToken cancelToken, IScanEvents scanEvents, Action<IMemoryImage> callback)+(?) => { }
    
    at async Task NAPS2.Scan.Internal.RemoteScanController.Scan(ScanOptions options, CancellationToken cancelToken, IScanEvents scanEvents, Action<ProcessedImage, PostProcessingContext> callback)
    
    at async Task NAPS2.Scan.ScanController+<>c__DisplayClass13_1.<Scan>g__DoScan|6(?)+DoScan(?)
    
    at async IAsyncEnumerable<ProcessedImage> NAPS2.Scan.ScanController.Scan(ScanOptions options, CancellationToken cancelToken)+(?) => { }
    

    As a troubleshooting exercise, I tried using the only other USB port on this laptop and nothing changed.

    Then I tried uninstalling the driver and installing the 32 bit version of the driver. Although installation program didn't give me any error message, I was unable to see this driver software under control panel --> programs and features panel. Of course when I ran NAPS2, it was unable to find any TWAIN scanners.

    How can I fix this issue? I'd be so grateful if I can get any help. Wife is breathing on my neck, saying she needs to scan her receipts, which is what this scanner will be used for.

    EDIT: Adding the debug log below

    2024-08-03 10:29:48.1949 15708 Scanning with ScanDevice { Driver = Twain, ID = Neat Mobile Scanner 2008, Name = Neat Mobile Scanner 2008 }
    
    2024-08-03 10:29:48.1949 15708 Scan source: Feeder; bit depth: Color; dpi: 100; page size: 8.5x11 in
    
    2024-08-03 10:29:48.2730 8576 Debug: Using new dsm.
    
    2024-08-03 10:29:48.3203 8576 Using TWAIN DSM: C:\Program Files\NAPS2\lib\_win32\twaindsm.dll
    
    2024-08-03 10:29:48.3203 8576 NAPS2.TW - Opening session
    
    2024-08-03 10:29:48.3203 8576 Debug: Thread 1: OpenManager.
    
    2024-08-03 10:29:48.3359 8576 NAPS2.TW - StateChanged (to 3)
    
    2024-08-03 10:29:48.3359 8576 Debug: Using TWAIN2 memory functions.
    
    2024-08-03 10:29:48.3359 8576 NAPS2.TW - Finding source
    
    2024-08-03 10:29:48.3359 8576 Debug: Source id = 1
    
    2024-08-03 10:29:48.3359 8576 NAPS2.TW - Opening source
    
    2024-08-03 10:29:48.3516 8576 NAPS2.TW - Name: Neat Mobile Scanner 2008; Manu: USBSCAN INFO; Family: USB Device; Version: 2.0 Version 2.0.0.0; Protocol: 1.9
    
    2024-08-03 10:29:48.3516 8576 Debug: Thread 1: OpenSource.
    
    2024-08-03 10:29:48.3828 8576 NAPS2.TW - StateChanged (to 4)
    
    2024-08-03 10:29:48.3828 8576 Debug: Registered callback2 OK.
    
    2024-08-03 10:29:48.3828 8576 NAPS2.TW - Configuring source
    
    2024-08-03 10:29:51.0547 15708 Status(StatusCode="Unavailable", Detail="failed to connect to all addresses") Grpc.Core.RpcException: Status(StatusCode="Unavailable", Detail="failed to connect to all addresses")
    
    at async Task<bool> GrpcDotNetNamedPipes.Internal.MessageReader<TMessage>.MoveNext(CancellationToken cancellationToken)
    
    at async Task NAPS2.Remoting.Worker.WorkerServiceAdapter.TwainScan(ScanOptions options, CancellationToken cancelToken, ITwainEvents twainEvents)
    
    at async Task NAPS2.Scan.Internal.Twain.RemoteTwainController.StartScan(ScanOptions options, ITwainEvents twainEvents, CancellationToken cancelToken)
    
    at async Task NAPS2.Scan.Internal.Twain.TwainScanDriver.Scan(ScanOptions options, CancellationToken cancelToken, IScanEvents scanEvents, Action<IMemoryImage> callback)+(?) => { }
    
    at async Task NAPS2.Scan.Internal.RemoteScanController.Scan(ScanOptions options, CancellationToken cancelToken, IScanEvents scanEvents, Action<ProcessedImage, PostProcessingContext> callback)
    
    at async Task NAPS2.Scan.ScanController+<>c__DisplayClass13_1.<Scan>g__DoScan|6(?)+DoScan(?)
    
    at async IAsyncEnumerable<ProcessedImage> NAPS2.Scan.ScanController.Scan(ScanOptions options, CancellationToken cancelToken)+(?) => { }
    
     
  • Ben Olden-Cooligan

    That error means the worker process crashed. You can check the Windows event viewer to see if it has any more info.

     
  • Mel

    Mel - 2024-08-03

    I see two error messages at the time of my debug log capture. One is .NET Runtime. contents of which are as follows:

    Application: NAPS2.Worker.exe
    Framework Version: v4.0.30319
    Description: The process was terminated due to an unhandled exception.
    Exception Info: System.AccessViolationException
       at NTwain.Triplets.Dsm+NativeMethods.DsmWinNew(NTwain.Data.TWIdentity, NTwain.Data.TWIdentity, NTwain.Data.DataGroups, NTwain.Data.DataArgumentType, NTwain.Data.Message, NTwain.Data.TWCapability)
       at NTwain.Triplets.Dsm.DsmEntry(NTwain.Data.TWIdentity, NTwain.Data.TWIdentity, NTwain.Data.DataArgumentType, NTwain.Data.Message, NTwain.Data.TWCapability)
       at NTwain.Triplets.Capability.QuerySupport(NTwain.Data.TWCapability)
       at NTwain.Capabilities.QuerySupport(NTwain.Data.CapabilityId)
       at NTwain.CapWrapper`1[[NTwain.Data.XferMech, NTwain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].CheckSupports()
       at NTwain.CapWrapper`1[[NTwain.Data.XferMech, NTwain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]..ctor(NTwain.IDataSource, NTwain.Data.CapabilityId, System.Func`2<System.Object,NTwain.Data.XferMech>, System.Func`2<NTwain.Data.XferMech,NTwain.Data.TWOneValue>)
       at NTwain.Capabilities.get_ICapXferMech()
       at NAPS2.Scan.Internal.Twain.TwainScanRunner.ConfigureSource(NTwain.DataSource)
       at NAPS2.Scan.Internal.Twain.TwainScanRunner.Init()
       at NAPS2.EtoForms.WinForms.WinFormsInvoker+<>c__DisplayClass3_0.<InvokeDispatch>b__0()
    
    Exception Info: System.Reflection.TargetInvocationException
       at System.RuntimeMethodHandle.InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
       at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(System.Object, System.Object[], System.Object[])
       at System.Delegate.DynamicInvokeImpl(System.Object[])
       at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry)
       at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(System.Object)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
       at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
       at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
       at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry)
       at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
       at System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.ScrollableControl.WndProc(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.Form.WndProc(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
       at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
       at System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
       at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
       at System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
       at System.Windows.Forms.Application.Run(System.Windows.Forms.Form)
       at NAPS2.EntryPoints.WindowsWorkerEntryPoint+<>c__DisplayClass0_0.<Run>b__2()
       at NAPS2.EntryPoints.WorkerEntryPoint.Run(System.String[], Autofac.Module, System.Action, System.Action)
       at NAPS2.EntryPoints.WindowsWorkerEntryPoint.Run(System.String[])
    
    Exception Info: System.Reflection.TargetInvocationException
       at System.RuntimeMethodHandle.InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
       at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(System.Object, System.Object[], System.Object[])
       at System.Reflection.RuntimeMethodInfo.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo)
       at NAPS2.Worker.Program.Main(System.String[])
    

    And the other one is called Application Error, which contains these brief lines:

    Faulting application name: NAPS2.Worker.exe, version: 7.4.3.0, time stamp: 0x945b3718
    Faulting module name: KERNELBASE.dll, version: 10.0.22621.3880, time stamp: 0xee1eae1c
    Exception code: 0xe0434352
    Fault offset: 0x0014a782
    Faulting process id: 0x0x2180
    Faulting application start time: 0x0x1DAE5B857CD47AB
    Faulting application path: C:\Program Files\NAPS2\lib\NAPS2.Worker.exe
    Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
    Report Id: ebf65e2f-79d3-4527-b00d-0a8606b3f8ef
    Faulting package full name: 
    Faulting package-relative application ID: 
    
     
  • Mel

    Mel - 2024-08-03

    I am still as clueless as this morning. Reading Java stacks is not my thing unfortunately. I'm not a developer.

     
  • Ben Olden-Cooligan

    Looks like the Neat driver is crashing in relation to the transfer mode. In your profile settings, under Advanced, Twain Implementation, try selecting "Native Transfer". If that doesn't work you can try the other Twain Implementation options.

     
  • Mel

    Mel - 2024-08-03

    I tried all 5 different before with no different result. But I just tried the Native mode once again and this is what Windows Error reporting is showing me in the detail of .NET Runtime error:

    Application: NAPS2.Worker.exe
    Framework Version: v4.0.30319
    Description: The process was terminated due to an unhandled exception.
    Exception Info: System.AccessViolationException
       at NTwain.Triplets.Dsm+NativeMethods.DsmWinNew(NTwain.Data.TWIdentity, NTwain.Data.TWIdentity, NTwain.Data.DataGroups, NTwain.Data.DataArgumentType, NTwain.Data.Message, NTwain.Data.TWCapability)
       at NTwain.Triplets.Dsm.DsmEntry(NTwain.Data.TWIdentity, NTwain.Data.TWIdentity, NTwain.Data.DataArgumentType, NTwain.Data.Message, NTwain.Data.TWCapability)
       at NTwain.Triplets.Capability.QuerySupport(NTwain.Data.TWCapability)
       at NTwain.Capabilities.QuerySupport(NTwain.Data.CapabilityId)
       at NTwain.CapWrapper`1[[NTwain.Data.BoolType, NTwain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].CheckSupports()
       at NTwain.CapWrapper`1[[NTwain.Data.BoolType, NTwain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]..ctor(NTwain.IDataSource, NTwain.Data.CapabilityId, System.Func`2<System.Object,NTwain.Data.BoolType>, System.Func`2<NTwain.Data.BoolType,NTwain.Data.TWOneValue>)
       at NTwain.Capabilities.get_CapIndicators()
       at NAPS2.Scan.Internal.Twain.TwainScanRunner.ConfigureSource(NTwain.DataSource)
       at NAPS2.Scan.Internal.Twain.TwainScanRunner.Init()
       at NAPS2.EtoForms.WinForms.WinFormsInvoker+<>c__DisplayClass3_0.<InvokeDispatch>b__0()
    
    Exception Info: System.Reflection.TargetInvocationException
       at System.RuntimeMethodHandle.InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
       at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(System.Object, System.Object[], System.Object[])
       at System.Delegate.DynamicInvokeImpl(System.Object[])
       at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry)
       at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(System.Object)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
       at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
       at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
       at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry)
       at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
       at System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.ScrollableControl.WndProc(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.Form.WndProc(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)
       at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
       at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
       at System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
       at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
       at System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
       at System.Windows.Forms.Application.Run(System.Windows.Forms.Form)
       at NAPS2.EntryPoints.WindowsWorkerEntryPoint+<>c__DisplayClass0_0.<Run>b__2()
       at NAPS2.EntryPoints.WorkerEntryPoint.Run(System.String[], Autofac.Module, System.Action, System.Action)
       at NAPS2.EntryPoints.WindowsWorkerEntryPoint.Run(System.String[])
    
    Exception Info: System.Reflection.TargetInvocationException
       at System.RuntimeMethodHandle.InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
       at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(System.Object, System.Object[], System.Object[])
       at System.Reflection.RuntimeMethodInfo.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo)
       at NAPS2.Worker.Program.Main(System.String[])
    
     
  • Ben Olden-Cooligan

    In that case it just looks like the Neat driver is uncontrollably crashing, there's probably not anything that can be done on the NAPS2 end.

     

Log in to post a comment.