Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 May 2013 10:44:19 +0200
From:      =?utf-8?Q?Hans_Petter_Selasky?= <hans.petter.selasky@bitfrost.no>
To:        =?utf-8?Q?Shane_Ambler?= <FreeBSD@ShaneWare.Biz>
Cc:        =?utf-8?Q?freebsd-multimedia=40freebsd=2Eorg?= <freebsd-multimedia@freebsd.org>
Subject:   RE: usb midi support for Alesis keyboard
Message-ID:  <zarafa.51973f63.523f.47a46f32686d827f@eric2.bitfrost>
In-Reply-To: <51973844.9040806@ShaneWare.Biz>
References:  <51973844.9040806@ShaneWare.Biz>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,=0D=0A=0D=0A=C2=A0=0D=0AYou should use /usr/ports/jack_umidi to create=
 jack nodes which your other software can access. The USB MIDI nodes are =
100% raw data and not interconnected with the sound system in FreeBSD!=0D=
=0A=0D=0A=C2=A0=0D=0A--HPS=0D=0A=C2=A0=0D=0A-----Original message-----=0D=
=0AFrom:Shane Ambler <FreeBSD@ShaneWare.Biz>=0D=0ASent:Sat 18-05-2013 10:=
13=0D=0ASubject:Re: usb midi support for Alesis keyboard=0D=0ATo:Hans Pet=
ter Selasky <hans.petter.selasky@bitfrost.no>;=20=0D=0ACC:freebsd-multime=
dia@freebsd.org;=20=0D=0AOn 18/05/2013 16:49, Hans Petter Selasky wrote:=0D=
=0A> Hi,=0D=0A>=0D=0A> Try this patch:=0D=0A>=0D=0A> http://svnweb.freebs=
d.org/changeset/base/250765=0D=0A>=0D=0A=0D=0AWith the device disconnecti=
ng - hw.usb.no_cs_fail=3D1 stopped that.=0D=0A=0D=0A/dev/midistat still s=
ays no midi devices.=0D=0Aplug/un-plug creates/deletes /dev/umidi0.0 -> 1=
5 (they are stable=20=0D=0Awithout the disconnecting)=0D=0A=0D=0AI'll try=
 the patch and see how that goes. I rebuilt world to update to=0D=0A9.1-R=
ELEASE-p3 last night. Using a dtrace enabled kernel built with clang.=0D=0A=
=0D=0AThe Q49 is plugged directly into a usb2.0/1.1 socket at the back of=
 the=20=0D=0Amotherboard.=0D=0A=0D=0AI get the following from usbdump fro=
m a middle c=0D=0Afollowed by usbconfig dump_curr_config_desc=0D=0A=0D=0A=
# usbdump -i usbus2 -f 6 -s 65536 -vvv=0D=0A16:28:47.266708 usbus2.6=20=0D=
=0ADONE-BULK-EP=3D00000081,SPD=3DFULL,NFR=3D1,SLEN=3D64,IVAL=3D0,ERR=3D0=0D=
=0A =C2=A0frame[0] READ 64 bytes=0D=0A =C2=A00000 =C2=A009 90 3C 5A 00 00=
 00 00 =C2=A000 00 00 00 00 00 00 00 =C2=A0|..<Z............|=0D=0A =C2=A0=
0010 =C2=A000 00 00 00 00 00 00 00 =C2=A000 00 00 00 00 00 00 00 =C2=A0|.=
=2E..............|=0D=0A =C2=A00020 =C2=A000 00 00 00 00 00 00 00 =C2=A00=
0 00 00 00 00 00 00 00 =C2=A0|................|=0D=0A =C2=A00030 =C2=A000=
 00 00 00 00 00 00 00 =C2=A000 00 00 00 00 00 00 00 =C2=A0|..............=
=2E.|=0D=0A =C2=A0flags 0x12 <SHORT_XFER_OK|PROXY_BUFFER|0>=0D=0A =C2=A0s=
tatus 0xeb021=20=0D=0A<OPEN|STARTED|SHORT_XFER_OK|BDMA_ENABLE|BDMA_SETUP|=
CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>=0D=0A16:28:47.266713 usbu=
s2.6 SUBM-BULK-EP=3D00000081,SPD=3DFULL,NFR=3D1,SLEN=3D0,IVAL=3D0=0D=0A =C2=
=A0frame[0] READ 64 bytes=0D=0A =C2=A0flags 0x12 <SHORT_XFER_OK|PROXY_BUF=
FER|0>=0D=0A =C2=A0status 0xeb023=20=0D=0A<OPEN|TRANSFERRING|STARTED|SHOR=
T_XFER_OK|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALL=
BACK|0>=0D=0A16:28:47.403588 usbus2.6=20=0D=0ADONE-BULK-EP=3D00000081,SPD=
=3DFULL,NFR=3D1,SLEN=3D64,IVAL=3D0,ERR=3D0=0D=0A =C2=A0frame[0] READ 64 b=
ytes=0D=0A =C2=A00000 =C2=A008 80 3C 40 00 00 00 00 =C2=A000 00 00 00 00 =
00 00 00 =C2=A0|..<@............|=0D=0A =C2=A00010 =C2=A000 00 00 00 00 0=
0 00 00 =C2=A000 00 00 00 00 00 00 00 =C2=A0|................|=0D=0A =C2=A0=
0020 =C2=A000 00 00 00 00 00 00 00 =C2=A000 00 00 00 00 00 00 00 =C2=A0|.=
=2E..............|=0D=0A =C2=A00030 =C2=A000 00 00 00 00 00 00 00 =C2=A00=
0 00 00 00 00 00 00 00 =C2=A0|................|=0D=0A =C2=A0flags 0x12 <S=
HORT_XFER_OK|PROXY_BUFFER|0>=0D=0A =C2=A0status 0xcb021=20=0D=0A<OPEN|STA=
RTED|SHORT_XFER_OK|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK=
|0>=0D=0A16:28:47.403593 usbus2.6 SUBM-BULK-EP=3D00000081,SPD=3DFULL,NFR=3D=
1,SLEN=3D0,IVAL=3D0=0D=0A =C2=A0frame[0] READ 64 bytes=0D=0A =C2=A0flags =
0x12 <SHORT_XFER_OK|PROXY_BUFFER|0>=0D=0A =C2=A0status 0xcb023=20=0D=0A<O=
PEN|TRANSFERRING|STARTED|SHORT_XFER_OK|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_=
IMMED|DOING_CALLBACK|0>=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A# usbconfig -u 2 -a =
6 dump_curr_config_desc=0D=0Augen2.6: <Q49 Alesis> at usbus2, cfg=3D0 md=3D=
HOST spd=3DFULL (12Mbps) pwr=3DON=0D=0A=0D=0A=0D=0A =C2=A0Configuration i=
ndex 0=0D=0A=0D=0A =C2=A0 =C2=A0 bLength =3D 0x0009=0D=0A =C2=A0 =C2=A0 b=
DescriptorType =3D 0x0002=0D=0A =C2=A0 =C2=A0 wTotalLength =3D 0x0065=0D=0A=
 =C2=A0 =C2=A0 bNumInterfaces =3D 0x0002=0D=0A =C2=A0 =C2=A0 bConfigurati=
onValue =3D 0x0001=0D=0A =C2=A0 =C2=A0 iConfiguration =3D 0x0000 =C2=A0<n=
o string>=0D=0A =C2=A0 =C2=A0 bmAttributes =3D 0x00a0=0D=0A =C2=A0 =C2=A0=
 bMaxPower =3D 0x0032=0D=0A=0D=0A =C2=A0 =C2=A0 Interface 0=0D=0A =C2=A0 =
=C2=A0 =C2=A0 bLength =3D 0x0009=0D=0A =C2=A0 =C2=A0 =C2=A0 bDescriptorTy=
pe =3D 0x0004=0D=0A =C2=A0 =C2=A0 =C2=A0 bInterfaceNumber =3D 0x0000=0D=0A=
 =C2=A0 =C2=A0 =C2=A0 bAlternateSetting =3D 0x0000=0D=0A =C2=A0 =C2=A0 =C2=
=A0 bNumEndpoints =3D 0x0000=0D=0A =C2=A0 =C2=A0 =C2=A0 bInterfaceClass =3D=
 0x0001=0D=0A =C2=A0 =C2=A0 =C2=A0 bInterfaceSubClass =3D 0x0001=0D=0A =C2=
=A0 =C2=A0 =C2=A0 bInterfaceProtocol =3D 0x0000=0D=0A =C2=A0 =C2=A0 =C2=A0=
 iInterface =3D 0x0000 =C2=A0<no string>=0D=0A=0D=0A =C2=A0 =C2=A0 =C2=A0=
 Additional Descriptor=0D=0A=0D=0A =C2=A0 =C2=A0 =C2=A0 bLength =3D 0x09=0D=
=0A =C2=A0 =C2=A0 =C2=A0 bDescriptorType =3D 0x24=0D=0A =C2=A0 =C2=A0 =C2=
=A0 bDescriptorSubType =3D 0x01=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A0RAW dump=
:=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A00x00 | 0x09, 0x24, 0x01, 0x00, 0x01, 0=
x09, 0x00, 0x01,=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A00x08 | 0x01=0D=0A=0D=0A=
=0D=0A =C2=A0 =C2=A0 Interface 1=0D=0A =C2=A0 =C2=A0 =C2=A0 bLength =3D 0=
x0009=0D=0A =C2=A0 =C2=A0 =C2=A0 bDescriptorType =3D 0x0004=0D=0A =C2=A0 =
=C2=A0 =C2=A0 bInterfaceNumber =3D 0x0001=0D=0A =C2=A0 =C2=A0 =C2=A0 bAlt=
ernateSetting =3D 0x0000=0D=0A =C2=A0 =C2=A0 =C2=A0 bNumEndpoints =3D 0x0=
002=0D=0A =C2=A0 =C2=A0 =C2=A0 bInterfaceClass =3D 0x0001=0D=0A =C2=A0 =C2=
=A0 =C2=A0 bInterfaceSubClass =3D 0x0003=0D=0A =C2=A0 =C2=A0 =C2=A0 bInte=
rfaceProtocol =3D 0x0000=0D=0A =C2=A0 =C2=A0 =C2=A0 iInterface =3D 0x0000=
 =C2=A0<no string>=0D=0A=0D=0A =C2=A0 =C2=A0 =C2=A0 Additional Descriptor=
=0D=0A=0D=0A =C2=A0 =C2=A0 =C2=A0 bLength =3D 0x07=0D=0A =C2=A0 =C2=A0 =C2=
=A0 bDescriptorType =3D 0x24=0D=0A =C2=A0 =C2=A0 =C2=A0 bDescriptorSubTyp=
e =3D 0x01=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A0RAW dump:=0D=0A =C2=A0 =C2=A0=
 =C2=A0 =C2=A00x00 | 0x07, 0x24, 0x01, 0x00, 0x01, 0x41, 0x00=0D=0A=0D=0A=
=0D=0A =C2=A0 =C2=A0 =C2=A0 Additional Descriptor=0D=0A=0D=0A =C2=A0 =C2=A0=
 =C2=A0 bLength =3D 0x06=0D=0A =C2=A0 =C2=A0 =C2=A0 bDescriptorType =3D 0=
x24=0D=0A =C2=A0 =C2=A0 =C2=A0 bDescriptorSubType =3D 0x02=0D=0A =C2=A0 =C2=
=A0 =C2=A0 =C2=A0RAW dump:=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A00x00 | 0x06, =
0x24, 0x02, 0x01, 0x01, 0x00=0D=0A=0D=0A=0D=0A =C2=A0 =C2=A0 =C2=A0 Addit=
ional Descriptor=0D=0A=0D=0A =C2=A0 =C2=A0 =C2=A0 bLength =3D 0x06=0D=0A =
=C2=A0 =C2=A0 =C2=A0 bDescriptorType =3D 0x24=0D=0A =C2=A0 =C2=A0 =C2=A0 =
bDescriptorSubType =3D 0x02=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A0RAW dump:=0D=
=0A =C2=A0 =C2=A0 =C2=A0 =C2=A00x00 | 0x06, 0x24, 0x02, 0x02, 0x02, 0x00=0D=
=0A=0D=0A=0D=0A =C2=A0 =C2=A0 =C2=A0 Additional Descriptor=0D=0A=0D=0A =C2=
=A0 =C2=A0 =C2=A0 bLength =3D 0x09=0D=0A =C2=A0 =C2=A0 =C2=A0 bDescriptor=
Type =3D 0x24=0D=0A =C2=A0 =C2=A0 =C2=A0 bDescriptorSubType =3D 0x03=0D=0A=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0RAW dump:=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A00x=
00 | 0x09, 0x24, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01,=0D=0A =C2=A0 =C2=A0 =
=C2=A0 =C2=A00x08 | 0x00=0D=0A=0D=0A =C2=A0 =C2=A0 =C2=A0 Additional Desc=
riptor=0D=0A=0D=0A =C2=A0 =C2=A0 =C2=A0 bLength =3D 0x09=0D=0A =C2=A0 =C2=
=A0 =C2=A0 bDescriptorType =3D 0x24=0D=0A =C2=A0 =C2=A0 =C2=A0 bDescripto=
rSubType =3D 0x03=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A0RAW dump:=0D=0A =C2=A0=
 =C2=A0 =C2=A0 =C2=A00x00 | 0x09, 0x24, 0x03, 0x02, 0x04, 0x01, 0x01, 0x0=
1,=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A00x08 | 0x00=0D=0A=0D=0A =C2=A0 =C2=A0=
 =C2=A0Endpoint 0=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A0 bLength =3D 0x0009=0D=
=0A =C2=A0 =C2=A0 =C2=A0 =C2=A0 bDescriptorType =3D 0x0005=0D=0A =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 bEndpointAddress =3D 0x0001 =C2=A0<OUT>=0D=0A =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 bmAttributes =3D 0x0002 =C2=A0<BULK>=0D=0A =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 wMaxPacketSize =3D 0x0040=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 bInterval =3D 0x0000=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A0 bRefresh =3D 0x00=
00=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A0 bSynchAddress =3D 0x0000=0D=0A=0D=0A=
 =C2=A0 =C2=A0 =C2=A0 Additional Descriptor=0D=0A=0D=0A =C2=A0 =C2=A0 =C2=
=A0 bLength =3D 0x05=0D=0A =C2=A0 =C2=A0 =C2=A0 bDescriptorType =3D 0x25=0D=
=0A =C2=A0 =C2=A0 =C2=A0 bDescriptorSubType =3D 0x01=0D=0A =C2=A0 =C2=A0 =
=C2=A0 =C2=A0RAW dump:=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A00x00 | 0x05, 0x25=
, 0x01, 0x01, 0x01=0D=0A=0D=0A=0D=0A =C2=A0 =C2=A0 =C2=A0Endpoint 1=0D=0A=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 bLength =3D 0x0009=0D=0A =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 bDescriptorType =3D 0x0005=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A0 bEnd=
pointAddress =3D 0x0081 =C2=A0<IN>=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A0 bmAt=
tributes =3D 0x0002 =C2=A0<BULK>=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A0 wMaxPa=
cketSize =3D 0x0040=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A0 bInterval =3D 0x000=
0=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A0 bRefresh =3D 0x0000=0D=0A =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 bSynchAddress =3D 0x0000=0D=0A=0D=0A =C2=A0 =C2=A0 =C2=A0 =
Additional Descriptor=0D=0A=0D=0A =C2=A0 =C2=A0 =C2=A0 bLength =3D 0x05=0D=
=0A =C2=A0 =C2=A0 =C2=A0 bDescriptorType =3D 0x25=0D=0A =C2=A0 =C2=A0 =C2=
=A0 bDescriptorSubType =3D 0x01=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A0RAW dump=
:=0D=0A =C2=A0 =C2=A0 =C2=A0 =C2=A00x00 | 0x05, 0x25, 0x01, 0x01, 0x03=0D=
=0A=0D=0A=0D=0A=0D=0A
From owner-freebsd-multimedia@FreeBSD.ORG  Sat May 18 09:43:27 2013
Return-Path: <owner-freebsd-multimedia@FreeBSD.ORG>
Delivered-To: freebsd-multimedia@freebsd.org
Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115])
 by hub.freebsd.org (Postfix) with ESMTP id 8798C1ED
 for <freebsd-multimedia@freebsd.org>; Sat, 18 May 2013 09:43:27 +0000 (UTC)
 (envelope-from ralf.mardorf@alice-dsl.net)
Received: from smtp-out007b.alice-dsl.net (smtp-out007B.alice-dsl.net
 [88.44.63.7]) by mx1.freebsd.org (Postfix) with ESMTP id 1BE7E9B2
 for <freebsd-multimedia@freebsd.org>; Sat, 18 May 2013 09:43:26 +0000 (UTC)
Received: from out.alice-dsl.de ([192.168.125.61]) by
 smtp-out007b.alice-dsl.net with Microsoft SMTPSVC(6.0.3790.3959); 
 Sat, 18 May 2013 11:42:44 +0200
Received: from [78.50.20.40] ([78.50.20.40]) by out.alice-dsl.de over TLS
 secured channel with Microsoft SMTPSVC(6.0.3790.3959); 
 Sat, 18 May 2013 11:42:30 +0200
Message-ID: <1368870149.671.83.camel@archlinux>
Subject: Re: jackd
From: Ralf Mardorf <ralf.mardorf@alice-dsl.net>
To: freebsd-multimedia@freebsd.org
Date: Sat, 18 May 2013 11:42:29 +0200
In-Reply-To: <20130518154752.W86776@sola.nimnet.asn.au>
References: <1368803054.1374.8.camel@localhost>
 <20130518154752.W86776@sola.nimnet.asn.au>
Content-Type: text/plain; charset="UTF-8"
X-Mailer: Evolution 3.8.2 
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 18 May 2013 09:42:31.0004 (UTC)
 FILETIME=[042FB9C0:01CE53AC]
X-BeenThere: freebsd-multimedia@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: Multimedia discussions <freebsd-multimedia.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/freebsd-multimedia>, 
 <mailto:freebsd-multimedia-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-multimedia>;
List-Post: <mailto:freebsd-multimedia@freebsd.org>
List-Help: <mailto:freebsd-multimedia-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia>, 
 <mailto:freebsd-multimedia-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 18 May 2013 09:43:27 -0000

On Sat, 2013-05-18 at 17:02 +1000, Ian Smith wrote:
> Re what Diane said, that seems also to be the case on linux

Hi :)

I reply from my "pro-audio" (bizarre term) Linux DAW ;). Are you talking
about real-time for the users?

On Linux even a vanilla kernel can be used with real-time abilities +
you can configure it to _full_ preemption and enable threadirqs when
booting, without patching the kernel. Im using a real-time patch for my
kernels, but the difference to a full preempted kernel are minimal.

Usually real-time permissions are given to the user by PAM,
http://www.jackaudio.org/linux_rt_config .

FWIW if on FreeBSD real-time is an issue, there still is the possibility
to take care about some other stuff, that could harm audio performance.

On my machine I unbind some USB ports, that share the IRQ with one of my
sound cards.

echo -n "0000:00:13.2" > /sys/bus/pci/drivers/ohci_hcd/unbind
echo -n "0000:00:13.4" > /sys/bus/pci/drivers/ohci_hcd/unbind

There isn't a difference for the performance on my machine, but perhaps
this can help on other machines.

You can stop services, bluetooth, cups, resp. remove drivers for
firewire, parallel port, printer.

http://wiki.linuxmusicians.com/doku.php?id=system_configuration

It's said that editing PCI bus latency isn't a good idea and IIRC it has
got no impact to PCIe, but I might be mistaken.

http://www.mythtv.org/wiki/PCI_Latency

Using Linux for pro-audio (this term simply is for "good working audio",
not only for professional usage ;) IMO still is luck of the draw, but
possible and this by running jackd as user.

Regards,
Ralf 





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?zarafa.51973f63.523f.47a46f32686d827f>