BeagleBone Black: Ethernet transmits packets but does not receive them

I ran into the same problems. I hacked up a patch to 3.8.8 from this patch:
http://permalink.gmane.org/gmane.linux.network/267097
and the ifdown/ifup issue went away for me.

Here is my git diff for those who want to give it a try:
diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c
index 21ba53e…67c7f74 100644
— a/drivers/net/ethernet/ti/cpsw.c
+++ b/drivers/net/ethernet/ti/cpsw.c
@@ -342,6 +342,7 @@ struct cpsw_priv {
/* snapshot of IRQ numbers */
u32 irqs_table[4];
u32 num_irqs;

  • bool irq_enabled;
    struct cpts cpts;
    };

@@ -458,7 +459,10 @@ static irqreturn_t cpsw_interrupt(int irq, void *dev_id)

if (likely(netif_running(priv->ndev))) {
cpsw_intr_disable(priv);

  • cpsw_disable_irq(priv);
  • if (priv->irq_enabled == true) {
  • cpsw_disable_irq(priv);
  • priv->irq_enabled = false;
  • }
    napi_schedule(&priv->napi);
    }

@@ -512,7 +516,11 @@ static int cpsw_poll(struct napi_struct *napi, int budget)
if ((num_total_rx + num_total_tx) < budget) {
napi_complete(napi);
cpsw_intr_enable(priv);

  • cpsw_enable_irq(priv);
  • if (priv->irq_enabled == false) {
  • cpsw_enable_irq(priv);
  • priv->irq_enabled = true;
  • }

I ran into the same problems. I hacked up a patch to 3.8.8 from this patch:
http://permalink.gmane.org/gmane.linux.network/267097
and the ifdown/ifup issue went away for me.

Nice find! This fixes my debian netinstall, gonna push it to the
default beagleboard.org kernel..

Hi Robert,

how can i check if this patch is implemented in my image?
(Ubuntu)

thx
Attila

Hi Gerald,

how can i check if i have this patch?

Thx
Attila

The SW folks need to answer that question.

Gerald

3.8.13-bone35+ has the fix.

Regards,

Thank you Robert,

i am going to try to update my xenomai-patched kernel then at weekend.

Attila

Hello Robert ,

I used pre-built boot-loader (MLO and u-boot.img) provided with the
board, then I am facing this issue -

  1. I checked in three computer , in two it is working correctly and
    shell promt is coming also.
    (i checked ls, cd ,uname command)
    But in one computer in last at the time beaglebone login it hangs
    and message comes like:
    root:clean fsck:123file 123/3334 block
    Will you please guide
    Thanks:
    ANKIT