From owner-freebsd-ports-bugs@FreeBSD.ORG Tue Nov 11 04:10:03 2008 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 45D051065670 for ; Tue, 11 Nov 2008 04:10:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 1F2558FC0A for ; Tue, 11 Nov 2008 04:10:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id mAB4A2Zu014382 for ; Tue, 11 Nov 2008 04:10:02 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id mAB4A2ns014381; Tue, 11 Nov 2008 04:10:02 GMT (envelope-from gnats) Resent-Date: Tue, 11 Nov 2008 04:10:02 GMT Resent-Message-Id: <200811110410.mAB4A2ns014381@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Alex Samorukov Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 305A0106567B for ; Tue, 11 Nov 2008 04:04:44 +0000 (UTC) (envelope-from root@deepvision.tsua.net) Received: from deepvision.tsua.net (s2.sdv.com.ua [212.40.43.22]) by mx1.freebsd.org (Postfix) with ESMTP id DAEB28FC0C for ; Tue, 11 Nov 2008 04:04:43 +0000 (UTC) (envelope-from root@deepvision.tsua.net) Received: from root by deepvision.tsua.net with local (Exim 4.69 (FreeBSD)) (envelope-from ) id 1KzkUb-000HEi-4e; Tue, 11 Nov 2008 06:04:41 +0200 Message-Id: Date: Tue, 11 Nov 2008 06:04:41 +0200 From: Alex Samorukov To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: mad@madpilot.net Subject: ports/128776: [PATCH] comms/openobex: Add USB support to OPENOBEX transports X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2008 04:10:03 -0000 >Number: 128776 >Category: ports >Synopsis: [PATCH] comms/openobex: Add USB support to OPENOBEX transports >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Tue Nov 11 04:10:01 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Alex Samorukov >Release: FreeBSD 6.3-RELEASE-p1 i386 >Organization: NetArt >Environment: System: FreeBSD deepvision.tsua.net 6.3-RELEASE-p1 FreeBSD 6.3-RELEASE-p1 #4: Fri Mar 28 05:16:52 EET 2008 >Description: Original sources contain usb support via libusb. It is designed to use OBEX on mobiles connected to USB cable. But original implementation fail to work on FreeBSD (very strange usb_open() calls), so i did a patch. Now it work fine, at least with my Nokia and libsyncml. Added file(s): - files/patch-usbobex.c Port maintainer (mad@madpilot.net) is cc'd. Generated with FreeBSD Port Tools 0.77 >How-To-Repeat: >Fix: --- openobex-1.3_1.patch begins here --- diff -ruN --exclude=CVS /usr/ports/comms/openobex/Makefile /usr/home/samm/openobex/Makefile --- /usr/ports/comms/openobex/Makefile 2008-08-20 03:56:29.000000000 +0300 +++ /usr/home/samm/openobex/Makefile 2008-11-11 05:57:33.000000000 +0200 @@ -19,11 +19,22 @@ USE_GMAKE= yes USE_LDCONFIG= yes GNU_CONFIGURE= yes -CONFIGURE_ARGS+= --program-transform-name="" \ - --disable-usb +CONFIGURE_ARGS+= --program-transform-name="" + +OPTIONS= LIBUSB "Enable OBEX over USB" no post-patch: @ ${REINPLACE_CMD} -e "s|pkgconfigdir =.*|pkgconfigdir = ${PREFIX}/libdata/pkgconfig|g" \ ${WRKSRC}/Makefile.in -.include +.include + +.if defined(WITH_LIBUSB) +LIB_DEPENDS+= usb-0.1.8:${PORTSDIR}/devel/libusb +CONFIGURE_ARGS+=--enable-usb +CFLAGS+=-I${PREFIX}/include +.else +CONFIGURE_ARGS+=--disable-usb +.endif + +.include diff -ruN --exclude=CVS /usr/ports/comms/openobex/files/patch-usbobex.c /usr/home/samm/openobex/files/patch-usbobex.c --- /usr/ports/comms/openobex/files/patch-usbobex.c 1970-01-01 03:00:00.000000000 +0300 +++ /usr/home/samm/openobex/files/patch-usbobex.c 2008-11-11 05:50:17.000000000 +0200 @@ -0,0 +1,67 @@ +--- lib/usbobex.c 2006-01-18 13:59:15.000000000 +0100 ++++ /lib/usbobex.c 2008-11-11 04:45:17.000000000 +0100 +@@ -331,27 +331,10 @@ + + DEBUG(4, "\n"); + +- self->trans.self.usb.dev_control = usb_open(self->trans.self.usb.device); + self->trans.self.usb.dev_data = usb_open(self->trans.self.usb.device); + +- ret = usb_set_configuration(self->trans.self.usb.dev_control, self->trans.self.usb.configuration); +- if (ret < 0) { +- DEBUG(4, "Can't set configuration %d", ret); +- } +- +- ret = usb_claim_interface(self->trans.self.usb.dev_control, self->trans.self.usb.control_interface); +- if (ret < 0) { +- DEBUG(4, "Can't claim control interface %d", ret); +- goto err1; +- } +- +- ret = usb_set_altinterface(self->trans.self.usb.dev_control, self->trans.self.usb.control_setting); +- if (ret < 0) { +- DEBUG(4, "Can't set control setting %d", ret); +- goto err2; +- } +- + ret = usb_claim_interface(self->trans.self.usb.dev_data, self->trans.self.usb.data_interface); ++ + if (ret < 0) { + DEBUG(4, "Can't claim data interface %d", ret); + goto err2; +@@ -369,10 +352,8 @@ + err3: + usb_release_interface(self->trans.self.usb.dev_data, self->trans.self.usb.data_interface); + err2: +- usb_release_interface(self->trans.self.usb.dev_control, self->trans.self.usb.control_interface); + err1: + usb_close(self->trans.self.usb.dev_data); +- usb_close(self->trans.self.usb.dev_control); + return ret; + + #endif /* _WIN32 */ +@@ -391,21 +372,18 @@ + return 0; + #ifndef _WIN32 + DEBUG(4, "\n"); ++ ++ usb_clear_halt(self->trans.self.usb.dev_data, self->trans.self.usb.data_endpoint_read); ++ usb_clear_halt(self->trans.self.usb.dev_data, self->trans.self.usb.data_endpoint_write); + ret = usb_set_altinterface(self->trans.self.usb.dev_data, self->trans.self.usb.data_idle_setting); + if (ret < 0) + DEBUG(4, "Can't set data idle setting %d", ret); + ret = usb_release_interface(self->trans.self.usb.dev_data, self->trans.self.usb.data_interface); + if (ret < 0) + DEBUG(4, "Can't release data interface %d", ret); +- ret = usb_release_interface(self->trans.self.usb.dev_control, self->trans.self.usb.control_interface); +- if (ret < 0) +- DEBUG(4, "Can't release control interface %d", ret); + ret = usb_close(self->trans.self.usb.dev_data); + if (ret < 0) + DEBUG(4, "Can't close data interface %d", ret); +- ret = usb_close(self->trans.self.usb.dev_control); +- if (ret < 0) +- DEBUG(4, "Can't close control interface %d", ret); + #endif /* _WIN32 */ + return ret; + } --- openobex-1.3_1.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted: