Herton Ronaldo Krzesinski wrote: > Ok, Looks like sifs or eifs setting then expect values in another format or > have a different meaning may be (or just cause some hw bug), it's strange, > I suspect sifs value is the culprit. In the patch I just reverted to values vendor > driver uses, in it difs remains the same, just eifs isn't changed for short slot > case and kept with a default value (along with what is supposed to be ack > timeout register), and sifs set to 0x22. Please try just the following change > to isolate that the SIFS setting caused the throughput issue: > > diff --git a/drivers/net/wireless/rtl818x/rtl8187_dev.c b/drivers/net/wireless/rtl818x/rtl8187_dev.c > index d49f2a7..c0392e4 100644 > --- a/drivers/net/wireless/rtl818x/rtl8187_dev.c > +++ b/drivers/net/wireless/rtl818x/rtl8187_dev.c > @@ -924,7 +924,7 @@ static void rtl8187_conf_erp(struct rtl8187_priv *priv, bool use_short_slot, > difs = 0x32; > eifs = 0x5b; > } > - rtl818x_iowrite8(priv, &priv->map->SIFS, 0xa); > + rtl818x_iowrite8(priv, &priv->map->SIFS, 0x22); > rtl818x_iowrite8(priv, &priv->map->SLOT, slot_time); > rtl818x_iowrite8(priv, &priv->map->DIFS, difs); This patch gives me the best performance yet. I get about 1.0 MB/s download and 580 KB/s upload with a 25 MB file using sftp. Larry -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html