Search Linux Wireless

Re: wifi: rtw88: questions about adding support for RTL8723DS/RTL8723BS

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

 



Hi Ping-Ke,

On Wed, May 17, 2023 at 4:06 AM Ping-Ke Shih <pkshih@xxxxxxxxxxx> wrote:
>
> Hi Martin,
>
> > -----Original Message-----
> > From: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx>
> > Sent: Wednesday, May 17, 2023 12:40 AM
> > To: Ping-Ke Shih <pkshih@xxxxxxxxxxx>; linux-wireless@xxxxxxxxxxxxxxx
> > Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx>; tony0620emma@xxxxxxxxx; jernej.skrabec@xxxxxxxxx
> > Subject: wifi: rtw88: questions about adding support for RTL8723DS/RTL8723BS
> >
> > Hello Ping-Ke,
> >
> > as a next step I want to add support for RTW_WCPU_11N SDIO cards to
> > the rtw88 driver.
> > Currently only one RTW_WCPU_11N chip is supported: RTL8723D by the
> > rtw88 (PCIe and USB HCIs).
>
> Originally, we intended to add 8723D to rtlwifi, because it is a 802.11n chip
> and very similar to 8723BE. However, its PCIe HCI is changed to use circular
> ring instead of own bit, like other chips implemented in rtw88.
As far as I can tell such differences are not present in the SDIO HCI

> >
> > My first question is very hopefully a simple one:
> > It seems that RTL8723DS has two SDIO IDs: 0xd723 and 0xd724.
> > Do these have the same name or is there some kind of "revision" (like
> > rev 2, revision B, ...) internally?
>
> 0xd723 is dual antenna, and 0xd724 is single antenna. Since 8723D is a
> 1x1 WiFi BT combo chip, 0xd723 can have a dedicated antenna for BT.
> The main difference will be BT-coex code.
Awesome, thanks for the explanation. I sent patches to add RTL8723DS
support to the rtw88 driver.

> >
> > My second question is more abstract:
> > Based on my understanding of the vendor drivers for RTL8723BS and
> > RTL8723DS both seem very close in terms of registers. initialization
> > sequence, ...
> > So I am hoping that it's possible to add RTL8723BS support to the rtw88 driver.
> > There's two main differences that I found so far:
> > - rtw_dump_hw_feature() doesn't work because REG_C2HEVT has an
> > incorrect value (C2H_HW_FEATURE_REPORT is expected but it still
> > contains C2H_HW_FEATURE_DUMP). It seems that this is a firmware issue.
>
> Not an issue. At that moment of developing 8723B, applications are simple, so
> we don't read feature from firmware, so just ignore this for 8723B.
Jernej also suggested this as a first step. So I guess it's the way to go.

[...]
> > Have you considered adding RTW8723B support to the rtw88 driver?
> > Do you have some initial suggestions on what would be needed to do so
> > (is my list from above complete, what do do about these points, ...)?
>
> As my comment above, 8723BE use different PCIe design, and rtlwifi
> has been supported it, so I don't have plan to support 8723BE in rtw88.
> But, to add 8723BS to rtw88 seems workable.
>
> To add 8723B, you can make a copy from 8723D and change settings along
> with vendor driver. The main things you need to review are:
> 1. PCI probe when plugging wifi card
> 2. hardware initialization when interface up
> 3. RF calibration when starting connection (you may put this work later)
> 4. connection setting after connected
> 5. BT-coex you have mentioned
>
>
> To make rtlwifi support SDIO is another way. It seems like add a HCI is
> easier than an new chip, and we can have a simple support list of rtlwifi
> and rtw88 eventually, like
>
>         rtlwifi       rtw88
> 8723BE    o
> 8723BS    o?
> 8723DE                  o
> 8723DS                  o
Per chip support matrix is:
8723BE: rtlwifi
8723BU: rtl8xxxu
8723BS: staging driver which I'd like to replace
8723DE/U/S: rtw88

HCI support matrix:
rtlwifi: PCIe, USB
rtl8xxxu: USB
rtw88: PCIe, USB and SDIO

So it seems you are right: I should consider whether adding RTL8723BS
support to rtw88 is the right choice.


Thank you!
Martin




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux