move usbreset.c to examples and include it in pod
authorDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 6 Aug 2010 22:18:03 +0000 (00:18 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 6 Aug 2010 22:18:03 +0000 (00:18 +0200)
docs/usbreset.c [deleted file]
examples/usbreset.c [new file with mode: 0644]
lib/RFID/Biblio/Reader/librfid.pm

diff --git a/docs/usbreset.c b/docs/usbreset.c
deleted file mode 100644 (file)
index 03d1787..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/* usbreset -- send a USB port reset to a USB device */
-
-/*
-
-http://marc.info/?l=linux-usb-users&m=116827193506484&w=2
-
-and needs mounted usbfs filesystem
-
-       sudo mount -t usbfs none /proc/bus/usb
-
-There is a way to suspend a USB device.  In order to use it, 
-you must have a kernel with CONFIG_PM_SYSFS_DEPRECATED turned on.  To 
-suspend a device, do (as root):
-
-       echo -n 2 >/sys/bus/usb/devices/.../power/state
-
-where the "..." is the ID for your device.  To unsuspend, do the same 
-thing but with a "0" instead of the "2" above.
-
-Note that this mechanism is slated to be removed from the kernel within 
-the next year.  Hopefully some other mechanism will take its place.
-
-> To reset a
-> device?
-
-Here's a program to do it.  You invoke it as either
-
-       usbreset /proc/bus/usb/BBB/DDD
-or
-       usbreset /dev/usbB.D
-
-depending on how your system is set up, where BBB and DDD are the bus and
-device address numbers.
-
-Alan Stern
-
-*/
-
-#include <stdio.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <sys/ioctl.h>
-
-#include <linux/usbdevice_fs.h>
-
-
-int main(int argc, char **argv)
-{
-       const char *filename;
-       int fd;
-       int rc;
-
-       if (argc != 2) {
-               fprintf(stderr, "Usage: usbreset device-filename\n");
-               return 1;
-       }
-       filename = argv[1];
-
-       fd = open(filename, O_WRONLY);
-       if (fd < 0) {
-               perror("Error opening output file");
-               return 1;
-       }
-
-       printf("Resetting USB device %s\n", filename);
-       rc = ioctl(fd, USBDEVFS_RESET, 0);
-       if (rc < 0) {
-               perror("Error in ioctl");
-               return 1;
-       }
-       printf("Reset successful\n");
-
-       close(fd);
-       return 0;
-}
diff --git a/examples/usbreset.c b/examples/usbreset.c
new file mode 100644 (file)
index 0000000..03d1787
--- /dev/null
@@ -0,0 +1,76 @@
+/* usbreset -- send a USB port reset to a USB device */
+
+/*
+
+http://marc.info/?l=linux-usb-users&m=116827193506484&w=2
+
+and needs mounted usbfs filesystem
+
+       sudo mount -t usbfs none /proc/bus/usb
+
+There is a way to suspend a USB device.  In order to use it, 
+you must have a kernel with CONFIG_PM_SYSFS_DEPRECATED turned on.  To 
+suspend a device, do (as root):
+
+       echo -n 2 >/sys/bus/usb/devices/.../power/state
+
+where the "..." is the ID for your device.  To unsuspend, do the same 
+thing but with a "0" instead of the "2" above.
+
+Note that this mechanism is slated to be removed from the kernel within 
+the next year.  Hopefully some other mechanism will take its place.
+
+> To reset a
+> device?
+
+Here's a program to do it.  You invoke it as either
+
+       usbreset /proc/bus/usb/BBB/DDD
+or
+       usbreset /dev/usbB.D
+
+depending on how your system is set up, where BBB and DDD are the bus and
+device address numbers.
+
+Alan Stern
+
+*/
+
+#include <stdio.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <sys/ioctl.h>
+
+#include <linux/usbdevice_fs.h>
+
+
+int main(int argc, char **argv)
+{
+       const char *filename;
+       int fd;
+       int rc;
+
+       if (argc != 2) {
+               fprintf(stderr, "Usage: usbreset device-filename\n");
+               return 1;
+       }
+       filename = argv[1];
+
+       fd = open(filename, O_WRONLY);
+       if (fd < 0) {
+               perror("Error opening output file");
+               return 1;
+       }
+
+       printf("Resetting USB device %s\n", filename);
+       rc = ioctl(fd, USBDEVFS_RESET, 0);
+       if (rc < 0) {
+               perror("Error in ioctl");
+               return 1;
+       }
+       printf("Reset successful\n");
+
+       close(fd);
+       return 0;
+}
index 2077ca8..57ba7c4 100644 (file)
@@ -18,13 +18,18 @@ This is wrapper around C<librfid-tool> from
 
 L<http://openmrtd.org/projects/librfid/>
 
-Due to limitation of C<librfid-tool> only C<inventory> and
-C<read_blocks> is supported.
+Due to limitation of L<librfid-tool> only
+L<RFID::Biblio::Reader::API/inventory> and
+L<RFID::Biblio::Reader::API/read_blocks> is supported.
 
 However, this code might provide template for integration
 with any command-line utilities for different RFID readers.
 
-Currently tested with only with Omnikey CardMan 5321
+Currently tested with only with Omnikey CardMan 5321 which
+has problems. After a while it stops responding to commands
+by C<librfid-tool> so I provided small C program to reset it:
+
+C<examples/usbreset.c>
 
 =cut