Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Sep 2014 21:04:18 +0900
From:      "Lundberg, Johannes" <johannes@brilliantservice.co.jp>
To:        "freebsd-usb@freebsd.org" <freebsd-usb@freebsd.org>
Subject:   libusb and non-root access problem
Message-ID:  <CAASDrVn4eQXG7z11OE3ydyZGMaq-9rjCZqyv655SkZ%2BgKffeUg@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
SGkNCg0KSSB0cmllZCBub3cgZm9yIGhvdXJzIGJ1dCBubyBsdWNrIHdpdGggdGhpcy4uIEkgaGF2
ZSBhIHNwZWNpYWwgdXNiIGRldmljZQ0KdG8gd2hpY2ggSSBjb25uZWN0IHdpdGggbGlidXNiLiBF
dmVyeXRoaW5nIHdvcmtzIGZpbmQgYXMgcm9vdCBidXQgSSBjYW4NCnNlZW0gdG8gYmUgYWJsZSB0
byBhY2Nlc3Mgd2l0aCBub3JtYWwgdXNlciBubyBtYXR0ZXIgaG93IEkgY29uZmlndXJlIGRldmZz
Lg0KDQpJIGNoYW5nZWQgYm90aCBjb25mIGFuZCBydWxlcyBhbmQgZXZlbiBzZXQgbXlzZWxmIGFz
IG93bmVyIGFuZCBncm91cCBhbmQNCjc3NyBwZXJtaXNzaW9uIHRvIC9kZXYvdWdlbiogL2Rldi91
c2IgYW5kIC9kZXYvdXNiLyogYnV0IG5vIGx1Y2suLi4NCg0KSSBjYW4gY29ubmVjdCB0byB0aGUg
ZGV2aWNlIGFuZCBjbGFpbSBpbnRlcmZhY2UgYnV0IHRoZW4gaXQgZmFpbHMgYXQgdGhlDQpmaXJz
dCBsaWJ1c2JfY29udHJvbF90cmFuc2ZlciB3aXRoIGVycm9yIC00DQoNCkkgaGF2ZSBkb25lIHRo
aXMgYmVmb3JlIHdpdGhvdXQgcHJvYmxlbXMuIEkgYW0gcnVubmluZyB0aGUgbmV3ZXN0DQoxMS1D
VVJSRU5UIHNuYXBzaG90IHNvIGNvdWxkIHRoZXJlIGJlIGFueSBidWcgdGhhdCBjYXVzZXMgdGhp
cyBvciBoYXMNCmFueXRoaW5nIGNoYW5nZWQgaW4gY29uZmlndXJhdGlvbnM/DQoNCkdyYXRlZnVs
IGZvciBhbnkgYWR2aWNlLi4uDQotLQ0KSm9oYW5uZXMgTHVuZGJlcmcNCgotLSAKPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tCuenmOWvhuS/neaM
geOBq+OBpOOBhOOBpu+8muOBk+OBrumbu+WtkOODoeODvOODq+OBr+OAgeWQjeWum+S6uuOBq+mA
geS/oeOBl+OBn+OCguOBruOBp+OBguOCiuOAgeenmOWMv+eJueaoqeOBruWvvuixoeOBqOOBquOC
i+aDheWgseOCkuWQq+OCk+OBp+OBhOOBvuOBmeOAggrjgoLjgZfjgIHlkI3lrpvkurrku6XlpJbj
ga7mlrnjgYzlj5fkv6HjgZXjgozjgZ/loLTlkIjjgIHjgZPjga7jg6Hjg7zjg6vjga7noLTmo4Tj
gIHjgYrjgojjgbPjgZPjga7jg6Hjg7zjg6vjgavplqLjgZnjgovkuIDliIfjga7plovnpLrjgIEK
6KSH5YaZ44CB6YWN5biD44CB44Gd44Gu5LuW44Gu5Yip55So44CB44G+44Gf44Gv6KiY6LyJ5YaF
5a6544Gr5Z+644Gl44GP44GE44GL44Gq44KL6KGM5YuV44KC44GV44KM44Gq44GE44KI44GG44GK
6aGY44GE55Sz44GX5LiK44GS44G+44GZ44CCCi0tLQpDT05GSURFTlRJQUxJVFkgTk9URTogVGhl
IGluZm9ybWF0aW9uIGluIHRoaXMgZW1haWwgaXMgY29uZmlkZW50aWFsCmFuZCBpbnRlbmRlZCBz
b2xlbHkgZm9yIHRoZSBhZGRyZXNzZWUuCkRpc2Nsb3N1cmUsIGNvcHlpbmcsIGRpc3RyaWJ1dGlv
biBvciBhbnkgb3RoZXIgYWN0aW9uIG9mIHVzZSBvZiB0aGlzCmVtYWlsIGJ5IHBlcnNvbiBvdGhl
ciB0aGFuIGludGVuZGVkIHJlY2lwaWVudCwgaXMgcHJvaGliaXRlZC4KSWYgeW91IGFyZSBub3Qg
dGhlIGludGVuZGVkIHJlY2lwaWVudCBhbmQgaGF2ZSByZWNlaXZlZCB0aGlzIGVtYWlsIGluCmVy
cm9yLCBwbGVhc2UgZGVzdHJveSB0aGUgb3JpZ2luYWwgbWVzc2FnZS4K
From owner-freebsd-usb@FreeBSD.ORG  Sat Sep 13 14:00:48 2014
Return-Path: <owner-freebsd-usb@FreeBSD.ORG>
Delivered-To: freebsd-usb@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 7E46573E
 for <freebsd-usb@freebsd.org>; Sat, 13 Sep 2014 14:00:48 +0000 (UTC)
Received: from mail.turbocat.net (heidi.turbocat.net [88.198.202.214])
 (using TLSv1.1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 3C32FBC4
 for <freebsd-usb@freebsd.org>; Sat, 13 Sep 2014 14:00:47 +0000 (UTC)
Received: from laptop015.home.selasky.org
 (cm-176.74.213.204.customer.telag.net [176.74.213.204])
 (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits))
 (No client certificate requested)
 by mail.turbocat.net (Postfix) with ESMTPSA id 92F1F1FE027;
 Sat, 13 Sep 2014 16:00:44 +0200 (CEST)
Message-ID: <54144E00.4080100@selasky.org>
Date: Sat, 13 Sep 2014 16:00:32 +0200
From: Hans Petter Selasky <hps@selasky.org>
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64;
 rv:24.0) Gecko/20100101 Thunderbird/24.1.0
MIME-Version: 1.0
To: "Lundberg, Johannes" <johannes@brilliantservice.co.jp>, 
 "freebsd-usb@freebsd.org" <freebsd-usb@freebsd.org>
Subject: Re: libusb and non-root access problem
References: <CAASDrVn4eQXG7z11OE3ydyZGMaq-9rjCZqyv655SkZ+gKffeUg@mail.gmail.com>
In-Reply-To: <CAASDrVn4eQXG7z11OE3ydyZGMaq-9rjCZqyv655SkZ+gKffeUg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-BeenThere: freebsd-usb@freebsd.org
X-Mailman-Version: 2.1.18-1
Precedence: list
List-Id: FreeBSD support for USB <freebsd-usb.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/freebsd-usb>,
 <mailto:freebsd-usb-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-usb/>;
List-Post: <mailto:freebsd-usb@freebsd.org>
List-Help: <mailto:freebsd-usb-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-usb>,
 <mailto:freebsd-usb-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 13 Sep 2014 14:00:48 -0000

On 09/13/14 14:04, Lundberg, Johannes wrote:
> Hi
>
> I tried now for hours but no luck with this.. I have a special usb device
> to which I connect with libusb. Everything works find as root but I can
> seem to be able to access with normal user no matter how I configure devfs.
>
> I changed both conf and rules and even set myself as owner and group and
> 777 permission to /dev/ugen* /dev/usb and /dev/usb/* but no luck...
>
> I can connect to the device and claim interface but then it fails at the
> first libusb_control_transfer with error -4
>
> I have done this before without problems. I am running the newest
> 11-CURRENT snapshot so could there be any bug that causes this or has
> anything changed in configurations?
>
> Grateful for any advice...
> --
> Johannes Lundberg
>

Hi,

You only need to "chmod /dev/usb/X.Y.0" .

Some control transfers are always restricted to root user:

         /*
          * Avoid requests that would damage the bus integrity:
          */
         if (((req->bmRequestType == UT_WRITE_DEVICE) &&
             (req->bRequest == UR_SET_ADDRESS)) ||
             ((req->bmRequestType == UT_WRITE_DEVICE) &&
             (req->bRequest == UR_SET_CONFIG)) ||
             ((req->bmRequestType == UT_WRITE_INTERFACE) &&
             (req->bRequest == UR_SET_INTERFACE))) {
                 /*
                  * These requests can be useful for testing USB drivers.
                  */
                 error = priv_check(curthread, PRIV_DRIVER);
                 if (error) {
                         return (error);
                 }
         }

You need to use their libusb counterpart to avoid problems!

--HPS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAASDrVn4eQXG7z11OE3ydyZGMaq-9rjCZqyv655SkZ%2BgKffeUg>