On 08/25/2016 08:17 AM, Jes Sorensen wrote:
Lobachevskii Vitalii <silverunicorn2011@xxxxxxxxx> writes:
Hello,
The RTL8192CE device seems to work fine without any firmware, so you may
make it fully optional, removing dependency on FW_LOADER. Of course that
require some patching, but if I understood the driver internals
correctly, simple complete(&rtlpriv->firmware_loading_complete); would
be enough when firmware loading machinery is unavailable, that is, when
request_firmware_nowait returns -EINVAL (currently that may only happen
in improperly configured or patched kernels, like Linux-libre; see
attached messages for more information)
Of course I will try to fix Linux-libre “deblobbing” technique, as it
should never break anything that may work without a firmware. But
anyway, if a device and its driver may work without a certain kernel
feature, that feature should not be selected, I think.
The realtek devices all require firmwere to operate correctly,
including the 8192c series. There are a bunch of commands flying back
and forth between the driver and the firmware.
If your device happens to work without loading the firmware then you
have an old firmware blob loaded.
At least this is the case for the USB version of the device, and I find
it highly unlikely the PCIe version is any different.
Trying to remove the firmware loading error is just plain silly.
I have not bothered my Realtek contacts with such a question, but I have a
plausible explanation. If an RTL8192CE functions without loading external
firmware, it is because the device has minimal function built in the default
firmware. Mostly this rudimentary firmware is used to boot the device and to
download the firmware for complex wireless communication. Rudimentary wifi
functions would be needed for wake-on-lan operations. The fact that Realtek has
never implemented WOL for the 8192C chips is highly suggestive that they do not
function very well in that capacity.
If the RTL8192CE actually runs without loading external firmware, then I am
quite sure that it will be restricted to 802.11g at the most, and more likely
802.11b. If it handles any 802.11n capabilities, then that firmware will
certainly not have any of the bug fixes applied to the firmware since the
earliest release.
You are certainly allowed to configure your system any way you want, but please
do not send any such "fixes" to the kernel sources. They will NEVER be accepted!
Configuring a kernel without firmware loading capacity is indeed silly.
Larry