Belkin F5D9050 Wireless G+ Ralink RT2573

This forum is for topics specific to the Raspberry Pi and Arch Linux ARM

Belkin F5D9050 Wireless G+ Ralink RT2573

Postby jbodhorn » Tue Jan 03, 2017 5:05 am

I'm having trouble with a usb wifi adapter on a raspberry pi running Arch arm
Code: Select all
lsusb

Code: Select all
Bus 001 Device 009: ID 050d:905b Belkin Components F5D9050 Wireless G+ MIMO Network Adapter v3000 [Ralink RT2573]

I can get it to connect and it'll work fine for a while but when it disconnects its causing problems because I can't ssh in to reboot. I've installed dnsmasq and set my iptables to share my wifi connection to ethernet and I've also set up hostapd to share my wifi to a second wifi adapter.

I don't have any issues that I know of with my usb belkin wifi adapter when using Arch x86_64 but to even get it to work in Arch arm I had to make a conf file under
Code: Select all
/etc/modules-load.d/
to load
Code: Select all
crc_itu_t


On my x86_64 laptop running Arch when I use that belkin wifi adapter there are four modules that load that even when added to my conf file in Arch arm don't load, those modules are rfkill, led_class, usbcore, and usb_common. Could those missing modules be the reason I'm having issues with my wifi adapter, are they not available in Arch arm and that's why they don't load?
jbodhorn
 
Posts: 40
Joined: Wed Dec 16, 2015 2:22 am

Re: Belkin F5D9050 Wireless G+ Ralink RT2573

Postby jbodhorn » Sun Jan 08, 2017 10:33 pm

Could my problem have to do with powersaving options on the wireless card? Maybe it is going to sleep and not waking up? I've been doing all my setup from cli/ssh and haven't installed a DE so powersaving hadn't crossed my mind while trying to figure out why my wireless card keeps cutting out. Plus I've been using the card that keeps cutting out for a wireless hotspot with hostapd so the card falling asleep definitely hadn't crossed my mind.

Today I was trying to figure out what the cause of my problem is and was reading the Arch wiki, the wireless network configuration linked to powersaving and powersaving showed me examples of udev rules. I followed the examples and made a udev rule.
Code: Select all
[alarm@alarmpi rules.d]$ sudo cat 50-usb_power_save.rules 
[sudo] password for alarm:
# blacklist for usb autosuspend
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="050d", ATTR{idProduct}=="905b", GOTO="power_usb_rules_end"

ACTION=="add", SUBSYSTEM=="usb", TEST=="power/control", ATTR{power/control}="auto"
LABEL="power_usb_rules_end"

I got the idvendor and idproduct by doing
Code: Select all
 sudo lsusb -v

Code: Select all
Bus 001 Device 010: ID 050d:905b Belkin Components F5D9050 Wireless G+ MIMO Network Adapter v3000 [Ralink RT2573]
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x050d Belkin Components
  idProduct          0x905b F5D9050 Wireless G+ MIMO Network Adapter v3000 [Ralink RT2573]
  bcdDevice            0.01
  iManufacturer           1 Belkin
  iProduct                2 (error)
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              300mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0000
  (Bus Powered)


Did I make my rule right and is there a way to test that it is working?
This was the example I followed from the wiki
Alternatively, to blacklist devices that are not working with USB autosuspend and enable it for all other devices:
Code: Select all
/etc/udev/rules.d/50-usb_power_save.rules

Code: Select all
# blacklist for usb autosuspend
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", ATTR{idProduct}=="9205", GOTO="power_usb_rules_end"

ACTION=="add", SUBSYSTEM=="usb", TEST=="power/control", ATTR{power/control}="auto"
LABEL="power_usb_rules_end"



I didn't do the part that follows the above example from the wiki because the usbcore module is one of the modules that won't load. Will this cause me any problems, do I need usbcore module and if so how can I get it in Arch arm?
The default autosuspend idle delay time is controlled by the autosuspend parameter of the usbcore kernel module. To set the delay to 5 seconds instead of the default 2 seconds:
Code: Select all
/etc/modprobe.d/usb-autosuspend.conf

Code: Select all
options usbcore autosuspend=5



Code: Select all
[alarm@alarmpi rules.d]$ sudo modprobe usbcore
[sudo] password for alarm:
[alarm@alarmpi rules.d]$ sudo lsmod
Module                  Size  Used by
md4                     3503  0
nls_utf8                1387  4
tun                    18616  2
cifs                  395929  7
ccm                     8100  3
xt_tcpudp               2219  1
xt_conntrack            3068  1
iptable_filter          1593  1
ipt_MASQUERADE          1152  1
nf_nat_masquerade_ipv4     2762  1 ipt_MASQUERADE
iptable_nat             1860  1
nf_conntrack_ipv4      13115  2
nf_defrag_ipv4          1645  1 nf_conntrack_ipv4
nf_nat_ipv4             5584  1 iptable_nat
nf_nat                 15792  2 nf_nat_ipv4,nf_nat_masquerade_ipv4
nf_conntrack           94330  5 nf_nat,nf_nat_ipv4,xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_ipv4
iptable_mangle          1579  0
iptable_raw             1402  0
fuse                   82386  3
arc4                    1808  4
rt2800usb              17879  0
rt2800lib              79776  1 rt2800usb
rt73usb                23122  0
rt2x00usb              11874  2 rt73usb,rt2800usb
rt2x00lib              44548  4 rt73usb,rt2x00usb,rt2800lib,rt2800usb
mac80211              570691  3 rt2x00lib,rt2x00usb,rt2800lib
evdev                  10664  0
joydev                  8670  0
cfg80211              482600  2 mac80211,rt2x00lib
crc_ccitt               1681  1 rt2800lib
bcm2835_rng             2135  0
bcm2835_gpiomem         3515  0
rng_core                7910  1 bcm2835_rng
bcm2835_wdt             3679  0
uio_pdrv_genirq         3322  0
uio                     9130  1 uio_pdrv_genirq
sch_fq_codel            8238  11
snd_bcm2835            21199  0
snd_pcm                87729  1 snd_bcm2835
snd_timer              20249  1 snd_pcm
snd                    62460  3 snd_bcm2835,snd_timer,snd_pcm
ip_tables              11565  4 iptable_filter,iptable_mangle,iptable_nat,iptable_raw
x_tables               18073  7 ip_tables,xt_tcpudp,ipt_MASQUERADE,xt_conntrack,iptable_filter,iptable_mangle,iptable_raw
ipv6                  345699  16
hid_logitech_hidpp     10811  0
hid_logitech_dj        10672  0
jbodhorn
 
Posts: 40
Joined: Wed Dec 16, 2015 2:22 am

Re: Belkin F5D9050 Wireless G+ Ralink RT2573

Postby jbodhorn » Mon Jan 09, 2017 12:13 am

I was just looking through dmesg and saw this:
Code: Select all
[    3.376199] usbcore: registered new interface driver ax88179_178a
[    3.383081] usbcore: registered new interface driver smsc95xx
[    3.389353] usbcore: registered new interface driver cdc_ncm

So I guess the usbcore module is loading at boot on my Arch arm install, I don't understand why it isn't shown when I type
Code: Select all
lsmod

The usbcore module isn't listed as I showed in my post above
jbodhorn
 
Posts: 40
Joined: Wed Dec 16, 2015 2:22 am

Re: Belkin F5D9050 Wireless G+ Ralink RT2573

Postby moonman » Mon Jan 09, 2017 5:39 am

It doesn't show up because it is not built as a module, but rather built into kernel
https://github.com/archlinuxarm/PKGBUIL ... g.v6#L3725

To control the parameters in such a situation, you need to pass arguments to the kernel at the command line:
<your_mod_name>.<your_mod_parameter_var_name>=<an_appropriate_value>

You can also use wifi-menu and netctl-auto@ service to automatically reconnect
https://wiki.archlinux.org/index.php/ne ... f_profiles
Pogoplug V4 | GoFlex Home | Raspberry Pi B 512 | CuBox-i4 Pro | ClearFog | BeagleBone Black | Odroid U2 | Odroid C1 | Odroid XU4
-----------------------------------------------------------------------------------------------------------------------
[armv5] Updated U-Boot | |[armv5] How to install my.pogoplug.com service | [armv5] NAND Rescue System
moonman
Developer
 
Posts: 3089
Joined: Sat Jan 15, 2011 3:36 am
Location: Calgary, Canada


Return to Raspberry Pi

Who is online

Users browsing this forum: No registered users and 3 guests

cron