Sunday, January 6, 2013

Raspberry Pi and the ISY USB Wireless Micro Adapter

I bought the "ISY USB Wireless Micro Adapter" for my Raspberry Pi's.
It's also called "IWL 2000" and supports the N150 standard. It is equipped with a blue led. It works with and without a powered USB HUB. It has a Belkin USB ID and a Realtek Chipset.

It doesn't work out of the box with Raspbian 2012-12-16 wheezy release.

But fortunately it's not hard to get it working:
The 8192cu driver included with raspbian does work, but is not linked with the USB ID of the device. The 8192cu is not the same as the rtl8192cu driver which is included in other releases. I'm using kernel 3.6.11+.

In the output of "lsusb" this is what's show for the device:
Bus 001 Device 006: ID 050d:11f2 Belkin Components

After an "sudo update-usbids" this is what's shown in "lsusb"
Bus 001 Device 004: ID 050d:11f2 Belkin Components ISY Wireless Micro Adapter IWL 2000 [RTL8188CUS]

To load the 8192cu kernel module:
echo 8192cu >> /etc/modules # this makes sure the driver gets loaded on startup
modprobe 8192cu # this loads the driver now

To add the USB ID to the driver:
echo "050d 11f2" > /sys/bus/usb/drivers/rtl8192cu/new_id

You should add this line to /etc/rc.local to make it persistent.

Now it should show up with "ifconfig"  and "iwconfig" and you could configure it just like any other wifi interface.




14 comments:

  1. Hello,

    Maybe you can help me.
    I have a ISY USB with the ID: 050D:21F. I cannot find the driver related to it. Could you give me any idea to proceed?

    Thank you a lot in advance.

    Ruth

    ReplyDelete
  2. I couldn't find any information about that USB ID:
    https://usb-ids.gowdy.us/read/UD/050d/21f1

    Have you tried to force load a specific driver?

    Do you know more about what kind of chipset is used?

    ReplyDelete
  3. It's not enough to add the echo-line to the rc.local.
    You also need to add "modprobe 8192cu #" before the echo line. Else it wont work during startup, because the driver directory is missing.

    It took me a long time to figure this out!!!

    ReplyDelete
  4. Thanks for this blog.

    I guess there is a minor typo:

    In the modprobe line: 9192cu --> 8192cu

    ReplyDelete
    Replies
    1. That's indeed a typo. I've fixed it in the article.

      Delete
  5. thanks! works exactly as described!

    ReplyDelete
  6. There is a more "clean" solution, also see http://www.forum-raspberrypi.de/Thread-wlan-stick-isy-iwl2000-problem

    You can make the WLAN stick be recognized automatically including loading the right driver without any modifications of /etc/modules or /etc/rc.local.

    1) Create a custom configuration for modprobe

    echo 'install 8192cu /sbin/modprobe --ignore-install 8192cu; /bin/echo "050d 11f2" > /sys/bus/usb/drivers/rtl8192cu/new_id' | sudo tee /etc/modprobe.d/rtl8192cu.conf

    2) Create a new udev-rule

    echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="050d", ATTR{idProduct}=="11f2", RUN+="/sbin/modprobe 8192cu"' | sudo tee /etc/udev/rules.d/10-wlan-stick.rules

    This way the driver will only be loaded when the stick is present.

    ReplyDelete
  7. This works but does anybody else have a very weak signal using this adapter? With weak I mean that the raspberry can not be further than 5 meters away from the wlan access point.

    ReplyDelete
  8. Hello,

    I have the following problem:

    When I write: modprobe 8192cu
    It says: FATAL: Module 8192.cu not found

    What have I made wrong?

    And when I write :
    echo "050d 11f2" > /sys/bus/usb/drivers/rtl8192cu/new_id
    It says: -bash: /sys/bus/usb/drivers/rtl8192cu/new_id: No such file or directory

    Please help me :)

    ReplyDelete
    Replies
    1. Could you give some more information?

      Some debugging/information steps:
      locate 8192cu.ko
      uname -a
      lsb_release -a

      I noticed that there is a dot in the module name of your error message (8192.cu instead of 8192cu). Could that be the issue?

      And the /sys/bus/usb/drivers/rtl8192cu is only available if the driver is loaded.

      Delete
    2. Hello,

      Ok, it runs now.
      Which line must I write into /etc/rc.local that it starts every time it boots?

      Delete
  9. I followed the steps and I can get my Wifi stick running by loading the driver manually. However I'm using OpenElec and therefore I can't get the driver to load on startup. When using the command as stated in this blog (and the alternatives in the comments) I get a read-only error. Apparantly in OpenElec big parts of the file-system can't be changed.
    Right now I need to activate the driver manually after every reboot and thus after every reboot I need to connect my Pi with a cable to my network.

    Does anybody have a solution?

    ReplyDelete
    Replies
    1. I don't use OpenElec myself, but it seems to be possible:
      https://sites.google.com/site/andreierdei/openelec-addons/squashfs-howto

      Delete