On 2014/02/10 20:21, Alexey Dokuchaev wrote:
On Tue, Oct 15, 2013 at 11:13:56PM -0700, Rui Paulo wrote:
On 8 Oct 2013, at 10:41, Julian H. Stacey <j...@berklix.com> wrote:
I too am seeing
        urtwn0: timeout waiting for checksum report
Sorry, this is a know problem that I haven't been able to figure out...
It probably exists in the OpenBSD driver as well. Usually retrying works.
To augment this a bit: I also came across one of these dongles (vendor
0x0bda product 0x8176) that gave me this "timeout waiting for checksum
report" message.  Retrying didn't help, but plugging the dongle out and
then back in did.  After powercycling the machine, I had to replug it
again.  Once replugged, the dongle seems to work fine (I rebuilt kernel
and some ports via NFS over it thus far).

This suggests that the driver (or more generic part of the USB stack)
does not initialize something correctly, while full plug-and-play thing
does it.  Any ideas?

We have to reset the bit of the R92C_MCUFWDL associated with checksum report
before writing firmware.  Could you try this patch? Thanks.

Index: sys/dev/usb/wlan/if_urtwn.c
--- sys/dev/usb/wlan/if_urtwn.c (revision 262971)
+++ sys/dev/usb/wlan/if_urtwn.c (working copy)
@@ -2071,6 +2071,10 @@ urtwn_load_firmware(struct urtwn_softc *sc)
        urtwn_write_1(sc, R92C_MCUFWDL + 2,
            urtwn_read_1(sc, R92C_MCUFWDL + 2) & ~0x08);

+       /* Reset the FWDL checksum. */
+       urtwn_write_1(sc, R92C_MCUFWDL,
+           urtwn_read_1(sc, R92C_MCUFWDL) | R92C_MCUFWDL_CHKSUM_RPT);
        for (page = 0; len > 0; page++) {
                mlen = min(len, R92C_FW_PAGE_SIZE);
                error = urtwn_fw_loadpage(sc, page, ptr, mlen);

freebsd-current@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to