Re: [RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch
On Sat, Feb 6, 2010 at 1:06 AM, Larry Finger larry.fin...@lwfinger.net wrote: On 02/05/2010 10:27 AM, Gábor Stefanik wrote: On Fri, Feb 5, 2010 at 4:24 AM, Larry Finger larry.fin...@lwfinger.net wrote: On 02/04/2010 02:57 PM, Rafał Miłecki wrote: --- Gábor: I think you missed specs here. Could you check whole routine just for sure, please? I don't understand whole radio and chanspec magic yet. --- drivers/net/wireless/b43/phy_lp.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c index 185219e..61009ee 100644 --- a/drivers/net/wireless/b43/phy_lp.c +++ b/drivers/net/wireless/b43/phy_lp.c @@ -2655,8 +2655,8 @@ static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, if (err) return err; lpphy_set_analog_filter(dev, new_channel); - lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); } + lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); lpphy-channel = new_channel; b43_write16(dev, B43_MMIO_CHANNEL, new_channel); Both the lpphy_set_analog_filter() and lpphy_adjust_gain_table() calls should be outside the if statement. I changed the spec a little. It used to test radio enabled, but I have found that is always true for our driver. Larry Isn't set_analog_filter() rev0/1-specific? The new routines are described in http://bcm-v4.sipsolutions.net/802.11/PHY/LP/TxFilterInit http://bcm-v4.sipsolutions.net/802.11/PHY/LP/TxDigFiltUcodeRev2 The revised routines are: http://bcm-v4.sipsolutions.net/802.11/PHY/LP/SetChanSpecLPPHY http://bcm-v4.sipsolutions.net/802.11/PHY/LP/PR41573 Larry Note to implementors: Chanspec is broadcrap, please do NOT use in b43. Use a struct if you need the extra parameters contained in chanspec. -- Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-) ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: [RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch
On Fri, Feb 5, 2010 at 4:24 AM, Larry Finger larry.fin...@lwfinger.net wrote: On 02/04/2010 02:57 PM, Rafał Miłecki wrote: --- Gábor: I think you missed specs here. Could you check whole routine just for sure, please? I don't understand whole radio and chanspec magic yet. --- drivers/net/wireless/b43/phy_lp.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c index 185219e..61009ee 100644 --- a/drivers/net/wireless/b43/phy_lp.c +++ b/drivers/net/wireless/b43/phy_lp.c @@ -2655,8 +2655,8 @@ static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, if (err) return err; lpphy_set_analog_filter(dev, new_channel); - lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); } + lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); lpphy-channel = new_channel; b43_write16(dev, B43_MMIO_CHANNEL, new_channel); Both the lpphy_set_analog_filter() and lpphy_adjust_gain_table() calls should be outside the if statement. I changed the spec a little. It used to test radio enabled, but I have found that is always true for our driver. Larry Isn't set_analog_filter() rev0/1-specific? -- Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-) ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: [RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch
On Fri, Feb 5, 2010 at 4:24 AM, Larry Finger larry.fin...@lwfinger.net wrote: On 02/04/2010 02:57 PM, Rafał Miłecki wrote: --- Gábor: I think you missed specs here. Could you check whole routine just for sure, please? I don't understand whole radio and chanspec magic yet. --- drivers/net/wireless/b43/phy_lp.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c index 185219e..61009ee 100644 --- a/drivers/net/wireless/b43/phy_lp.c +++ b/drivers/net/wireless/b43/phy_lp.c @@ -2655,8 +2655,8 @@ static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, if (err) return err; lpphy_set_analog_filter(dev, new_channel); - lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); } + lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); lpphy-channel = new_channel; b43_write16(dev, B43_MMIO_CHANNEL, new_channel); Both the lpphy_set_analog_filter() and lpphy_adjust_gain_table() calls should be outside the if statement. I changed the spec a little. It used to test radio enabled, but I have found that is always true for our driver. Larry Isn't set_analog_filter() rev0/1-specific? -- Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-) ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: [RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch
On 02/05/2010 10:41 AM, Gábor Stefanik wrote: On Fri, Feb 5, 2010 at 4:24 AM, Larry Finger larry.fin...@lwfinger.net wrote: On 02/04/2010 02:57 PM, Rafał Miłecki wrote: --- Gábor: I think you missed specs here. Could you check whole routine just for sure, please? I don't understand whole radio and chanspec magic yet. --- drivers/net/wireless/b43/phy_lp.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c index 185219e..61009ee 100644 --- a/drivers/net/wireless/b43/phy_lp.c +++ b/drivers/net/wireless/b43/phy_lp.c @@ -2655,8 +2655,8 @@ static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, if (err) return err; lpphy_set_analog_filter(dev, new_channel); - lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); } + lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); lpphy-channel = new_channel; b43_write16(dev, B43_MMIO_CHANNEL, new_channel); Both the lpphy_set_analog_filter() and lpphy_adjust_gain_table() calls should be outside the if statement. I changed the spec a little. It used to test radio enabled, but I have found that is always true for our driver. Larry Isn't set_analog_filter() rev0/1-specific? It was in the 4.174.64.19 driver that I RE'd when you wrote the LP PHY code. That as changed in 5.10.56.46, which I am now doing. It will take me a while to complete the new routine LP PHY TX Filter Init and a routine that it calls. Certainly, there is no hurry that these changes be made. Whenever you or Rafał have time. There is no guarantee that these changes will have any effect on the LP PHY operations. Hitting a moving target is not easy. Larry ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: [RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch
On Fri, Feb 5, 2010 at 7:09 PM, Larry Finger larry.fin...@lwfinger.net wrote: On 02/05/2010 10:41 AM, Gábor Stefanik wrote: On Fri, Feb 5, 2010 at 4:24 AM, Larry Finger larry.fin...@lwfinger.net wrote: On 02/04/2010 02:57 PM, Rafał Miłecki wrote: --- Gábor: I think you missed specs here. Could you check whole routine just for sure, please? I don't understand whole radio and chanspec magic yet. --- drivers/net/wireless/b43/phy_lp.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c index 185219e..61009ee 100644 --- a/drivers/net/wireless/b43/phy_lp.c +++ b/drivers/net/wireless/b43/phy_lp.c @@ -2655,8 +2655,8 @@ static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, if (err) return err; lpphy_set_analog_filter(dev, new_channel); - lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); } + lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); lpphy-channel = new_channel; b43_write16(dev, B43_MMIO_CHANNEL, new_channel); Both the lpphy_set_analog_filter() and lpphy_adjust_gain_table() calls should be outside the if statement. I changed the spec a little. It used to test radio enabled, but I have found that is always true for our driver. Larry Isn't set_analog_filter() rev0/1-specific? It was in the 4.174.64.19 driver that I RE'd when you wrote the LP PHY code. That as changed in 5.10.56.46, which I am now doing. It will take me a while to complete the new routine LP PHY TX Filter Init and a routine that it calls. Certainly, there is no hurry that these changes be made. Whenever you or Rafał have time. There is no guarantee that these changes will have any effect on the LP PHY operations. Hitting a moving target is not easy. Larry Just out of curiosity, is 5.10.56.46 available anywhere (for firmware reasons)? -- Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-) ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: [RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch
On 02/05/2010 12:46 PM, Gábor Stefanik wrote: On Fri, Feb 5, 2010 at 7:09 PM, Larry Finger larry.fin...@lwfinger.net wrote: On 02/05/2010 10:41 AM, Gábor Stefanik wrote: On Fri, Feb 5, 2010 at 4:24 AM, Larry Finger larry.fin...@lwfinger.net wrote: On 02/04/2010 02:57 PM, Rafał Miłecki wrote: --- Gábor: I think you missed specs here. Could you check whole routine just for sure, please? I don't understand whole radio and chanspec magic yet. --- drivers/net/wireless/b43/phy_lp.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c index 185219e..61009ee 100644 --- a/drivers/net/wireless/b43/phy_lp.c +++ b/drivers/net/wireless/b43/phy_lp.c @@ -2655,8 +2655,8 @@ static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, if (err) return err; lpphy_set_analog_filter(dev, new_channel); - lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); } + lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); lpphy-channel = new_channel; b43_write16(dev, B43_MMIO_CHANNEL, new_channel); Both the lpphy_set_analog_filter() and lpphy_adjust_gain_table() calls should be outside the if statement. I changed the spec a little. It used to test radio enabled, but I have found that is always true for our driver. Larry Isn't set_analog_filter() rev0/1-specific? It was in the 4.174.64.19 driver that I RE'd when you wrote the LP PHY code. That as changed in 5.10.56.46, which I am now doing. It will take me a while to complete the new routine LP PHY TX Filter Init and a routine that it calls. Certainly, there is no hurry that these changes be made. Whenever you or Rafał have time. There is no guarantee that these changes will have any effect on the LP PHY operations. Hitting a moving target is not easy. Larry Just out of curiosity, is 5.10.56.46 available anywhere (for firmware reasons)? I'm not sure what the driver version is, but a file with 508 ucode dated 6/26/09 is found at: http://www.linksysbycisco.com/gpl/wrt610n_v2.00.00.05_us.tar.gz The binaries are in directory wrt610n_v2.00.00.05_us/release/src/wl/linux/. I used Daniel Lenski's script names b43_fwcutter.py can extract the firmware from wl_apsta.o. Included are ucode_2w20 - Rev 20 802.11 cores have an SSLPN PHY. I'm still looking for a file with 5XX firmware that is not a huge download. This file contains everything needed to build the firmware for a WRT610N AP and is 356 MB. If anyone knows of a smaller file, please let me know. Larry ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: [RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch
On 02/05/2010 10:27 AM, Gábor Stefanik wrote: On Fri, Feb 5, 2010 at 4:24 AM, Larry Finger larry.fin...@lwfinger.net wrote: On 02/04/2010 02:57 PM, Rafał Miłecki wrote: --- Gábor: I think you missed specs here. Could you check whole routine just for sure, please? I don't understand whole radio and chanspec magic yet. --- drivers/net/wireless/b43/phy_lp.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c index 185219e..61009ee 100644 --- a/drivers/net/wireless/b43/phy_lp.c +++ b/drivers/net/wireless/b43/phy_lp.c @@ -2655,8 +2655,8 @@ static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, if (err) return err; lpphy_set_analog_filter(dev, new_channel); - lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); } + lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); lpphy-channel = new_channel; b43_write16(dev, B43_MMIO_CHANNEL, new_channel); Both the lpphy_set_analog_filter() and lpphy_adjust_gain_table() calls should be outside the if statement. I changed the spec a little. It used to test radio enabled, but I have found that is always true for our driver. Larry Isn't set_analog_filter() rev0/1-specific? The new routines are described in http://bcm-v4.sipsolutions.net/802.11/PHY/LP/TxFilterInit http://bcm-v4.sipsolutions.net/802.11/PHY/LP/TxDigFiltUcodeRev2 The revised routines are: http://bcm-v4.sipsolutions.net/802.11/PHY/LP/SetChanSpecLPPHY http://bcm-v4.sipsolutions.net/802.11/PHY/LP/PR41573 Larry ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
[RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch
--- Gábor: I think you missed specs here. Could you check whole routine just for sure, please? I don't understand whole radio and chanspec magic yet. --- drivers/net/wireless/b43/phy_lp.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c index 185219e..61009ee 100644 --- a/drivers/net/wireless/b43/phy_lp.c +++ b/drivers/net/wireless/b43/phy_lp.c @@ -2655,8 +2655,8 @@ static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, if (err) return err; lpphy_set_analog_filter(dev, new_channel); - lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); } + lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); lpphy-channel = new_channel; b43_write16(dev, B43_MMIO_CHANNEL, new_channel); -- 1.6.4.2 ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: [RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch
On 02/04/2010 02:57 PM, Rafał Miłecki wrote: --- Gábor: I think you missed specs here. Could you check whole routine just for sure, please? I don't understand whole radio and chanspec magic yet. --- drivers/net/wireless/b43/phy_lp.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c index 185219e..61009ee 100644 --- a/drivers/net/wireless/b43/phy_lp.c +++ b/drivers/net/wireless/b43/phy_lp.c @@ -2655,8 +2655,8 @@ static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, if (err) return err; lpphy_set_analog_filter(dev, new_channel); - lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); } + lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); lpphy-channel = new_channel; b43_write16(dev, B43_MMIO_CHANNEL, new_channel); Both the lpphy_set_analog_filter() and lpphy_adjust_gain_table() calls should be outside the if statement. I changed the spec a little. It used to test radio enabled, but I have found that is always true for our driver. Larry ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev