axe0: read PHY failed

From: Andrew Thompson <andy_at_fud.org.nz>
Date: Thu, 1 Jul 2004 20:59:15 +1200
Hi,


I have a Netgear FA120 (if_axe) which is causing me greif. After doing
moderate network traffic it will stop responding with oodles of "axe0: read
PHY failed" on the console. A cvsup triggers it quite reliably.

On further analysis I found that it will not send any ethernet frame where the
size % 64 == 0

For instance all of the following will timeout
  ping -s 22 <host>
  ping -s 86 <host>
  ping -s 150 <host>
etc...


Comparing to the NetBSD driver, I added the USBD_FORCE_SHORT_XFER flag and now
it is working perfectly. Can someone please review the patch below and commit
if appropriate.

thanks,

Andrew



--- sys/dev/usb/if_axe.c    Thu Jun 10 02:34:03 2004
+++ sys/dev/usb/if_axe.c    Thu Jul  1 20:31:57 2004
_at__at_ -808,7 +808,8 _at__at_
        c->axe_mbuf = m;
 
        usbd_setup_xfer(c->axe_xfer, sc->axe_ep[AXE_ENDPT_TX],
-           c, c->axe_buf, m->m_pkthdr.len, 0, 10000, axe_txeof);
+           c, c->axe_buf, m->m_pkthdr.len, USBD_FORCE_SHORT_XFER,
+           10000, axe_txeof);
 
        /* Transmit */
        err = usbd_transfer(c->axe_xfer);
Received on Thu Jul 01 2004 - 06:58:58 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:59 UTC