Realtek 8192 firmware not loading

I have a usb wireless stick that uses Realtek 8192 driver.

Bus 001 Device 006: ID 0bda:8192 Realtek Semiconductor Corp.

I installed 2 different firmware drivers into /lib/firmware/RTL8192SU/rtl8192sfw.bin but both fail to load:

20.363476] usb 1-1.4.4: firmware: requesting RTL8192SU/rtl8192sfw.bin
20.374663] rtl819xU:signature:8192, version:7031, size:30, imemsize:8408, sram size:a448
20.374667]
20.374737] rtl819xU:—>FirmwareDownloadCode()
20.374739]
20.374804] rtl819xU:—>FirmwareCheckReady(): LoadStaus(1),
20.660196] rtl819xU:FW_STATUS_LOAD_IMEM FAIL CPU, Status=44
20.660201]
20.660205] rtl819xU:FirmwareDownloadCode() fail !
20.660208]
20.660438] rtl819xU:Firmware Download Fail!!4544
20.660440]
20.677958] rtl819xU: —>FirmwareDownload92S()
20.677964]
20.677970] rtl819xU:—>FirmwareDownloadCode()
20.677972]
20.678055] rtl819xU:—>FirmwareCheckReady(): LoadStaus(1),
20.936831] rtl819xU:FW_STATUS_LOAD_IMEM FAIL CPU, Status=44
20.936835]
20.936840] rtl819xU:FirmwareDownloadCode() fail !

Have I tried wrong drivers if so where can I find the correct one? Or is it something else?

On 08/09/2010 03:36 PM, ra pro wrote:
>
> I have a usb wireless stick that uses Realtek 8192 driver.
>
> Bus 001 Device 006: ID 0bda:8192 Realtek Semiconductor Corp.
>
> I installed 2 different firmware drivers into
> /lib/firmware/RTL8192SU/rtl8192sfw.bin but both fail to load:
>
> 20.363476] usb 1-1.4.4: firmware: requesting RTL8192SU/rtl8192sfw.bin
>
> 20.374663] rtl819xU:signature:8192, version:7031, size:30,
> imemsize:8408, sram size:a448
> 20.374667]
> 20.374737] rtl819xU:—>FirmwareDownloadCode()
> 20.374739]
> 20.374804] rtl819xU:—>FirmwareCheckReady(): LoadStaus(1),
> 20.660196] rtl819xU:FW_STATUS_LOAD_IMEM FAIL CPU, Status=44
> 20.660201]
> 20.660205] rtl819xU:FirmwareDownloadCode() fail !
> 20.660208]
> 20.660438] rtl819xU:Firmware Download Fail!!4544
> 20.660440]
> 20.677958] rtl819xU: —>FirmwareDownload92S()
> 20.677964]
> 20.677970] rtl819xU:—>FirmwareDownloadCode()
> 20.677972]
> 20.678055] rtl819xU:—>FirmwareCheckReady(): LoadStaus(1),
> 20.936831] rtl819xU:FW_STATUS_LOAD_IMEM FAIL CPU, Status=44
> 20.936835]
> 20.936840] rtl819xU:FirmwareDownloadCode() fail !
>
> Have I tried wrong drivers if so where can I find the correct one? Or
> is it something else?

Are you forcing the load? My copy of the kernel sources show that this device
should use the one in rtl8192u, not rtl8192su, and that the firmware to be
loaded is “RTL8192U/boot.img”, “RTL8192U/main.img”, and “RTL8192U/data.img”.

Thanks, all these you mention are present in the right directory but the boot log is looking for ‘RTL8192SU/rtl8192sfw.bin’ and that’s why I put it there. What should try next?

On 08/09/2010 09:06 PM, ra pro wrote:
>
> Thanks, all these you mention are present in the right directory but the
> boot log is looking for ‘RTL8192SU/rtl8192sfw.bin’ and that’s why I put
> it there. What should try next?

I have no idea. Those vendor-written drivers in the staging directory come
without any guarantee. Check the warning in the dmesg output. I have discovered
that your USB ID was in both rtl8192su and rtl8192u for kernel 2.6.34, but that
it is only in rtl8192u in 2.6.35. I have no idea why, but that seems to be a
clue. Try the two commands below:


sudo /sbin/modprobe -rv r8192s_usb.ko
sudo /sbin/modprobe -v  r8192u_usb.ko

Does that help? If so, you should blacklist r8192s_usb.ko by adding it to
/etc/modprobe.d/50-blacklist.conf.

the commands show that the files don’t exist. Here is the relevant output from dmesg after I deleted /lib/firmware/RTL8192SU:

6.007239] Linux kernel driver for RTL8192 based WLAN cards
6.007242] Copyright (c) 2007-2008, Realsil Wlan
6.024204] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:1d.7/usb1/1-1/1-1.3/1-1.3:1.0/input/input4
6.024427] logitech 0003:046D:C517.0002: input,hidraw1: USB HID v1.10 Keyboard [Logitech USB Receiver] on usb-0000:00:1d.7-1.3/input0
6.031725] logitech 0003:046D:C517.0003: fixing up Logitech keyboard report descriptor
6.036887] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:1d.7/usb1/1-1/1-1.3/1-1.3:1.1/input/input5
6.037362] logitech 0003:046D:C517.0003: input,hiddev96,hidraw2: USB HID v1.10 Mouse [Logitech USB Receiver] on usb-0000:00:1d.7-1.3/input1
6.047505] ==>ep_num:11, in_ep_num:2, out_ep_num:9
6.047513] ==>RtInPipes:3  9  
6.047519] ==>RtOutPipes:4  5  6  7  8  10  11  12  13  
6.047532] ==>txqueue_to_outpipemap for BK, BE, VI, VO, HCCA, TXCMD, MGNT, HIGH, BEACON:
6.047536] 3  2  1  0  4  8  7  6  5  
6.072321] Dot11d_Init()

6.072330] rtl819xU:unknown rf chip, can't set channel map in function:rtl819x_set_channel_map()

6.145620] Linux kernel driver for RTL8192 based WLAN cards
6.145623] Copyright (c) 2007-2008, Realsil Wlan
6.145629] ------------ cut here ]------------
6.145635] WARNING: at /usr/src/packages/BUILD/kernel-default-2.6.34/linux-2.6.34/fs/proc/generic.c:598 proc_register+0xf0/0x1c0()
6.145643] Hardware name: Dimension 3000               
6.145651] proc_dir_entry 'net/rtl819xU' already registered
6.145654] Modules linked in: r8192u_usb(C+) joydev cdrom sg soundcore floppy parport iTCO_wdt iTCO_vendor_support shpchp r8192s_usb(C) hid_logitech ff_memless serio_raw dcdbas snd_page_alloc pcspkr i2c_i801 pci_hotplug preloadtrace ext4 jbd2 crc16 usbhid hid sd_mod ata_generic i915 ata_piix drm_kms_helper ahci drm i2c_algo_bit rtc_cmos i2c_core uhci_hcd rtc_core rtc_lib video button libata ehci_hcd scsi_mod usbcore output intel_agp fan thermal processor thermal_sys hwmon
6.145726] Pid: 519, comm: modprobe Tainted: G        WC 2.6.34-12-default #1
6.145733] Call Trace:
6.145749]  <c0206303>] try_stack_unwind+0x173/0x190
6.145765]  <c020509f>] dump_trace+0x3f/0xe0
6.145779]  <c020636b>] show_trace_log_lvl+0x4b/0x60
6.145792]  <c0206398>] show_trace+0x18/0x20
6.145804]  <c05b9614>] dump_stack+0x6d/0x72
6.145814]  <c024359e>] warn_slowpath_common+0x6e/0xb0
6.145822]  <c024362b>] warn_slowpath_fmt+0x2b/0x30
6.145831]  <c0342270>] proc_register+0xf0/0x1c0
6.145839]  <c0342444>] create_proc_entry+0x54/0xa0
6.145861]  <f94bd281>] rtl8192_proc_module_init+0x21/0x40 [r8192u_usb]
6.145884]  <f95090f0>] rtl8192_usb_module_init+0xf0/0x10f [r8192u_usb]
6.145903]  <c020120e>] do_one_initcall+0x2e/0x180
6.145924]  <c0277a81>] sys_init_module+0xb1/0x220
6.145941]  <c05bbe55>] syscall_call+0x7/0xb
6.145959]  <b774357e>] 0xb774357e
6.145963] --- end trace f1c39d48ca98b753 ]---
6.145972] Error: Driver 'rtl819xU' is already registered, aborting...

20.543196] rtl819xU: —>FirmwareDownload92S()
20.543201]
20.543210] usb 1-1.4.4: firmware: requesting RTL8192SU/rtl8192sfw.bin
20.558664] rtl819xU:request firmware fail!
20.558668]
20.559525] rtl819xU:Firmware Download Fail!!4544
20.559528]
20.576323] rtl819xU: —>FirmwareDownload92S()
20.576329]
20.576338] usb 1-1.4.4: firmware: requesting RTL8192SU/rtl8192sfw.bin
20.590382] rtl819xU:request firmware fail!
20.590385]
20.591276] rtl819xU:Firmware Download Fail!!4544
20.591279]
20.591289] rtl819xU:ERR!!! _rtl8192_up(): initialization is failed!
20.591291]
20.610334] ADDRCONF(NETDEV_UP): eth0: link is not ready
20.731919] rtl819xU: —>FirmwareDownload92S()
20.731924]
20.731933] usb 1-1.4.4: firmware: requesting RTL8192SU/rtl8192sfw.bin
20.738865] rtl819xU:request firmware fail!
20.738868]
20.739327] rtl819xU:Firmware Download Fail!!4544
20.739329]
20.755785] rtl819xU: —>FirmwareDownload92S()
20.755791]
20.755799] usb 1-1.4.4: firmware: requesting RTL8192SU/rtl8192sfw.bin
20.778971] rtl819xU:request firmware fail!
20.778974]
20.779159] rtl819xU:Firmware Download Fail!!4544
20.779162]
20.779167] rtl819xU:ERR!!! _rtl8192_up(): initialization is failed!
20.779169]

On 08/10/2010 09:06 AM, ra pro wrote:
>
> the commands show that the files don’t exist. Here is the relevant
> output from dmesg after I deleted /lib/firmware/RTL8192SU:

You are aware that deleting firmware has no effect on loading drivers, are you not?

> 6.007239] Linux kernel driver for RTL8192 based WLAN cards
> 6.007242] Copyright (c) 2007-2008, Realsil Wlan
> 6.024204] input: Logitech USB Receiver as
> /devices/pci0000:00/0000:00:1d.7/usb1/1-1/1-1.3/1-1.3:1.0/input/input4
> 6.024427] logitech 0003:046D:C517.0002: input,hidraw1: USB HID
> v1.10 Keyboard [Logitech USB Receiver] on usb-0000:00:1d.7-1.3/input0
> 6.031725] logitech 0003:046D:C517.0003: fixing up Logitech
> keyboard report descriptor
> 6.036887] input: Logitech USB Receiver as
> /devices/pci0000:00/0000:00:1d.7/usb1/1-1/1-1.3/1-1.3:1.1/input/input5
> 6.037362] logitech 0003:046D:C517.0003: input,hiddev96,hidraw2:
> USB HID v1.10 Mouse [Logitech USB Receiver] on
> usb-0000:00:1d.7-1.3/input1
> 6.047505] ==>ep_num:11, in_ep_num:2, out_ep_num:9
> 6.047513] ==>RtInPipes:3 9
> 6.047519] ==>RtOutPipes:4 5 6 7 8 10 11 12 13
> 6.047532] ==>txqueue_to_outpipemap for BK, BE, VI, VO, HCCA,
> TXCMD, MGNT, HIGH, BEACON:
> 6.047536] 3 2 1 0 4 8 7 6 5
> 6.072321] Dot11d_Init()
>
> ------------------------------------------------------------
> 6.072330] rtl819xU:unknown rf chip, can’t set channel map in
> function:rtl819x_set_channel_map()
>
> ------------------------------------------------------------
>
> 6.145620] Linux kernel driver for RTL8192 based WLAN cards
> 6.145623] Copyright (c) 2007-2008, Realsil Wlan
> 6.145629] ------------ cut here ]------------
> 6.145635] WARNING: at
> /usr/src/packages/BUILD/kernel-default-2.6.34/linux-2.6.34/fs/proc/generic.c:598
> proc_register+0xf0/0x1c0()
> 6.145643] Hardware name: Dimension 3000
> 6.145651] proc_dir_entry ‘net/rtl819xU’ already registered
> 6.145654] Modules linked in: r8192u_usb(C+) joydev cdrom sg
> soundcore floppy parport iTCO_wdt iTCO_vendor_support shpchp
> r8192s_usb(C) hid_logitech ff_memless serio_raw dcdbas snd_page_alloc
> pcspkr i2c_i801 pci_hotplug preloadtrace ext4 jbd2 crc16 usbhid hid
> sd_mod ata_generic i915 ata_piix drm_kms_helper ahci drm i2c_algo_bit
> rtc_cmos i2c_core uhci_hcd rtc_core rtc_lib video button libata ehci_hcd
> scsi_mod usbcore output intel_agp fan thermal processor thermal_sys
> hwmon
> 6.145726] Pid: 519, comm: modprobe Tainted: G WC
> 2.6.34-12-default #1
> 6.145733] Call Trace:
> 6.145749] <c0206303>] try_stack_unwind+0x173/0x190
> 6.145765] <c020509f>] dump_trace+0x3f/0xe0
> 6.145779] <c020636b>] show_trace_log_lvl+0x4b/0x60
> 6.145792] <c0206398>] show_trace+0x18/0x20
> 6.145804] <c05b9614>] dump_stack+0x6d/0x72
> 6.145814] <c024359e>] warn_slowpath_common+0x6e/0xb0
> 6.145822] <c024362b>] warn_slowpath_fmt+0x2b/0x30
> 6.145831] <c0342270>] proc_register+0xf0/0x1c0
> 6.145839] <c0342444>] create_proc_entry+0x54/0xa0
> 6.145861] <f94bd281>] rtl8192_proc_module_init+0x21/0x40
> [r8192u_usb]
> 6.145884] <f95090f0>] rtl8192_usb_module_init+0xf0/0x10f
> [r8192u_usb]
> 6.145903] <c020120e>] do_one_initcall+0x2e/0x180
> 6.145924] <c0277a81>] sys_init_module+0xb1/0x220
> 6.145941] <c05bbe55>] syscall_call+0x7/0xb
> 6.145959] <b774357e>] 0xb774357e
> 6.145963] — end trace f1c39d48ca98b753 ]—
> 6.145972] Error: Driver ‘rtl819xU’ is already registered,
> aborting…

This warning shows a fault in the driver. It creates some objects that it never
destroys. Sloppy coding.

> ---------------------------------------------------------
>
> 20.543196] rtl819xU: —>FirmwareDownload92S()
> 20.543201]
> 20.543210] usb 1-1.4.4: firmware: requesting
> RTL8192SU/rtl8192sfw.bin
> 20.558664] rtl819xU:request firmware fail!
> 20.558668]
> 20.559525] rtl819xU:Firmware Download Fail!!4544
> 20.559528]
> 20.576323] rtl819xU: —>FirmwareDownload92S()
> 20.576329]
> 20.576338] usb 1-1.4.4: firmware: requesting
> RTL8192SU/rtl8192sfw.bin
> 20.590382] rtl819xU:request firmware fail!
> 20.590385]
> 20.591276] rtl819xU:Firmware Download Fail!!4544
> 20.591279]
> 20.591289] rtl819xU:ERR!!! _rtl8192_up(): initialization is
> failed!
> 20.591291]
> 20.610334] ADDRCONF(NETDEV_UP): eth0: link is not ready
> 20.731919] rtl819xU: —>FirmwareDownload92S()
> 20.731924]
> 20.731933] usb 1-1.4.4: firmware: requesting
> RTL8192SU/rtl8192sfw.bin
> 20.738865] rtl819xU:request firmware fail!
> 20.738868]
> 20.739327] rtl819xU:Firmware Download Fail!!4544
> 20.739329]
> 20.755785] rtl819xU: —>FirmwareDownload92S()
> 20.755791]
> 20.755799] usb 1-1.4.4: firmware: requesting
> RTL8192SU/rtl8192sfw.bin
> 20.778971] rtl819xU:request firmware fail!
> 20.778974]
> 20.779159] rtl819xU:Firmware Download Fail!!4544
> 20.779162]
> 20.779167] rtl819xU:ERR!!! _rtl8192_up(): initialization is
> failed!
> 20.779169]

The firmware is not there.

Please blacklist “r8192s_usb” and reboot. Do not include the “.ko” part that I
suggested earlier. That was an error.

Still not loading even though the file ‘boot.img’ is there:

21.555136] usb 1-1.4.4: firmware: requesting RTL8192U/boot.img
21.596347] rtl819xU:request firmware fail!
21.596351]
21.596357] rtl819xU:ERR in init_firmware()
21.596359]
21.596365] rtl819xU:ERR!!! rtl8192_adapter_start(): Firmware download is failed
21.596368]
21.596377] rtl819xU:ERR!!! _rtl8192_up(): initialization is failed!

On 08/10/2010 10:36 AM, ra pro wrote:
>
> Still not loading even though the file ‘boot.img’ is there:
>
>
> 21.555136] usb 1-1.4.4: firmware: requesting RTL8192U/boot.img
> 21.596347] rtl819xU:request firmware fail!
> 21.596351]
> 21.596357] rtl819xU:ERR in init_firmware()
> 21.596359]
> 21.596365] rtl819xU:ERR!!! rtl8192_adapter_start(): Firmware
> download is failed
> 21.596368]
> 21.596377] rtl819xU:ERR!!! _rtl8192_up(): initialization is failed!

You did not blacklist the driver the way I asked. The wrong one for that
firmware is still loading.

I put “blacklist r8192s_usb” in the file ‘/etc/modprobe.d/50-blacklist.conf’. Is that not correct?

Looking at ‘lsmod’ output I can see that r8192u_usb module is loaded. So is the ‘RTL8192U/boot.img’ incorrect firmware? If I blacklist ‘r8192u_usb’ than the ‘s’ module loads and requests ‘RTL8192SU/r8192sfw.bin’ firmware which for some reason doesn’t load. What next?

On 08/10/2010 02:36 PM, ra pro wrote:
>
> Looking at ‘lsmod’ output I can see that r8192u_usb module is loaded. So
> is the ‘RTL8192U/boot.img’ incorrect firmware? If I blacklist
> ‘r8192u_usb’ than the ‘s’ module loads and requests
> ‘RTL8192SU/r8192sfw.bin’ firmware which for some reason doesn’t load.
> What next?

As the r8192sfw.bin did not work, you need to blacklist r8192s_usb. With it
blacklisted, what does dmesg say?

If that does not work, your only other option is from the Realtek site, where
they have driver sources. I have no idea if those will work.

With the ‘r8192u_usb’ loaded dmesg says:

20.363476] usb 1-1.4.4: firmware: requesting RTL8192SU/rtl8192sfw.bin
20.374663] rtl819xU:signature:8192, version:7031, size:30, imemsize:8408, sram size:a448
20.374667]
20.374737] rtl819xU:—>FirmwareDownloadCode()
20.374739]
20.374804] rtl819xU:—>FirmwareCheckReady(): LoadStaus(1),
20.660196] rtl819xU:FW_STATUS_LOAD_IMEM FAIL CPU, Status=44
20.660201]
20.660205] rtl819xU:FirmwareDownloadCode() fail !
20.660208]
20.660438] rtl819xU:Firmware Download Fail!!4544
20.660440]
20.677958] rtl819xU: —>FirmwareDownload92S()
20.677964]
20.677970] rtl819xU:—>FirmwareDownloadCode()
20.677972]
20.678055] rtl819xU:—>FirmwareCheckReady(): LoadStaus(1),
20.936831] rtl819xU:FW_STATUS_LOAD_IMEM FAIL CPU, Status=44
20.936835]
20.936840] rtl819xU:FirmwareDownloadCode() fail !

Do I need the driver or the firmware? Isn’t the driver either of those 2 modules ‘r8192u_usb’ and ‘r8192s_usb’ or am I altogether in the left field?

On 08/10/2010 06:06 PM, ra pro wrote:
>
> With the ‘r8192u_usb’ loaded dmesg says:
>
> 20.363476] usb 1-1.4.4: firmware: requesting RTL8192SU/rtl8192sfw.bin
>
> 20.374663] rtl819xU:signature:8192, version:7031, size:30,
> imemsize:8408, sram size:a448
> 20.374667]
> 20.374737] rtl819xU:—>FirmwareDownloadCode()
> 20.374739]
> 20.374804] rtl819xU:—>FirmwareCheckReady(): LoadStaus(1),
> 20.660196] rtl819xU:FW_STATUS_LOAD_IMEM FAIL CPU, Status=44
> 20.660201]
> 20.660205] rtl819xU:FirmwareDownloadCode() fail !
> 20.660208]
> 20.660438] rtl819xU:Firmware Download Fail!!4544
> 20.660440]
> 20.677958] rtl819xU: —>FirmwareDownload92S()
> 20.677964]
> 20.677970] rtl819xU:—>FirmwareDownloadCode()
> 20.677972]
> 20.678055] rtl819xU:—>FirmwareCheckReady(): LoadStaus(1),
> 20.936831] rtl819xU:FW_STATUS_LOAD_IMEM FAIL CPU, Status=44
> 20.936835]
> 20.936840] rtl819xU:FirmwareDownloadCode() fail !
>
> Do I need the driver or the firmware? Isn’t the driver either of those
> 2 modules ‘r8192u_usb’ and ‘r8192s_usb’ or am I altogether in the left
> field?

A driver is a xxxx.ko file, thus r8192u_usb and r8192s_usb are the drivers.

Which is the correct driver then? Do I need the correct firmware for that driver?

On 08/11/2010 08:06 AM, ra pro wrote:
>
> Which is the correct driver then? Do I need the correct firmware for
> that driver?

I have no idea. The correct one is the one that works. What do you think about
the firmware?