[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Realtek RTL8188CE Wireless Card



On 6/3/2012 5:46 PM, Andrew Bryant wrote:
> I recently bought a System76 Pangolin laptop. It had Ubuntu preinstalled on
> it but I decided that I wanted the stability of Debian Squeeze. I quickly
> realized that Squeeze doesn't support the wireless card that the laptop
> has, which is a Realtek RTL8188CE card. I have searched google for a
> solution to no avail. Here is what I have tried so far...
> 
>    - Installed the current Linux kernel backport
>    - Installed the firmware-realtek package
>    - Download and install the driver from Realtek's website
> 
> After downloading and installing the backport kernel and firmware-realtek
> packages, I restarted the laptop to find the wireless still did not work. I
> looked at the output from dmesg and found and error message complaining
> that it could not find the firmware. I then tried Realtek's website to find
> errors when trying to compile the kernel modules. I hope someone can assist
> me with this problem.

How did you "install" firmware-realtek?  Did it include any steps
similar to those described here?

"FIRMWARE_IN_KERNEL
Include in-kernel firmware blobs in kernel binary

The kernel source tree includes a number of firmware 'blobs'
which are used by various drivers. The recommended way to
use these is to run "make firmware_install" and to copy the
resulting binary files created in usr/lib/firmware directory
of the kernel tree to the /lib/firmware on your system so
that they can be loaded by userspace helpers on request.

Enabling this option will build each required firmware blob
into the kernel directly, where request_firmware() will find
them without having to call out to userspace. This may be
useful if your root file system requires a device which uses
such firmware, and do not wish to use an initrd.

This single option controls the inclusion of firmware for
every driver which uses request_firmware() and ships its
firmware in the kernel source tree, to avoid a proliferation
of 'Include firmware for xxx device' options."

If the realtek firmware is being loaded you'll see an entry stating so
in dmesg.  Post any/all lines of your dmesg output containing Realtek.

My guess is there are manual steps involved here and that you didn't
read all the necessary documentation to accomplish what you're
attempting, and that the firmware isn't actually being loaded as a result.

Problems such as this are one of the many reasons I build my own kernels
from vanilla source.  I select FIRMWARE_IN_KERNEL in my .config.  In
addition to the benefits described above, it completely eliminates the
issue you're having, as all the Realtek firmware are included in the
latest kernel sources, and get built into the kernel itself.  The amount
of bytes this consumes in the kernel is tiny.

Note there is no valid technical reason why Debian doesn't include
any/all firmware blobs in its kernels.  If they did you wouldn't be
monkeying with this.  They are not included due to GPL political
reasons.  For some reason Realtek does not have a consistent policy WRT
releasing their firmware under the GPL and/or in a timely manner.  Thus
some/many of their devices end up without support in Debian.

Some commercial Linux distros include all firmware specifically so their
users don't have to jump through these hoops to get a NIC working.  Even
with these warts I still prefer Debian.  I just do quite a bit of
customization to get what I want/need out of it.

-- 
Stan


Reply to: