I've just installed Backtrack 5 r3 (Gnome, 64bits) on my new machine but I am kind of facing a problem.

I tried installing ATI driver, gparted, and libc for 32-bit support and I always seem to be getting a common error line with all of them:

W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168f-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168f-1.fw for module r8169

What is this problem, and how can it be fixed?

If you want more information, please make a comment

The error message I get when trying to install


Error! Bad return status for module build on kernel: 3.2.6 (x86_64)
Consult the make.log in the build directory
/var/lib/dkms/fglrx/8.723.1/build/ for more information. dpkg: error
processing fglrx (--configure): subprocess installed
post-installation script returned error exit status 10 dpkg:
dependency problems prevent configuration of fglrx-amdcccle:
fglrx-amdcccle depends on fglrx; however: Package fglrx is not
configured yet. dpkg: error processing fglrx-amdcccle (--configure):
dependency problems - leaving unconfigured No apport report written
because the error message indicates its a followup error from a
previous failure.
Processing triggers for python-gmenu ... Rebuilding
Processing triggers for initramfs-tools ... update-initramfs:
Generating /boot/initrd.img-3.2.6 Processing triggers for
python-support ... Errors were encountered while processing: fglrx
fglrx-amdcccle E: Sub-process /usr/bin/dpkg returned an error code (1)

The contents of make.log file in /var/lib/dkms/fglrx/8.723.1/build/

doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.GCC* .??* *.symvers
make -C /lib/modules/3.2.6/build SUBDIRS=/var/lib/dkms/fglrx/8.723.1/build/2.6.x modules
make[1]: Entering directory `/usr/src/linux-source-3.2.6'

  WARNING: Symbol version dump /usr/src/linux-source-3.2.6/Module.symvers
           is missing; modules will have no dependencies and modversions.

  CC [M]  /var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.o
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:113:28: error: linux/smp_lock.h: No such file or directory
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:402: error: unknown field ‘ioctl’ specified in initializer
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:402: warning: initialization from incompatible pointer type
In file included from /var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:443:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/drm_proc.h: In function ‘FGLDRM__vma_info’:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/drm_proc.h:497: warning: format ‘%08lx’ expects type ‘long unsigned int’, but argument 5 has type ‘phys_addr_t’
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c: In function ‘fglrx_pci_suspend’:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:833: error: implicit declaration of function ‘acquire_console_sem’
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:855: error: implicit declaration of function ‘release_console_sem’
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c: In function ‘firegl_init_module’:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:1028: error: ‘SPIN_LOCK_UNLOCKED’ undeclared (first use in this function)
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:1028: error: (Each undeclared identifier is reported only once
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:1028: error: for each function it appears in.)
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c: In function ‘KCL_SetPageCache_Array’:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:1316: warning: passing argument 1 of ‘KCL_ConvertPageToKernelAddress’ makes pointer from integer without a cast
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.h:325: note: expected ‘void *’ but argument is of type ‘long unsigned int’
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c: In function ‘__ke__cmpxchg’:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:1473: error: variable or field ‘__ret’ declared void
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:1473: error: variable or field ‘__old’ declared void
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:1473: error: variable or field ‘__new’ declared void
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c: In function ‘KCL_GlobalKernelLock’:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:1866: error: implicit declaration of function ‘lock_kernel’
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c: In function ‘KCL_GlobalKernelUnlock’:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:1872: error: implicit declaration of function ‘unlock_kernel’
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c: In function ‘KAS_Mutex_Initialize’:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:5051: error: implicit declaration of function ‘init_MUTEX’
make[2]: *** [/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.o] Error 1
make[1]: *** [_module_/var/lib/dkms/fglrx/8.723.1/build/2.6.x] Error 2
make[1]: Leaving directory `/usr/src/linux-source-3.2.6'
make: *** [kmod_build] Error 2
build failed with return value 2

5 Answers 5


There are two possible causes for this error:

  1. You do not have the hardware (a Realtek NIC) in your PC and there is an incorrect dependency on the firmware file, which is missing, from another package. In this case, you can safely ignore the error.

  2. You do have the hardware in your PC and the firmware needs to be installed or updated. Most Linux distros have a non-free package repository containing these firmware files. You will need to add the repository to /etc/apt/sources.list.

To tell if you have the Realtek NIC and its module, do:

sudo lshw | grep 8169

  • I ran the command and got this: configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half firmware=rtl_nic/rtl8168e-3.fw latency=0 link=no multicast=yes port=MII speed=10MB/s
    – Fingolfin
    Commented Dec 3, 2012 at 15:22
  • You do have the hardware in question then. Have you run "apt-get update"?
    – dartonw
    Commented Dec 3, 2012 at 15:27
  • Yes, I have. But I don't see how a graphics card driver can depend on this?
    – Fingolfin
    Commented Dec 3, 2012 at 15:30

This is technically only a warning (W). If you aren't actually using that part of your hardware and don't notice any missing functionality, then it's not really a problem.

The graphics drivers don't actually need those firmware files, it's just that kernel module packages in Debian will trigger a general check which happens to look for that issue. It's not specific to those graphics drivers - it's just a side effect of how kernel modules are handled.

As dartonw said, this is usually solved by installing one of the firmware packages. In Debian, rtl8168f-1.fw is provided by firmware-realtek, but in BackTrack and Ubuntu, it's provided by linux-firmware. Try installing one of those packages based on your distro, and hopefully it'll fix the issue.

  • Emm sorry, but how do I install that package? apt-get install firmware-realtek doesn't find the package
    – Fingolfin
    Commented Dec 3, 2012 at 16:07
  • Oh, sorry, I assumed the Debian package would be the same for BackTrack, but it's based on Ubuntu, so it's slightly different. Try linux-firmware?
    – user28222
    Commented Dec 3, 2012 at 16:12
  • Tried that, please check my edit
    – Fingolfin
    Commented Dec 3, 2012 at 16:15
  • Hmm, that looks like the previous installation of fglrx failed. Is there a make.log file in /var/lib/dkms/fglrx/8.723.1/build/ like the error says, if so, could you post the last 10 lines or so? Additionally, try running apt-get -f to have it attempt to fix the problem.
    – user28222
    Commented Dec 3, 2012 at 16:25
  • edited the question to contain that, added more than 10 lines though :P as for apt-get -f just like that doesn't work, should I add anything after it?(please excuse my ignorance)
    – Fingolfin
    Commented Dec 3, 2012 at 16:31

rtl8168f warning

For the rtl8168f warning, if your ethernet card is working fine, you can just ignore this message. You may be missing some features (such as TCP offload). You could also install the firmware package per Brian Marshall's answer.

For the fglxr error:

It looks like you don't have the kernel headers installed. You need them to build kernel modules (with dkms or otherwise).

They should be in a package named similarly to linux-headers-3.2.0-4-amd64 (but substitute in your kernel version and architecture; uname -r if you don't know. Once you install that, dkms should succeed in building the module.


or the dkms could be broken, as is often more the case. look for firegl.c patches from people...like me up to 4.4.x but x118 breaks things. you need to downgrade for force version in synaptic of all installed x packages and freeze them form updates. of course a dist-upgrade will bork them , so be careful.


To locate the package that contains the missing firmware files, you can search in your repositories for the package that contins them. So this is a general way of searching which package own which file/files in Debian based distributions.

So, as the firmware are located at /lib/firmware/rtl_nic/rtl8168f-1.fw etc, so you can use the search string rtl_nic/rtl8168 to locate them, if they exist in some package in some repository you have loaded.

You probably need nonfree or other repository where non free firmware are packed in your /etc/apt/source.list or /etc/apt/source.list.d/*.list file to make this work. It can have other names in other distributions then Debian.

 apt-file search rtl_nic/rtl8168


dpkg-query -S rtl_nic/rtl8168

to locate them. The result looks something like this:

linux-firmware: /lib/firmware/rtl_nic/rtl8168d-1.fw
linux-firmware: /lib/firmware/rtl_nic/rtl8168d-2.fw
linux-firmware: /lib/firmware/rtl_nic/rtl8168e-1.fw

Happy hacking.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .