How to install XenServer 4 on systems with Realtek RTL8111/8168B based network adapters

Information Technology Leave a comment

Disclaimer: These instructions are provided on as-is basis. The procedure has been tested on two different hardware configurations, but do not blame me if it does not work on your’s.

The latest version of Citrix XenServer Express Edition (formerly XenSource XenExpress) misses support for Realtek RTL8111/8168B based Gigabit Network adapters, which are actually quite common. Trying to install XenServer on system equipped with this card, the installation program will stop reporting that an error occurred: “No Network interfaces found on this host.”

Even though the problem has been signaled several months ago, no updates have been released for XenServer since the 17 of August 2007, date of the 4.0.1 release. The official procedure for installing additional drivers — suggested also by Citrix in the support forum — seems overcomplicated and at least with my systems it did not work. So I decided to write this article about how to install the last version of XenServer on systems equipped with Realtek based Gigabit network adapters.

Just follow these steps:

  1. Download the r8168.ko kernel module here;
  2. Copy the r8168.ko file to a removable storage;
  3. Boot the XenServer 4.0.1 Installation CD;
  4. Select the Keymap;
  5. Once in the “Welcome to XenServer” page press Alt+F2; (you should get a bash shell with root access)
  6. Issue the following commands:
    #> mkdir storage
    #> mount /dev/sdb1 storage (I assume that the removable storage is /dev/sdb1, change it accordingly to your configuration if this is not the case)
    #> cp ./storage/r8168.ko /lib/modules/2.6.18-8.1.8.el5.xs4.0.1.125.163xen/extra/
    #> depmod –a
    #> modprobe r8168
  7. Press Alt+F1;
  8. Complete the XenServer installation and reboot;
  9. Boot the system; (you can ignore the errors caused by missing network adapter)
  10. Login as root;
  11. Issue the following commands:
    #> mkdir /mnt/storage
    #> mount /dev/sdb1 /mnt/storage
    #> cp /mnt/storage/r8168.ko /lib/modules/2.6.18-8.1.8.el5.xs4.0.1.125.163xen/extra/
    #> cp /mnt/storage/r8168.ko /lib/modules/2.6.18-8.1.8.el5.xs4.0.1.125.163kdump/extra/
    #> depmod –a
    #> reboot

Now XenServer should finally boot with the network card up and running.

That’s all!

Bookmark and Share

15 Comments

  1. dirk

    Hi,
    I’m trying to follow the script you wrote, however when I issue the
    mount /dev/sdb1 storage
    command, I get an error saying that I have to specify the filesystem.
    I suppose that when you talk about “removable storage” that you mean something like a USB stick?

    dirk.

  2. Jared

    Thanks! Works great for 4.0.1
    However, it won’t work on the 4.1 beta (4.0.96)
    Any ideas?

  3. Warren

    dirk, did you (or anyone) come up with solution when it states ‘you must specify filesystem type’? I am stuck.

  4. Warren

    i got around that, but when i did modprobe r8168 i get FATAL Error inserting r6168 (…location) Unknown symbol in module, or unknown parameter (see dmesg) so 2 steps forward one step back.

  5. Steven

    the command is mount -t vfat for USB devices
    like
    mount -t vfat /dev/sda1 storage

    this work fine with my system, but the installer doesn’t work

  6. Randall

    Same issue and halt as Warren,when i did modprobe r8168 i get FATAL Error inserting r6168 (…location) Unknown symbol in module, or unknown parameter (see dmesg) Any answer or thoughts?

  7. Alessandro

    Honestly I do not know what the problem can be. In general unknown symbols errors are reported when a module has been compiled on a different kernel version.
    Are you using XenServer 4.0.1?
    This is the only version I tried and I did not experience those problems.

  8. ELH

    Do you have the instructions for making this driver? Or do you have one for XenServer 4.1.0?

  9. My XenDesktop Eval - Part 1 « Walzing’s Weblog

    [...] Glücklicherweise gibt es dazu einige Anleitungen im Netz, wie man den Treiber einbindet: http://www.alessandrorossini.org/2007/11/30/how-to-install-xenserver-4-on-systems-with-realtek-rtl81... [...]

  10. David Thomas

    Hi,

    Im trying to install Xen 4.1 onto a shuttle PC. I have installed a generic PCI LAN card with the realtek 3189 chipset, but install if failing saying no NIC card installed. will the process detailed here likely work for this card ?

    thanks
    David Thomas
    http://www.thinworld.net
    http://www.snaggings.co.uk

  11. Alessandro

    I did not test this procedure on XenServer 4.1, and I will probably not do it since I am working on something else right now. I am actually surprised that XenServer 4.1 still lacks support for this NIC.
    Anyway, the prodedure should not change that much, but a different kernel module compiled for the kernel shipped with XerServer 4.1 is needed. You should ask about it in the XenServer support forum.

    Let me know if you have any luck. ;)

  12. David Thomas

    Hi Alessandro

    My Realtek 3189 NIC turned out to be Dead. I replaced with a D-Link DGE-530T NIC and Xenserver installed as ok.

    Thanks

  13. AP

    Thanks! Made my day

  14. guillaume

    Thank for all, nice job.

  15. Craig

    For XS5.0, an r8168.ko file for Realtek RTL8111/8168B based Gigabit Network adapters, can be found here:
    http://forums.citrix.com/message.jspa?messageID=1346495

Leave a comment

© 2007 Alessandro Rossini • Graphics by N.Design Studio • Valid XHTML & CSS
Entries RSS Comments RSS Log in