Belkin USB wireless not showing in YAST

Hi,
I have a Belkin F5D8055au USB wireless adapter which I can’t configure in YAST.

I have downloaded the RT2870sta driver from RALink and compiled it - seemed to be ok. Modprobe loads it ok.

Some info:


uname -r
2.6.31.12-0.2-pae

lsusb:
001 Device 005: ID 050d:825b Belkin Components

modprobe -v rt2870sta
insmod /lib/modules/2.6.31.12-0.2-pae/kernel/drivers/staging/rt2870/rt2870sta.ko

Yast->Hardware ->USB
 1: udi = '/org/freedesktop/Hal/devices/usb_device_50d_825b_1_0'
  info.vendor = 'Belkin Components'
  linux.hotplug_type = 2 (0x2)
  linux.subsystem = 'usb'
  info.subsystem = 'usb_device'
  info.product = '802.11 n WLAN'
  info.udi = '/org/freedesktop/Hal/devices/usb_device_50d_825b_1_0'
  usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:03.3/usb1/1-5'
  usb_device.configuration_value = 1 (0x1)
  usb_device.num_configurations = 1 (0x1)
  usb_device.device_class = 0 (0x0)
  usb_device.device_subclass = 0 (0x0)
  usb_device.device_protocol = 0 (0x0)
  usb_device.vendor_id = 1293 (0x50d)
  usb_device.product_id = 33371 (0x825b)
  usb_device.num_interfaces = 1 (0x1)
  usb_device.vendor = 'Belkin Components'
  usb_device.product = '802.11 n WLAN'
  usb_device.max_power = 450 (0x1c2)
  usb_device.num_ports = 0 (0x0)
  usb_device.linux.device_number = 6 (0x6)
  usb_device.serial = '1.0'
  usb_device.speed = 480.000
  usb_device.version = 2.00000
  usb_device.is_self_powered = false
  usb_device.can_wake_up = false
  usb_device.bus_number = 1 (0x1)
  linux.device_file = '/dev/bus/usb/001/006'
  usb_device.device_revision_bcd = 257 (0x101)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:03.3/usb1/1-5'
  info.parent = '/org/freedesktop/Hal/devices/usb_device_1d6b_2_0000_00_03_3'
  info.linux.driver = 'usb'

dmesg | tail
  297.812064] usb 1-5: new high speed USB device using ehci_hcd and address 6
  297.961546] usb 1-5: New USB device found, idVendor=050d, idProduct=825b
  297.961554] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
  297.961558] usb 1-5: Product: 802.11 n WLAN
  297.961561] usb 1-5: Manufacturer: Ralink
  297.961564] usb 1-5: SerialNumber: 1.0
  297.961832] usb 1-5: configuration #1 chosen from 1 choice
  339.392085] rt2870sta: module is from the staging directory, the quality is unknown, you have been warned.
  339.398947] rtusb init --->
  339.399043] usbcore: registered new interface driver rt2870

ifconfig wlan0 inet 192.168.2.2 up
SIOCSIFADDR: No such device
wlan0: unknown interface: No such device
wlan0: unknown interface: No such device


That last step with ifconfig was suggested in the Readme for the driver.

When I open network settings in YAST my wired (ethernet) card shows up but not the USB.

If I manually add a wireless card, I can’t select the kernel module from the drop down list - there is nothing in it. At that point I abort YAST.

So, how do I convince YAST that there really is a USB wireless adapter connected?

oh btw: 11.2, KDE4, traditional ifup
Thanks

On 06/16/2010 02:46 AM, GransRemedy wrote:
>
> Hi,
> I have a Belkin F5D8055au USB wireless adapter which I can’t configure
> in YAST.
>
> I have downloaded the RT2870sta driver from RALink and compiled it -
> seemed to be ok. Modprobe loads it ok.

You did not need the driver from RaLink as that driver is in staging and
is loaded automatically as you showed below. Modprobe will emit errors
only when the module format is wrong. I could load a module for a piece
of hardware that I do not have and it would be successful, but the only
result would be more memory used by the kernel.

> Some info:
>
> Code:
> --------------------
>
> uname -r
> 2.6.31.12-0.2-pae
>
> lsusb:
> 001 Device 005: ID 050d:825b Belkin Components
>
> modprobe -v rt2870sta
> insmod /lib/modules/2.6.31.12-0.2-pae/kernel/drivers/staging/rt2870/rt2870sta.ko

Note the path of the rt2870sta.ko file - it came from drivers/staging.

> Yast->Hardware ->USB
> 1: udi = ‘/org/freedesktop/Hal/devices/usb_device_50d_825b_1_0’
> info.vendor = ‘Belkin Components’
> linux.hotplug_type = 2 (0x2)
> linux.subsystem = ‘usb’
> info.subsystem = ‘usb_device’
> info.product = ‘802.11 n WLAN’
> info.udi = ‘/org/freedesktop/Hal/devices/usb_device_50d_825b_1_0’
> usb_device.linux.sysfs_path = ‘/sys/devices/pci0000:00/0000:00:03.3/usb1/1-5’
> usb_device.configuration_value = 1 (0x1)
> usb_device.num_configurations = 1 (0x1)
> usb_device.device_class = 0 (0x0)
> usb_device.device_subclass = 0 (0x0)
> usb_device.device_protocol = 0 (0x0)
> usb_device.vendor_id = 1293 (0x50d)
> usb_device.product_id = 33371 (0x825b)
> usb_device.num_interfaces = 1 (0x1)
> usb_device.vendor = ‘Belkin Components’
> usb_device.product = ‘802.11 n WLAN’
> usb_device.max_power = 450 (0x1c2)
> usb_device.num_ports = 0 (0x0)
> usb_device.linux.device_number = 6 (0x6)
> usb_device.serial = ‘1.0’
> usb_device.speed = 480.000
> usb_device.version = 2.00000
> usb_device.is_self_powered = false
> usb_device.can_wake_up = false
> usb_device.bus_number = 1 (0x1)
> linux.device_file = ‘/dev/bus/usb/001/006’
> usb_device.device_revision_bcd = 257 (0x101)
> linux.sysfs_path = ‘/sys/devices/pci0000:00/0000:00:03.3/usb1/1-5’
> info.parent = ‘/org/freedesktop/Hal/devices/usb_device_1d6b_2_0000_00_03_3’
> info.linux.driver = ‘usb’
>
> dmesg | tail
> 297.812064] usb 1-5: new high speed USB device using ehci_hcd and address 6
> 297.961546] usb 1-5: New USB device found, idVendor=050d, idProduct=825b
> 297.961554] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
> 297.961558] usb 1-5: Product: 802.11 n WLAN
> 297.961561] usb 1-5: Manufacturer: Ralink
> 297.961564] usb 1-5: SerialNumber: 1.0
> 297.961832] usb 1-5: configuration #1 chosen from 1 choice
> 339.392085] rt2870sta: module is from the staging directory, the quality is unknown, you have been warned.
> 339.398947] rtusb init —>
> 339.399043] usbcore: registered new interface driver rt2870
>
> ifconfig wlan0 inet 192.168.2.2 up
> SIOCSIFADDR: No such device
> wlan0: unknown interface: No such device
> wlan0: unknown interface: No such device

Please post the output of


/usr/sbin/iwconfig

That will show whether a wireless device appears. The rt2870 also needs
external firmware. Check the output of the dmesg command to see what
file name it will be trying to load.

Thanks for your response.

Yes, I noticed the module in staging - I removed it and replaced it with the one I compiled - no change. :\

Modprobing the original module did not ‘activate’ the device though (even after installing the ralink firmware). Neither did it make it show up in YAST ->Network Settings. So I went looking for an updated driver from RALINK.

iwconfig simply output ‘no wireless extensions’ on the eth1 and lo devices (no wireless device mentioned).

I since done some more digging, and found further info on the ubuntu forums - they have a patch for this device as it appears the device id for this adapter is not listed in the driver. They suggest changing a file called rt2870.h but there were no usb_device entries in that file for me.

I’ve finally (just) found the file to modify, its common/rtusb_dev_id.c The change is to add the usb device id (0x050d, 0x825b) to the list of devices then re-compile (and move the module to staging as above).

So, I’m a little closer now. At least I have the device active (blue light on it) and iwconfig ra0 shows the device there ready to be configured properly, but only after I modprobe rt2870sta and ifconfig ra0 inet 192.168.2.2 up

What I’m still unable to do is get the device visible in YAST->Network Settings for easy configuration (oh, and get the module loaded at boot.)

Any suggestions?

Thanks

On 06/17/2010 04:16 PM, GransRemedy wrote:
>
> Thanks for your response.
>
> Yes, I noticed the module in staging - I removed it and replaced it
> with the one I compiled - no change. :
>
> Modprobing the original module did not ‘activate’ the device though
> (even after installing the ralink firmware). Neither did it make it show
> up in YAST ->Network Settings. So I went looking for an updated driver
> from RALINK.
>
> iwconfig simply output ‘no wireless extensions’ on the eth1 and lo
> devices (no wireless device mentioned).
>
> I since done some more digging, and found further info on the ubuntu
> forums - they have a patch for this device as it appears the device id
> for this adapter is not listed in the driver. They suggest changing a
> file called rt2870.h but there were no usb_device entries in that file
> for me.
>
> I’ve finally (just) found the file to modify, its common/rtusb_dev_id.c
> The change is to add the usb device id (0x050d, 0x825b) to the list of
> devices then re-compile (and move the module to staging as above).

That ID is in the file drivers/staging/rt2860/usb_main_dev.c in kernel
2.6.35-rc3, NOT rt2870. Are you sure you have the right driver?

> So, I’m a little closer now. At least I have the device active (blue
> light on it) and iwconfig ra0 shows the device there ready to be
> configured properly, but only after I modprobe rt2870sta and ifconfig
> ra0 inet 192.168.2.2 up

Once that ID is in the correct table, the device scan program should
find the device/driver combo and automatically load the driver without
needing the modprobe. The ifconfig step is needed if you do not use
NetworkManager.
>
> What I’m still unable to do is get the device visible in YAST->Network
> Settings for easy configuration (oh, and get the module loaded at
> boot.)

Find out why it is not automatically loading.

Am I sure? No not really. I made an assumption that the RT2870 was the right driver because that was the name of the (Windows) driver shipped on the Belkin CD. The driver I downloaded from RALINK was the RT2870USB driver from Ralink corp.

I’ve also tried the RT3070 based on another post - but got undefined symbols when trying to insmod it.

I haven’t been able to make any further progress on this. After I modprobe and ifconfig to bring up the interface, I try to get a status on the interface and get this:

# ifstatus ra0
    ra0       name: Belkin USB N+ FD58055
DHCP4 client (dhcpcd) is running
. . . but is still waiting for data
ra0 is up
4: ra0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:22:75:41:1e:57 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::222:75ff:fe41:1e57/64 scope link
       valid_lft forever preferred_lft forever


scripts/ifstatus-wireless: line 108: cd: /sys/class/net/ra0/device/driver: No such file or directory
ra0       Ralink STA  ESSID:""  Nickname:"RT2870STA"
          Mode:Auto  Frequency=2.412 GHz  Bit Rate=1 Mb/s
          RTS thr:off   Fragment thr:off
          Encryption key:off
          Link Quality=10/100  Signal level:0 dBm  Noise level:-87 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

line 107-108 of ifstatus-wireless is this:

DRIVER="`( cd -P /sys/class/net/$INTERFACE/device/driver;
           echo ${PWD##*/}; )`"

Sure enough, there is no such directory as …/device/driver. Is this part of the problem?

Find out why it is not automatically loading.

Any suggestions on where I could look - I’m fresh out of ideas.

Thanks

On 06/18/2010 05:06 AM, GransRemedy wrote:
>
> lwfinger;2177589 Wrote:
>>
>> That ID is in the file drivers/staging/rt2860/usb_main_dev.c in kernel
>> 2.6.35-rc3, NOT rt2870. Are you sure you have the right driver?
>>
>
> Am I sure? No not really. I made an assumption that the RT2870 was the
> right driver because that was the name of the (Windows) driver shipped
> on the Belkin CD. The driver I downloaded from RALINK was the RT2870USB
> driver from ‘Ralink corp.’ (http://www.ralink.com.tw/support.php?s=2)

The fact that you needed to add the USB ID to the driver is a big flag
to me that it is not the right one. I just checked the 2.6.34-9 source,
the one used in 11.3 RC1, and it assigns that ID to rt2860sta.ko. I
think that is the “correct” driver.

What you should do is download
http://download.opensuse.org/factory/repo/oss/suse/i586/kernel-default-2.6.34-9.3.i586.rpm

Once you have that file on your computer, then issue the command

sudo rpm -iv kernel-default-2.6.34-9.3.i586.rpm

That will install a new kernel and add the GRUB option of booting it or
your old one. Once you boot it and before you do anything else, issue
the following commands:

lsmod | grep rt28
/usr/sbin/iwconfig

Please post the output.

Hi,

I don’t mean to interrupt, especially since the person helping is our local authority on wireless, but I had this problem with the linksys wusb100 v2 usb wireless n adapter.

Same problem, where the id is not in the rt2870 module, but it’s the driver that was shipped with windows. You can fix that and use the one shipped with the default kernel (no compiling of the driver needed) by using this workaround:

Create a file called rt2870sta.conf in /etc/modprobe.d

In that file copy and paste this code:

install rt2870sta modprobe --ignore-install rt2870sta ; /bin/echo "1737 0078" > /sys/bus/usb/drivers/rt2870/new_id

Then open a terminal and do

modprobe -rf rt2870sta
modprobe rt2870sta

I can’t remember what I did to make this module start on boot since I’m not at my linux computer right now to check, but this method worked for me. I could then use the Network Manager in KDE to control the device. I didn’t try with Yast’s Network Manager.

Take Care,

Ian

ok done.
A couple of warnings from modprobe during installation: sis5513, and ide_pci_generic not found.

lsmod | grep rt28
rt2870sta        436230        0
crc_ccitt        1403        2        irda,rt2870sta
usbcore        192259        6        usbhid,rt2870sta,usb_storage,ohci_hcd,ehci_hcd

and iwconfig:

iwconfig
wlan0        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

so that seems promising (didn’t have to modprobe anything).

I do not understand why it is rt2870 and not rt2860, but hotplug knows
what it is doing.

What does the command below produce?

sudo /usr/sbin/iwlist wlan0 scan

In particular, does your AP show up?

Are you planning to use “ifup” or NetworkManager?

oh - network is down. iwlist wlan0 scan says:

wlan0        Interface doesn't support scanning : Network is down

ifup wlan0 reports no config for wlan0. Do I need to create one manually before I can bring up the interface? I don’t know how to use these command line tools, so maybe network manager would be better? Is that different to using Yast’s network settings?

Thanks

dmesg says

rt28xx Initialized failed!

because it can’t find/load firmware rt3071.bin

I assume this will be in the ralink-firmware 1.0-25.1 rpm

On 06/18/2010 10:06 PM, GransRemedy wrote:
>
> ifup wlan0 reports no config for wlan0. Do I need to create one
> manually before I can bring up the interface? I don’t know how to use
> these command line tools, so maybe network manager would be better? Is
> that different to using Yast’s network settings?

If you use the ifup method, you can either build the necessary file for
the device manually, or with YaST. NetworkManager is a lot easier.

Sigh
I cannot find the right firmware.

Dmesg says its looking for rt3071.bin (I have ralink firmware 1.1-1.1 installed).

The only version of this file I’ve been able to find is too old. Dmesg now says that it needs version 17 or later.

Any ideas where I can find it?

In case anyone else is interested, I found the firmware over at Ubuntu here: http://people.canonical.com/~cndougla/bugs/580926/linux-firmware_1.35_all.deb

Its a deb file, so just expand it with Ark. The firmware is in the data tarball, so just expand that too.

Note the file on the RALINK website which claims to have this firmware in it only has the rt2870.bin file which did not work for me.

Copied the rt3071.bin file to /lib/firmware and am now in business.

Thanks (esp. @lwfinger)