FriendlyELEC NanoPi R2S, no Wireless connect

FriendlyELEC NanoPi R2S with USB WiFi dongle RTL8188CUS. I would like to use WiFi dongle to connect to other WiFi network as described at Wireless client.

WiFi dongle was tested with FriendlyWrt and it is supported, it works once drivers are installed from OpenWrt repository.

I run IPfire CU 189 and I do not see menu “System/Wireless client”. I see that WiFi adapter was recognized, I see it in lsusb output:

[root@ffire ~]# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 002: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter

I see it in ifconfig output:

[root@ffire ~]# ifconfig wlan0
wlan0: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 64:70:02:11:22:cc  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@ffire ~]# iw dev wlan0 info
Interface wlan0
        ifindex 4
        wdev 0x1
        addr 64:70:02:11:22:cc
        type managed
        wiphy 0
        txpower 0.00 dBm
        multicast TXQ:
                qsz-byt qsz-pkt flows   drops   marks   overlmt hashcol tx-bytes        tx-packets
                0       0       0       0       0       0       0       0               0

IPfire ignores adapter, it doesn’t allow me to connect to other WiFi.

Note. NanoPi R2S has no wireless hardware on board…

I used similar configuration with RPI 3B+ running IPfire and it worked, so I know what to expect. In the case of RPI, I used WiFi module that is integrated on RPI 3B+…

close out all browsers to the web GUI.

On a SSH root or at the machine logged in as root:

ip link set wlan0  up

if you get an error that says: Operation not possible due to RF-kill,
We would have to do some other configuring if that is an issue on this distribution.

Now open a web browser on a client computer.
You should see the menu item appear in the web gui.

If not:
with the dongle plugged in, reboot and run setup from the root and configure red with the adapter. If its not there, then you will have to map the device as the driver did not handle its mapping to udev correctly. This is the issue behind some wireless adaptors not working, but have a driver on Linux installs. I will explain how to map your hardware (if needed), but it does look like it already is (wlan0). It just needs to be managed by setup instead of the general OS I’m assume is currently managing it.

.

The command setup is the key for this issue. I had to switch red from internal WAN port to WiFi dongle, after that Wireless client menu was activated. I can connect over WiFi now.

I tested a speed with speedtest.net and I get only about 6/5 Mbps. When I tested similar setup with FriendlyWrt, I measured 30/5 Mbps (this is limited by my internet connection), it looks like download speed with IPfire is only 20% compared to FriendlyWrt. That is not good but this could be caused by a WiFi driver…

Anyway, article describing Wireless client configuration doesn’t write about setup utility and that it is important to assign red interface to WiFi adapter.


I retested setup with FriendlyWrt and I measure similar speed. I cannot explain why speed is seriously slower now than it was few hours ago. It is not ISP issue, I can reach speed limit. The speed issue is related to WiFi, maybe my neighbor started to watch video over WiFi or some other source of interference is active now.

speed is another issue, but there are only two variables that would effect a wireless dongle:

  1. The USB port speed
  2. Wireless driver parameters.

One aspect to look at with wifi being red or the WAN, on ipfire is the tx queue, as that is not optimised on any network interface and the default on the wireless (1000) might be set too low for the application.

Try:
ifconfig wlan0 txqueuelen 15000

other sizes I recommend to try is 2500, 3300, 6600, 10000 and the max 20000.

if that works better, then you would add the settings permanently by invoking it during start up by:

nano /etc/rc.local
and adding the fallowing (in example, this changed TxQ to 10000) :

/sbin/ifconfig eth1 txqueuelen 10000