{{WarningMessage|text=This application note was validated against specific versions of the kit only. It may not work with other versions. Supported versions are listed in the ''History'' section.}}
{{ImportantMessage|text=Regarding the Molex antenna used in this AN. It is valid only for '''No EU''' countries - see [https://www.lairdconnect.com/documentation/regulatory-information-tiwi-ble link]}}
== History ==
{| class="wikitable" border="1"
!Version
!XUELK version
!Date
!Notes
|-
|1.0.0
|1.1.3
|February 2017
|First public release
|-
|2.0.0
|1.1.3
|April 2017
|
|-
|2.1.0
|1.1.3
|April 2017
|*Added section ''Using the raw image''*Added notes about <code>ssh</code> server configuration*Added notes about <code>MySQL</code> server installation and configuration
|-
|}
The procedure was tested on an SBC Lynx with ConfigID=0x0000000C (PCB revision CS214515A), starting from XUELK 1.1.3 binaries.
[2] The provided root file system is derived from this one: https://rcn-ee.com/rootfs/eewiki/barefs/debian-8.7-bare-armhf-2017-01-14.tar.xz.
===Using the raw image===
For convenience, the raw image of the microSD card is provided as well. This image is the result of the procedure described in the previous section, applied to a 16 GB card. The image can be downloaded [https://mirror.dave.eu/lynx/debian/20170403/20170403-sbclynx-debian-8-usd.img.zip here].
Once decompressed, it can be written directly to the card.
[[File:Sbclynx-debian-disk-imager-win.png|thumb|center|600px|''Win32 Disk Imager'' tool]]
====Bluetooth====
The following script can be run to enable the Bluetooth controller:
<preclass="board-terminal">
root@arm:~# ./test/dwm_bt_init.sh
Found a Texas Instruments' chip!
</pre>
Once the <code>hci</code> interface is enabled, <code>hcitool</code> or other tools can be used to access it:
<preclass="board-terminal">
root@arm:~# hcitool scan
Scanning ...
zz:zz:zz:zz:zz:zz device2
</pre>
====WiFi (client mode)====
The procedure here described can be used to connect to an Access Point, using the WPA2/PSK security protocolwith network address given by the AP via DHCP. User can also follow [https://wiki.debian.org/WiFi/HowToUse#Command_Line this guide from Debian Wiki] for a generic approach.
As the WiFi driver is not statically linked to the kernel image, it is necessary to load the module first. This operation is done automatically upon boot, as the module is listed in <code>/etc/modules</code>:
</pre>
To bring Once the WiFi module is loaded, it's time to configure the interface up: first of all we need to fix interface renaming with the following command:
<pre class="board-terminal">
root@arm:~# iw ln -s /devphy#0 Interface wlan0 ifindex 4 wdev 0x1 addr 88:33:14:5e:30:61 type managedroot@arm:~# ip link show wlan04: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000 link/ether 88:33:14:5e:30:61 brd ff:ff:ff:ff:ff:ffroot@arm:~# ip link set wlan0 up[ 276null /etc/systemd/network/99-default.076847] wlcore: firmware booted (Rev 6.3.10.0.133)[ 276.097912] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not readyroot@arm:~# ip link show wlan04: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq qlen 1000 link/ether 88:33:14:5e:30:61 brd ff:ff:ff:ff:ff:ff
</pre>
The connection will be established with Generate the SSID named PSK from the ESSID and the clear text passphrase using <code>SSID_ZyXEL_WPA2wpa_passphrase</code>tool:
Edit <code>/etc/network/interfaces</code> and change the <code>wlan0</code> configuration as follows, by entering the <code>ssid</code> and <code>psk</code> generated above:
Start User can now restart <code>wpa_supplicantsystemd</code>networking service with:
<pre class="board-terminal">
root@arm:~# wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.confSuccessfully initialized wpa_supplicantrfkill: Cannot open RFKILL control deviceioctl[SIOCSIWENCODEEXT]: Invalid argumentioctl[SIOCSIWENCODEEXT]: Invalid argument[ 3527.234018] wlan0: authenticate with fe:f0:28:cc:03:90[ 3527.269591] wlan0: send auth to fe:f0:28:cc:03:90 (try 1/3)[ 3527.277879] wlan0: authenticated[ 3527.282841] wl12xx_driver wl12xx.0.auto wlan0: disabling HT/VHT due to WEP/TKIP use[ 3527.298407] wlan0: associate with fe:f0:28:cc:03:90 (try 1/3)[ 3527.307655] wlan0: RX AssocResp from fe:f0:28:cc:03:90 (capab=0x431 status=0 aid=1)[ 3527.326148] wlcore: Association completed.[ 3527.349780] wlan0: associated[ 3527.352824] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes readysystemctl restart networking
</pre>
Once Now you can check the connection process completed successfullysystem configuration using standard tools (<code>route</code>, <code>ifconfig</code>, <code>iw</code> reports ). E.g. to check the WiFi link status as followsuse:
<pre class="board-terminal">
root@arm:~# iw wlan0 link
dtim period: 1
beacon int: 100
</pre>All of the above configuration are persistent at reboots and automatically started by <code>systemd</code> at boot time. ==Miscellaneous configurations=====<code>ssh</code> server===The configuration file <code>/etc/ssh/sshd_config</code> is set to permit <code>root</code> user to log in.===Installing MySQL server with remote access===This section shows how to install MySQL server and how to enable remote access for <code>root</code> user.{{ImportantMessage|text=From a security standpoint, giving <code>root</code> user logon permission from any host may be dangerous.}}
After assigning a (static) IP address to Firstly, install the <code>wlan0mysql-server</code> interfacepackage. During the installation process, it is possible to ping you will set the Access Pointpassword for the <code>root</code> user:
<pre class="board-terminal">
root@arm:~# ifconfig wlan0 192sudo apt-get updateGet:1 http://security.168debian.11org jessie/updates InRelease [63.811 kB]...Reading package lists... Doneroot@arm:~# ifconfigeth0 Link encap:Ethernet HWaddr 00:50:C2:1E:AF:E9sudo apt-get install mysql-server inet addr:192Reading package lists.168.0.81 Bcast:192DoneBuilding dependency tree.168.0.255 Mask:255After this operation, 85.2551 MB of additional disk space will be used.255.0 inet6 addr: fe80::250:c2ff:fe1e:afe9Do you want to continue? [Y/64 Scope:Linkn] UP BROADCAST RUNNING MULTICAST MTU:1500 MetricGet:1 RX packets:35226 errors:0 dropped:0 overruns:0 framehttp://security.debian.org/ jessie/updates/main mysql-common all 5.5.54-0+deb8u1 [81.2 kB]...Configuring mysql-server-5.5---------------------------- TX packets:28 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000While not mandatory, it is highly recommended that you set a password for the RX bytes:3555583 (3MySQL administrative "root" user.3 MiB) TX bytes:1906 (1 If this field is left blank, the password will not be changed.8 KiB)lo Link encapNew password for the MySQL "root" user:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr Repeat password for the MySQL "root" user: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packetsSelecting previously unselected package libaio1:0 errors:0 dropped:0 overruns:0 carrier:0armhf. collisions:0 txqueuelen:0... RX bytes:0 Processing triggers for systemd (0230-7~bpo8+2) ...0 B) TX bytesroot@arm:0 (0.0 B)~#</pre>
wlan0 Link encap:Ethernet HWaddr 88:33:14:5E:30:61