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> 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
On Thursday 09 June 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> > 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, KC5VDJHi, I think there is some firmware you need to load before it works. --HPS
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