Date: Thu, 28 Aug 2008 18:51:43 GMT From: Rene Ladan <r.c.ladan@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/126922: devel/libusb : update for Network UPS Tools Message-ID: <200808281851.m7SIphFD062150@www.freebsd.org> Resent-Message-ID: <200808281900.m7SJ01au023126@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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@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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808281851.m7SIphFD062150>