openSUSE 11.3, Belkin F6D4050 v2 not functional

I followed the instructions on the wireless sticky here. I only really got as far as the search for “firmware” in dmesg. I didn’t find firmware in the file. Below is a screenshot of the hardware info for the USB nic.

The network card isn’t even turning on. The command iwconfig doesn’t show a wireless interface at all. Does anyone have any further ideas with this nic? I’ve tried to work through it, but kept hitting dead ends.

(The nic works fine in windows.)

http://dl.dropbox.com/u/308542/wireless.png

Also, the output of lsusb is…

Bus 001 Device 007: ID 050d:935b Belkin Components

This card, as far as I can tell, uses rt2870sta which seems to be loaded on the system. It’s obviously not working.
Output of modprobe -l |grep rt2870
kernel/drivers/staging/rt2870/rt2870sta.ko

After some further research, I found a little info about this in other forms. I’m not sure if I’m going down the right path here, but now iwconfig shows an interface and dmesg is requesting firmware.

I added this to the file /etc/modprobe.d/rt2870sta.conf
install rt2870sta modprobe --ignore-install rt2870sta ; /bin/echo “050d 935b” > /sys/bus/usb/drivers/rt2870/new_id

After restarting, I got this from iwconfig…
wlan1 Ralink STA ESSID:""
Mode:Auto Frequency=2.412 GHz
Link Quality=10/100 Signal level:0 dBm Noise level:-143 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

dmesg |grep firmware
1114.732260] usb 1-4.4: firmware: requesting rt3070.bin
1114.759886] usb 1-4.4: firmware file rt3070.bin request failed (-2)
1114.762680] usb 1-4.4: firmware: requesting rt3070.bin
1114.765048] usb 1-4.4: firmware file rt3070.bin request failed (-2)

So, I think I’m making good progress. Does anyone know where I can download the proper firmware? I tried searching around for it but didnt have much luck. Also, the firmware number doesn’t match up with the driver number. Is that normal?

On 07/19/2010 02:46 AM, rodhuffaker wrote:
>
> After some further research, I found a little info about this in other
> forms. I’m not sure if I’m going down the right path here, but now
> iwconfig shows an interface and dmesg is requesting firmware.

That is good progress.
>
> I added this to the file /etc/modprobe.d/rt2870sta.conf
> install rt2870sta modprobe --ignore-install rt2870sta ; /bin/echo “050d
> 935b”> /sys/bus/usb/drivers/rt2870/new_id

Once you get this thing running, I will submit a patch to add this USB ID to the
driver’s table.
>
> After restarting, I got this from iwconfig…
> wlan1 Ralink STA ESSID:""
> Mode:Auto Frequency=2.412 GHz
> Link Quality=10/100 Signal level:0 dBm Noise level:-143 dBm
> Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
> Tx excessive retries:0 Invalid misc:0 Missed beacon:0
>
> dmesg |grep firmware
> 1114.732260] usb 1-4.4: firmware: requesting rt3070.bin
> 1114.759886] usb 1-4.4: firmware file rt3070.bin request failed (-2)
> 1114.762680] usb 1-4.4: firmware: requesting rt3070.bin
> 1114.765048] usb 1-4.4: firmware file rt3070.bin request failed (-2)
>
> So, I think I’m making good progress. Does anyone know where I can
> download the proper firmware? I tried searching around for it but didnt
> have much luck. Also, the firmware number doesn’t match up with the
> driver number. Is that normal?

This driver is in the “staging” portion of the Linux kernel. That means that the
driver is vendor written, and that it is of unknown quality. It is provided as a
service, but it may not work. The filename for the firmware is what the vendor
put in there, so if this driver really works for your device, then that is the
correct name.

You should install the “kernel-firmware” package using


sudo zypper in kernel-firmware

That will get you all of the firmware for rtXXXX devices, including rt3070.bin.

[QOUTE]This driver is in the “staging” portion of the Linux kernel. That means that the
driver is vendor written, and that it is of unknown quality. It is provided as a
service, but it may not work. The filename for the firmware is what the vendor
put in there, so if this driver really works for your device, then that is the
correct name.

You should install the “kernel-firmware” package using


sudo zypper in kernel-firmware

That will get you all of the firmware for rtXXXX devices, including rt3070.bin.[/QUOTE]

Thank you very much. The network card is now working with the proper firmware in place. I was able to connect to a non secure wireless network, and also to my WPA2 network which I’m currently using.

Upon reboot, the only thing I had to do manually was reload the driver with…

modprobe -rf rt2870sta (probably not necessary)
modprobe rt2870sta

and it immediately lights up and shows available networks.

At this point, what’s preventing it from loading automatically at boot time?
I changed the conf file name to 50-rt2870sta.conf to match what looked like other network files in the /etc/modprobe.d folder. (didn’t make a difference) I also checked the blacklist to make sure it wasn’t in there. Any ideas? It seems like I’m missing something obvious.

Ok, yeah. It was something very obvious. I had to add rt2870sta to the “MODULES_LOADED_ON_BOOT” section of /etc/sysconfig/kernel.
MODULES_LOADED_ON_BOOT=“rt2870sta”

Everything seems to be working great now.

Hi, rodhuffaker
I am using the same USB adapter as you. But I can’t get it working. I have installed the firmware, and there is no message about the adapter after the command

dmesg |grep firmware

So, maybe it’s the problem about the drivers. Could you please show me your way to install the driver? Thank you in advance.

williamsunny,

The kernel didn’t have usb identifier for this network card, so just installing the firmware will not make it work. So you need to modify a few things. The kernel has been patched, so in the future you should just have to install firmware. We just need to wait for it to propagate out to the updates I guess.

Create a file in /etc/modprobe.d/ called rt2870sta.conf
Add this to the file all as one line…

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

Now, modify /etc/sysconfig/kernel to load the module at boot time. Find the “MODULES_LOADED_ON_BOOT” parameter and add rt2870sta
MODULES_LOADED_ON_BOOT=“rt2870sta”

Reboot, and it should be working for you.

Hi, rodhuffaker, I made it works in another way. Thank you all the same for your reply.
And more details is there: Help~ Belkin F6D4050 v2 does not work in OpenSUSE 11.3

Working on an older laptop using a Belkin F6D4050 v1 (NOT v2) …Fresh install (and updated) of OpenSUSE 11.3, if anyone is interested.

It took me quite a bit of stumbling around to figure out what my problem was.

I’ve never seen Linux identify a device, not load a driver AND not throw a warning about it. I think that’s the baffling part here, someone should enable some warning somewhere to simplify things.

I finally located my Device id… it is: 050d 935a

I am attempting your method above to fix this (Using my device id of course). I will reboot and report back momentarily whether or not I have success. Stand by…

100% Good-to-go!! Woo-hoo!! I am editing this post using the wireless connection. Just for the record I had previously disabled IPv6, because I know that it can do all sorts of screwy things and cause various network issues. I generally disable it anyway, so I doubt if that had any impact on this at all.

Can we see if we can get these device ids added in now?

Thanks so much!!

p.s. Another bit of confusion, I ran across a 2860 conf file when I searched the Software Manager, but no 2870 conf file. You might want to look into that, unless this is the bit you were planning on adding in. :wink:

On 10/27/2010 03:36 PM, Crogon wrote:
>
> 100% Good-to-go!! Woo-hoo!! I am editing this post using the wireless
> connection. Just for the record I had previously disabled IPv6, because
> I know that it can do all sorts of screwy things and cause various
> network issues. I generally disable it anyway, so I doubt if that had
> any impact on this at all.
>
> Can we see if we can get these device ids added in now?
>
> Thanks so much!!
>
> p.s. Another bit of confusion, I ran across a 2860 conf file when I
> searched the Software Manager, but no 2870 conf file. You might want to
> look into that, unless this is the bit you were planning on adding in.
> :wink:

Is it correct that the rt2870 driver applies to this device? If that is correct,
I will submit a patch to have your ID added to it. Please send me a private
message with your E-mail address so that you get credit for testing.

My device had the same symptoms as yours. My device id is now in the kernel and only needs the firmware installed to work. I think it took a couple of weeks to propagate out to the opensuse updates. At that point I was able to remove my usb id hack, and the new kernel detected the nic without issue.

As far as the 2860 conf file you mention, I don’t remember exactly how it’s setup and I’m sure lwfinger can tell you better, but the 2870 is basically linked to another driver file rather than being a driver itself.

I see, well a nice update when things get sorted out would be nice. :slight_smile:

Still, the part that bothered me is that no driver installed and no error was thrown. Just a bit bizarre. I would have expected to find a message from the kernel buried somewhere that said ‘I don’t have a driver for that’. …if nothing else.

Anyway, thanks again!

For the record:

git.kernel.org - linux/kernel/git/torvalds/linux-2.6.git/commit

Due to this or other threads in this forum, the ID was added to rt2870sta.ko in 2.6.35 (see link above).

As openSUSE 11.3 comes with 2.6.34 the ID is not included (at least yet).

For openSUSE 11.2/11.3, there are backported drivers in the driver:wireless repo

Index of /repositories/driver:/wireless

called “rt28x0-staging-something”.

Needed packages are “rt28x0-staging-kmp-<YOUR_KERNEL_FLAVOR>” matching your running kernel (see uname -a to get an idea about that) for the drivers and “rt28x0-staging-common” -which will be pulled in automatically by zypper/YaST as a dependency- containing firmware files from latest “linux-firmware” git tree.

Example (openSUSE 11.2, x86_64, kernel-desktop 2.6.31.14-0.2):

uname -a
Linux Fatboy **2.6.31.14-0.2-desktop** #1 SMP PREEMPT 2010-10-07 19:06:53 +0200 **x86_64** x86_64 x86_64 GNU/Linux

rpm -qa "rt28x0-staging*"

rt28x0-staging-common-2.6.36-1.3.noarch.rpm
rt28x0-staging-kmp-**desktop**-2.6.36_**2.6.31.14_0.2**-1.3.**x86_64**.rpm

modinfo rt2870sta |grep 935
alias:          usb:v**050D**p**935B**d*dc*dsc*dp*ic*isc*ip*

Voilà.

On 10/28/2010 05:36 AM, Crogon wrote:
>
> I see, well a nice update when things get sorted out would be nice. :slight_smile:
>
> Still, the part that bothered me is that no driver installed and no
> error was thrown. Just a bit bizarre. I would have expected to find a
> message from the kernel buried somewhere that said ‘I don’t have a
> driver for that’. …if nothing else.

Each driver has a table of IDs that it recognizes. The ID for your device was
not in any table, thus Linux completely ignored it. That is the way things work
here. No driver loaded and no message.

By now, you will have received a copy of the patch to the kernel sources that
will include your device. That will be applied to the current kernel source, as
well as backported to the stable kernels including 2.6.34. Once it propagates to
the openSUSE kernel, your device will suddenly work without the USB ID hack. I
do not know how long that will take.

Larry,

I’m having similar issues with the Ralink 3070 chipset. Please see this post

Any backported drivers for the 3070 chip?

/Peter

Sorry, no need for further investigation - the nic suddenly decided to start working.

No wonder I’d panic…

I’ve updated my original post.

/Peter