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-sta...@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

--
Bernhard

_______________________________________________
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to