Difference between revisions of "Using WiFi-Bluetooth combo plugin (DIVELK)"

From DAVE Developer's Wiki
Jump to: navigation, search
(Created page with "{{InfoBoxTop}} {{Applies To Diva}} {{InfoBoxBottom}} == History == {| class="wikitable" border="1" !Version !Date !Divelk version !Hardware Part Nr !Notes |- |4.0.0 |Apr 201...")
 
 
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{InfoBoxTop}}
 
{{InfoBoxTop}}
{{Applies To Diva}}
+
{{AppliesToSBCD}}
 
{{InfoBoxBottom}}
 
{{InfoBoxBottom}}
  
Line 22: Line 22:
 
== Introduction ==
 
== Introduction ==
 
SBC Diva can be populated with DWM WiFi/Bluetooth combo plugin to easily add wireless connectivity.
 
SBC Diva can be populated with DWM WiFi/Bluetooth combo plugin to easily add wireless connectivity.
In order to enable the bluetooth, the correct device tree configuration must be passed to the kernel. The sbcd comes with two possible devicetree configurations. The default one enables the uart1 and therefore the bluetooth and wifi module.
+
In order to enable the bluetooth, the correct device tree configuration must be passed to the kernel.  
The other configuration instead, enables the can interface and disables the uart1.
+
The sbcd comes with two possible devicetree configurations. The default one enables the UART1 and therefore the bluetooth and wifi module while the other enables the CAN interface and disables the UART1.
'''Note:''' make sure to pass the correct devicetree configuration.
 
  
== Enable Wifi interface ==
+
[[File:DWM.png|center|alt=DWM module for SBCD]]
 +
 
 +
'''Note:''' In order to enable the DWM module, the correct device tree file must be loaded.
 +
 
 +
== Wifi ==
 +
To enable the wifi, the gpio114 pin must be configured. Once this has been done, the wlan0 interface should become accessible.
 +
 
 +
The gpio pin can be enabled as follow:
 +
<pre>
 +
echo 114 > /sys/class/gpio/export
 +
echo out > /sys/class/gpio/gpio114/direction
 +
echo 1 > /sys/class/gpio/gpio114/value
 +
</pre>
 +
 
 +
E.g
 +
 
 +
<pre class="board-terminal">
 +
root@diva:~# echo 114 > /sys/class/gpio/export
 +
root@diva:~# echo out > /sys/class/gpio/gpio114/direction
 +
root@diva:~# echo 1 > /sys/class/gpio/gpio114/value
 +
root@diva:~# [  109.511538] omap_hsmmc 481d8000.mmc: card claims to support voltages below defined range
 +
[  109.538676] mmc1: new SDIO card at address 0001
 +
[  109.565955] PM: Cannot get wkup_m3_ipc handle
 +
[  109.929840] wlcore: loaded
 +
[  110.616596] wlcore: firmware booted (Rev 6.3.10.0.133)
 +
[  110.647936] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
 +
</pre>
 +
 
 +
Scan and connection test:
 +
 
 +
<pre class="board-terminal">
 +
root@diva:~# ifconfig wlan0 192.168.11.10
 +
root@diva:~# iw wlan0 scan
 +
BSS ca:d7:19:92:f9:16(on wlan0)
 +
        TSF: 12272295971 usec (0d, 03:24:32)
 +
        freq: 2412
 +
        beacon interval: 100 TUs
 +
        capability: ESS Privacy ShortSlotTime (0x0411)
 +
        signal: -89.00 dBm
 +
        last seen: 3360 ms ago
 +
        SSID: daveguest2
 +
        Supported rates: 1.0* 2.0* 5.5* 11.0* 18.0 24.0 36.0 54.0
 +
        DS Parameter set: channel 1
 +
        ERP: <no flags>
 +
        ERP D4.0: <no flags>
 +
        RSN:    * Version: 1
 +
                * Group cipher: TKIP
 +
                * Pairwise ciphers: TKIP
 +
                * Authentication suites: PSK
 +
                * Capabilities: 16-PTKSA-RC 1-GTKSA-RC (0x000c)
 +
        Extended supported rates: 6.0 9.0 12.0 48.0
 +
        WMM:    * Parameter version 1
 +
                * u-APSD
 +
                * BE: CW 15-1023, AIFSN 3
 +
                * BK: CW 15-1023, AIFSN 7
 +
                * VI: CW 7-15, AIFSN 2, TXOP 3008 usec
 +
                * VO: CW 3-7, AIFSN 2, TXOP 1504 usec
 +
BSS ca:d7:19:92:f9:17(on wlan0)
 +
        TSF: 12272293743 usec (0d, 03:24:32)
 +
        freq: 2412
 +
        beacon interval: 100 TUs
 +
        capability: ESS Privacy ShortSlotTime (0x0411)
 +
        signal: -89.00 dBm
 +
        last seen: 3360 ms ago
 +
        SSID: davesrl2
 +
        Supported rates: 1.0* 2.0* 5.5* 11.0* 18.0 24.0 36.0 54.0
 +
        DS Parameter set: channel 1
 +
        ERP: <no flags>
 +
        ERP D4.0: <no flags>
 +
        RSN:    * Version: 1
 +
                * Group cipher: TKIP
 +
                * Pairwise ciphers: TKIP
 +
                * Authentication suites: PSK
 +
                * Capabilities: 16-PTKSA-RC 1-GTKSA-RC (0x000c)
 +
        Extended supported rates: 6.0 9.0 12.0 48.0
 +
        WMM:    * Parameter version 1
 +
                * u-APSD
 +
                * BE: CW 15-1023, AIFSN 3
 +
                * BK: CW 15-1023, AIFSN 7
 +
                * VI: CW 7-15, AIFSN 2, TXOP 3008 usec
 +
                * VO: CW 3-7, AIFSN 2, TXOP 1504 usec
 +
BSS c8:d7:19:92:f9:15(on wlan0)
 +
        TSF: 12272295195 usec (0d, 03:24:32)
 +
        freq: 2412
 +
        beacon interval: 100 TUs
 +
        capability: ESS Privacy ShortSlotTime (0x0411)
 +
        signal: -88.00 dBm
 +
        last seen: 3360 ms ago
 +
        SSID: d8738e189d2148f59769-2
 +
        Supported rates: 1.0* 2.0* 5.5* 11.0* 18.0 24.0 36.0 54.0
 +
        DS Parameter set: channel 1
 +
        ERP: <no flags>
 +
        ERP D4.0: <no flags>
 +
        RSN:    * Version: 1
 +
                * Group cipher: TKIP
 +
                * Pairwise ciphers: TKIP
 +
                * Authentication suites: PSK
 +
                * Capabilities: 16-PTKSA-RC 1-GTKSA-RC (0x000c)
 +
        Extended supported rates: 6.0 9.0 12.0 48.0
 +
        WMM:    * Parameter version 1
 +
                * u-APSD
 +
                * BE: CW 15-1023, AIFSN 3
 +
                * BK: CW 15-1023, AIFSN 7
 +
                * VI: CW 7-15, AIFSN 2, TXOP 3008 usec
 +
                * VO: CW 3-7, AIFSN 2, TXOP 1504 usec
 +
......
 +
</pre>
 +
<pre class="board-terminal">
 +
root@diva:~# iw wlan0 connect ZyXEL
 +
root@diva:~# [  669.489889] wlan0: authenticate with fc:f5:28:cc:03:90
 +
[  669.507747] wlan0: send auth to fc:f5:28:cc:03:90 (try 1/3)
 +
[  669.523177] wlan0: authenticated
 +
[  669.528427] wlan0: associate with fc:f5:28:cc:03:90 (try 1/3)
 +
[  669.545913] wlan0: RX AssocResp from fc:f5:28:cc:03:90 (capab=0x421 status=0 aid=1)
 +
[  669.571713] wlcore: Association completed.
 +
[  669.582367] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
 +
[  669.588971] wlan0: associated
 +
 
 +
root@diva:~# ping 192.168.11.243
 +
PING 192.168.11.243 (192.168.11.243): 56 data bytes
 +
64 bytes from 192.168.11.243: seq=0 ttl=64 time=13.544 ms
 +
64 bytes from 192.168.11.243: seq=1 ttl=64 time=2.456 ms
 +
64 bytes from 192.168.11.243: seq=2 ttl=64 time=2.329 ms
 +
^C
 +
--- 192.168.11.243 ping statistics ---
 +
3 packets transmitted, 3 packets received, 0% packet loss
 +
round-trip min/avg/max = 2.329/6.109/13.544 ms
 +
</pre>
 +
=== Performance test ===
 +
The following example shows a throughput performance test, carried out with the well-known <code>iperf</code> tool:
 +
<pre class="board-terminal">
 +
root@diva:~# iperf -c 192.168.11.85 -t 100 -i 5
 +
------------------------------------------------------------
 +
Client connecting to 192.168.11.153, TCP port 5001
 +
TCP window size: 43.8 KByte (default)
 +
------------------------------------------------------------
 +
[  3] local 192.168.11.154 port 51484 connected with 192.168.11.85port 5001
 +
[ ID] Interval      Transfer    Bandwidth
 +
[  3]  0.0- 5.0 sec  55.4 MBytes  92.9 Mbits/sec
 +
[  3]  5.0-10.0 sec  56.1 MBytes  94.2 Mbits/sec
 +
[  3] 10.0-15.0 sec  56.1 MBytes  94.2 Mbits/sec
 +
[  3] 15.0-20.0 sec  56.1 MBytes  94.2 Mbits/sec
 +
[  3] 20.0-25.0 sec  56.0 MBytes  94.0 Mbits/sec
 +
[  3] 25.0-30.0 sec  56.2 MBytes  94.4 Mbits/sec
 +
[  3] 30.0-35.0 sec  56.1 MBytes  94.2 Mbits/sec
 +
[  3] 35.0-40.0 sec  56.1 MBytes  94.2 Mbits/sec
 +
[  3] 40.0-45.0 sec  56.1 MBytes  94.2 Mbits/sec
 +
[  3] 45.0-50.0 sec  56.0 MBytes  94.0 Mbits/sec
 +
[  3] 50.0-55.0 sec  56.1 MBytes  94.2 Mbits/sec
 +
[  3] 55.0-60.0 sec  56.1 MBytes  94.2 Mbits/sec
 +
[  3] 60.0-65.0 sec  56.1 MBytes  94.2 Mbits/sec
 +
[  3] 65.0-70.0 sec  56.0 MBytes  94.0 Mbits/sec
 +
[  3] 70.0-75.0 sec  56.1 MBytes  94.2 Mbits/sec
 +
[  3] 75.0-80.0 sec  56.1 MBytes  94.2 Mbits/sec
 +
[  3] 80.0-85.0 sec  56.1 MBytes  94.2 Mbits/sec
 +
[  3] 85.0-90.0 sec  56.1 MBytes  94.2 Mbits/sec
 +
[  3] 90.0-95.0 sec  56.1 MBytes  94.2 Mbits/sec
 +
[  3] 95.0-100.0 sec  56.1 MBytes  94.2 Mbits/sec
 +
[  3]  0.0-100.0 sec  1.10 GBytes  94.1 Mbits/sec
 +
 
 +
</pre>
 +
== Bluetooth ==
 +
 
 +
The bluetooth can also be configured by enabling the correct gpios:
 +
 
 +
<pre>
 +
echo 114 > /sys/class/gpio/export
 +
echo 115 > /sys/class/gpio/export
 +
echo out > /sys/class/gpio/gpio114/direction
 +
echo out > /sys/class/gpio/gpio115/direction
 +
echo 1 > /sys/class/gpio/gpio114/value
 +
echo 1 > /sys/class/gpio/gpio115/value
 +
</pre>
 +
 
 +
E.g
 +
 
 +
<pre class="board-terminal">
 +
root@diva:~# echo 115 > /sys/class/gpio/export
 +
root@diva:~# echo out > /sys/class/gpio/gpio115/direction
 +
root@diva:~# echo 1 > /sys/class/gpio/gpio115/value
 +
root@diva:~# rfkill list
 +
0: phy0: wlan
 +
        Soft blocked: no
 +
        Hard blocked: no
 +
</pre>
 +
 
 +
Attaching the device:
 +
 
 +
<pre class="board-terminal">
 +
root@diva:~# hciattach  /dev/ttyS1 texas 30000000 flow
 +
Found a Texas Instruments' chip!
 +
Firmware file : /lib/firmware/ti-connectivity/TIInit_7.6.15.bts
 +
Loaded BTS script version 1
 +
texas: changing baud rate to 3000000, flow control to 1
 +
Device setup complete
 +
</pre>
 +
 
 +
Once the device has been attached using hciattach the hci0 interface should become visible:
 +
 
 +
<pre class="board-terminal">
 +
root@diva:~# rfkill list
 +
0: phy0: wlan
 +
        Soft blocked: no
 +
        Hard blocked: no
 +
1: hci0: bluetooth
 +
        Soft blocked: no
 +
        Hard blocked: no
 +
</pre>
 +
 
 +
Bluetooth scan example:
 +
 
 +
<pre class="board-terminal">
 +
root@diva:~# hciconfig hci0 up
 +
root@diva:~# hcitool scan
 +
Scanning ...
 +
        18:F0:E4:E1:DC:F8      Redmi
 +
        C8:94:BB:A0:7C:1F      wifi mp
 +
</pre>
 +
 
 +
The devices have been successfully recognized.

Latest revision as of 09:43, 2 May 2018

Info Box
SBC-DIVA-02.png Applies to SBC DIVA

History[edit | edit source]

Version Date Divelk version Hardware Part Nr Notes
4.0.0 Apr 2018 DIVELK 4.0.0 DIVELK 4.0.0

Introduction[edit | edit source]

SBC Diva can be populated with DWM WiFi/Bluetooth combo plugin to easily add wireless connectivity. In order to enable the bluetooth, the correct device tree configuration must be passed to the kernel. The sbcd comes with two possible devicetree configurations. The default one enables the UART1 and therefore the bluetooth and wifi module while the other enables the CAN interface and disables the UART1.

DWM module for SBCD

Note: In order to enable the DWM module, the correct device tree file must be loaded.

Wifi[edit | edit source]

To enable the wifi, the gpio114 pin must be configured. Once this has been done, the wlan0 interface should become accessible.

The gpio pin can be enabled as follow:

echo 114 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio114/direction
echo 1 > /sys/class/gpio/gpio114/value

E.g

root@diva:~# echo 114 > /sys/class/gpio/export
root@diva:~# echo out > /sys/class/gpio/gpio114/direction
root@diva:~# echo 1 > /sys/class/gpio/gpio114/value
root@diva:~# [  109.511538] omap_hsmmc 481d8000.mmc: card claims to support voltages below defined range
[  109.538676] mmc1: new SDIO card at address 0001
[  109.565955] PM: Cannot get wkup_m3_ipc handle
[  109.929840] wlcore: loaded
[  110.616596] wlcore: firmware booted (Rev 6.3.10.0.133)
[  110.647936] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready

Scan and connection test:

root@diva:~# ifconfig wlan0 192.168.11.10
root@diva:~# iw wlan0 scan
BSS ca:d7:19:92:f9:16(on wlan0)
        TSF: 12272295971 usec (0d, 03:24:32)
        freq: 2412
        beacon interval: 100 TUs
        capability: ESS Privacy ShortSlotTime (0x0411)
        signal: -89.00 dBm
        last seen: 3360 ms ago
        SSID: daveguest2
        Supported rates: 1.0* 2.0* 5.5* 11.0* 18.0 24.0 36.0 54.0 
        DS Parameter set: channel 1
        ERP: <no flags>
        ERP D4.0: <no flags>
        RSN:     * Version: 1
                 * Group cipher: TKIP
                 * Pairwise ciphers: TKIP
                 * Authentication suites: PSK
                 * Capabilities: 16-PTKSA-RC 1-GTKSA-RC (0x000c)
        Extended supported rates: 6.0 9.0 12.0 48.0 
        WMM:     * Parameter version 1
                 * u-APSD
                 * BE: CW 15-1023, AIFSN 3
                 * BK: CW 15-1023, AIFSN 7
                 * VI: CW 7-15, AIFSN 2, TXOP 3008 usec
                 * VO: CW 3-7, AIFSN 2, TXOP 1504 usec
BSS ca:d7:19:92:f9:17(on wlan0)
        TSF: 12272293743 usec (0d, 03:24:32)
        freq: 2412
        beacon interval: 100 TUs
        capability: ESS Privacy ShortSlotTime (0x0411)
        signal: -89.00 dBm
        last seen: 3360 ms ago
        SSID: davesrl2
        Supported rates: 1.0* 2.0* 5.5* 11.0* 18.0 24.0 36.0 54.0 
        DS Parameter set: channel 1
        ERP: <no flags>
        ERP D4.0: <no flags>
        RSN:     * Version: 1
                 * Group cipher: TKIP
                 * Pairwise ciphers: TKIP
                 * Authentication suites: PSK
                 * Capabilities: 16-PTKSA-RC 1-GTKSA-RC (0x000c)
        Extended supported rates: 6.0 9.0 12.0 48.0 
        WMM:     * Parameter version 1
                 * u-APSD
                 * BE: CW 15-1023, AIFSN 3
                 * BK: CW 15-1023, AIFSN 7
                 * VI: CW 7-15, AIFSN 2, TXOP 3008 usec
                 * VO: CW 3-7, AIFSN 2, TXOP 1504 usec
BSS c8:d7:19:92:f9:15(on wlan0)
        TSF: 12272295195 usec (0d, 03:24:32)
        freq: 2412
        beacon interval: 100 TUs
        capability: ESS Privacy ShortSlotTime (0x0411)
        signal: -88.00 dBm
        last seen: 3360 ms ago
        SSID: d8738e189d2148f59769-2
        Supported rates: 1.0* 2.0* 5.5* 11.0* 18.0 24.0 36.0 54.0 
        DS Parameter set: channel 1
        ERP: <no flags>
        ERP D4.0: <no flags>
        RSN:     * Version: 1
                 * Group cipher: TKIP
                 * Pairwise ciphers: TKIP
                 * Authentication suites: PSK
                 * Capabilities: 16-PTKSA-RC 1-GTKSA-RC (0x000c)
        Extended supported rates: 6.0 9.0 12.0 48.0 
        WMM:     * Parameter version 1
                 * u-APSD
                 * BE: CW 15-1023, AIFSN 3
                 * BK: CW 15-1023, AIFSN 7
                 * VI: CW 7-15, AIFSN 2, TXOP 3008 usec
                 * VO: CW 3-7, AIFSN 2, TXOP 1504 usec
......
root@diva:~# iw wlan0 connect ZyXEL
root@diva:~# [  669.489889] wlan0: authenticate with fc:f5:28:cc:03:90
[  669.507747] wlan0: send auth to fc:f5:28:cc:03:90 (try 1/3)
[  669.523177] wlan0: authenticated
[  669.528427] wlan0: associate with fc:f5:28:cc:03:90 (try 1/3)
[  669.545913] wlan0: RX AssocResp from fc:f5:28:cc:03:90 (capab=0x421 status=0 aid=1)
[  669.571713] wlcore: Association completed.
[  669.582367] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[  669.588971] wlan0: associated

root@diva:~# ping 192.168.11.243
PING 192.168.11.243 (192.168.11.243): 56 data bytes
64 bytes from 192.168.11.243: seq=0 ttl=64 time=13.544 ms
64 bytes from 192.168.11.243: seq=1 ttl=64 time=2.456 ms
64 bytes from 192.168.11.243: seq=2 ttl=64 time=2.329 ms
^C
--- 192.168.11.243 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 2.329/6.109/13.544 ms

Performance test[edit | edit source]

The following example shows a throughput performance test, carried out with the well-known iperf tool:

root@diva:~# iperf -c 192.168.11.85 -t 100 -i 5
------------------------------------------------------------
Client connecting to 192.168.11.153, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.11.154 port 51484 connected with 192.168.11.85port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec  55.4 MBytes  92.9 Mbits/sec
[  3]  5.0-10.0 sec  56.1 MBytes  94.2 Mbits/sec
[  3] 10.0-15.0 sec  56.1 MBytes  94.2 Mbits/sec
[  3] 15.0-20.0 sec  56.1 MBytes  94.2 Mbits/sec
[  3] 20.0-25.0 sec  56.0 MBytes  94.0 Mbits/sec
[  3] 25.0-30.0 sec  56.2 MBytes  94.4 Mbits/sec
[  3] 30.0-35.0 sec  56.1 MBytes  94.2 Mbits/sec
[  3] 35.0-40.0 sec  56.1 MBytes  94.2 Mbits/sec
[  3] 40.0-45.0 sec  56.1 MBytes  94.2 Mbits/sec
[  3] 45.0-50.0 sec  56.0 MBytes  94.0 Mbits/sec
[  3] 50.0-55.0 sec  56.1 MBytes  94.2 Mbits/sec
[  3] 55.0-60.0 sec  56.1 MBytes  94.2 Mbits/sec
[  3] 60.0-65.0 sec  56.1 MBytes  94.2 Mbits/sec
[  3] 65.0-70.0 sec  56.0 MBytes  94.0 Mbits/sec
[  3] 70.0-75.0 sec  56.1 MBytes  94.2 Mbits/sec
[  3] 75.0-80.0 sec  56.1 MBytes  94.2 Mbits/sec
[  3] 80.0-85.0 sec  56.1 MBytes  94.2 Mbits/sec
[  3] 85.0-90.0 sec  56.1 MBytes  94.2 Mbits/sec
[  3] 90.0-95.0 sec  56.1 MBytes  94.2 Mbits/sec
[  3] 95.0-100.0 sec  56.1 MBytes  94.2 Mbits/sec
[  3]  0.0-100.0 sec  1.10 GBytes  94.1 Mbits/sec

Bluetooth[edit | edit source]

The bluetooth can also be configured by enabling the correct gpios:

echo 114 > /sys/class/gpio/export
echo 115 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio114/direction
echo out > /sys/class/gpio/gpio115/direction
echo 1 > /sys/class/gpio/gpio114/value
echo 1 > /sys/class/gpio/gpio115/value

E.g

root@diva:~# echo 115 > /sys/class/gpio/export
root@diva:~# echo out > /sys/class/gpio/gpio115/direction
root@diva:~# echo 1 > /sys/class/gpio/gpio115/value
root@diva:~# rfkill list
0: phy0: wlan
        Soft blocked: no
        Hard blocked: no

Attaching the device:

root@diva:~# hciattach  /dev/ttyS1 texas 30000000 flow
Found a Texas Instruments' chip!
Firmware file : /lib/firmware/ti-connectivity/TIInit_7.6.15.bts
Loaded BTS script version 1
texas: changing baud rate to 3000000, flow control to 1
Device setup complete

Once the device has been attached using hciattach the hci0 interface should become visible:

root@diva:~# rfkill list
0: phy0: wlan
        Soft blocked: no
        Hard blocked: no
1: hci0: bluetooth
        Soft blocked: no
        Hard blocked: no

Bluetooth scan example:

root@diva:~# hciconfig hci0 up
root@diva:~# hcitool scan
Scanning ...
        18:F0:E4:E1:DC:F8       Redmi
        C8:94:BB:A0:7C:1F       wifi mp

The devices have been successfully recognized.