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.
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.
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.)
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.)
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.
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.
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:
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
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.
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?
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.