ports/126922: devel/libusb : update for Network UPS Tools
Rene Ladan
r.c.ladan at gmail.com
Thu Aug 28 19:00:02 UTC 2008
>Number: 126922
>Category: ports
>Synopsis: devel/libusb : update for Network UPS Tools
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Thu Aug 28 19:00:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: Rene Ladan
>Release: 7.0R amd64
>Organization:
>Environment:
FreeBSD self.rene-ladan.nl 7.0-RELEASE-p3 FreeBSD 7.0-RELEASE-p3 #0: Sun Jul 27 17:31:07 CEST 2008 root at self.rene-ladan.nl:/usr/obj/usr/src/sys/RENE amd64
>Description:
>From an user:
I had to modify the bsd.c patch to get NUT (Network UPS tools) working correctly when I attach an UPS via USB to my FreeBSD machine. Without the patch the communication breaks every few seconds because of an full read buffer. NUT checks the input buffer too fast, so the kernel or something else blocks which will cause an communication break to the UPS.
>How-To-Repeat:
>Fix:
apply patch, tested with audio/ifp-line and an iRiver IFP-790
Patch attached with submission follows:
diff -ruN libusb/Makefile /usr/ports/devel/libusb/Makefile
--- libusb/Makefile 2008-04-14 14:25:21.000000000 +0200
+++ /usr/ports/devel/libusb/Makefile 2008-08-28 20:25:33.000000000 +0200
@@ -7,7 +7,7 @@
PORTNAME= libusb
PORTVERSION= 0.1.12
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}
diff -ruN libusb/files/patch-bsd.c /usr/ports/devel/libusb/files/patch-bsd.c
--- libusb/files/patch-bsd.c 2006-07-30 13:48:24.000000000 +0200
+++ /usr/ports/devel/libusb/files/patch-bsd.c 2008-08-28 20:19:22.000000000 +0200
@@ -1,5 +1,14 @@
--- bsd.c.orig Sun Jul 30 11:18:07 2006
+++ bsd.c Sun Jul 30 11:20:30 2006
+@@ -408,7 +408,7 @@
+ /* Ensure the endpoint address is correct */
+ ep |= USB_ENDPOINT_IN;
+
+- fd = ensure_ep_open(dev, ep, O_RDONLY);
++ fd = ensure_ep_open(dev, ep, O_RDONLY | O_NONBLOCK);
+ if (fd < 0) {
+ if (usb_debug >= 2) {
+ #ifdef __FreeBSD_kernel__
@@ -623,9 +623,21 @@
int usb_clear_halt(usb_dev_handle *dev, unsigned int ep)
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list