Date: Fri, 10 Jun 2011 14:48:06 -0500 From: Jim Bryant <kc5vdj.freebsd@gmail.com> To: bschmidt@freebsd.org Cc: weongyo@freebsd.org, freebsd-wireless@freebsd.org, freebsd-stable@freebsd.org, freebsd-usb@freebsd.org Subject: Re: problem with urtw Message-ID: <4DF274F6.6050905@gmail.com> In-Reply-To: <201106100913.42480.bschmidt@freebsd.org> References: <4DF12E4A.5020906@gmail.com> <201106100913.42480.bschmidt@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
the patch didn't get it. ugen3.2: <vendor 0x0bda> at usbus3 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 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 ugen3.2: <vendor 0x0bda> 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: <vendor 0x0bda> at usbus3 >> >> after kldload if_urtw.ko: >> >> 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 >> 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 >> 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 >> 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 >> >> 3:28:35pm argus(48): usbconfig -u 3 -a 2 dump_device_desc >> ugen3.2: <product 0x8187 vendor 0x0bda> 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 <Wireless Manufacturer> >> iProduct = 0x0002 <USB2.0 WLAN Adapter> >> iSerialNumber = 0x0000 <no string> >> bNumConfigurations = 0x0001 >> >> 3:28:48pm argus(49): usbconfig -u 3 -a 2 dump_curr_config_desc >> ugen3.2: <product 0x8187 vendor 0x0bda> 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 <Wireless Network Card> >> bmAttributes = 0x0080 >> bMaxPower = 0x00fa >> >> Interface 0 >> bLength = 0x0009 >> bDescriptorType = 0x0004 >> bInterfaceNumber = 0x0000 >> bAlternateSetting = 0x0000 >> bNumEndpoints = 0x0009 >> bInterfaceClass = 0x00ff >> bInterfaceSubClass = 0x00ff >> bInterfaceProtocol = 0x00ff >> iInterface = 0x0002 <USB2.0 WLAN Adapter> >> >> Endpoint 0 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x0083 <IN> >> > > 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 <BULK> >> wMaxPacketSize = 0x0200 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> >> Endpoint 1 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x0004 <OUT> >> bmAttributes = 0x0002 <BULK> >> wMaxPacketSize = 0x0200 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> >> Endpoint 2 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x0005 <OUT> >> bmAttributes = 0x0002 <BULK> >> wMaxPacketSize = 0x0200 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> >> Endpoint 3 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x0006 <OUT> >> bmAttributes = 0x0002 <BULK> >> wMaxPacketSize = 0x0200 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> >> Endpoint 4 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x0007 <OUT> >> bmAttributes = 0x0002 <BULK> >> wMaxPacketSize = 0x0200 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> >> Endpoint 5 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x0089 <IN> >> bmAttributes = 0x0002 <BULK> >> wMaxPacketSize = 0x0200 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> >> Endpoint 6 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x000a <OUT> >> bmAttributes = 0x0002 <BULK> >> wMaxPacketSize = 0x0200 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> >> Endpoint 7 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x000b <OUT> >> bmAttributes = 0x0002 <BULK> >> wMaxPacketSize = 0x0200 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> >> Endpoint 8 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x000c <OUT> >> bmAttributes = 0x0002 <BULK> >> 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 > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4DF274F6.6050905>