If you are not afraid do get your hands dirty, the best way to do this is :
apt-cache show packagename
It will show you all the different version of the package that you can install, according to your sources.list definition. You will get something like that ( this is how it looks for me ):
root@shiny-desktop:/home/shiny# apt-cache show libpulse-browse0
Package: libpulse-browse0
Status: install ok installed
Priority: optional
Section: sound
Installed-Size: 100
Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: i386
Source: pulseaudio
Version: 1:0.9.15-4ubuntu2~ppa1
Depends: libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libc6 (>= 2.4), libcap1, libdbus-1-3 (>= 1.0.2), libgdbm3, libice6 (>= 1:1.0.0), libpulse0 (= 1:0.9.15-4ubuntu2~ppa1), libsm6, libwrap0 (>= 7.6-4~), libx11-6, libxtst6
Description: PulseAudio client libraries (zeroconf support)
PulseAudio, previously known as Polypaudio, is a sound server for POSIX and
WIN32 systems. It is a drop in replacement for the ESD sound server with
much better latency, mixing/re-sampling quality and overall architecture.
.
Client libraries used by applications that access a PulseAudio sound server
via PulseAudio's native interface.
.
This package adds support for zeroconf (aka. Avahi, mdns) discovery of
PulseAudio sinks and sources by client applications.
Homepage: http://www.pulseaudio.org
Original-Maintainer: Pulseaudio maintenance team <pkg-pulseaudio-devel@lists.alioth.debian.org>
Package: libpulse-browse0
Priority: optional
Section: sound
Installed-Size: 144
Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Pulseaudio maintenance team <pkg-pulseaudio-devel@lists.alioth.debian.org>
Architecture: i386
Source: pulseaudio
Version: 1:0.9.14-0ubuntu20.2
Depends: libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libc6 (>= 2.4), libcap2 (>= 2.11), libgdbm3, libice6 (>= 1:1.0.0), libpulse0 (>= 0.9.14), libsm6, libx11-6
Filename: pool/main/p/pulseaudio/libpulse-browse0_0.9.14-0ubuntu20.2_i386.deb
Size: 31522
MD5sum: d7bf325c04432507420551d7c4e04737
SHA1: 537037b6cdcf2e36ab91fff73a543b2bc9a9d2f6
SHA256: 25c9a83f669f3f14b0fdd59141fc048e3053ccdcae5817f338260342ae1164d0
Description: PulseAudio client libraries (zeroconf support)
PulseAudio, previously known as Polypaudio, is a sound server for POSIX and
WIN32 systems. It is a drop in replacement for the ESD sound server with
much better latency, mixing/re-sampling quality and overall architecture.
.
Client libraries used by applications that access a PulseAudio sound server
via PulseAudio's native interface.
.
This package adds support for zeroconf (aka. Avahi, mdns) discovery of
PulseAudio sinks and sources by client applications.
Homepage: http://www.pulseaudio.org
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Task: ubuntu-desktop, kubuntu-dvd-live, edubuntu-desktop, xubuntu-live, mobile-mid, mobile-netbook-remix
Package: libpulse-browse0
Priority: optional
Section: sound
Installed-Size: 144
Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Pulseaudio maintenance team <pkg-pulseaudio-devel@lists.alioth.debian.org>
Architecture: i386
Source: pulseaudio
Version: 1:0.9.14-0ubuntu20
Depends: libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libc6 (>= 2.4), libcap2 (>= 2.11), libgdbm3, libice6 (>= 1:1.0.0), libpulse0 (>= 0.9.14), libsm6, libx11-6
Filename: pool/main/p/pulseaudio/libpulse-browse0_0.9.14-0ubuntu20_i386.deb
Size: 31516
MD5sum: 63d4937b22f83cff5cc5be101caa3f27
SHA1: bb436fa7bc14eaad31a9f3778f1a887d96e2521d
SHA256: 1f3a5e7a4376c0ee406f30a1c5ec03dc5f484dc059ceb61462516bb728c6c1c5
Description: PulseAudio client libraries (zeroconf support)
PulseAudio, previously known as Polypaudio, is a sound server for POSIX and
WIN32 systems. It is a drop in replacement for the ESD sound server with
much better latency, mixing/re-sampling quality and overall architecture.
.
Client libraries used by applications that access a PulseAudio sound server
via PulseAudio's native interface.
.
This package adds support for zeroconf (aka. Avahi, mdns) discovery of
PulseAudio sinks and sources by client applications.
Homepage: http://www.pulseaudio.org
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Task: ubuntu-desktop, kubuntu-dvd-live, edubuntu-desktop, xubuntu-live, mobile-mid, mobile-netbook-remix
Just check on the different version available to you, and then do :
apt-get install packagname=version
Again as example to the output above :
apt-get install ibpulse-browse0=1:0.9.14-0ubuntu20
As you can see my pulseaudio is from a ppa on launchpad so if i wanted to downgrade/revert back to the original one supplied by jaunty, i'd do the mentioned above with all the pulseaudio packages that i installed.
I don't have information on that NIC so I'll focus my answer on downgrading the kernel.
Kernels 2.6.30.x were used on earlier Karmic releases and are apparently unavailable using APT for any current release. I suggest you follow the procedure here to install 2.6.30 versions of Ubuntu server kernel packages (I'm not sure it works OK). Kernel server packages are not on the mainline kernels archive, but they should be available on Ubuntu archive mirrors (list of mirrors). I'd try to install the latest version available (I've seen 2.6.30.7 server packages on a mirror, latest upstream release is 2.6.30.10).
I've just tried the 2.6.30.10 desktop kernel on an up-to-date Karmic desktop installation and it is apparently working without issues, so the procedure will probably work on a server installation.
After installation, if it works, you can change the default kernel using the command grub-set-default (see Grub2- Community Ubuntu Documentation) or using StartUp-Manager (startupmanager package) on X. Editing /boot/grub/grub.cfg is not recommended.
Best Answer
There is a PPA for that (ie you just add a line to your apt sources.list). This lets you install any recent mainline kernel. https://wiki.ubuntu.com/Kernel/MainlineBuilds