Monday, July 26, 2010

Belkin F6D4050 v2, openSUSE 11.3 (and possibly other flavors)

The kernel doesn't have the usb identifier for this device.  In order to use it I had to modify a couple things.

the command lsusb shows the usb id of : 050d:935b

create a file called /etc/modprobe.d/rt2870sta.conf

Add this line to the file with no line breaks.

install rt2870sta modprobe --ignore-install rt2870sta ; /bin/echo "050d 935b" > /sys/bus/usb/drivers/rt2870/new_id

After that if you restart it should be at least recognizing the hardware, manifested by using the command dmesg | grep firmware

That should show an error message about the kernel not being able to load the firmware for the wireless card.  To remedy that, we just need to install a common firmware package.

sudo zypper in kernel-firmware

Now, edit the file /etc/sysconfig/kernel and add rt2870sta to the MODULES_LOADED_ON_BOOT section, so it looks like this.

MODULES_LOADED_ON_BOOT="rt2870sta"

Save the file and reboot, or use the command sudo modprobe rt2870sta, and the card should be working now.  I tested with unsecured, WEP and WPA.  Everything seems to work great.

This USB identifier has been added to the kernel and in the future (it will take a little while to propogate out and be available in the update repositories) all you should have to do is install the kernel-firmware package and it will just work.