Barcode scanner buffer read manipulation

Login or Register for Dates, Times and to Reply

Thread Tools Search this Thread
Operating Systems Linux Ubuntu Barcode scanner buffer read manipulation
# 1  
CPU & Memory Barcode scanner buffer read manipulation


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

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
# 2  
If you can't increase the interchar delay within the scanner, how about using stdbuf, given the application reads from stdin?
# 3  
Thank you for your quick replay. Can you explain or point e the direction to make use of the stdbuf?

# 4  
man stdbuf:
stdbuf - Run COMMAND, with modified buffering operations for its standard streams.


Run COMMAND, with modified buffering operations for its standard streams.
In your case, COMMAND would be your application.
# 5  
Hello again,

Thank you for your help, I got this error:

I tried to use stdbuf, but it has not effect. It already has input mode to LINE BUFFER. I'm searcing about it, but if you have any sample code to provide, it'll help me a lot.

---------- Post updated 03-18-16 at 08:07 AM ---------- Previous update was 03-17-16 at 10:47 AM ----------


Another suggestion ?

Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #943
Difficulty: Medium
The Smurf attack is a DDOS attack in which large numbers of Internet Control Message Protocol (ICMP) packets with the intended victim's spoofed source IP are broadcast to a computer network using an IP broadcast address.
True or False?

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

5. 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

6. 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

7. 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

8. 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

9. 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

10. 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

Featured Tech Videos