Sponsored Content
Operating Systems Linux Ubuntu Barcode scanner buffer read manipulation Post 302968976 by minharojr on Wednesday 16th of March 2016 04:09:11 PM
Old 03-16-2016
CPU & Memory Barcode scanner buffer read manipulation

Hello,

I'm facing some problems with a barcode scanner from Cygnal Inc, model Sweda SL-20. Info from lsusb -v:

Code:
Bus 003 Device 003: ID 10c4:ff11 Cygnal Integrated Products, Inc. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x10c4 Cygnal Integrated Products, Inc.
  idProduct          0xff11 
  bcdDevice            1.00
  iManufacturer           1 Gue℉Ā
  iProduct                2 Gue℉Ā
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           41
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              200mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              5 (error)
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.00
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      65
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               5
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               5
Device Status:     0x0001
  Self Powered

If I use the scanner on Windows or Linux default programs, no problem decoding the barcodes.

But I have a POS application that when I scan a barcode seems to be too fast for the application.

I used the manual barcode codes to setup the device, but no effect.

If I scan to gedit, nano, terminal, firefox, rdp client, etc, everything works, but in this particular application doesn't. I tried to contact the supplier, but they said that the device isn't certified by them, so no support at all.

Searching on google, I found several samples codes to simulate I want, I found bash script, python c++.

What I need is a way to intercept the input device buffer and resend the input with a bigger delay between each char.

How can I do this? using curses or ncurses?

Kind regards, JP
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

read from a USB Barcode-Reader

Hi all , I'm trying to read from a USB Barcode-Reader "LX-250" (on Unix) , I've written the following code ... But the program always failes on : ioctl call Please if anyone has any ideas on what causes it to fail ? Or how should I try to access the Barcode Device ? Your help is very... (2 Replies)
Discussion started by: yuval
2 Replies

2. Solaris

log file scanner

anyone know of a FREE logfile checker that they would recommend? looking to scan thru syslog, sulog, messages, etc... looking for security type related entries., thanks, brian (1 Reply)
Discussion started by: BG_JrAdmin
1 Replies

3. Shell Programming and Scripting

Increase the buffer size to read lengthy lines

Hi All, I am trying to read output from a command. The output format is as follows: Thursday 13 Mar 2008 Information This is sample text Friday 14 Mar 2008 Warning This is one more sample text First line contains informtation (date etc) and the 2nd line contains some information. ... (3 Replies)
Discussion started by: ssunda6
3 Replies

4. Shell Programming and Scripting

Expect: How to read buffer for spawn

Hi All, I have to write one expect script to login to one system. I am using set timeout -1 match_max 100000 spawn ssh root@hostname Now when I do spawn ssh to that host it send some warning message and one challenge Challenge: 111-2345 I need to read this challenge value and has... (1 Reply)
Discussion started by: Lokesh Agrawal
1 Replies

5. Programming

Cannot read a file with read(fd, buffer, buffersize) function

# include <stdio.h> # include <fcntl.h> # include <stdlib.h> # include <sys/stat.h> int main(int argc, char *argv) { int fRead, fPadded, padVal; int btRead; int BUFFSIZE = 512; char buff; if (argc != 4) { printf ("Please provide all of the... (3 Replies)
Discussion started by: naranja18she
3 Replies

6. Shell Programming and Scripting

SED/AWK file read & manipulation

I have large number of data files, close to 300 files, lets say all files are same kind and have extension .dat , each file have mulitple lines in it. There is a unique line in each file containing string 'SERVER'. Right after this line there is another line which contain a string 'DIGIT=0',... (4 Replies)
Discussion started by: sal_tx
4 Replies

7. Programming

Maximum buffer size for read()

Hi friends, Hope everybody is fine. First have a look at my code, then we will talk about it. $ cat copy.c #include <stdio.h> #define PERMS 0644 /* RW for owner, R for group, others */ #define BUFSIZE 1 char *progname; int main(int argc,char * argv) { int f1, f2, n; ... (4 Replies)
Discussion started by: gabam
4 Replies

8. UNIX for Advanced & Expert Users

Input buffer and READ

Hello everyone, Can someone please explain the input buffer behaviour for the read command in ksh93 on AIX? I have 'googled' for weeks now, and did not find a satisfactory answer or solution to my dilemma. I have the following code: STTY=$(stty -g) if ;then stty -echo -icanon time 0 min... (1 Reply)
Discussion started by: gio001
1 Replies

9. Red Hat

IP Scanner tool

Hey guys.. What is the best tool that can be used on Linux for IP scanning tool that can bring ping status, hostname, and any other open service. I wish I can find a tool like "The Dude" from Mikrotik, but that works only under Windows. Thanks (4 Replies)
Discussion started by: leo_ultra_leo
4 Replies

10. Hardware

Epson Scanner

Running Debian 8.5 on a Dell Laptop I have an Epson V39 scanner. Simple scan cannot detect it. Here is what I have: root@server1:/home/server1# sane-find-scanner # sane-find-scanner will now attempt to detect your scanner. If the # result is different from what you expected, first... (2 Replies)
Discussion started by: Meow613
2 Replies
usb_ep_descr(9S)					    Data Structures for Drivers 					  usb_ep_descr(9S)

NAME
usb_ep_descr - USB endpoint descriptor SYNOPSIS
#include <sys/usb/usba.h> INTERFACE LEVEL
Solaris DDI specific (Solaris DDI) DESCRIPTION
The usb_ep_descr_t endpoint descriptor defines endpoint attributes. An endpoint is a uniquely addressable portion of a USB device that is a source or sink of data. Please refer to Section 9.6.6 of the USB 2.0 specification. The USB 2.0 specification is available at www.usb.org. One or more endpoint descriptors are retrieved from a USB device during device enumeration. They can be accessed via usb_get_dev_data(9F). A endpoint descriptor has the following fields: uint8_t bLength Size of this descriptor in bytes. uint8_t bDescriptorType Set to USB_DESCR_TYPE_EP. uint8_t bEndpointAddress Endpoint address. uint8_t bmAttributes Endpoint attrib. (see below.) uint16_t wMaxPacketSize Maximum pkt size. uint8_t bInterval Polling interval for interrupt and isochro. endpoints. NAK rate for high-speed control and bulk endpoints. Endpoint descriptor bEndpointAddress bitmasks contain address number and direction fields as follows: USB_EP_NUM_MASK Address bits USB_EP_DIR_MASK Direction bit USB_EP_DIR_OUT OUT towards device USB_EP_DIR_IN IN towards host Endpoint descriptor transfer type bmAttributes values and mask: USB_EP_ATTR_CONTROL Endpoint supports control transfers USB_EP_ATTR_ISOCH Endpoint supports isochronous xfers USB_EP_ATTR_BULK Endpoint supports bulk transfers USB_EP_ATTR_INTR Endpoint supports interrupt transfers USB_EP_ATTR_MASK bmAttributes transfer-type bit field Endpoint descriptor synchronization type bmAttributes values and mask for isochronous endpoints: USB_EP_SYNC_NONE Endpoint supports no synchronization USB_EP_SYNC_ASYNC Endpoint supports asynchronous sync USB_EP_SYNC_ADPT Endpoint supports adaptive sync USB_EP_SYNC_SYNC Endpoint supports synchronous sync USB_EP_SYNC_MASK bmAttributes sync type bit field Endpoint descriptor feedback type bmAttributes values and mask for isochronous endpoints: USB_EP_USAGE_DATA Data endpoint USB_EP_USAGE_FEED Feedback endpoint USB_EP_USAGE_IMPL Implicit feedback data endpoint USB_EP_USAGE_MASK bmAttributes feedback type bit fld Endpoint descriptor additional-transaction-opportunities- per-microframe wMaxPacketSize values and mask for high speed isochronous and interrupt endpoints: USB_EP_MAX_PKTSZ_MASK Mask for packetsize bits USB_EP_MAX_XACTS_MASK Bits for additional transfers per microframe USB_EP_MAX_XACTS_SHIFT Left-shift this number of bits to get to additional-transfers-per- microframe bitfield Endpoint descriptor polling bInterval range values: USB_EP_MIN_HIGH_CONTROL_INTRVL Min NAK rate for highspd ctrl e/p USB_EP_MAX_HIGH_CONTROL_INTRVL Max NAK rate for highspd ctrl e/p USB_EP_MIN_HIGH_BULK_INTRVL Min NAK rate for highspd bulk e/p USB_EP_MAX_HIGH_BULK_INTRVL Max NAK rate for highspd bulk e/p USB_EP_MIN_LOW_INTR_INTRVL Min poll interval, lowspd intr e/p USB_EP_MAX_LOW_INTR_INTRVL Max poll interval, lowspd intr e/p USB_EP_MIN_FULL_INTR_INTRVL Min poll interval, fullspd intr e/p USB_EP_MAX_FULL_INTR_INTRVL Max poll interval, fullspd intr e/p Note that for the following polling bInterval range values, the interval is 2**(value-1). See Section 9.6.6 of the USB 2.0 specification. USB_EP_MIN_HIGH_INTR_INTRVL Min poll interval, highspd intr e/p USB_EP_MAX_HIGH_INTR_INTRVL Max poll interval, highspd intr e/p USB_EP_MIN_FULL_ISOCH_INTRVL Min poll interval, fullspd isoc e/p USB_EP_MAX_FULL_ISOCH_INTRVL Max poll interval, fullspd isoc e/p USB_EP_MIN_HIGH_ISOCH_INTRVL Min poll interval, highspd isoc e/p USB_EP_MAX_HIGH_ISOCH_INTRVL Max poll interval, highspd isoc e/p ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Architecture |PCI-based systems | +-----------------------------+-----------------------------+ |Interface stability |Committed | +-----------------------------+-----------------------------+ |Availability |SUNWusbu | +-----------------------------+-----------------------------+ SEE ALSO
attributes(5), usb_get_alt_if(9F), usb_get_cfg(9F), usb_get_dev_data(9F), usb_get_string_descr(9F), usb_parse_data(9F), usb_cfg_descr(9S), usb_ctrl_request(9S), usb_dev_descr(9S), usb_dev_qlf_descr(9S), usb_if_descr(9S), usb_other_speed_cfg_descr(9S), usb_string_descr(9S) SunOS 5.11 5 Jan 2004 usb_ep_descr(9S)
All times are GMT -4. The time now is 01:37 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy