Date: Fri, 25 Feb 2011 10:11:03 +0100 From: Bernhard Schmidt <bschmidt@freebsd.org> To: joseph <icke@2egos.de> Cc: freebsd-stable@freebsd.org Subject: Re: urtw0: could not allocate USB transfers Message-ID: <201102251011.03839.bschmidt@freebsd.org> In-Reply-To: <4D66C4CB.1060207@2egos.de> References: <4D66C4CB.1060207@2egos.de>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On Thursday, February 24, 2011 21:51:23 joseph wrote:
> Hello,
>
> i decided to get my laptop wlan via usb because my internal device isn't
> supported yet.
> The usb device is a logilink WL0006 unit its vendorid is 0x0bda and the
> productid says 0x8187.
> My search results say that this device depends on a RTL8187 chipset.
> I tried both, load the kernel module at boot time and compile kernel
> withe urtw, but i get the same output at dmesg
>
> device_attach: urtw0 attach returned 6
> urtw0: <vendor 0x0bda product 0x8187, class 0/0, rev 2.00/2.00, addr 2>
> on usbus3
> urtw0: could not allocate USB transfers, err=USB_ERR_NO_PIPE
> device_attach: urtw0 attach returned 6
>
> im running FreeBSD 8.1-RELEASE-p2 amd64.
>
> What might be the reason for this error?
> Thanks for all hints.
Well, I have no clue about USB.. but this smells like one of the
endpoints is 'not there'. At least I can't find any reference to
it in the Linux driver. Wanna give attached patch a shot?
--
Bernhard
[-- Attachment #2 --]
Index: if_urtw.c
===================================================================
--- if_urtw.c (revision 218938)
+++ if_urtw.c (working copy)
@@ -633,19 +635,6 @@ static const struct usb_config urtw_8187l_usbconfi
.callback = urtw_bulk_tx_callback,
.timeout = URTW_DATA_TIMEOUT
},
- [URTW_8187L_BULK_TX_NORMAL] = {
- .type = UE_BULK,
- .endpoint = 0x3,
- .direction = UE_DIR_OUT,
- .bufsize = URTW_TX_MAXSIZE,
- .flags = {
- .ext_buffer = 1,
- .force_short_xfer = 1,
- .pipe_bof = 1,
- },
- .callback = urtw_bulk_tx_callback,
- .timeout = URTW_DATA_TIMEOUT
- },
};
static struct ieee80211vap *urtw_vap_create(struct ieee80211com *,
@@ -1813,9 +1802,7 @@ urtw_tx_start(struct urtw_softc *sc, struct ieee80
break;
}
} else
- xfer = (prior == URTW_PRIORITY_LOW) ?
- sc->sc_xfer[URTW_8187L_BULK_TX_LOW] :
- sc->sc_xfer[URTW_8187L_BULK_TX_NORMAL];
+ xfer = sc->sc_xfer[URTW_8187L_BULK_TX_LOW];
STAILQ_INSERT_TAIL(&sc->sc_tx_pending, data, next);
usbd_transfer_start(xfer);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201102251011.03839.bschmidt>
