From owner-freebsd-usb@FreeBSD.ORG Tue Feb 11 19:57:40 2014 Return-Path: Delivered-To: freebsd-usb@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 30E38B06; Tue, 11 Feb 2014 19:57:40 +0000 (UTC) Received: from freebsd.czest.pl (freebsd.czest.pl [212.87.224.105]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 693C91AA0; Tue, 11 Feb 2014 19:57:39 +0000 (UTC) Received: from freebsd.czest.pl (freebsd.czest.pl [212.87.224.105]) by freebsd.czest.pl (8.14.5/8.14.5) with ESMTP id s1BJuo8W021794; Tue, 11 Feb 2014 19:56:50 GMT (envelope-from wkoszek@freebsd.czest.pl) Received: (from wkoszek@localhost) by freebsd.czest.pl (8.14.5/8.14.5/Submit) id s1BJuoxN021791; Tue, 11 Feb 2014 19:56:50 GMT (envelope-from wkoszek) Date: Tue, 11 Feb 2014 19:56:50 +0000 From: "Wojciech A. Koszek" To: Juergen Lock Subject: Re: CFT: Re: linux libusb again, I made an updated port... Message-ID: <20140211195650.GI12994@FreeBSD.org> References: <20140207201208.GA59695@enceladus10.kn-bremen.de> <20140207204928.GD12994@FreeBSD.org> <20140208084546.GA74796@enceladus10.kn-bremen.de> <20140209025624.GE12994@FreeBSD.org> <20140209135905.GA13024@enceladus10.kn-bremen.de> <20140210041845.GG12994@FreeBSD.org> <20140210231109.GA54389@enceladus10.kn-bremen.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20140210231109.GA54389@enceladus10.kn-bremen.de> User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Status: No, score=-0.4 required=5.0 tests=RP_MATCHES_RCVD, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on freebsd.czest.pl X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (freebsd.czest.pl [212.87.224.105]); Tue, 11 Feb 2014 19:56:54 +0000 (UTC) Cc: freebsd-emulation@FreeBSD.org, "Bjoern A. Zeeb" , bapt@FreeBSD.org, freebsd-usb@FreeBSD.org, hselasky@FreeBSD.org X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Feb 2014 19:57:40 -0000 On Tue, Feb 11, 2014 at 12:11:09AM +0100, Juergen Lock wrote: > On Mon, Feb 10, 2014 at 11:06:27AM +0000, Bjoern A. Zeeb wrote: > > > > On 10 Feb 2014, at 04:18 , Wojciech A. Koszek wrote: > > > > > On nie, lut 09, 2014 at 02:59:06 +0100, Juergen Lock wrote: > > >> On Sun, Feb 09, 2014 at 02:56:24AM +0000, Wojciech A. Koszek wrote: > > >>> On sob, lut 08, 2014 at 09:45:46 +0100, Juergen Lock wrote: > > >>>> On Fri, Feb 07, 2014 at 08:49:28PM +0000, Wojciech A. Koszek wrote: > > >>>>> On pi??, lut 07, 2014 at 09:12:08 +0100, Juergen Lock wrote: > > >>>>>> Hi! > > >>>>>> > > >>>>>> This came up on irc so I tried to build a linux libusb port (before > > >>>>>> I learned about ports/146895), mine uses linux_base-gentoo-stage3 > > >>>>>> like linux_kdump with a src/lib/libusb head snapshot so it's more > > >>>>>> up to date than wkoszek's build (ports/146895), and it's really > > >>>>>> easy to update it again. Also maybe it can be used as linux > > >>>>>> libusb-1.0.so too; I didn't actually test it tho. > > >>>>>> > > >>>>>> Should this be committed? Is wkoszek's version better since it > > >>>>>> also builds on < 10.x? Comments welcome... > > >>>>>> > > >>>>>> wkoszek's version: > > >>>>>> > > >>>>>> http://www.freebsd.org/cgi/query-pr.cgi?pr=146895 > > >>>>>> > > >>>>>> Mine: > > >>>>>> > > >>>>>> http://people.freebsd.org/~nox/tmp/linux_libusb.shar > > >>>>>> > > >>>>>> Distfile: > > >>>>>> > > >>>>>> http://people.freebsd.org/~nox/tmp/distfiles/linux_libusb-11.0r261448.tar.bz2 > > >>>>>> > > >>>>>> 10/amd64 package: > > >>>>>> > > >>>>>> http://people.freebsd.org/~nox/tmp/packages/10amd64/linux_libusb-11.0r261448.txz > > >>>>>> > > >>>>>> (built via: > > >>>>>> > > >>>>>> poudriere bulk -v -j 10amd64 -p custom devel/linux_libusb > > >>>>>> > > >>>>>> - btw for some reason the dependency emulators/linux_base-gentoo-stage3 > > >>>>>> doesn't build for 10i386 in poudriere bulk, I get a pkg segfault. bapt > > >>>>>> Cc'd...) > > >>>>>> > > >>>>> > > >>>>> Juergen, > > >>>> Hi! > > >>>>> > > >>>>> What would be the reason for this update? > > >>>>> > > >>>>> My stuff may be out of date, but it was all tested and working. I verified > > >>>>> it with Linux'ish lsusb(1) and USB-based FPGA JTAG programmer, for which > > >>>>> this stuff was written. > > >>>>> > > >>>> I was just thinking an updated version may be useful, but if it's > > >>>> already working for everyone maybe less so... > > >>>> > > >>>> Or would it work as a linux libusb-1.0.so too? I know the libusb 1.0 > > >>>> stuff added some functions since 9.x at least... maybe hps would know > > >>>> (Cc'd.) > > >>>> > > >>> > > >>> Juergen, > > >>> > > >>> I think this package is useful and is looking for maintainer, so if you have > > >>> time and energy, I'm OK with upgrading it, but I suggest testing it first. > > >>> Bjoern might be interested too. > > >>> > > >> You mean bz@ ? Cc'd. I tried testing lsusb from debian sid but it printed > > >> nothing, neither with my nor with your older version, but maybe it's just > > >> `too new' for our current linuxolator. > > > > > > I assume you have at least 1 USB device while trying this. I don't remember > > > exactly, but while trying within Linuxolator, you may need devfs/procfs to > > > be mounted under Linuxolator's root directory. > > > > My understanding and from looking at trace is that if we cannot find it in /compat/linux we ale search in /; so no need for an extra mount unless maybe you run chrooted. > > > > > > > So you'll have to figure this out. > > > > > > Does it return with 0 exit code? > > > > > > If not, lsusb should be simple enough to let you place printf() all over the > > > place and understand out when it's failing. > > > > For me the problem was a clock_gettime() call in the libusb which my glibc did not provide. That made all things fail (silently) until I used linux ?rtld" tracing to see the unresolved symbol from libusb/the commercial 3rd party software dynamically loading libusb. > > > And my linux_kdump ends like this: > > 35607 lsusb CALL munmap(0x28247000,0x8000) > 35607 lsusb RET munmap 0 > 35607 lsusb CALL linux_open(0x28090c31,0,0x28081e00) > 35607 lsusb NAMI "/compat/linux/dev/usbctl" > 35607 lsusb NAMI "/dev/usbctl" > 35607 lsusb RET linux_open 3 > 35607 lsusb CALL linux_ioctl(0x3,0xffe5 ,0xffffc5d8) > 35607 lsusb RET linux_ioctl 0 > 35607 lsusb CALL close(0x3) > 35607 lsusb RET close 0 > 35607 lsusb CALL linux_exit_group(0x1) > 35607 lsusb UNKNOWN(11) > > and the exit code is 1, so I guess it's failing on an unhandled > syscall or something like that. Juergen Can you send the full trace with all eventual child processes? If you could copy&paste: open libusb for each bus for each device open device to a separate program, we could make it libusb/Linuxolator regression test. This would also help us match ptrace<->line number output. Which FreeBSD are you using? This may indicate some relationship with http://www.freebsd.org/cgi/query-pr.cgi?pr=141439 -- Wojciech A. Koszek wkoszek@FreeBSD.czest.pl http://FreeBSD.czest.pl/~wkoszek/