FAQ

This section contains the answers to the most frequently questions about Nylux.

Barcodes reading

Q: How daoes works the barcodes reading's process?

A: By default, the application that manage the laser scanner and send the read code to the active window, is the "scand" demon. This program is configurable editing the /etc/scan.conf configuration file, or using the graphical utility Laser Settings.

Some custom programs can possibly manage laser's capabilities without using scand demon: it's possible to manage barcodes reading using the functions provided by the software development kit (SDK).

Customized system configuration

Q: Is it possible to modify the system configuration in order to customize it?

A: Yes, it's possible. In order to modify and manage all the functionalities and the behaviours of the mobile device the administrator can use both the system utilities (if present) or modifying some configuration files or scripts (for example for disable the desktop's startup, disable system's functionalities, remove unused utilities, launch automatically user's applications at the system startup, etc.).
The first script executed during the system's startup is the file /etc/inittab: starting from this file the administrator will can follow the boot sequence of the mobile device, and will be possible to change files and scripts in order to modify the Nylux behaviour. Possibly, if the administrator will decide a configuration to apply to much than a single Nylux, it will be possible to package all the settings in a single tgz file (that will contains all the files and scripts modified), in order to install easily the same configuration package on other mobile devices.
 

How to automatically launch applications on system's startup

Q: How can I automatically run an application on system's startup?

A: It's possible to run one or more programs at system startup modifying the file /root/.xinitrc as follows: insert each command line before the last command line "gpe-confd". We suggest to create in the folder /root/ a shell script (file with .sh extension) containing all the user's applications command lines, and then call that script execution before the gpe-confd command. Please note that the script will must be launched in background mode, otherwise the normal startup of the gpe-confd program (that manages the graphic interface of the mobile device) will not be reached until the script will end: in order to launch a command or a script in background mode, the administrator will have to add the character & after the script's name or after the command to launch.

Example:
Suppose that the original /root/.xinitrc file contains the following instructions:

#! /bin/sh
/sbin/scanwedge
#x11vnc &
cp /root/.matchbox/mbdock.session.default /root/.matchbox/mbdock.session
matchbox-session &
gpe-confd

If the administrator would run some programs using a script called "myApp.sh" and saved in the folder /root/, he should modify the content of the file as follows:

#! /bin/sh
/sbin/scanwedge
#x11vnc &
cp /root/.matchbox/mbdock.session.default /root/.matchbox/mbdock.session
matchbox-session &
#user application's startup:
/root/myApp.sh &
gpe-confd

The /root/myApp.sh script will contains an executable instruction or a command line. For example, if the administrator would run the standard software Highway-g Inventario, he should place in the script the following instructions (taken from the application's startup link):

#! /bin/sh
cd /usr/hwg-inv/
/usr/share/pmea-fp/bin/cvm -Xbootclasspath/a:jdbc.jar:RXTXcomm.jar -cp absfmk.jar:swt.jar:derby.jar:HWgInv.jar:. -Dsun.boot.library.path=/usr/share/pmea-fp/ -Djava.library.path=/usr/share/pmea-fp/ start.Inventario /usr/hwg-inv/
 

NOTES:

#! /bin/sh

How to connect to Nylux's SSH server with automatic login

Q: Is it possible to connect to Nylux's SSH server without typing user and password?

A: Yes, it's possible. In order to configure the automatic connection for a SSH client to Nylux's server, the user must follow this procedure:

How to create an installation package for Nylux (tgz file)

Q: How can I create an installation package for Nylux devices?

A: There are severals ways to create a compressed installation package (.tgz file) for Nylux devices, including:

We think that the last option is the best one, so we explain it better in the following lines:

  1. first you need to copy on the mobile device all the files to include in the package, including configuration files, jar, links, etc. (possibly scoring the used files list)
  2. after provided all the needed files to the mobile device and had a stable configuration for the system or the software to package, you need to open a console and use the command "tar -czf outPackage.tgz fileFullPath1 fileFullPath2 fileFullPath3 fileFullPathN" (without quotes), where outPackage.tgz is the path/name's package you want to create, followed by the full paths/names for the files to include in the package (separated by a space character). While defining that files, you can also use jolly chracters (i.e. * character).

Please note that the tgz file generated in this way will contains all the specified files, will define correctly the folders structure and will record files permissions
as set before the package creation.

Example: if you want to create a package called test.tgz, containing the following files:
/usr/my-app/nylux.jar
/usr/my-app/app.jar
/usr/my-app/start
/etc/init.d/rcS
/etc/inittab
you must use the following command:
tar -czf /test.tgz /usr/my-app/nylux.jar /usr/my-app/app.jar /usr/my-app/start /etc/init.d/rcS /etc/inittab

How to disable desktop and bar

Q: Is it possible to disable device's desktop and/or applications bar?

A: Yes, it's possible. In order to change this system behaviour the administrator must modify the file /usr/bin/matchbox-session as follows.
To disable the bar, comment (adding as the first character of the line the character #) the following command

matchbox-panel -nm --orientation south &

To disable the desktop, comment (adding as the first character of the line the character #) the following command

matchbox-desktop &
 

How to disable touch screen

Q: Is it possible to disable device's touch screen?

A: Yes, it's possible. In order to change this system behaviour the administrator must modify the script /usr/bin/X replacing the following command line

Xfbdev -ac -screen 240x320@90 -keybd keyboard,device=/dev/input/event1 -mouse tslib,,device=/dev/input/event0,rightbutton,samples=20,tolerance=4 -root-ppm /usr/share/pixmaps/xsplash-qvga.ppm

with the following

Xfbdev -ac -screen 240x320@90 -keybd keyboard,device=/dev/input/event1 -hide-cursor -root-ppm /usr/share/pixmaps/xsplash-qvga.ppm

How to enable / disable scand demon at runtime

Q: Is it possible to enable / disable scand demon at runtime?

A: Yes, it's possible.

In order to disable scand demon, the user must call the command:
echo 0 > /sys/module/nyluxkbd/parameters/scanwedge

In order to enable scand demon, the user must call the command:
echo 1 > /sys/module/nyluxkbd/parameters/scanwedge

How to install a compressed package (file tgz) into a Nylux device

Q: How can I install a compressed package into a Nylux device?

A: There are severals ways to install a compressed package (.tgz file) into a Nylux device, including:

1) Use the installation script "install.sh": by default every Nylux device provide an installation script that enable the user to download from network and automatically install a tgz package. The syntax of that command is the following: ./install.sh <tgz archive name> [<distribution server>] 

Example: if you want to download and installa minimo.tgz package directly from Nylux site's download area (http://www.nylux.it/downloads/pacchetti/), you need to use the command "./install.sh minimo http://www.nylux.it/downloads/pacchetti/" (without quotes).

Please note that using the installation script you can also download and install packages from alternatives distribution servers. It can be used for example a private HTTP server, in order to avoid the external network access. In this case, the command's syntax will change as the HTTP server used (i.e. ./install.sh minimo 192.168.0.248/pkg/).

2) Copy the package to the mobile device, then use the command "tar -C / -xzf packageFullPath.tgz" (without quotes), where packageFullPath.tgz is the full path and name of the tgz file copied on the device.

How to modify the inactivity time after that the mobile device disable the display

Q: Is possible to modify the inactivity time after that the mobile device disable the display (so also the backlight)?

A: In order to configure the screensaver's timeout (i.e. the inactivity time after that the mobile device disable the display) the user must change the content of a configuration file on the mobile device: for the moment Nylux platform doesn't enable the user to make this setting using a graphic interface such as Screen Setup.
The user must edit (using the Editor utility installed on the Nylux, or using the editor integrated in the ssh communication program) the script /usr/bin/X on the mobile device
In the Nylux's default configuration, this script runs Xfbdev with the followings parameters:

Xfbdev -ac -screen 240x320@90 -keybd keyboard,device=/dev/input/event1 -mouse tslib,,device=/dev/input/event0,rightbutton,samples=20,tolerance=4 -root-ppm /usr/share/pixmaps/xsplash-qvga.ppm

In Xfbdev's startup parameters isn't defined any timeout for the screen-saver, so the platform uses the default timeout, that is 600 seconds (10 minutes).
In order to define a different timeout the user must add to Xfbdev's startup parameters the following option:

-s minutes

followed by the startup parameters already existent.

For example, to setup a timeout of 1 minute, the command line must be:
Xfbdev          -s 1 -ac -screen 240x320@90 -keybd keyboard,device=/dev/input/event1 -mouse tslib,,device=/dev/input/event0,rightbutton,samples=20,tolerance=4 -root-ppm /usr/share/pixmaps/xsplash-qvga.ppm

How to set current window in fullscreen (without application's bar)

Q: How can I show the current window in full screen mode?

A: Press the keys Func and . on the mobile device's keyboard. In order to return in non full screen mode, redo the same operation.
 

How to show the current scand demon's version

Q: How can I show the current scand demon's version?

A: In order to show the installed scand demon's version, the user must launch the command "logread | grep scand" (without quotes) in a console, then look for the version among the output strings generated by the command.

How to speed up the connection time to Nylux's SSH server

Q: Why my SSH client (scp or sftp) needs more than 15 seconds to connect to the mobile device?

A: The SSH client needs more than 15 seconds to connect to the mobile device because by default the Nylux platform enable the use of dns, slowing  the connection procedure. In order to speed up the connection time, if not needed the dns, the user can modify the configuration file /etc/ssh/sshd_config setting for the "UseDNS" parameter the "no" value (without quotes). By default that file contains a line "#UseDNS yes" (that shows the default value): after that line the user must insert a new line containing the "UseDNS no" string (without quotes), then save the file. When finished, a reboot will be needed.

Installable softwares for Nylux

Q: In addition to the various system's utilities, which other programs can I install on Nylux mobile device?

A: On Nylux's web site are now availables various programs already packaged for Nylux. Among all these we remind as more used the followings:

We suggest also to check periodically the download area of Nylux's web site in order to check the complete list of Nylux's packages.

NOTE: it's possible to install on Nylux device also programs not already packaged for that platform, if compatibles with it.

Mozilla Minimo browser

Features supported by Mozilla Minimo browser for Nylux

Q: What are the features supported by Mozilla Minimo browser for Nylux?

A: Mozilla Minimo for Nylux supports a great number of features (i.e. javaScript) and allows the visualization and the use of complex web pages and web applications. For the datailed list of the features supported by Mozilla Minimo please visit the web site https://wiki.mozilla.org/Mobile/FeatureList .
 

Full screen mode and address bar

Q: Is possible to change the graphic interface mode of Mozilla Minimo browser in order to disable the full screen, or show or hide the address bar?

A: Yes, it's possible. Press and hold the pencil on the graphic interface until a contextual menu appears, then select the voice to configure the browser's aspect.
 

How to close Mozilla Minimo

Q: Why if I launch Mozilla Minimo I can't close it anymore?

A: If the browser starts in full screen mode (withouts tools and navigation bars), you can close the program pressing the Alt + F4 keys on the keyboard of the mobile device.

 

Issues in internet navigation

Q: Why if I launch Mozilla Minimo I can't navigate in internet?

A: Please verify that the mobile device is connected to a network, that the network interface is correctly configured, and that the network at witch you are connecting to allows the navigation out of the lan.
 

Nylux remote management (useful utilities)

Q: Wich programs can I use in order to manage a Nylux device from a remote pc?

A:  Every Nylux device is equiped with SSH (SCP/SFTP) and VNC servers. This means that from every kind of pc (Windows, Linux or Mac) you can use severals utilities (open source, free, etc.) that allow you to connect and manage the Nylux device remotely.

For Windows platforms, among all the availables we remind as more used the followings:

NOTE: both WinSCP and Putty programs use encrypted communication protocols, in order to ensure data security while connected to a Nylux device.

Regarding Linux and Mac personal computers, the most recent versions of both platforms usually integrate by default an SSH (SCP/SFTP) client, that enables the user to do the operations mentioned above without installing external applications. We suggest in this case to read the documentation provided with the used operative system.
 

Nylux's svn repository

Q: I know Nylux is an Open Source platform, where can I find the sources for this project?

A: Here follows the svn repository list:

svn://www.nylux.it/nilux/trunk/                                 blob for xscale and kernel
svn://www.nylux.it/nyluxRootfs/trunk/                    default file system
svn://www.nylux.it/nyluxSdk/trunk/                         C and Java software development kit
svn://www.nylux.it/nyluxSdk/trunk/web/                 barcodes reader demon (scand)
svn://www.nylux.it/nyluxSources/trunk/                 sources of utilities and various programs
svn://www.nylux.it/nyluxJavaPlatform/trunk/         Java Virtual Machine and various extensions
svn://www.nylux.it/Hw-gInventario/trunk/              Highway-g Inventario software
svn://www.nylux.it/Hw-gCaricoScarico/trunk/      Highway-g Carico/Scarico software
svn://www.nylux.it/nyluxPrinter/trunk/                    Nylux Printer software

Restore system configuration as default settings

Q: Is it possible to clean the system and restore the default configuration for Nylux platform?

A: Yes, it's possible. At the moment this service is done by Bancolini Symbol's technical laboratory. However, the administrator can do that operation using the specific utility for system reload from an SD card.
 

Samba client

How to locally map network shared folders with Samba client

Q: Is it possible to locally map on Nylux devices one or more network shared folders?

A: Yes, it's possible. In order to locally map a network shared folder, the administrator must install on Nylux device the Samba client, then use the "mount.cifs" command. The command syntax is the following:

mount.cifs //ip_host/shared_folder /media/mount_point_folder/ -o username=user_host,password=pass_host

where

ip_host is the ip address of the pc that fisically shares the folder
shared_folder is the shared folder's name
mount_point_folder is the local Nylux folder that will contain the resources shared on the remote folder
user_host and pass_host are the credentials to use for the remote host's login

If the host that shares the remote folder is part of a domain (option available on Microsoft Windows networks), the username specified in the command must also contains the domain name, using the syntax domain/user_host. The command syntax in this case changes as follows:
mount.cifs //ip_host/shared_folder /media/mount_point_folder/ -o username=domain/user_host,password=pass_host

NOTE: The mount point folder (i.e. the local Nylux folder that will contain the resources shared on the remote folder) can't be one of the followings: bin, etc, dev, sys, usr, sbin, proc, lib, tmp and var. Usually a valid mount point is a folder created in /media or in /root folders.
 

How to show resources available in a specific shared folder

Q: Is it possible to show resources available in a specific shared folder?

A: Yes, it's possible. In order to show resources available in a specific shared folder, the administrator must install on Nylux device the Samba client, then use the "smbclient" command. The command syntax is the following:

smbclient -L ip_host -U username

where

ip_host is the ip address of the pc that fisically shares the folder
user_host is the credential to use for the remote host's login

If the host that shares the remote folder is part of a domain (option available on Microsoft Windows networks), the username specified in the command must also contain the domain name, using the syntax domain/user_host. The command syntax in this case changes as follows:

smbclient -L ip_host -U domain/username

NOTE: If you locally map a shared folder, the local Nylux folder will contain all the availables files and folders existents on the remote folder, so it can be possible to show available resources simply showing the content of the mount point folder.
 

Software development using C/C++

Q: Is it possible to develop an application using C/C++ languages?

A: Yes, it's possible. In order to develop a program written in C/C++ for Nylux platform, the developer needs first to install and configure a cross-compilation environment (i.e. scratchbox, openembedded, ..) in order to compile programs for armv5te processors. The C development libraries (nowadays not officially supported) are availables at the following SVN repository :

svn://www.nylux.it/nyluxSdk/trunk/

Software development using Java

Q: How can I develop a Java application for Nylux?

A: In order to develop a Java software for Nylux platform, we suggest as first thing to install on the pc an IDE (Integrated development environment, a software development system), such as Eclipse or Netbeans. Using one of that IDE, both develop and debug cycles will be faster and easier. You need to install on the development pc also a Java virtual machine, that will allow the source's compilantion and the project's execution on the development machine. On Windows hosts we suggest to use Oracle's jdk ver. 1.4 (similar to PhoneME jvm used by Nylux devices), while if using a Linux host we suggest to use directly the specific Linux release of the PhoneME virtual machine.
Independently by the virtual machine and the IDE used, it will be necessary to set up the compiler's “compliance level” or “source level” (in the used IDE) jdk ver. 1.3 or 1.4, and also to import in every new project's classpath every jar file needed (that depends by the project's dependencies, i.e. swt.jar, fake_nylux.jar).

Nylux website provide in the “Downloads -> SDK” section also the Java development kit, composed by the following files:

  1. nylux.jar: runtime package needed by Nylux applications that use the functionalities included in the java sdk (this file must be copied on Nylux device, and must be specified as part of the classpath in the Nylux program's startup command or script)
  2. fake_nylux.jar: development package that contains the nylux.jar mentioned above, but also the sdk javadoc and a fake package that can be used while developing a software (contains fake calls to Nylux system functionalities, so this file must be specified as part of the classpath while developing a project that use sdk, in order to enable the emulation of the typical Nylux peripherals, such as laser, led, buzzer, etc.).
  3. jni.tgz: Nylux installation package that contains native libraries and links needed by the applications that use java sdk. This package must be installed on every device that will run applications that use java sdk.

In the same website section are also provided severals files. Among these we remind as more used the followings:

  1. nyluxResources.jar: runtime package (including sources and documentation) that allow the use of a graphic component similar to the application bar.
  2. demoNylux.jar: example program that show how to use Java sdk (including sources).


NOTES:

Usb connection to a Windows pc

Q: Is it possible to connect a Nylux device to a Windows pc using a usb connection?

A: Unfortunately nowadays Microsoft doesn't provide any UsbLan driver capable to connect their Windows operative systems to Linux devices using usb network. However it's possible to install on the Windows pc a demo version of driver and/or utilities provided by other sellers (i.e. Belcarra), or easily find compatible drivers over the web.
However we suggest to Windows users to use a wireless (WiFi) connection instead of an usb one.