linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [bug report] rtw88 / 8821cu driver missing firmware
@ 2022-12-19 13:30 Ingo Saitz
  2022-12-19 22:53 ` Larry Finger
  0 siblings, 1 reply; 4+ messages in thread
From: Ingo Saitz @ 2022-12-19 13:30 UTC (permalink / raw)
  To: linux-wireless

Hi,

I saw the 8821cu chipset being merged for linus' next kernel release and
decided to give it a try. I have been running 8821cu from
https://github.com/morrownr/8821cu-20210118 succeffully, so I know my
hardware works.

The driver as merged in commit 07cef03b8d44dee7488de3d1585387e603c78676
to git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
can't find any firmware for the driver, and the card does not work. At
boot it repeatedly logged failures to my kernel.log:

2022-12-16T19:20:21.563669+01:00 pinguin kernel: [    7.823614] rtw_8821cu 2-11:1.0: Firmware version 24.11.0, H2C version 12
2022-12-16T19:20:21.563670+01:00 pinguin kernel: [    7.906497] usbcore: registered new interface driver rtw_8821cu
2022-12-16T19:20:21.563670+01:00 pinguin kernel: [    7.930657] rtw_8821cu 2-11:1.0 wlx1cbfcefeb2a3: renamed from wlan0
2022-12-16T19:20:59.576907+01:00 pinguin kernel: [  631.847796] rtw_8821cu 2-11:1.0: failed to download firmware
2022-12-16T19:20:59.576910+01:00 pinguin kernel: [  631.849195] rtw_8821cu 2-11:1.0: leave idle state failed
2022-12-16T19:20:59.580239+01:00 pinguin kernel: [  631.851635] rtw_8821cu 2-11:1.0: failed to leave ips state
2022-12-16T19:20:59.580241+01:00 pinguin kernel: [  631.851636] rtw_8821cu 2-11:1.0: failed to leave idle state
2022-12-16T19:21:08.563579+01:00 pinguin kernel: [  640.833372] rtw_8821cu 2-11:1.0: error beacon valid
2022-12-16T19:21:08.563590+01:00 pinguin kernel: [  640.833480] rtw_8821cu 2-11:1.0: failed to download rsvd page
2022-12-16T19:21:08.563591+01:00 pinguin kernel: [  640.833640] rtw_8821cu 2-11:1.0: failed to download firmware
2022-12-16T19:21:08.563591+01:00 pinguin kernel: [  640.835040] rtw_8821cu 2-11:1.0: leave idle state failed
2022-12-16T19:21:08.566911+01:00 pinguin kernel: [  640.837510] rtw_8821cu 2-11:1.0: failed to leave ips state
2022-12-16T19:21:08.566915+01:00 pinguin kernel: [  640.837513] rtw_8821cu 2-11:1.0: failed to leave idle state
2022-12-16T19:21:17.550263+01:00 pinguin kernel: [  649.820641] rtw_8821cu 2-11:1.0: error beacon valid
2022-12-16T19:21:17.550288+01:00 pinguin kernel: [  649.820759] rtw_8821cu 2-11:1.0: failed to download rsvd page

There is no mention of what firmware would be needed in the source code
itself, yet the repository https://github.com/ulli-kroll/rtl8821cu
includes a file firmware/rtl8821cufw.bin.

I don't know whether this needs another big update before linus merge
window for 6.2 closes, so I chose to report it early.

My hardware:
* XVZ USB WiFi Dongle für PC 600Mbps Dual Band

shows up as:

Bus 002 Device 003: ID 0bda:c811 Realtek Semiconductor Corp. 802.11ac NIC

Bus 002 Device 003: ID 0bda:c811 Realtek Semiconductor Corp. 802.11ac NIC
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0bda Realtek Semiconductor Corp.
  idProduct          0xc811
  bcdDevice            2.00
  iManufacturer           1 Realtek
  iProduct                2 802.11ac NIC
  iSerial                 3 123456
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0035
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           5
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 802.11ac NIC
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x05  EP 5 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x06  EP 6 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x87  EP 7 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               3
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x08  EP 8 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

    Ingo
-- 
 ╭─╮  Kennedy's Lemma:
╭│───╮  If you can parse Perl, you can solve the Halting Problem.
│╰─│─╯
╰──╯  http://www.perlmonks.org/?node_id=663393

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [bug report] rtw88 / 8821cu driver missing firmware
  2022-12-19 13:30 [bug report] rtw88 / 8821cu driver missing firmware Ingo Saitz
@ 2022-12-19 22:53 ` Larry Finger
  2022-12-19 23:06   ` ingo
  2023-02-21 23:22   ` Alex G.
  0 siblings, 2 replies; 4+ messages in thread
From: Larry Finger @ 2022-12-19 22:53 UTC (permalink / raw)
  To: Ingo Saitz, linux-wireless

On 12/19/22 07:30, Ingo Saitz wrote:
> I saw the 8821cu chipset being merged for linus' next kernel release and
> decided to give it a try. I have been running 8821cu from
> https://github.com/morrownr/8821cu-20210118  succeffully, so I know my
> hardware works.
> 
> The driver as merged in commit 07cef03b8d44dee7488de3d1585387e603c78676
> to git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> can't find any firmware for the driver, and the card does not work. At
> boot it repeatedly logged failures to my kernel.log:
> 
> 2022-12-16T19:20:21.563669+01:00 pinguin kernel: [    7.823614] rtw_8821cu 2-11:1.0: Firmware version 24.11.0, H2C version 12
> 2022-12-16T19:20:21.563670+01:00 pinguin kernel: [    7.906497] usbcore: registered new interface driver rtw_8821cu
> 2022-12-16T19:20:21.563670+01:00 pinguin kernel: [    7.930657] rtw_8821cu 2-11:1.0 wlx1cbfcefeb2a3: renamed from wlan0
> 2022-12-16T19:20:59.576907+01:00 pinguin kernel: [  631.847796] rtw_8821cu 2-11:1.0: failed to download firmware
> 2022-12-16T19:20:59.576910+01:00 pinguin kernel: [  631.849195] rtw_8821cu 2-11:1.0: leave idle state failed
> 2022-12-16T19:20:59.580239+01:00 pinguin kernel: [  631.851635] rtw_8821cu 2-11:1.0: failed to leave ips state
> 2022-12-16T19:20:59.580241+01:00 pinguin kernel: [  631.851636] rtw_8821cu 2-11:1.0: failed to leave idle state
> 2022-12-16T19:21:08.563579+01:00 pinguin kernel: [  640.833372] rtw_8821cu 2-11:1.0: error beacon valid
> 2022-12-16T19:21:08.563590+01:00 pinguin kernel: [  640.833480] rtw_8821cu 2-11:1.0: failed to download rsvd page
> 2022-12-16T19:21:08.563591+01:00 pinguin kernel: [  640.833640] rtw_8821cu 2-11:1.0: failed to download firmware
> 2022-12-16T19:21:08.563591+01:00 pinguin kernel: [  640.835040] rtw_8821cu 2-11:1.0: leave idle state failed
> 2022-12-16T19:21:08.566911+01:00 pinguin kernel: [  640.837510] rtw_8821cu 2-11:1.0: failed to leave ips state
> 2022-12-16T19:21:08.566915+01:00 pinguin kernel: [  640.837513] rtw_8821cu 2-11:1.0: failed to leave idle state
> 2022-12-16T19:21:17.550263+01:00 pinguin kernel: [  649.820641] rtw_8821cu 2-11:1.0: error beacon valid
> 2022-12-16T19:21:17.550288+01:00 pinguin kernel: [  649.820759] rtw_8821cu 2-11:1.0: failed to download rsvd page
> 
> There is no mention of what firmware would be needed in the source code
> itself, yet the repositoryhttps://github.com/ulli-kroll/rtl8821cu
> includes a file firmware/rtl8821cufw.bin.

The firmware that is needed is the same as for the PCIe nersion, namely 
/lib/firmware/rtw88/rtw8821c_fw.bin. Your distro should have that firmware in 
package firmware-realtek, or in linux-firmware-realtek. If they do not, you can 
get it by 'git clone 
git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git. The 
firware will be in directory rtw88.

Larry


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [bug report] rtw88 / 8821cu driver missing firmware
  2022-12-19 22:53 ` Larry Finger
@ 2022-12-19 23:06   ` ingo
  2023-02-21 23:22   ` Alex G.
  1 sibling, 0 replies; 4+ messages in thread
From: ingo @ 2022-12-19 23:06 UTC (permalink / raw)
  To: Larry Finger; +Cc: linux-wireless

On Mon, Dec 19, 2022 at 04:53:23PM -0600, Larry Finger wrote:
> The firmware that is needed is the same as for the PCIe nersion,
> namely /lib/firmware/rtw88/rtw8821c_fw.bin. Your distro should have
> that firmware in package firmware-realtek, or in
> linux-firmware-realtek. If they do not, you can get it by 'git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git.
> The firware will be in directory rtw88.

That file is installed on my system, yet I get the above error messages.

$ ls -l /lib/firmware/rtw88/rtw8821c_fw.bin
-rw-r--r-- 1 root root 139472 Dec 16 17:54 /lib/firmware/rtw88/rtw8821c_fw.bin
$ sha1sum /lib/firmware/rtw88/rtw8821c_fw.bin
69c087a1963953c2e0e8a8338237e0689b4d7c40  /lib/firmware/rtw88/rtw8821c_fw.bin

So something else must be broken. I'll try the rtw88 driver from ulli
krolls git repository later.

    Ingo
-- 
 ╭─╮  Kennedy's Lemma:
╭│───╮  If you can parse Perl, you can solve the Halting Problem.
│╰─│─╯
╰──╯  http://www.perlmonks.org/?node_id=663393

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [bug report] rtw88 / 8821cu driver missing firmware
  2022-12-19 22:53 ` Larry Finger
  2022-12-19 23:06   ` ingo
@ 2023-02-21 23:22   ` Alex G.
  1 sibling, 0 replies; 4+ messages in thread
From: Alex G. @ 2023-02-21 23:22 UTC (permalink / raw)
  To: Larry Finger, Ingo Saitz, linux-wireless

Hi,
On 12/19/22 16:53, Larry Finger wrote:
> On 12/19/22 07:30, Ingo Saitz wrote:
>> I saw the 8821cu chipset being merged for linus' next kernel release and
>> decided to give it a try. I have been running 8821cu from
>> https://github.com/morrownr/8821cu-20210118  succeffully, so I know my
>> hardware works.
>>
>> The driver as merged in commit 07cef03b8d44dee7488de3d1585387e603c78676
>> to git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>> can't find any firmware for the driver, and the card does not work. At
>> boot it repeatedly logged failures to my kernel.log:
>>
>> 2022-12-16T19:20:21.563669+01:00 pinguin kernel: [    7.823614] rtw_8821cu 2-11:1.0: Firmware version 24.11.0, H2C version 12

That means that firmware 24.11.0 was loaded, which is the latest in 
linux-firmware as of this writing.

>> 2022-12-16T19:20:21.563670+01:00 pinguin kernel: [    7.906497] usbcore: registered new interface driver rtw_8821cu
>> 2022-12-16T19:20:21.563670+01:00 pinguin kernel: [    7.930657] rtw_8821cu 2-11:1.0 wlx1cbfcefeb2a3: renamed from wlan0
>> 2022-12-16T19:20:59.576907+01:00 pinguin kernel: [  631.847796] rtw_8821cu 2-11:1.0: failed to download firmware
>> 2022-12-16T19:20:59.576910+01:00 pinguin kernel: [  631.849195] rtw_8821cu 2-11:1.0: leave idle state failed
>> 2022-12-16T19:20:59.580239+01:00 pinguin kernel: [  631.851635] rtw_8821cu 2-11:1.0: failed to leave ips state
>> 2022-12-16T19:20:59.580241+01:00 pinguin kernel: [  631.851636] rtw_8821cu 2-11:1.0: failed to leave idle state
>> 2022-12-16T19:21:08.563579+01:00 pinguin kernel: [  640.833372] rtw_8821cu 2-11:1.0: error beacon valid
>> 2022-12-16T19:21:08.563590+01:00 pinguin kernel: [  640.833480] rtw_8821cu 2-11:1.0: failed to download rsvd page
>> 2022-12-16T19:21:08.563591+01:00 pinguin kernel: [  640.833640] rtw_8821cu 2-11:1.0: failed to download firmware
>> 2022-12-16T19:21:08.563591+01:00 pinguin kernel: [  640.835040] rtw_8821cu 2-11:1.0: leave idle state failed
>> 2022-12-16T19:21:08.566911+01:00 pinguin kernel: [  640.837510] rtw_8821cu 2-11:1.0: failed to leave ips state
>> 2022-12-16T19:21:08.566915+01:00 pinguin kernel: [  640.837513] rtw_8821cu 2-11:1.0: failed to leave idle state
>> 2022-12-16T19:21:17.550263+01:00 pinguin kernel: [  649.820641] rtw_8821cu 2-11:1.0: error beacon valid
>> 2022-12-16T19:21:17.550288+01:00 pinguin kernel: [  649.820759] rtw_8821cu 2-11:1.0: failed to download rsvd page
>>

I have noticed the same messages on an 8821cu based adapter. There is 
something wrong with the driver as opposed to missing firmware.

Alex

>> There is no mention of what firmware would be needed in the source code
>> itself, yet the repositoryhttps://github.com/ulli-kroll/rtl8821cu
>> includes a file firmware/rtl8821cufw.bin.
> 
> The firmware that is needed is the same as for the PCIe nersion, namely 
> /lib/firmware/rtw88/rtw8821c_fw.bin. Your distro should have that 
> firmware in package firmware-realtek, or in linux-firmware-realtek. If 
> they do not, you can get it by 'git clone 
> git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git. 
> The firware will be in directory rtw88.
> 
> Larry
> 
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-02-21 23:22 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-19 13:30 [bug report] rtw88 / 8821cu driver missing firmware Ingo Saitz
2022-12-19 22:53 ` Larry Finger
2022-12-19 23:06   ` ingo
2023-02-21 23:22   ` Alex G.

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).