Wireless Module (DWM)

From DAVE Developer's Wiki
Jump to: navigation, search
Info Box
Dwm 01.png Applies to DWM

Introduction[edit | edit source]

Wireless Module (DWM) is one of DAVE's Add-On Modules. These devices are conceived and designed to be easily included in embedded system, in order to ease the use from the system integrator's standpoint, in terms of hardware issues and software compatibility. These characteristics make them suitable for use in combination with a wide range of host devices, from low-cost microcontrollers to high-end embedded processors.

Dwm 02.png

DWM belongs to the Connectivity Modules subfamily and provides support for WiFi (802.11 b/g/n) and Bluetooth (2.1 + EDR) throgh, respectively, a SDIO interface and a UART interface.

Specification[edit | edit source]

The module is built around a LS Research TiWi-R2 Integrated Transceiver Modules for WLAN 802.11 b/g/n and Bluetooth. The module realizes the necessary PHY/MAC layers to support WLAN applications in conjunction with a host processor over a SDIO interface. The module also provides a Bluetooth platform through the HCI transport layer. Both WLAN and Bluetooth share the same antenna port.

Features[edit | edit source]

  • Based on Texas Instruments WL1271 Transceiver
  • IEEE 802.11 b,g,n,d,e,i, compliant
  • Bluetooth 2.1+EDR, Power Class 1.5
  • Reduced footprint: 25 mm x 38 mm
  • Low height profile
  • U.FL connector for external antenna
  • Integrated band-pass filter
  • Industrial operating temperature range: -40 / +85 °C

Interface timings[edit | edit source]

Please refer to the TiWi-R2 Datasheet for SDIO [WiFi] and UART [Bluetooth] interface timings.

Power consumption[edit | edit source]

Reset[edit | edit source]

Pinout and detailed pin functions[edit | edit source]

DWM can be connected to the host board through the J1 connector.

Pinout reference[edit | edit source]

The following picture shows the reference pins of the J1 connector (placed on the bottom side of the DWM module):

Dwm 05.png

J1 connector pinout table[edit | edit source]

The following table reports the connector pinout:

Pin number Name Type Description Voltage Note
1 BT_EN Input Bluetooth Enable 3.3V
2 WIFI_EN Input WLAN Enable 3.3V
3 UART2_RTSn Output Bluetooth HCI UART RTS 3.3V
4 WIFI_IRQ Output WLAN Interrupt Request 3.3V
5 UART2_TXD Input/Output Bluetooth HCI UART TX 3.3V
6 BT_F2 Output Bluetooth Wakeup / DC2DC Mode 3.3V
7 UART2_CTSn Input Bluetooth HCI UART CTS 3.3V
8 WIFI_CLK_REQ(A) Output HOST_WakeUp 3.3V
9 UART2_RXD Input Bluetooth HCI UART RX 3.3V
10 NC Reserved for future use - Please leave unconnected.
11 DGND Ground -
12 NC Reserved for future use - Please leave unconnected.
13 DAT3 Input/Output SDIO Data Bit 3 3.3V
14 NC Reserved for future use - Please leave unconnected.
15 DAT2 Input/Output SDIO Data Bit 2 3.3V
16 NC Reserved for future use - Please leave unconnected.
17 DAT1 Input/Output SDIO Data Bit 1 3.3V
18 NC Reserved for future use - Please leave unconnected.
19 DAT0 Input/Output SDIO Data Bit 0 3.3V
20 NC Reserved for future use - Please leave unconnected.
21 DGND Ground -
22 DGND Ground -
23 SDO_CMD Input/Output SDIO Command Line 3.3V
24 SDO_CLK Input SDIO Clock 3.3V
25 DGND Ground -
26 DGND Ground -
27 3.3V Power Input +3.3V Input Voltage 3.3V
28 3.3V Power Input +3.3V Input Voltage 3.3V
29 5V Power Input +5V Input Voltage 5V
30 5V Power Input +5V Input Voltage 5V

Antenna connector[edit | edit source]

The following picture shows the position of the WiFi/Bluetooth antenna connector:


Dwm 06.png

Integration guide[edit | edit source]

This section provides useful information and resources that allow the system designer to integrate DWM module in his/her application very quickly.

Typical scenarios[edit | edit source]

The following pictures shows conceptual block diagram of application where the role of the host is played by an Embedded PC.

Typical scenario

Mechanical information[edit | edit source]

The following image shows the module dimensions:

DWM dimensions

Layout[edit | edit source]

The following images show the module layout:

DWM Top View
DWM Bottom View

The component view (top and bottom) is avalable as PDF file:

3D[edit | edit source]

Qualification tests[edit | edit source]

How to enable WiFi support[edit | edit source]

Kernel setup[edit | edit source]

Edit kernel configuration adding support for MMC and WL1271 chipset

Make Wireless Tools[edit | edit source]

Wifi Tools

FW DWL

To build Wireless tools you need to modify the Makefile in order to cross-compile and install the tools:

Make:

  • Check that the root file system path is correct
  • Check the env CROSS_COMPILE and PATH variables
  • make all
  • sudo make install

Module Firmware[edit | edit source]

Download the firmware binaries and copy them into <RFS>/lib/firmware:

  • wl1271-fw.bin
  • wl1271-nvs.bin


User Space[edit | edit source]

Boot[edit | edit source]

[...cut...]
[    0.980000] cfg80211: Calling CRDA to update world regulatory domain
[...cut...]
[   12.950000] lib80211: common routines for IEEE802.11 drivers
[   12.960000] lib80211_crypt: registered algorithm 'NULL'
[...cut...]
[   13.190000] mmc1: card claims to support voltages below the defined range. These will be ignored.
[   13.210000] mmc1: queuing unknown CIS tuple 0x91 (3 bytes)
[   13.220000] mmc1: new SDIO card at address 0001
[   13.220000] PM: Adding info for mmc:mmc1:0001
[   13.230000] PM: Adding info for sdio:mmc1:0001:1
[   13.370000] PM: Adding info for sdio:mmc1:0001:2
[   13.380000] PM: Adding info for platform:wl1271
[   13.380000] PM: Adding info for No Bus:phy0
[   13.390000] PM: Adding info for No Bus:wlan0
[   13.390000] wl1271: loaded
[   13.390000] wl1271: initialized

Dev Check[edit | edit source]

Check module loading and device creation:

ifconfig -a
[...cut...]

wlan0     Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Set the wlan0 MAC address:

ifconfig wlan0 hw ether xx:yy:zz:kk:ww:jj

You can create a simple script: setwmac to set the MAC address:

Use:

setwmac 00:01:02:03:04:05

Example:

root@dm814x-evm:~# setwmac 00:50:C2:B9:CF:87
Disable Wlan0...
Set Wlan MAC: 00:50:C2:B9:CF:87
Enable Wlan0...
[   36.960000] PM: Adding info for No Bus:mmc1:0001:2
[   37.020000] PM: Removing info for No Bus:mmc1:0001:2
[   37.020000] PM: Adding info for No Bus:mmc1:0001:2
[   37.060000] PM: Removing info for No Bus:mmc1:0001:2
[   37.220000] wl1271: firmware booted (Rev 6.1.0.50.350)
Done!

How to enable Bluetooth support[edit | edit source]

Kernel Config[edit | edit source]

Edit kernel configuration adding support for Bluetooth and HCI protocol:

Networking Support

 --- Bluetooth subsystem support
  <*>   L2CAP protocol support
  <*>   SCO links support
  <*>   RFCOMM protocol support
  [*]     RFCOMM TTY support
  <*>   BNEP protocol support
  [*]     Multicast filter support
  [*]     Protocol filter support
  <*>   HIDP protocol support
        Bluetooth device drivers  --->   
        <*> HCI USB driver
        < > HCI SDIO driver
        <*> HCI UART driver
          [*]   UART (H4) protocol support
          [ ]   BCSP protocol support
          [ ]   Atheros AR300x serial support
          [*]   HCILL protocol support  


Module Firmware[edit | edit source]

Download the firmware binaries and copy them into <RFS>/lib/firmware:

  • TIInit_7.2.31.bts

User space[edit | edit source]

Boot[edit | edit source]

[    1.000000] Bluetooth: Core ver 2.15
[    1.010000] Bluetooth: HCI device and connection manager initialized
[    1.020000] Bluetooth: HCI socket layer initialized
[...cut...]
[   12.900000] Bluetooth: HCI UART driver ver 2.2
[   12.900000] Bluetooth: HCI H4 protocol initialized
[   12.900000] Bluetooth: HCILL protocol initialized
[   12.910000] Bluetooth: Generic Bluetooth USB driver ver 0.6
[...cut...]
[   13.080000] Bluetooth: L2CAP ver 2.15
[   13.080000] Bluetooth: L2CAP socket layer initialized
[   13.080000] Bluetooth: SCO (Voice Link) ver 0.6
[   13.090000] Bluetooth: SCO socket layer initialized
[   13.090000] Bluetooth: RFCOMM TTY layer initialized
[   13.100000] Bluetooth: RFCOMM socket layer initialized
[   13.110000] Bluetooth: RFCOMM ver 1.11
[   13.110000] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   13.110000] Bluetooth: BNEP filters: protocol multicast
[   13.120000] Bluetooth: HIDP (Human Interface Emulation) ver 1.2

Install Bluez & Obex[edit | edit source]

From target

opkg install bluez4
opkg install obex-data-server
opkg install obexd
opkg install obexftp


Boot Bluetooth services[edit | edit source]

Docs