Computers for industrial control and automation systems

mPCIe RedPine RS9113 WiFi/ZigBee/Bluetooth card

mPCIe WiFi RedPine RS9113 card

The RS9113 USB Half Mini Cardis based on Redpine Signals’ RS9113 ultra-low-power Convergence SoC. It offers dual-band 1x1 802.11n, dual-mode Bluetooth 4.0 and ZigBee 802.15.4 in a single device over USB in a Mini PCIe Card form factor.

RB350 has one Mini PCI Express Card connector where you can mount RedPine RS9113 card. The RS9113 card is Half Mini Card, but the connector is for Full Mini Card so you need an adapter. There is also a possibility to mount during production connector for Half Mini Card.

Driver installation

Drivers installation requires a kernel build. For our customers we provide rs9113.sh script for that.

chmod +x rs9113.sh
./rs9113.sh

After successful installation of the driver interfaces wlan0 and zigbe0 should be created. This can be seen using 'ifconfig' command.

By default RS9113 card is configured in Wi-Fi station and ZiGB station mode (mode dev_oper_mode=17). You can change mode by editing the file:

nano /etc/modprobe.d/rsi_91x.conf

and change dev_oper_mode to required. For example:

  • Wi-Fi station mode dev_oper_mode=1,
  • Wi-Fi and Bluetooth EDR mode dev_oper_mode=5,
  • ZigBee station mode dev_oper_mode=16.

For more details see chapter 3.3 of Technical Reference Manual.

WiFi

Scan Wifi

To scan for WiFi networks, use the command:

sudo iwlist wlan0 scan

Config Wifi

The quickest way to enable wireless networking is to use the command line raspi-config tool:

sudo raspi-config

Select the Network Options item from the menu, then the Wi-fi option. Then set the SSID of the network, and the passphrase for the network. For more information see Raspberry Pi setting WiFi.

Check the Wifi connection:

pi@pigeon:~$ ifconfig wlan0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.163  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::86c3:3a53:8d7d:7e  prefixlen 64  scopeid 0x20<link>
        ether 88:da:1a:24:d9:70  txqueuelen 1000  (Ethernet)
        RX packets 10047  bytes 637825 (622.8 KiB)
        RX errors 0  dropped 96  overruns 0  frame 0
        TX packets 8089  bytes 515108 (503.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Antenna selection

By default internal antenna is configured.

To select external antenna:

ifconfig wlan0 down
iw phy phy0 set antenna 1 0
ifconfig wlan0 up

To select internal antenna:

ifconfig wlan0 down
iw phy phy0 set antenna 0 0
ifconfig wlan0 up

Zigbee

RSI driver support 3 ZiGB modes namely End device mode, Coordinator mode and router mode. After successful installation of the driver interface zigb0 should be created. This can be seen using 'ifconfig zib0' command:

pi@pigeon:~$ ifconfig zigb0
zigb0: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 00:23:a7:27:03:99  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

For more information see chapter "ZiGB mode" in Technical Reference Manual pdf file.

Bluetooth

The RS9113 offers dual-mode Bluetooth 4.0. Below example set of commands to successfully pair Bluetooth device.

pi@pigeon:~$ sudo bluetoothctl
[NEW] Controller 88:DA:1A:A0:B3:F6 pigeon [default]
[bluetooth]# list
Controller 88:DA:1A:A0:B3:F6 pigeon [default]
[bluetooth]# show
Controller 88:DA:1A:A0:B3:F6
        Name: pigeon
        Alias: pigeon
        Class: 0x000000
        Powered: yes
        Discoverable: no
        Pairable: yes
        UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
        UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
        UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
        UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
        UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
        Modalias: usb:v1D6Bp0246d052B
        Discovering: no
[bluetooth]# discoverable on
Changing discoverable on succeeded
[CHG] Controller 88:DA:1A:A0:B3:F6 Discoverable: yes
[bluetooth]# scan on
Discovery started
[NEW] Device F0:13:C3:8B:0B:C7 Fenda R25BT
[bluetooth]# scan off
Discovery stopped
[CHG] Controller 88:DA:1A:A0:B3:F6 Discovering: no
[bluetooth]# devices
Device F0:13:C3:8B:0B:C7 Fenda R25BT
[bluetooth]# trust F0:13:C3:8B:0B:C7
[CHG] Device F0:13:C3:8B:0B:C7 Trusted: yes
Changing F0:13:C3:8B:0B:C7 trust succeeded
[bluetooth]# pair F0:13:C3:8B:0B:C7
Attempting to pair with F0:13:C3:8B:0B:C7
[CHG] Device F0:13:C3:8B:0B:C7 Connected: yes
[CHG] Device F0:13:C3:8B:0B:C7 UUIDs: 00001101-0000-1000-8000-00805f9b34fb
[CHG] Device F0:13:C3:8B:0B:C7 UUIDs: 0000110b-0000-1000-8000-00805f9b34fb
[CHG] Device F0:13:C3:8B:0B:C7 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[CHG] Device F0:13:C3:8B:0B:C7 ServicesResolved: yes
[CHG] Device F0:13:C3:8B:0B:C7 Paired: yes
Pairing successful

Links

Back to Top