Title: ethernet flow control support [Print This Page] Author: v.vacek Time: 4/3/2019 14:13 Title: ethernet flow control support Is there possibility to switch on flow control on ethernet interface? Now is the ethernet PHY layer chip RTL8211E set after hw reset to default without flow control announcement. There is no activated control driver in the Linux kernel to set it. Thanks. Vaclav.Author: penguin Time: 4/4/2019 17:22
In drivers/net/ethernet/stmicro/stmmac/stmmac_main.c , there is a flow control module parameter.
static int flow_ctrl = FLOW_OFF;
module_param(flow_ctrl, int, S_IRUGO | S_IWUSR);
MODULE_PARM_DESC(flow_ctrl, "Flow control ability [on/off]");
Copy the code
It defaults to FLOW_OFF. You can modify it and recompile the kernel to check if it works.Author: penguin Time: 4/4/2019 17:28
Or follow the commands below to have a hot fix:
cd /sys/bus/platform/drivers/rk_gmac-dwmac
# unbind the ethernet device from the driver
echo fe300000.ethernet > unbind
# turn on flow_ctrl
echo 1 > /sys/module/stmmac/parameters/flow_ctrl
# bind the ethernet device back
echo fe300000.ethernet > bind
Copy the code
After these commands, there're messages from the kernel:
[11547.465973] force_sf_dma_mode is ignored if force_thresh_dma_mode is set.[11547.466691] rk_gmac-dwmac fe300000.ethernet: Looking up phy-supply from device tree
[11547.467826] rk_gmac-dwmac fe300000.ethernet: clock input or output? (input).
[11547.488617] Enable RX Mitigation via HW Watchdog Timer
[11547.491855] of_get_named_gpiod_flags: parsed 'snps,reset-gpio' property of node '/ethernet@fe300000[0]' - status (0)
[11547.492826] gpio-111 (mdio-reset): gpiod_request: status -16
[11547.509629] libphy: stmmac: probed
[11547.509949] eth%d: PHY ID 001cc915 at 0 IRQ POLL (stmmac-0:00) active
[11547.510616] eth%d: PHY ID 001cc915 at 1 IRQ POLL (stmmac-0:01)
root@firefly:/sys/bus/platform/drivers/rk_gmac-dwmac# [11547.615421] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
root@firefly:/sys/bus/platform/drivers/rk_gmac-dwmac# [11550.624270] rk_gmac-dwmac fe300000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
Copy the code
The last line is indicating flow control enabled, right? Plz check Author: v.vacek Time: 5/13/2019 20:10
It doesn't work. The stmmac driver uses kernel generic-phy driver for PHY layer chip /RTL8211E/ and this driver has flow control advertisement switched off.
Vaclav.
Welcome Firefly Open Source Community (https://bbs.t-firefly.com/)