From owner-freebsd-usb@FreeBSD.ORG Fri Jun 10 19:48:54 2011 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A0852106566C; Fri, 10 Jun 2011 19:48:54 +0000 (UTC) (envelope-from kc5vdj.freebsd@gmail.com) Received: from mail-iy0-f182.google.com (mail-iy0-f182.google.com [209.85.210.182]) by mx1.freebsd.org (Postfix) with ESMTP id 3CED88FC12; Fri, 10 Jun 2011 19:48:53 +0000 (UTC) Received: by iyj12 with SMTP id 12so3550314iyj.13 for ; Fri, 10 Jun 2011 12:48:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=WtRfyROM73H5pm2YnI4v2JM9naiIA6N3qtrijouY2yo=; b=aBtdEjn4fxxC38T9oVmBr4fVi4CrN45y7WGNHDHiujc3DRDIB7zaXoEAUoueob/NWz G0lGLVE2rRrQuexunhkOmVz9UJB4A3Vd9mGQPw27a7pknrbg26WevI27TSmdr7sAKE2x tgnYF1dvtWfhYuW+tB78WSwHN8PqsjEuYNiEg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; b=NjgvfQ4P9zJpYC+2pz8zSKFaYK12tjtTcDLcDOxA8vAP0dTOdkQxxTwpaurWIjVxdN 1EkIS7oHKvgJfjYU5UesyhpfMsTVc0Dn+rDuuwsIV/4f4XfmnBBN8kWmapllUH+bPs8d gauDOjMKhKTAMXPMaJKRJVBLDD7hfXns0yvZk= Received: by 10.231.112.88 with SMTP id v24mr2713981ibp.80.1307735333427; Fri, 10 Jun 2011 12:48:53 -0700 (PDT) Received: from argus.electron-tube.net (desm-45-047.dsl.netins.net [167.142.45.47]) by mx.google.com with ESMTPS id 4sm1457653ibc.42.2011.06.10.12.48.25 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 10 Jun 2011 12:48:52 -0700 (PDT) Message-ID: <4DF274F6.6050905@gmail.com> Date: Fri, 10 Jun 2011 14:48:06 -0500 From: Jim Bryant User-Agent: Thunderbird 2.0.0.24 (X11/20100911) MIME-Version: 1.0 To: bschmidt@freebsd.org References: <4DF12E4A.5020906@gmail.com> <201106100913.42480.bschmidt@freebsd.org> In-Reply-To: <201106100913.42480.bschmidt@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: weongyo@freebsd.org, freebsd-wireless@freebsd.org, freebsd-stable@freebsd.org, freebsd-usb@freebsd.org Subject: Re: problem with urtw X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Jun 2011 19:48:54 -0000 the patch didn't get it. ugen3.2: at usbus3 urtw0: on usbus3 urtw0: could not allocate USB transfers, err=USB_ERR_NO_PIPE device_attach: urtw0 attach returned 6 urtw0: on usbus3 urtw0: could not allocate USB transfers, err=USB_ERR_NO_PIPE device_attach: urtw0 attach returned 6 ugen3.2: at usbus3 (disconnected) [the last line was me unplugging it] this is with if_urtw.c patched to change L to B as you supplied. I'm here for testing.. any more ideas? If anyone wants to play themselves, look on ebay for WiFiSky 1500mW B/G with 6dBi antenna. It seems that half of Hong Kong is selling these for under $20 USD. Bernhard Schmidt wrote: > On Thursday, June 09, 2011 22:34:18 Jim Bryant wrote: > >> I just bought one of those chinese (apparently the same unit relabeled >> and being sold by multiple companies) realtek RTL8187B wifi units. The >> price is right. >> >> The label name on this one is WiFySky 1500mW. >> >> other than the fact that the case it is enclosed in is really cheesy, >> there is a more immediate problem with this. >> >> the current urtw driver returns a 6. >> >> here we go: >> >> on insert: >> >> ugen3.2: at usbus3 >> >> after kldload if_urtw.ko: >> >> urtw0: >> on usbus3 >> urtw0: could not allocate USB transfers, err=USB_ERR_NO_PIPE >> device_attach: urtw0 attach returned 6 >> urtw0: >> on usbus3 >> urtw0: could not allocate USB transfers, err=USB_ERR_NO_PIPE >> device_attach: urtw0 attach returned 6 >> urtw0: >> on usbus3 >> urtw0: could not allocate USB transfers, err=USB_ERR_NO_PIPE >> device_attach: urtw0 attach returned 6 >> urtw0: >> on usbus3 >> urtw0: could not allocate USB transfers, err=USB_ERR_NO_PIPE >> device_attach: urtw0 attach returned 6 >> >> 3:28:35pm argus(48): usbconfig -u 3 -a 2 dump_device_desc >> ugen3.2: at usbus3, cfg=0 md=HOST >> spd=HIGH (480Mbps) pwr=ON >> >> bLength = 0x0012 >> bDescriptorType = 0x0001 >> bcdUSB = 0x0200 >> bDeviceClass = 0x0000 >> bDeviceSubClass = 0x0000 >> bDeviceProtocol = 0x0000 >> bMaxPacketSize0 = 0x0040 >> idVendor = 0x0bda >> idProduct = 0x8187 >> bcdDevice = 0x0200 >> iManufacturer = 0x0001 >> iProduct = 0x0002 >> iSerialNumber = 0x0000 >> bNumConfigurations = 0x0001 >> >> 3:28:48pm argus(49): usbconfig -u 3 -a 2 dump_curr_config_desc >> ugen3.2: at usbus3, cfg=0 md=HOST >> spd=HIGH (480Mbps) pwr=ON >> >> >> Configuration index 0 >> >> bLength = 0x0009 >> bDescriptorType = 0x0002 >> wTotalLength = 0x0051 >> bNumInterfaces = 0x0001 >> bConfigurationValue = 0x0001 >> iConfiguration = 0x0004 >> bmAttributes = 0x0080 >> bMaxPower = 0x00fa >> >> Interface 0 >> bLength = 0x0009 >> bDescriptorType = 0x0004 >> bInterfaceNumber = 0x0000 >> bAlternateSetting = 0x0000 >> bNumEndpoints = 0x0009 >> bInterfaceClass = 0x00ff >> bInterfaceSubClass = 0x00ff >> bInterfaceProtocol = 0x00ff >> iInterface = 0x0002 >> >> Endpoint 0 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x0083 >> > > I have no clue what I'm talking about, so, this might be wrong.. > > Anyways.. the urtw(4) driver supports two different chips the > 8187B and 8187L. One difference between those is the number of > endpoints and its addresses. The 8187L uses 3 endpoints with > 0x81 as the RX endpoint, the 8187B uses 7 endpoints with 0x83 as > RX. > > % vendor REALTEK 0x0bda Realtek > % product REALTEK RTL8187 0x8187 RTL8187 Wireless Adapter > > Quoting from the driver: > > % #define URTW_DEV_B(v,p) \ > % { USB_VPI(USB_VENDOR_##v, USB_PRODUCT_##v##_##p, URTW_REV_RTL8187B) } > % #define URTW_DEV_L(v,p) \ > % { USB_VPI(USB_VENDOR_##v, USB_PRODUCT_##v##_##p, URTW_REV_RTL8187L) } > % .. > % static const struct usb_device_id urtw_devs[] = { > % URTW_DEV_L(REALTEK, RTL8187), > % .. > % static const struct usb_config urtw_8187b_usbconfig[URTW_8187B_N_XFERS] = { > % [URTW_8187B_BULK_RX] = { > % .type = UE_BULK, > % .endpoint = 0x83, > % .. > % static const struct usb_config urtw_8187l_usbconfig[URTW_8187L_N_XFERS] = { > % [URTW_8187L_BULK_RX] = { > % .type = UE_BULK, > % .endpoint = 0x81, > > It occurs to me that yours might actually be a B chip not a L, > because there is a 0x83 endpoint but none for 0x81. > > Wanna give that a shot? > > Index: if_urtw.c > =================================================================== > --- if_urtw.c (revision 222807) > +++ if_urtw.c (working copy) > @@ -112,7 +112,7 @@ static const struct usb_device_id urtw_devs[] = { > URTW_DEV_L(BELKIN, F5D7050E), > URTW_DEV_L(LINKSYS4, WUSB54GCV2), > URTW_DEV_L(NETGEAR, WG111V2), > - URTW_DEV_L(REALTEK, RTL8187), > + URTW_DEV_B(REALTEK, RTL8187), > URTW_DEV_L(SITECOMEU, WL168V1), > URTW_DEV_L(SURECOM, EP9001G2A), > { USB_VPI(0x1b75, 0x8187, URTW_REV_RTL8187L) }, > > > > >> bmAttributes = 0x0002 >> wMaxPacketSize = 0x0200 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> >> Endpoint 1 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x0004 >> bmAttributes = 0x0002 >> wMaxPacketSize = 0x0200 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> >> Endpoint 2 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x0005 >> bmAttributes = 0x0002 >> wMaxPacketSize = 0x0200 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> >> Endpoint 3 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x0006 >> bmAttributes = 0x0002 >> wMaxPacketSize = 0x0200 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> >> Endpoint 4 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x0007 >> bmAttributes = 0x0002 >> wMaxPacketSize = 0x0200 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> >> Endpoint 5 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x0089 >> bmAttributes = 0x0002 >> wMaxPacketSize = 0x0200 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> >> Endpoint 6 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x000a >> bmAttributes = 0x0002 >> wMaxPacketSize = 0x0200 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> >> Endpoint 7 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x000b >> bmAttributes = 0x0002 >> wMaxPacketSize = 0x0200 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> >> Endpoint 8 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x000c >> bmAttributes = 0x0002 >> wMaxPacketSize = 0x0200 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> >> If a verbose boot or any other info is needed to get this working, >> please tell me, and I'll get you the info. >> >> I do have to admit, at the price these are going for, they are rather >> nice, and do reach out and touch a router. Review complaints: heat >> dissipation. If you buy one, don't operate it in a hot environment. >> I'd like to see it working in FreeBSD, but I don't have a handle on the >> wifi driver structure. Linux source code was included on the driver >> disk. I can email that directly to whomever needs it for comparison. >> >> >> Thanks, >> >> Jim, KC5VDJ >> >> _______________________________________________ >> freebsd-stable@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-stable >> To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org" >> > > -- > Bernhard > >