Jump to content

FOR EXPERTS: Audio Stuttering


Recommended Posts

Posted (edited)

Obviously, the people who've come to know me on this forum know that I am quite the hardware enthusiast and I well proficient both with hardware and software. So please, spare me the grief of responses such as "On-board audio sux!" or "Update your drivers!". Those kinds of answers are not quite what I'm looking for.

First, let me describe some contextual information.

Power is clean and filthered through a Voltage Regulator before arriving to my Antec SP-350 which is very very stable and cool. The rest of my computer is cool as well. My cpu features a Zalman CNPS9500 and Arctic Silver 5. My video card also features a Zalman VF900-Cu with Arctic Silver 5. My P180 case has a 120mm intake fan, a 80mm intake fan and three 120mm exhaust fans. So there are no voltage or heat related problems whatsoever. With my Pentium D 930, 2GB of OCZ ram and my dual raptors in RAID 0 for Windows, it's clear that I don't have a performance issue.

The problem. Anything that is active audio (meaning more then the windows ding) such as playing music, watching a movie or playing a game will have stuttering audio at random intervals (less then 60 seconds apart) for the duration of a quarter of a second and ONLY (this is the crucial part) WHILE simultaneously having a high volume of network traffic. High volume of network traffic being anything from downloading a single file at high speed to multiple simultaneous torrent downloads. Also, during the stuttering, everything stops. Meaning, the screen will stop updating itself (GUIs freeze, video freezes), the mouse will freeze and the keyboard will stop responding. As soon as the stuttering stops, everything goes back to normal.

My motherboard is a Foxconn 945G7MA-8EKRS2. My audio is an on-board Realtek ALC800. My network card is a dedicated 3Com 3C905C-TX, the on-board network card is disabled.

The network card is on IRQ 17. The on-board audio is on IRQ 16. IRQ 17 is not shared (according to device manager). IRQ 16 is shared between the audio, the ICH7 SMBus controller, a ICH7 USB Host Controller, the PCI-Express port and the video card.

Audio hardware acceleration is set to Full.

I'd like to identify what the REAL and ROOT cause of the issue is. Is it a IRQ conflict? Is there a race condition in the PCI bus? Is it simply too much demand for the on-board audio controller?

Thanks.

Edited by jcarle

Posted

Weird, I've seen this chipset on mobos but I can't find any ALC800 on Realtek's site. Only 850 or 880...

I still think it's UAA based.

I've had the same kind of problems with some other UAA chipset but with all sorts of high CPU activities (not only net traffic). I never found the reason.

Not very helpful is it?. However I can tell you is it stoped when I plugged a seperate sound card in.

Posted (edited)
Weird, I've seen this chipset on mobos but I can't find any ALC800 on Realtek's site. Only 850 or 880...

I still think it's UAA based.

I've had the same kind of problems with some other UAA chipset but with all sorts of high CPU activities (not only net traffic). I never found the reason.

Not very helpful is it?. However I can tell you is it stoped when I plugged a seperate sound card in.

I believe the ALC800 and the ALC880 are essentially the same.

As for a dedicated sound card, if that's what it really takes to solve the problem, then so be it. I have no qualms with doing so. Either way, I'd still like to drill down to the core issue and figure out exactly WHY this happens.

Edited by jcarle
Posted

Personally, I'd try not to share the sound card's IRQ with other things, especially demanding ones like the video card (although I don't think that's causing the problem by itself). I'd also check the PCI latency of the sound card and NIC (try lowering the NIC - 32 should be enough, and increasing the sound card if necessary). Perhaps the NIC is hogging the PCI bus. Eventually, I'd try the onboard NIC instead. They're not bad usually (better than most onboard audio are).

Personally, I haven't experienced such a problem since the dreaded KT133 chipset (which not only stuttered but BSOD'ed ridiculously), which was mainly due to PCI latency.

Posted
Obviously, the people who've come to know me on this forum know that I am quite the hardware enthusiast and I well proficient both with hardware and software. So please, spare me the grief of responses such as "On-board audio sux!" or "Update your drivers!". Those kinds of answers are not quite what I'm looking for.

But I suppose you tried other PCI slots?

Those NICs, they are old but good ones and never gave me any problems, so did you try an other card too?

Posted (edited)
But I suppose you tried other PCI slots?

I doubt changing slots will help (especially for a latency problem). As for trying another card, that's why I talked about the onboard one ;) He's got a perfectly good Broadcom Gigabit Ethernet onboard, and he's using a 100mbit oldie instead... The only thing I like about those 3c905's and intel pro 100's is that driver support (including ndis2 for dos) is pretty much universal/supported out of the box. But I'd much rather use the one he has onboard over that. Even if it's not for the speed/performance, with modern chipsets like he's using (945), the NIC is usually off the PCI-e bus (not off the "old" PCI bus) - as long as he doesn't run OS'es that he can't get the broadcom drivers for (unlikely). That could easily solve a PCI latency problem too, and it's quick to try (plug ethernet cable in other jack, and see if it makes a difference - no need to swap parts, move stuff, change configs, etc).

I still have a couple dozen such old NICs (and a few extras of others kinds), and they're great as 2nd NICs, for use by firewalls, VMWare and what not, but as primary NIC... Let's say they're starting to show their age.

Edited by crahak
Posted
I doubt changing slots will help (especially for a latency problem). As for trying another card, that's why I talked about the onboard one ;)...

...I still have a couple dozen such old NICs (and a few extras of others kinds), and they're great as 2nd NICs, for use by firewalls, VMWare and what not, but as primary NIC... Let's say they're starting to show their age.

Changing Hardware IRQs, not rerouted by Windows or BIOS, could fix some problems. I was just asking if he did ;).

Jup, those 3com 90x card are good for just the basic stuff now, I use them to install XP on systems without a NIC or a NIC that requires an extra driver.

Those Broadcom chips are not bad at all, first time I used them was on an A7V333 or so from ASUS. Are you sure that it works on the PCI-E (1x) bus?

Posted
Are you sure that it works on the PCI-E (1x) bus?

The standard implementation (see the link in my last post) is off the PCI-e bus, and I can't see why they'd go out of their way to put it on the PCI bus, which can't really handle full gigabit speeds in the first place. It would likely cost more to implement and might be harder to route (implemented differently than in the chipset development kit), perform slower, etc.

Just like onboard audio, the onboard NIC isn't bad at all. Yes, a very good sound card (M-Audio or whatever) would be better, just like a high-end PCI-e NIC would be better, but going with the 3c905 here is almost like if he had replaced his onboard high def audio for a SB16, which is not exactly great anymore (but it was a good card for its time too).

Posted

Okay, here's an update based on everyone's recommendations and my further testing.

As wonderfully stable as my Foxconn motherboard is, it unfortunately does not offer me a great deal of control over certain things. It so happens to be the case with the PCI settings. I can only reserve ISA IRQs, none of the PCI ones. Also, enabling ACPI pretty much eliminates any kind of control I could have on the IRQs. I did however try changing my 3Com network card from the 2nd PCI slot to the 1st one (I only have 2 PCI slots). The IRQ did change (as expected) from 17 to 22, yet nothing changed. So I'm going to take a stab and guess that IRQ related issues are not the cause.

I could not find anyway, either through my BIOS or through Windows, to adjust any PCI latency settings. So I can't comment on that.

Physically removing my 3Com network card and re-enabling my on-board Broadcom 5788 network card did solve the problem. I ran 25 consecutive speed tests on my 3Com, then on my Broadcom network cards. Even though with the Broadcom I no longer get any stuttering in the audio, I do experience a drop in speed. The average download speed for my 3Com is 9333 Kbps while the average download speed for my Broadcom is 9221 Kbps. The 3Com probably has better hardware TCP/IP off-loading.

The 3Com is certainly showing it's age and most likely the reason why I was experiencing stuttering.

It still bothers me that I haven't been able to nail exactly WHAT caused the stuttering.

Posted
It still bothers me that I haven't been able to nail exactly WHAT caused the stuttering.
Perhaps the NIC is hogging the PCI bus. Eventually, I'd try the onboard NIC instead.
:yes:
Posted
I could not find anyway, either through my BIOS or through Windows, to adjust any PCI latency settings. So I can't comment on that.

There are lots of 3rd party utilities to peek and set it.

I would bet money it's a PCI latency problem (being solved by removing the "faulty" card with a too high setting).

As for the drop in speed, it could be so many things... Like drivers, individual card settings (MTU, etc), or even plain bad luck. As for TCP/IP offloading, I would believe the broadcom chip is actually better (pretty much does it all - TCP/IP and UDP checksums, CPU task offload, TCP segmentation offload, interrupt combining, supports jumbo frames, etc), the old 3c905 doesn't support half of what the broadcom does. Besides, it mainly affects CPU load. So I'd think the reason for any difference in speed is elsewhere. Either ways, why not run it @ 100mbit? 10 is way slow for any network (unless you're talking about your internet speed)

It still bothers me that I haven't been able to nail exactly WHAT caused the stuttering.

Put it back in, and tweak the PCI latency timer via 3rd party utils (a google search should reveal many), and I bet you'll manage to keep the old card and not have any stuttering.

Mind you, I wouldn't keep any old NIC for a 100kbps difference, but that's just me.

Posted
It still bothers me that I haven't been able to nail exactly WHAT caused the stuttering.
Perhaps the NIC is hogging the PCI bus. Eventually, I'd try the onboard NIC instead.
:yes:

But why the 3com and not the broadcom? Even if the Broadcom is on-board, it's still wired in through the PCI bus.

Posted
But why the 3com and not the broadcom? Even if the Broadcom is on-board, it's still wired in through the PCI bus.

As I've pointed out before, it's not - it's off the PCI-e bus, thus solving the PCI latency issues.

Posted
But why the 3com and not the broadcom? Even if the Broadcom is on-board, it's still wired in through the PCI bus.

As I've pointed out before, it's not - it's off the PCI-e bus, thus solving the PCI latency issues.

Actually, it's not, it's wired through the PCI bus.

The NIC is a Broadcom BCM5788KFB which is a PCI GbE NIC.

Also, see here: http://www.foxconnchannel.com/Product/moth...ID=en-us0000006

Posted

Well, it looks like they went out of their way, parting from the reference implementation in the chipset dev kit (which used a PCIe version), to using something stupid. I bet they saved a whole 5 cents too.

'Guess I ain't buying a Foxconn board anytime soon.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...