Author: siarzhuk Date: 2009-10-15 21:11:38 +0200 (Thu, 15 Oct 2009) New Revision: 33603 Changeset: http://dev.haiku-os.org/changeset/33603/haiku Modified: haiku/trunk/src/add-ons/kernel/drivers/network/usb_asix/AX88172Device.cpp haiku/trunk/src/add-ons/kernel/drivers/network/usb_asix/AX88178Device.cpp haiku/trunk/src/add-ons/kernel/drivers/network/usb_asix/AX88772Device.cpp Log: -add broadcast flag to Rx Control register during start of device. This solves the "1200-seconds paradox" sorced by ignoring the "arp who-has" requests send as broadcasts. Modified: haiku/trunk/src/add-ons/kernel/drivers/network/usb_asix/AX88172Device.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/drivers/network/usb_asix/AX88172Device.cpp 2009-10-15 15:10:01 UTC (rev 33602) +++ haiku/trunk/src/add-ons/kernel/drivers/network/usb_asix/AX88172Device.cpp 2009-10-15 19:11:38 UTC (rev 33603) @@ -177,7 +177,8 @@ } } - uint16 rxcontrol = RXCTL_START | RXCTL_MULTICAST | RXCTL_UNICAST; + uint16 rxcontrol = RXCTL_START | RXCTL_MULTICAST + | RXCTL_UNICAST | RXCTL_BROADCAST; status_t result = WriteRXControlRegister(rxcontrol); if(result != B_OK) { TRACE_ALWAYS("Error of writing %#04x RX Control:%#010x\n", rxcontrol, result); Modified: haiku/trunk/src/add-ons/kernel/drivers/network/usb_asix/AX88178Device.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/drivers/network/usb_asix/AX88178Device.cpp 2009-10-15 15:10:01 UTC (rev 33602) +++ haiku/trunk/src/add-ons/kernel/drivers/network/usb_asix/AX88178Device.cpp 2009-10-15 19:11:38 UTC (rev 33603) @@ -317,7 +317,7 @@ "%d bytes of %d written.\n", actualLength, sizeof(fIPG)); } - uint16 rxcontrol = RXCTL_START | RXCTL_MULTICAST; + uint16 rxcontrol = RXCTL_START | RXCTL_MULTICAST | RXCTL_BROADCAST; result = WriteRXControlRegister(rxcontrol); if(result != B_OK) { TRACE_ALWAYS("Error of writing %#04x RX Control:%#010x\n", rxcontrol, result); Modified: haiku/trunk/src/add-ons/kernel/drivers/network/usb_asix/AX88772Device.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/drivers/network/usb_asix/AX88772Device.cpp 2009-10-15 15:10:01 UTC (rev 33602) +++ haiku/trunk/src/add-ons/kernel/drivers/network/usb_asix/AX88772Device.cpp 2009-10-15 19:11:38 UTC (rev 33603) @@ -294,7 +294,7 @@ "%d bytes of %d written.\n", actualLength, sizeof(fIPG)); } - uint16 rxcontrol = RXCTL_START | RXCTL_MULTICAST; + uint16 rxcontrol = RXCTL_START | RXCTL_MULTICAST | RXCTL_BROADCAST; result = WriteRXControlRegister(rxcontrol); if(result != B_OK) { TRACE_ALWAYS("Error of writing %#04x RX Control:%#010x\n", rxcontrol, result);