diff -r d950fa65e8d8 sys/dev/usb/if_urtwn.c --- a/sys/dev/usb/if_urtwn.c Wed Aug 13 06:47:28 2025 +0000 +++ b/sys/dev/usb/if_urtwn.c Thu Aug 14 04:58:16 2025 +1000 @@ -680,9 +680,13 @@ urtwn_open_pipes(struct urtwn_softc *sc) } DPRINTFN(DBG_INIT, "found %jd/%jd bulk-in/out pipes", nrx, ntx, 0, 0); + + ntx = 1; + sc->rx_npipe = nrx; sc->tx_npipe = ntx; + /* Open bulk-in pipe at address 0x81. */ for (i = 0; i < nrx; i++) { error = usbd_open_pipe(sc->sc_iface, rxepaddr[i], @@ -2673,10 +2677,12 @@ urtwn_txeof(struct usbd_xfer *xfer, void if_statinc(ifp, if_oerrors); } splx(s); + DELAY(1000); return; } if_statinc(ifp, if_opackets); + DELAY(100); urtwn_start(ifp); splx(s); @@ -3367,7 +3373,7 @@ urtwn_llt_init(struct urtwn_softc *sc) if (sc->chip & URTWN_CHIP_88E) pktbuf_count = R88E_TXPKTBUF_COUNT; else if (sc->chip & URTWN_CHIP_92EU) - pktbuf_count = R88E_TXPKTBUF_COUNT; + pktbuf_count = R92E_TXPKTBUF_COUNT; else pktbuf_count = R92C_TXPKTBUF_COUNT;