Sponsored Content
Top Forums UNIX for Advanced & Expert Users read from a USB Barcode-Reader Post 55794 by yuval on Monday 20th of September 2004 07:26:48 AM
Old 09-20-2004
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 much appreciated !
Thanks


#include <sys/stream.h>
#include <sys/kbio.h>
#include <sys/kbd.h>
#include <sys/types.h>
#include <sys/stropts.h>
#include <sys/vuid_event.h>
#include <time.h>
#include <stdio.h> /* Standard input/output definitions */
#include <string.h> /* String function definitions */
#include <stdlib.h>
#include <unistd.h> /* UNIX standard function definitions */
#include <fcntl.h> /* File control definitions */
#include <errno.h> /* Error number definitions */
#include <termios.h> /* POSIX terminal control definitions */



main( int argc, char *argv[]){
int fd,rval;
char c;
Firm_event fe;

fd = open("/dev/usb/hid0" , O_RDWR);
if (fd < 0 ) {
exit (1);
}

printf("open /dev/usb/hid0 O.K\n");

if ((rval = ioctl(fd, I_PUSH,"usbkbm")) < 0 ) {
perror("ioctl failed");
exit (2);
}
while (read(fd, &fe, sizeof(fe))) {
printf("\n");
printf("%d", fe.id);
printf("%d", fe.value);
}
}


The output is :


open /dev/usb/hid0 O.K
ioctl failed: Invalid argument



Please If anyone has any suggestions.... or know any other way
to retrive a barcode scan

Thanks again
Yuval
This User Gave Thanks to yuval For This Post:
 

9 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Barcode Printing

How can you pull up a list of print drivers loaded at the Unix level? I am trying to get an HP LaserJet 2300 using the PCL5e driver to print barcode labels. I believe the PCL5e driver needs to be loaded somewhere at the Unix level but am at a loss as to where. Thanks (2 Replies)
Discussion started by: llepley
2 Replies

2. Linux

How to read keys from USB keyboard on AT91SAM9260

Hi Everyone, I am using 2.6.26.3-olimex kernel(Embedded system) running on AT91SAM9260. I am using a Logitech USB keyboard. It is detected as "/dev/input/event0". I don't know how to detect key press events and read the keys? Why can't I read the keys using scanf() like funtions? ... (7 Replies)
Discussion started by: siva4ever
7 Replies

3. Solaris

Serial Barcode Reader

I have a serial barcode reader which I attached to my Solaris 10 workstation. I can see the barcode scanned data appearing when I do a tip hardwire. Question is how can I enable the data to appear in command prompt or any text editor programs? Thanks for the help (3 Replies)
Discussion started by: timtan169
3 Replies

4. UNIX for Dummies Questions & Answers

USB-USB cable between linux and windows computers

Is there an easy way to setup a cross-over cable (USB-USB) between a linux box and a windows PC? My 2 machines are next to each other but I really do not want to keep transfering my files using my USB drive. Thanks! (4 Replies)
Discussion started by: Xterra
4 Replies

5. What is on Your Mind?

Barcode Generator

QR Code Generator (0 Replies)
Discussion started by: Neo
0 Replies

6. What is on Your Mind?

Do you read books with an ebook reader?

I bought a Sony PRS-650 Reader to read books and I'm loving it. For one thing, there are zillions of free books in epub format available for download for free. Many of them are out of print, so you would have to pay a high price to get a printed copy. Most current releases have to be paid for,... (15 Replies)
Discussion started by: KenJackson
15 Replies

7. Ubuntu

how to make others have read/write permission when the aotu mounted usb flash disk pluge in ?

hi all: as we know , when usb flash disk plug in and aotu mounted , the default permission of the usb flash disk is 700. that means others have no permission . the question: how to make others have read/write permission when the aotu mounted usb flash disk pluge in ? thanks !! (0 Replies)
Discussion started by: arnold.king
0 Replies

8. Ubuntu

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: Bus 003 Device 003: ID 10c4:ff11 Cygnal Integrated Products, Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 ... (4 Replies)
Discussion started by: minharojr
4 Replies

9. HP-UX

Configure X windows with both keyboard and USB barcode reader

Greetings. Seeking guidance on adding a USB barcode reader (BCR) to an HP c3750 workstation with HP-UX 11.11 which is essentially configuring X windows to accept input from both a primary keyboard and a secondary keyboard that happens to be the BCR. Historically, I have successfully added a BCR... (2 Replies)
Discussion started by: mnkaltenbach
2 Replies
VCS(4)							     Linux Programmer's Manual							    VCS(4)

NAME
vcs, vcsa - virtual console memory DESCRIPTION
/dev/vcs0 is a character device with major number 7 and minor number 0, usually of mode 0644 and owner root.tty. It refers to the memory of the currently displayed virtual console terminal. /dev/vcs[1-63] are character devices for virtual console terminals, they have major number 7 and minor number 1 to 63, usually mode 0644 and owner root.tty. /dev/vcsa[0-63] are the same, but using unsigned shorts (in host byte order) that include attributes, and prefixed with four bytes giving the screen dimensions and cursor position: lines, columns, x, y. (x = y = 0 at the top left corner of the screen.) When a 512-character font is loaded, the 9th bit position can be fetched by applying the ioctl(2) VT_GETHIFONTMASK operation (available in Linux kernels 2.6.18 and above) on /dev/tty[1-63]; the value is returned in the unsigned short pointed to by the third ioctl(2) argument. These devices replace the screendump ioctl(2) operations of console(4), so the system administrator can control access using file system permissions. The devices for the first eight virtual consoles may be created by: for x in 0 1 2 3 4 5 6 7 8; do mknod -m 644 /dev/vcs$x c 7 $x; mknod -m 644 /dev/vcsa$x c 7 $[$x+128]; done chown root:tty /dev/vcs* No ioctl(2) requests are supported. FILES
/dev/vcs[0-63] /dev/vcsa[0-63] VERSIONS
Introduced with version 1.1.92 of the Linux kernel. EXAMPLE
You may do a screendump on vt3 by switching to vt1 and typing cat /dev/vcs3 >foo. Note that the output does not contain newline charac- ters, so some processing may be required, like in fold -w 81 /dev/vcs3 | lpr or (horrors) setterm -dump 3 -file /proc/self/fd/1. The /dev/vcsa0 device is used for Braille support. This program displays the character and screen attributes under the cursor of the second virtual console, then changes the background color there: #include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <fcntl.h> #include <sys/ioctl.h> #include <linux/vt.h> int main(void) { int fd; char *device = "/dev/vcsa2"; char *console = "/dev/tty2"; struct {unsigned char lines, cols, x, y;} scrn; unsigned short s; unsigned short mask; unsigned char ch, attrib; fd = open(console, O_RDWR); if (fd < 0) { perror(console); exit(EXIT_FAILURE); } if (ioctl(fd, VT_GETHIFONTMASK, &mask) < 0) { perror("VT_GETHIFONTMASK"); exit(EXIT_FAILURE); } (void) close(fd); fd = open(device, O_RDWR); if (fd < 0) { perror(device); exit(EXIT_FAILURE); } (void) read(fd, &scrn, 4); (void) lseek(fd, 4 + 2*(scrn.y*scrn.cols + scrn.x), 0); (void) read(fd, &s, 2); ch = s & 0xff; if (attrib & mask) ch |= 0x100; attrib = ((s & ~mask) >> 8); printf("ch='%c' attrib=0x%02x ", ch, attrib); attrib ^= 0x10; (void) lseek(fd, -1, 1); (void) write(fd, &attrib, 1); exit(EXIT_SUCCESS); } SEE ALSO
console(4), tty(4), ttyS(4), gpm(8) COLOPHON
This page is part of release 3.44 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. Linux 2007-12-17 VCS(4)
All times are GMT -4. The time now is 02:28 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy