I'm attempting to install Arch onto a new machine however when I boot into the 64 bit Live CD environment, my NIC does not work. I've tried 3 seperate NICs:
- The on-board gigabit NIC (Realtek RTL8111/8168)
- A PCI TP-Link gigabit card (uses a Realtek RTL8169 chip)
- A PCI Intel gigabit card (Intel 82541PI)
Under 32 bit, all 3 work flawlessly. They pick up DHCP information and can ping local and external addresses. Under 64 bit however, none of them seem to be able to send or receive any network packets. They are all detected properly and have the correct modules loaded (the two realtek NICs have the r8169 module loaded, the intel uses the e1000 module). The line state for each of them changes to up when they are plugged in, but they do not pick up any DHCP information. If I manually set network information for the interfaces, they can only ping localhost and nothing else. No other hosts on the same network can ping the address I assign to them. All 3 NICs work flawlessly under Windows 7 64 bit.
Can someone please help me troubleshoot this?
Last edited by boak (2013-04-23 12:43:13)
I ended up resolving the issue by enabling IOMMU in the BIOS after reading a post on the ubuntu forums: http://ubuntuforums.org/showthread.php?t=2114055 I also had to pass some parameters to the kernel.
From the very little I know about IOMMU, it looks like its a virtualisation feature, why does enabling/disabling it have any effect on PCI devices working properly? why does it only affect 64-bit linux and not 32-bit?
Great you found a solution for it! Please edit the thread title sometime and add [Solved ] to it, so that others find working solutions easier when searching.
To your question I don't know really; it's an odd sympton. The IOMMU has to do with memory management, but not for virtualisation alone (http://en.wikipedia.org/wiki/IOMMU has some hints on why it might go wrong without). I would think it is some kind of bios bug, but not sure. There should be some dmesg error related to it when booting the 64-bit ISO though. Interesting would be, if your 64-bit install-disc boot detected your full ram (if more than 4GB) without that feature enabled,