Motherboard Forums


Reply
Thread Tools Display Modes

PCI a Bottleneck in USB 2.0 for Audio?, IRQ Sharing for USB

 
 
Veli-Pekka Tštilš
Guest
Posts: n/a
 
      11-11-2007, 05:18 PM
Hi,
Briefly put, can the real world bandwidth or latency of a PCI-based USB
2.0 card be a problem for high speed USB devices in soft realtime
applications like audio and softsynths? For optimal performance, should
I use the USB on the mobo or the ports on the add-on card?

I have an Asus M2V mobo (using a Via chipset), an Ati Radeon X300
graphics card, and among the USB devices are an E-Mu 0404 sound card, an
M-Audio MidiSport 4x4 interface (USB 1.1) and an Evolution UC-33 MIDI
knob box (USB compatibility unknown), plus a Lacie hard drive for
permanent media storage. The kbd and mouse, as well as a headset and
scanner, are USB as well.

Having added USb ports, I decided to put everything audio on the new
ports relying on the PCI card. Lately I have been geting audio dropouts
in Sonar 4 LE with small buffers of 4 ms, and crackles when a screen
reader program (speech synth with DirectSound or MME) and non-ASIO audio
are used simultaneously. This being the Windows world, and since I have
also updated drivers, I'm unsure whether the crackles are a result of
USB changes or something else, thus my question.

I've read a couple USB FAQs and the Wikipedia articles on PCI and USb
but still cannot figure out whether it could be the bandwidth or not.
Especially since the ideal data rates are never reached anyway.

Finally, here's a heavily snipped dump of the PCI devices from PCI32,
which also shows what USB controllers the system has:

Craig Hart's PCI+AGP bus sniffer, Version 1.4, freeware made in
1996-2005.
Searching for Devices using CFG Mechanism 1 [OS: Win XP Service Pack 2]

Bus 0 (PCI Express), Device Number 16, Device Function 0
Vendor 1106h VIA Technologies Inc
Device 3038h VT82xxxxx UHCI USB 1.1 Controller (All VIA Chipsets)

Bus 0 (PCI Express), Device Number 16, Device Function 1
Vendor 1106h VIA Technologies Inc
Device 3038h VT82xxxxx UHCI USB 1.1 Controller (All VIA Chipsets)

Bus 0 (PCI Express), Device Number 16, Device Function 2
Vendor 1106h VIA Technologies Inc
Device 3038h VT82xxxxx UHCI USB 1.1 Controller (All VIA Chipsets)

Bus 0 (PCI Express), Device Number 16, Device Function 3
Vendor 1106h VIA Technologies Inc
Device 3038h VT82xxxxx UHCI USB 1.1 Controller (All VIA Chipsets)

Bus 0 (PCI Express), Device Number 16, Device Function 4
Vendor 1106h VIA Technologies Inc
Device 3104h VT6202/12 USB 2.0 Enhanced Host Controller

Bus 7 (PCI), Device Number 6, Device Function 0
Vendor 1106h VIA Technologies Inc
Device 3038h VT82xxxxx UHCI USB 1.1 Controller (All VIA Chipsets)

Bus 7 (PCI), Device Number 6, Device Function 1
Vendor 1106h VIA Technologies Inc
Device 3038h VT82xxxxx UHCI USB 1.1 Controller (All VIA Chipsets)

Bus 7 (PCI), Device Number 6, Device Function 2
Vendor 1106h VIA Technologies Inc
Device 3104h VT6202/12 USB 2.0 Enhanced Host Controller

IRQ Summary: IRQs 14,15,16,17,18,20,21,22,23,24,27,28,31,35,36,39,43 are
used by PCI devices
Shared IRQs: IRQ 17 is shared by 2 PCI Devices
IRQ 21 is shared by 3 PCI Devices
IRQ control is currently managed by the system APIC controller

As for the IRQs, here's what Windows reports, is this normal, too?

17 Microsoft UAA Bus Driver for High Definition Audio OK
17 VIA Rev 5 or later USB Universal Host Controller OK

21 Standard Dual Channel PCI IDE Controller OK
21 VIA Rev 5 or later USB Universal Host Controller OK
21 VIA USB Enhanced Host Controller OK

Back in DOS, all IRQ conflicts were something that should be avoided at
all costs. Then ,much later in Windows PCI devices would share IRQs as a
result of ACPI and audio manufacturers like Steinberg would advice
people to install the standard hardware abstraction layer, to avoid
problems. Now, APIC rules, and there are less ACPI problems in XP, too,
so I don't know what to think of these IRQ conflicts clashing E-IDE and
the built-in Realttek audio chip with USB devices. I'm just a technical
end user and a programmer (Perl, Java), but my knowledge on PC hardware
is frankly speaking minimal, and acquired on a need to know basis.

Any help appreciated.

--
With kind regards Veli-Pekka Tštilš ((E-Mail Removed))
Accessibility, game music, synthesizers and programming:
http://www.student.oulu.fi/~vtatila
 
Reply With Quote
 
 
 
 
Arno Wagner
Guest
Posts: n/a
 
      11-11-2007, 08:47 PM
Previously Veli-Pekka Tštilš <(E-Mail Removed)> wrote:
> Hi,
> Briefly put, can the real world bandwidth or latency of a PCI-based USB
> 2.0 card be a problem for high speed USB devices in soft realtime
> applications like audio and softsynths? For optimal performance, should
> I use the USB on the mobo or the ports on the add-on card?


> I have an Asus M2V mobo (using a Via chipset), an Ati Radeon X300
> graphics card, and among the USB devices are an E-Mu 0404 sound card, an
> M-Audio MidiSport 4x4 interface (USB 1.1) and an Evolution UC-33 MIDI
> knob box (USB compatibility unknown), plus a Lacie hard drive for
> permanent media storage. The kbd and mouse, as well as a headset and
> scanner, are USB as well.


> Having added USb ports, I decided to put everything audio on the new
> ports relying on the PCI card. Lately I have been geting audio dropouts
> in Sonar 4 LE with small buffers of 4 ms, and crackles when a screen
> reader program (speech synth with DirectSound or MME) and non-ASIO audio
> are used simultaneously. This being the Windows world, and since I have
> also updated drivers, I'm unsure whether the crackles are a result of
> USB changes or something else, thus my question.


> I've read a couple USB FAQs and the Wikipedia articles on PCI and USb
> but still cannot figure out whether it could be the bandwidth or not.
> Especially since the ideal data rates are never reached anyway.


It is not the bandwidth, but bandwidth allocation. USB devices may
have to wait a bit to send or receive on USB. Buffers of 4ms are
very likely too small, expecially when you also have storage on the
bus. A larger transfer from and to disk can also clog-up PCI, but
for USB speeds that sounds unlikely. That the USB is on a card should
not matter at all. But you should try without the disk and you should
try with the outdio output device having its own IRQ.

On the other hand, 4ms is pretty tight. Microsoft Windows is a toy
and not intended to handle anything like this. I don't think
you can change scheduling strategies and speeds and in my experience
Windoiws has troubles running more than one app smoothly.

On Linux you could ty incrrease the sheduling frequency to
something like 10000Hz (default used to be 100Hz, now it is
1000Hz) and maybe even change the job sheduler strategy. Also
running the audiou-out job with significanlty higher priority
would help. But in the end, it might not be enough. Best
would be to use a real-time OS like QNX for it,

Arno

 
Reply With Quote
 
 
 
 
Veli-Pekka Tštilš
Guest
Posts: n/a
 
      11-12-2007, 02:41 PM
Arno Wagner wrote:
> Previously Veli-Pekka Tštilš <(E-Mail Removed)> wrote:
> > Hi,
> > Briefly put, can the real world bandwidth or latency of a PCI-based USB
> > 2.0 card be a problem for high speed USB devices in soft realtime
> > applications like audio and softsynths? For optimal performance, should
> > I use the USB on the mobo or the ports on the add-on card?

>
> > I have an Asus M2V mobo (using a Via chipset), an Ati Radeon X300
> > graphics card, and among the USB devices are an E-Mu 0404 sound card, an
> > M-Audio MidiSport 4x4 interface (USB 1.1) and an Evolution UC-33 MIDI
> > knob box (USB compatibility unknown), plus a Lacie hard drive for
> > permanent media storage. The kbd and mouse, as well as a headset and
> > scanner, are USB as well.

>
> > Having added USb ports, I decided to put everything audio on the new
> > ports relying on the PCI card. Lately I have been geting audio dropouts
> > in Sonar 4 LE with small buffers of 4 ms, and crackles when a screen
> > reader program (speech synth with DirectSound or MME) and non-ASIO audio
> > are used simultaneously. This being the Windows world, and since I have
> > also updated drivers, I'm unsure whether the crackles are a result of
> > USB changes or something else, thus my question.

>
> > I've read a couple USB FAQs and the Wikipedia articles on PCI and USb
> > but still cannot figure out whether it could be the bandwidth or not.
> > Especially since the ideal data rates are never reached anyway.

> It is not the bandwidth, but bandwidth allocation. USB devices may
> have to wait a bit to send or receive on USB. Buffers of 4ms are
> very likely too small, expecially when you also have storage on the
> bus.

I see. Then one logical solution would be to use the disk with the USB
ports on the mobo, and use those on the add-on card for the sound card,
for instance.

> On the other hand, 4ms is pretty tight. Microsoft Windows is a toy
> and not intended to handle anything like this.

Put less subjectively, Microsoft Windows is a general purpose operating
system originally intended for business applications, it is not a
multimedia OS like BeOS let alone a true soft or hard real time
operating system like QNX. Even Apple thinks of audio having a higher
priority compared to MS.

> I don't think you can change scheduling strategies and speeds

And there are far too few process priority levels, too. Well actually
you can tell the OS not to give the process owning the foreground window
a priority boost which most audio guides recommend (control panel,
system, advanced, settings, advanced, processor scheduling = backround
services). Also, precisely because of driver issues before we had WDM
kernel streaming, Steinberg deviced the ASIO driver standard for
Windows.

I do know the actual latency surely is not 4 MS. USb probably adds to
that, as does the PCI bus hosting the USB card, I presume, not to
mention the DACs and any other possible delays.

> On Linux you could ty incrrease the sheduling frequency to
> something like 10000Hz (default used to be 100Hz,

Interesting, I've heard that many musically oriented distros already
contain a lot of real time and other kernel patches such as preemption.

> Best would be to use a real-time OS like QNX for it,

Agreed, QNx is seriously cool at any rate. I've seen the amazing 1
diskette demo of the OS. But the choice of Os is not just a match of
technical features, the problem is that I use the OS because of the
software, not for its accessories or most other user features:

Linux still lacks apps for wave editing, MIDi sequencing and soft synths
at all seriously comparable to Sonar, Sound Forge and VST plugs, which
is what I'm using and have invested some money in. There are some apps,
but nothing much better than in Windows. Another sad real world problem
are drivers, those for my USB sound card are experimental at best. LAst
but not least, accessibility is something I'll have to worry about being
sight impaired, and while the basic gnome desktop is accessible with
Orca, music software is not.

QNX is much worse in terms of hardware support and screen reader
accessibility. But thanks for the advice anyway. I was kinda hoping that
after five years or so I might be able to use LInux for serious music
making with screen reader access to KDE. But that's OT at any rate. and
we'll see in five years or so how accessible they've managed to make KDE
and the music apps by then.

--
With kind regards Veli-Pekka Tštilš ((E-Mail Removed))
Accessibility, game music, synthesizers and programming:
http://www.student.oulu.fi/~vtatila
 
Reply With Quote
 
Arno Wagner
Guest
Posts: n/a
 
      11-13-2007, 12:42 AM
Previously Veli-Pekka Tštilš <(E-Mail Removed)> wrote:
> Arno Wagner wrote:
>> Previously Veli-Pekka Tštilš <(E-Mail Removed)> wrote:
>> > Hi,
>> > Briefly put, can the real world bandwidth or latency of a PCI-based USB
>> > 2.0 card be a problem for high speed USB devices in soft realtime
>> > applications like audio and softsynths? For optimal performance, should
>> > I use the USB on the mobo or the ports on the add-on card?

>>
>> > I have an Asus M2V mobo (using a Via chipset), an Ati Radeon X300
>> > graphics card, and among the USB devices are an E-Mu 0404 sound card, an
>> > M-Audio MidiSport 4x4 interface (USB 1.1) and an Evolution UC-33 MIDI
>> > knob box (USB compatibility unknown), plus a Lacie hard drive for
>> > permanent media storage. The kbd and mouse, as well as a headset and
>> > scanner, are USB as well.

>>
>> > Having added USb ports, I decided to put everything audio on the new
>> > ports relying on the PCI card. Lately I have been geting audio dropouts
>> > in Sonar 4 LE with small buffers of 4 ms, and crackles when a screen
>> > reader program (speech synth with DirectSound or MME) and non-ASIO audio
>> > are used simultaneously. This being the Windows world, and since I have
>> > also updated drivers, I'm unsure whether the crackles are a result of
>> > USB changes or something else, thus my question.

>>
>> > I've read a couple USB FAQs and the Wikipedia articles on PCI and USb
>> > but still cannot figure out whether it could be the bandwidth or not.
>> > Especially since the ideal data rates are never reached anyway.

>> It is not the bandwidth, but bandwidth allocation. USB devices may
>> have to wait a bit to send or receive on USB. Buffers of 4ms are
>> very likely too small, expecially when you also have storage on the
>> bus.

> I see. Then one logical solution would be to use the disk with the USB
> ports on the mobo, and use those on the add-on card for the sound card,
> for instance.


That could work.

>> On the other hand, 4ms is pretty tight. Microsoft Windows is a toy
>> and not intended to handle anything like this.

> Put less subjectively, Microsoft Windows is a general purpose operating
> system originally intended for business applications, it is not a
> multimedia OS like BeOS let alone a true soft or hard real time
> operating system like QNX. Even Apple thinks of audio having a higher
> priority compared to MS.


I should rephrase: Anything leaving the scope of a glorified
single-user typewriter is problematic in Windows. Even the
typewriter is problematic today.

>> I don't think you can change scheduling strategies and speeds

> And there are far too few process priority levels, too. Well actually
> you can tell the OS not to give the process owning the foreground window
> a priority boost which most audio guides recommend (control panel,
> system, advanced, settings, advanced, processor scheduling = backround
> services). Also, precisely because of driver issues before we had WDM
> kernel streaming, Steinberg deviced the ASIO driver standard for
> Windows.


Well, so solving this by sheduling priorities is out.

> I do know the actual latency surely is not 4 MS. USb probably adds to
> that, as does the PCI bus hosting the USB card, I presume, not to
> mention the DACs and any other possible delays.


>> On Linux you could ty incrrease the sheduling frequency to
>> something like 10000Hz (default used to be 100Hz,

> Interesting, I've heard that many musically oriented distros already
> contain a lot of real time and other kernel patches such as preemption.


There is a lot you can do in Linux. For me kernel-level scheduling
with generous buffers has been enough so far, but I do not do
adudiom except as a consumer.

>> Best would be to use a real-time OS like QNX for it,

> Agreed, QNx is seriously cool at any rate. I've seen the amazing 1
> diskette demo of the OS. But the choice of Os is not just a match of
> technical features, the problem is that I use the OS because of the
> software, not for its accessories or most other user features:


> Linux still lacks apps for wave editing, MIDi sequencing and soft synths
> at all seriously comparable to Sonar, Sound Forge and VST plugs, which
> is what I'm using and have invested some money in. There are some apps,
> but nothing much better than in Windows. Another sad real world problem
> are drivers, those for my USB sound card are experimental at best. LAst
> but not least, accessibility is something I'll have to worry about being
> sight impaired, and while the basic gnome desktop is accessible with
> Orca, music software is not.


Some real concerns there, yes. I actually have sound driver issues
as well. I have been wanting to buy a Creative X-FI card for
some time for gaming, but until there is Linux support, not
possible. It seems Creative is not even giving datasheets to the
Linux sound developers. Pretty sad.

> QNX is much worse in terms of hardware support and screen reader
> accessibility. But thanks for the advice anyway. I was kinda hoping that
> after five years or so I might be able to use LInux for serious music
> making with screen reader access to KDE. But that's OT at any rate. and
> we'll see in five years or so how accessible they've managed to make KDE
> and the music apps by then.


It is really a mess. Good software on bad foundation or bad software
in good foundations. Were there is good Linux software, it at least
stays available, since typically it can be ported with minimal effort
to newer versions or does not need porting at all. So the situation
should indeed get better.

Arno

 
Reply With Quote
 
Joseph Fenn
Guest
Posts: n/a
 
      11-13-2007, 01:24 AM
Thinking of these USB things a funny thing happened this week after
I had told the tech at OFFICE/MAX. I installed the Maxtor one touch
V4 (the installation came without a disk as its alreay on the
external HD when purhcased. The pamphlet that was included in with
the V4 maxtor said "copy the contents files on the HD just in case
you somehow loose them.) So I did useing the "send to" cmd in win
xp pro to drive E which is my external burner. They went over OK
and the burner spit out the CD/RW out. But up popped an all white
screen from border to border and in the middle of the screen it said
only one word in small type "Register" and thats all. I thought
register what !!!!!. I bought the Maxtor which contained its own
drivers inside it and a recommendation to copy those files just
in case they get fouled up somehow. I did that too. Told the
whole story to the guy at Office/Max said about it, and he said ignore
that white Register screen as your bought the Maxtor and you also
bought a 1 year warranty. Wieird stuff happens!!!!1 with computers
and specially those wuth USB hubs.
Joe


 
Reply With Quote
 
 
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
ECS 755-A2 PCI IRQ sharing info needed dogberry ECS 0 03-07-2008 04:21 AM
P2B-S, annoying IRQ-sharing, U2W and USB Daniel Mandic Asus 0 12-17-2006 03:12 AM
nVidia 6800 GT PCI-E x2... CPU that wont bottleneck and PSU? Falcon1209 Nvidia 20 05-08-2005 02:41 AM
IRQ sharing with USB & Firewire controller ofn01 ATI 4 03-06-2005 09:05 AM
ga-8ik1100 - irq-sharinglist & onboard-lan irq James Watt Gigabyte 0 07-21-2003 07:59 PM


All times are GMT. The time now is 04:33 AM.


Welcome!
Welcome to Motherboard Point
 

Advertisment