# [ Solved ] ethernet module crashes with IOMMU enabled

## Anon-E-moose

I've just bought a new Asus MB (m5a99fx pro r2.0) and am having problems with getting the ethernet to not crash.

If IOMMU is enabled (getting ready to do pass through virtualization) then the driver will crash (minutes to hours later)

I get 

```
[Sun Mar  3 08:17:47 2013] AMD-Vi: Event logged [IO_PAGE_FAULT device=0a:00.0 domain=0x0020 address=0x0000000000003000 f

lags=0x0050]

[Sun Mar  3 08:20:36 2013] ------------[ cut here ]------------

[Sun Mar  3 08:20:36 2013] WARNING: at net/sched/sch_generic.c:254 dev_watchdog+0x26b/0x280()

[Sun Mar  3 08:20:36 2013] Hardware name: To be filled by O.E.M.

[Sun Mar  3 08:20:36 2013] NETDEV WATCHDOG: eth0 (r8169): transmit queue 0 timed out
```

*call trace, etc removed*

```
0a:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 09)
```

is the ethernet hardware. 

I've tried both the kernel r8169 driver and the add on r8168 driver with kernels 3.4.10, 3.4.34 and 3.8.1 with the same end results.

Any ideas what might be causing this or how to fix it. 

I need IOMMU enabled for what I'm doing so telling me to disable it isn't a long term fix.

Thanks for any replies

*Note: If this isn't the right sub-forum for this thread then it can be moved to one appropiate.*

----------

## s4e8

add iommu=pv to grub.

----------

## Anon-E-moose

No difference

----------

## _______0

passthrough is only available with IOMMU, or would plain kvm do the job? I think it could be a solution to add a second card instead to use with the vm instead of crazy net configurations.

thnks

----------

## Anon-E-moose

I'm not even getting to the point of doing the virtualization.

I simply have IOMMU turned on in the bios and am running standard linux 3.8.1 and the ethernet module crashes,

if I turn off IOMMU then no crash.

----------

## Anon-E-moose

I went and picked up a pcie card, it's a realtek 8111/8168 but rev 06 not 09.

Seems to be working so far.

Not sure if this is a realtek problem or a combo problem, realtek 8111f/8168f AND iommu or if it's simply bad hardware.

I'm not sure how to contact the kernel developers to see if there are problems with the latest realtek chipsets and iommu, 

so I'm not marking this as solved just yet. 

I'll let it run overnight and then see what transpires.

----------

## Anon-E-moose

Found out yesterday that the sound doesn't work with IOMMU enabled (oss 4.2.2007)

It works ok with alsa.

Is there a way to find out if the problem with these devices is kernel code or bios implementation?

Both the ethernet and onboard sound work with iommu disabled so the hardware is fine.

Thanks for any help.

----------

## Mad Merlin

I have hardware with an IOMMU as well, though I'm currently not using it. Anyways, when I moved from kernel 3.0 to 3.2.9, I started getting crashes when copying large files over the network, very similar to your symptoms. I have these two ethernet cards, using the sky2 driver:

```

05:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller (rev 12)

06:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller (rev 12)

```

I ended up disabling the IOMMU with intel_iommu=off, however, perhaps you could try an older kernel and see if it still crashes for you? If it works fine with an older kernel, you should file a bug over here: https://bugzilla.kernel.org/

They would probably be especially grateful if the bug report contained the results of a Git bisect (easy but time consuming, will take a dozen reboots or so).

----------

## Anon-E-moose

I might try that, thanks for the hint. 

I have posted to the iommu kernel mailing list, so I'll see if they have any hints.

I saw it originally on 3.4.10, then upgraded 3.4.34, then 3.8.1.

The add in card has been working without a problem, though it's a older rev of the onboard chipset.

Not sure if IOMMU is to blame, the drivers or some combination.

Again thanks

----------

## Anon-E-moose

I think it might be solved. 

(tip of the hat to s4e8) though it's iommu=pt (not pv)

At least my sound is now working.

So I'm going to mark this as solved. 

Note: Not sure why but I thought that the "pt" option was for intel cpus/motherboards.

I will check on whether the ethernet is fixed with this option at another time, will be marking this solved.

Anyway thanks to all for all the hints.

----------

## Anon-E-moose

Update: the ethernet is working perfectly fine with iommu=pt being passed on the boot line.

I've got a second video card passing through to my kvm guests

and I pass through the addon ethernet while using the onboard for the linux host.

----------

## chithanh

For reference, this is the kernel bug report:

https://bugzilla.kernel.org/show_bug.cgi?id=14962

----------

