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ä ()
Accessibility, game music, synthesizers and programming:
http://www.student.oulu.fi/~vtatila