Message ID | 20230102024021.2900-1-aiden.leong@aibsd.com (mailing list archive) |
---|---|
State | New |
Delegated to: | Miri Korenblit |
Headers | show |
Series | [1/2] iwlwifi: pcie: add support for AX101NGW | expand |
On Mon, 2023-01-02 at 10:40 +0800, Aiden Leong wrote: > AX101NGW(0x4DF0, 0x0244) should have tx_with_siso_diversity unset. Why it should be unset? Which kernel do you have? Commit 3f910a25839b13436bf0a22186f1698b23eafb91 added AX101 device. > > Signed-off-by: Aiden Leong <aiden.leong@aibsd.com> > --- > Ref Commit: 9352ed0165ff4313ab340c979446c3d64c531f7a > Tested on my own device. > --- > drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c > index 99768d6a6032..a46df1320372 100644 > --- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c > +++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c > @@ -986,6 +986,11 @@ static const struct iwl_dev_info iwl_dev_info_table[] = { > iwl_qu_c0_hr_b0, iwl_ax201_name), > > /* QuZ */ > + _IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY, > + IWL_CFG_MAC_TYPE_QUZ, SILICON_B_STEP, > + IWL_CFG_RF_TYPE_HR1, IWL_CFG_RF_ID_HR1, > + IWL_CFG_NO_160, IWL_CFG_CORES_BT, IWL_CFG_NO_CDB, IWL_CFG_NO_JACKET, > + iwl_cfg_quz_a0_hr_b0, iwl_ax101_name), > _IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY, > IWL_CFG_MAC_TYPE_QUZ, IWL_CFG_ANY, > IWL_CFG_RF_TYPE_HR1, IWL_CFG_ANY,
1. I know nothing about what `tx_with_siso_diversity` is. It's just a hardware flag to me. Main line. 2. I have the real device. Tested. Two photos was sent to Luca Coelho as well. 3. /drivers/net/wireless/intel/iwlwifi/pcie/drv.c#L623 > IWL_DEV_INFO(0x4DF0, 0x1651, killer1650s_2ax_cfg_qu_b0_hr_b0, NULL), The device I have is 0x4DF0, 0x0244. They share the same device ID. 4. I have narrowed down my code with _mac_step, _rf_type, _rf_id, _no_160 and _cores, so it should be safe to other devices. Happy New Year Aiden On 2023/1/2 21:32, Greenman, Gregory wrote: > On Mon, 2023-01-02 at 10:40 +0800, Aiden Leong wrote: >> AX101NGW(0x4DF0, 0x0244) should have tx_with_siso_diversity unset. > Why it should be unset? Which kernel do you have? > Commit 3f910a25839b13436bf0a22186f1698b23eafb91 added AX101 device. > >> Signed-off-by: Aiden Leong <aiden.leong@aibsd.com> >> --- >> Ref Commit: 9352ed0165ff4313ab340c979446c3d64c531f7a >> Tested on my own device. >> --- >> drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c >> index 99768d6a6032..a46df1320372 100644 >> --- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c >> +++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c >> @@ -986,6 +986,11 @@ static const struct iwl_dev_info iwl_dev_info_table[] = { >> iwl_qu_c0_hr_b0, iwl_ax201_name), >> >> /* QuZ */ >> + _IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY, >> + IWL_CFG_MAC_TYPE_QUZ, SILICON_B_STEP, >> + IWL_CFG_RF_TYPE_HR1, IWL_CFG_RF_ID_HR1, >> + IWL_CFG_NO_160, IWL_CFG_CORES_BT, IWL_CFG_NO_CDB, IWL_CFG_NO_JACKET, >> + iwl_cfg_quz_a0_hr_b0, iwl_ax101_name), >> _IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY, >> IWL_CFG_MAC_TYPE_QUZ, IWL_CFG_ANY, >> IWL_CFG_RF_TYPE_HR1, IWL_CFG_ANY,
On Mon, 2023-01-02 at 22:32 +0800, Aiden Leong wrote: > 1. I know nothing about what `tx_with_siso_diversity` is. It's just a > hardware flag to me. Main line. > > 2. I have the real device. Tested. Two photos was sent to Luca Coelho as > well. > > 3. /drivers/net/wireless/intel/iwlwifi/pcie/drv.c#L623 > > > IWL_DEV_INFO(0x4DF0, 0x1651, killer1650s_2ax_cfg_qu_b0_hr_b0, NULL), > > The device I have is 0x4DF0, 0x0244. They share the same device ID. > > 4. I have narrowed down my code with _mac_step, _rf_type, _rf_id, > _no_160 and _cores, so it should be safe to other devices. > > Happy New Year > > Aiden > > On 2023/1/2 21:32, Greenman, Gregory wrote: > > On Mon, 2023-01-02 at 10:40 +0800, Aiden Leong wrote: > > > AX101NGW(0x4DF0, 0x0244) should have tx_with_siso_diversity unset. > > Why it should be unset? Which kernel do you have? > > Commit 3f910a25839b13436bf0a22186f1698b23eafb91 added AX101 device. > > > > > Signed-off-by: Aiden Leong <aiden.leong@aibsd.com> > > > --- > > > Ref Commit: 9352ed0165ff4313ab340c979446c3d64c531f7a > > > Tested on my own device. > > > --- > > > drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 5 +++++ > > > 1 file changed, 5 insertions(+) > > > > > > diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c > > > index 99768d6a6032..a46df1320372 100644 > > > --- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c > > > +++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c > > > @@ -986,6 +986,11 @@ static const struct iwl_dev_info iwl_dev_info_table[] = { > > > iwl_qu_c0_hr_b0, iwl_ax201_name), > > > > > > /* QuZ */ > > > + _IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY, > > > + IWL_CFG_MAC_TYPE_QUZ, SILICON_B_STEP, > > > + IWL_CFG_RF_TYPE_HR1, IWL_CFG_RF_ID_HR1, > > > + IWL_CFG_NO_160, IWL_CFG_CORES_BT, IWL_CFG_NO_CDB, IWL_CFG_NO_JACKET, > > > + iwl_cfg_quz_a0_hr_b0, iwl_ax101_name), > > > _IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY, > > > IWL_CFG_MAC_TYPE_QUZ, IWL_CFG_ANY, > > > IWL_CFG_RF_TYPE_HR1, IWL_CFG_ANY, So, still the only thing that this patch does is to *disable* tx_with_siso_diversity flag. The configuration one line below it (looking at Linux 6.2-rc2) is essentially the same (but with wildcards instead), the only thing different is using iwl_quz_a0_hr1_b0 instead of iwl_cfg_quz_a0_hr_b0. These two configurations differ only in setting tx_with_siso_diversity. Thus the question, what is the reason for the change? Did you experienced FW crashes, throughput degardataion?
On 2023年1月5日星期四 CST 下午2:39:52 Greenman, Gregory wrote: > On Mon, 2023-01-02 at 22:32 +0800, Aiden Leong wrote: > > > 1. I know nothing about what `tx_with_siso_diversity` is. It's just a > > hardware flag to me. Main line. > > > > 2. I have the real device. Tested. Two photos was sent to Luca Coelho as > > well. > > > > 3. /drivers/net/wireless/intel/iwlwifi/pcie/drv.c#L623 > > > > > IWL_DEV_INFO(0x4DF0, 0x1651, killer1650s_2ax_cfg_qu_b0_hr_b0, NULL), > > > > The device I have is 0x4DF0, 0x0244. They share the same device ID. > > > > 4. I have narrowed down my code with _mac_step, _rf_type, _rf_id, > > _no_160 and _cores, so it should be safe to other devices. > > > > Happy New Year > > > > Aiden > > > > On 2023/1/2 21:32, Greenman, Gregory wrote: > > > > > On Mon, 2023-01-02 at 10:40 +0800, Aiden Leong wrote: > > > > > > > AX101NGW(0x4DF0, 0x0244) should have tx_with_siso_diversity unset. > > > > > > Why it should be unset? Which kernel do you have? > > > Commit 3f910a25839b13436bf0a22186f1698b23eafb91 added AX101 device. > > > > > > > > > > Signed-off-by: Aiden Leong <aiden.leong@aibsd.com> > > > > --- > > > > Ref Commit: 9352ed0165ff4313ab340c979446c3d64c531f7a > > > > Tested on my own device. > > > > --- > > > > drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 5 +++++ > > > > 1 file changed, 5 insertions(+) > > > > > > > > diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c > > > > b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c index > > > > 99768d6a6032..a46df1320372 100644 > > > > --- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c > > > > +++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c > > > > @@ -986,6 +986,11 @@ static const struct iwl_dev_info > > > > iwl_dev_info_table[] = { iwl_qu_c0_hr_b0, iwl_ax201_name), > > > > > > > > /* QuZ */ > > > > + _IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY, > > > > + IWL_CFG_MAC_TYPE_QUZ, SILICON_B_STEP, > > > > + IWL_CFG_RF_TYPE_HR1, IWL_CFG_RF_ID_HR1, > > > > + IWL_CFG_NO_160, IWL_CFG_CORES_BT, > > > > IWL_CFG_NO_CDB, IWL_CFG_NO_JACKET, + > > > > iwl_cfg_quz_a0_hr_b0, iwl_ax101_name), > > > > _IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY, > > > > IWL_CFG_MAC_TYPE_QUZ, IWL_CFG_ANY, > > > > IWL_CFG_RF_TYPE_HR1, IWL_CFG_ANY, > > > So, still the only thing that this patch does is to *disable* > tx_with_siso_diversity flag. The configuration one line below it (looking > at Linux 6.2-rc2) is essentially the same (but with wildcards instead), the > only thing different is using iwl_quz_a0_hr1_b0 instead of > iwl_cfg_quz_a0_hr_b0. These two configurations differ only in setting > tx_with_siso_diversity. Thus the question, what is the reason for the > change? Did you experienced FW crashes, throughput degardataion? Correct. 1. The FW crashes with "NMI_INTERRUPT_UNKNOW". Not interface shows up via `ip a`. 2. With iwl_cfg_quz_a0_hr_b0, it works. However, I get "NMI_INTERRUPT_UMAC_FATAL " in dmesg. Throughput degardataion not tested. Please let me know if I should send you more info for further debugging. Cheers, Aiden Leong
On Thu, 2023-01-05 at 16:41 +0800, Aiden Leong wrote: > On 2023年1月5日星期四 CST 下午2:39:52 Greenman, Gregory wrote: > > On Mon, 2023-01-02 at 22:32 +0800, Aiden Leong wrote: > > > > > 1. I know nothing about what `tx_with_siso_diversity` is. It's just a > > > hardware flag to me. Main line. > > > > > > 2. I have the real device. Tested. Two photos was sent to Luca Coelho as > > > well. > > > > > > 3. /drivers/net/wireless/intel/iwlwifi/pcie/drv.c#L623 > > > > > > > IWL_DEV_INFO(0x4DF0, 0x1651, killer1650s_2ax_cfg_qu_b0_hr_b0, NULL), > > > > > > The device I have is 0x4DF0, 0x0244. They share the same device ID. > > > > > > 4. I have narrowed down my code with _mac_step, _rf_type, _rf_id, > > > _no_160 and _cores, so it should be safe to other devices. > > > > > > Happy New Year > > > > > > Aiden > > > > > > On 2023/1/2 21:32, Greenman, Gregory wrote: > > > > > > > On Mon, 2023-01-02 at 10:40 +0800, Aiden Leong wrote: > > > > > > > > > AX101NGW(0x4DF0, 0x0244) should have tx_with_siso_diversity unset. > > > > > > > > Why it should be unset? Which kernel do you have? > > > > Commit 3f910a25839b13436bf0a22186f1698b23eafb91 added AX101 device. > > > > > > > > > > > > > Signed-off-by: Aiden Leong <aiden.leong@aibsd.com> > > > > > --- > > > > > Ref Commit: 9352ed0165ff4313ab340c979446c3d64c531f7a > > > > > Tested on my own device. > > > > > --- > > > > > drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 5 +++++ > > > > > 1 file changed, 5 insertions(+) > > > > > > > > > > diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c > > > > > b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c > index > > > > > 99768d6a6032..a46df1320372 100644 > > > > > --- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c > > > > > +++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c > > > > > @@ -986,6 +986,11 @@ static const struct iwl_dev_info > > > > > iwl_dev_info_table[] = { > iwl_qu_c0_hr_b0, iwl_ax201_name), > > > > > > > > > > /* QuZ */ > > > > > + _IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY, > > > > > + IWL_CFG_MAC_TYPE_QUZ, SILICON_B_STEP, > > > > > + IWL_CFG_RF_TYPE_HR1, IWL_CFG_RF_ID_HR1, > > > > > + IWL_CFG_NO_160, IWL_CFG_CORES_BT, > > > > > IWL_CFG_NO_CDB, IWL_CFG_NO_JACKET, > + > > > > > iwl_cfg_quz_a0_hr_b0, iwl_ax101_name), > > > > > _IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY, > > > > > IWL_CFG_MAC_TYPE_QUZ, IWL_CFG_ANY, > > > > > IWL_CFG_RF_TYPE_HR1, IWL_CFG_ANY, > > > > > > So, still the only thing that this patch does is to *disable* > > tx_with_siso_diversity flag. > The configuration one line below it (looking > > at Linux 6.2-rc2) is essentially the same (but with wildcards instead), the > > only thing different is using iwl_quz_a0_hr1_b0 instead of > > iwl_cfg_quz_a0_hr_b0. These two configurations differ only in setting > > tx_with_siso_diversity. Thus the question, what is the reason for the > > change? Did you experienced FW crashes, throughput degardataion? > > Correct. > > 1. The FW crashes with "NMI_INTERRUPT_UNKNOW". Not interface shows up > via `ip a`. > > 2. With iwl_cfg_quz_a0_hr_b0, it works. However, I get > "NMI_INTERRUPT_UMAC_FATAL " in dmesg. Throughput degardataion not tested. > > Please let me know if I should send you more info for further debugging. > > Cheers, > Aiden Leong Sorry for the long delay, it's actually a bug in the definition that we have. This device has only one antenna, so no diversity is possible. It means, that no need to add a new entry, we need to fix the existing one (the one below that you added) to have there iwl_cfg_quz_a0_hr_b0. Please tell me if you wish to do it, or I can fix it. Thanks for pointing out.
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c index 99768d6a6032..a46df1320372 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c @@ -986,6 +986,11 @@ static const struct iwl_dev_info iwl_dev_info_table[] = { iwl_qu_c0_hr_b0, iwl_ax201_name), /* QuZ */ + _IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY, + IWL_CFG_MAC_TYPE_QUZ, SILICON_B_STEP, + IWL_CFG_RF_TYPE_HR1, IWL_CFG_RF_ID_HR1, + IWL_CFG_NO_160, IWL_CFG_CORES_BT, IWL_CFG_NO_CDB, IWL_CFG_NO_JACKET, + iwl_cfg_quz_a0_hr_b0, iwl_ax101_name), _IWL_DEV_INFO(IWL_CFG_ANY, IWL_CFG_ANY, IWL_CFG_MAC_TYPE_QUZ, IWL_CFG_ANY, IWL_CFG_RF_TYPE_HR1, IWL_CFG_ANY,
AX101NGW(0x4DF0, 0x0244) should have tx_with_siso_diversity unset. Signed-off-by: Aiden Leong <aiden.leong@aibsd.com> --- Ref Commit: 9352ed0165ff4313ab340c979446c3d64c531f7a Tested on my own device. --- drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 5 +++++ 1 file changed, 5 insertions(+)