Folks,

I have a couple devices that I need to have working at the same time.  One as 
a magnetic stripe reader and the other is an APC Back-UPS.  I can make one or
the other work but not both.  The software we have today accesses the mag-
stripe reader directly as a USB device.  When we add HID support to access
the UPS the HID support is applied to the magstripe reader too (bummer).

Here's what I'm seeing in /var/log/messages for the case where the magstripe
reader works:

Dec  4 11:12:42 SystemZ kernel: hub.c: USB new device connect on bus2/2, assigned 
device number 2
Dec  4 11:12:42 SystemZ kernel: usb.c: USB device 2 (vend/prod 0x801/0x2) is not 
claimed by any active driver.
Dec  4 11:12:45 SystemZ /etc/hotplug/usb.agent: ... no modules for USB product 
801/2/100

This is what I'm seeing in /var/log/messages for the case where the APC Back-UPS works 
but the magstripe reader does not:

Dec  4 11:29:11 Grisham kernel: hub.c: USB new device connect on bus2/1, assigned 
device number 2
Dec  4 11:29:11 Grisham kernel: usb-uhci.c: interrupt, status 3, frame# 725
Dec  4 11:29:11 Grisham kernel: hiddev0: USB HID v1.00 Joystick [American Power 
Conversion Back-UPS 500 FW: 6.4.D USB FW: c1 ] on usb2:2.0
Dec  4 11:29:11 Grisham kernel: hub.c: USB new device connect on bus2/2, assigned 
device number 3
Dec  4 11:29:11 Grisham kernel: usb-uhci.c: ENXIO 80000380, flags 0, urb cf776b60, 
burb cf7769e0
Dec  4 11:29:11 Grisham last message repeated 4 times
Dec  4 11:29:11 Grisham apcupsd:  succeeded
Dec  4 11:29:12 Grisham kernel: usb-uhci.c: ENXIO 80000380, flags 0, urb cf776b60, 
burb cf7769e0
Dec  4 11:29:12 Grisham last message repeated 6 times
Dec  4 11:29:12 Grisham kernel: usb_control/bulk_msg: timeout
Dec  4 11:29:12 Grisham kernel: usb-uhci.c: interrupt, status 3, frame# 1702
Dec  4 11:29:12 Grisham kernel: hiddev1: USB HID v1.00 Pointer [Mag-Tek USB Swipe 
Reader] on usb2:3.0

As you can see, hiddev1 is assigned to the Mag-Tek USB Swipe Reader (mag-
stripe reader).

The technique we had used to make the magstripe reader work was to edit
modules.usbmap, editing the line starting with hid so that it is either
deleted or changed to prevent all class 3 (bInterfaceClass) devices from
loading and attaching to the hid driver.  To make the magstripe reader
work we changed the bInterfaceSubClass to 1.  This (supposedly) loaded
and attached the hid driver to all Interface Class 3 SubClass 1 devices
(like a USB mouse).  We thought we could hid devices as we needed them at
a later date.  My first attempt to add a specific vendor/product for HID
support didn't seem to work after all.

Finally, here's the hid line from modules.usbmap where the magstripe
reader works:

hid 0x0180 0x0000 0x0000 0x0000 0x0000 0x00 0x00 0x00 0x03 0x01 0x00 0x00000000

and here's the set of hid lines that I had hoped would allow the magstripe
reader and APC Back-UPS to work as well:

hid 0x0003 0x051d 0x0002 0x0000 0x0000 0x00 0x00 0x00 0x03 0x00 0x00 0x00000000
hid 0x0180 0x0000 0x0000 0x0000 0x0000 0x00 0x00 0x00 0x03 0x01 0x00 0x00000000

Could anyone give me a pointer to how I can avoid making a driver association
(especially the HID driver) to the magstripe reader?

Thank you,
Joel Breazeale


-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

Reply via email to