3 Replies Latest reply on Feb 29, 2016 8:11 PM by Matthew Rush

    DS3508 scanner with WebKit Enterprise Browser barcode API on VC70N0 with USB cable

    Matthew Rush



      I have a VC70N0 with the WebKit Enterprise Browser installed. Attached to that I have a DS3508 scanner, connected by a USB cable.


      I would like to know how to configure the scanner, the computer and/or the Enterprise Browser so that the scanner works via the Enterprise Browser barcode API in ebapi-modules.js.


      The scanner does work currently, but is acting as a keyboard (attempts to control it via the barcode API have no effect, and I don't receive the data from the scanner via the Javascript function).


      The scanner has several USB "device types" listed in the manual, including the default "HID Keyboard Emulation", "Simple COM Port Emulation" , "Symbol Native API", and others. When I attempt to use the Samples application on the VC70N0 to test the scanner (using the External SSI option), it fails with a "Failed to initialize the scanner 0xa000000b" error. Enabling DataWedge results in the status "Idle (Input disabled/disconnected)" instead of the expected "Ready (Ready to capture)" status. When I use the CtlPanel application and try to interrogate the scanner, I get a "Cannot enable scanner" error.


      Based on the above, it seems to me the problem is probably with the configuration of the scanner or computer (or possibly the wrong type of cable?) rather than Enterprise Browser, but I can't determine where the problem is exactly and what configuration Enterprise Browser requires for this to work. If anyone can point me in the right direction, that would be great. I've asked our contact at Zebra and they have advised asking LaunchPad.


      Note that I also have a MC92N0 with a similar kind of built-in scanner, and this unit is working fine with the WebKit Enterprise Browser barcode API (in both the barcode API test application and my own application).




        • Re: DS3508 scanner with WebKit Enterprise Browser barcode API on VC70N0 with USB cable
          Pietro Francesco Maggi

          To control an external scanner from EB using the Barcode API it needs to be connected using the SSI protocol, maybe even the simple COM port protocol, but I'm not sure as I've never worked on that scenario. For sure using HID you cannot control the scanner from EB's Barcode API.


          Regarding the cable, you need to check which protocols are supported by the part number you've.

          You should be able to use DataWedge to do some test following the device documentation.


          Best regards


            • Re: DS3508 scanner with WebKit Enterprise Browser barcode API on VC70N0 with USB cable
              Matthew Rush

              The USB cable we have (P/N CBA-U01-S07ZAR) with the DS3508 doesn't work in DataWedge on the VC70 under any of the scanner's USB device types. Regarding whether the USB cable support SSI with the DS3508, I can't find any information to confirm one way or the other. The SSI Programmer's Guide does mention that "Zebra's Simple Serial Interface ... enables decoders (e.g., SE955 scan engine, hand-held scanners, 2D scanners, etc.) to communicate with a serial host". The only mention of "serial host" in the DS3508 product reference is under the "Chapter 7 RS-232 Interface" (for connecting the scanner with an RS-232 host).


              Our contact at Zebra is now thinking that we need an RS232 cable (P/N CBA-R49-C09ZAR) rather than a USB cable for this to work on the VC70.

              • Re: DS3508 scanner with WebKit Enterprise Browser barcode API on VC70N0 with USB cable
                Matthew Rush

                FYI, we received the serial cable today (P/N CBA-R49-C09ZAR) for our DS3508 scanner and I can confirm this works with the barcode API in Enterprise Browser v4 on the VC70. The DS3508 scanner needs to be configured according to the instructions on pg. 2-24 of the VC70 Vehicle Computer Product Reference Guide (the section titled "Connecting a Serial SSI Scanner (LS3408-ER/DS3508-ER) to a Serial Port").


                In case anyone finds this information useful, I found the scanner doesn't like being disabled on some screens and then re-enabled on other screens using the EB.Barcode.disable and EB.Barcode.enable functions (for some reason there is a lengthy delay before the scanner is ready after calling EB.Barcode.enable). So instead of doing that, for screens where I don't want the scanner to operate I just call the EB.Barcode.enable function again with the "allDecoders:false" property, which prevents the scanner from recognising any barcodes (effectively disabling it). To re-enable it again, call the EB.Barcode.enable function with the "allDecoders:true" property.