Soniq Cinavision TV And Computing Facilities
A work in progress by: Waldis Jirgens. Latest update: 9
th November 2013.
Note that the usual disclaimer applies:
If you use this information here, don't blame me, should you, your data, or your TV/Computer get hurt!
General
The Soniq Cinavision smart TV runs under
Android 2.2.1. It
has 3 USB ports, where one can attach a USB keyboard and a USB mouse plus a USB memory stick.
It is possible to use a USB 1.1 hub for the keyboard and the mouse. Even more convenient is to use a wireless keybord and a wireless mouse.
There are a few applications. A vital one that can be installed is
the
terminal emulator. Install that one first from the menu.
When selecting "All Applications" from the menu after switching on
the TV (can be done with the remote or the mouse) one gets a user desktop similar to a real PC.
Selecting applications from this desktop is done by
single clicking the icon of the application.
The
terminal emulator allows a few commands known from
Linux. Most importantly it allows to run
bash-alike shell scripts.
This is done by entering
sh scriptname
Applications come as .apk files. They can be installed by single left clicking them in the file manager.
Here is a GPL Freeware Repository
I upgraded the firmware online on the 9/5/2013 and on the 6/11/2013
TV Recording And Play-Back
Recording can be done either to an SD card or a USB
stick. Before starting select which device you'd like to record to. This is done with the
remote selecting "Menu" then "Option" then "PVR Settings" then "Device List" and highlighting the device there. Note that the device must have a
filesystem of type FAT32 - NOT the LBA variety! If this is not the case the USB stick is not recognised.
Recorded files are in directory usbrecord of the device where you record on. Filenames show
Station name and timestamp. Suffix of the files is .sq
Play-Back can be done
only by starting the file
manager and selecting the recorded file. The first time one does
that, the system asks you which application to use to handle the
file. Select media-player to do that.
Screen format
during play-back is
16:9 and I haven't found a way to
change that yet. Also the .sq files do not show up in
application "Media"!
Playing Video Files
Video file formats that can be plaved with
MplayerIII Tab or Movie Player are:
3gp, flv, mpg or mpeg, even the ones with audio encoded in MPEG-4AAC format.
Video file formats that cannot be plaved with
MplayerIII Tab or Movie Player are:
avi, mov, qt, ogv.
I have not tested any other formats.
Web Browsing
The standard browser is pretty rudimentary compared to a "real" one, but web pages can be displayed and one can watch embedded flash videos like with YouTube. Operating facebook and web-mail is pretty straight forward. The key bindings are strange when compared to Linux or Windows. I installed also the "Dolphin" and the "Chrome" browsers, which are somehow more modern.
Neither browser seems to honour the <embed> tag except for flash videos
Key Bindings, Idiosyncracies, Links
These are strange if you come from a Linux background.
- The escape key on the keyboard brings you back one step to the previous task.
The same happens with the right mouse button.
- The delete key acts as destructive backspace.
- The real destructive backspace key does nothing.
- Sometimes the TV decides to display a keyboard on the screen. If you click "Go" there, it goes away.
- Sometimes all keystrokes appear in upper case. Shift-Caps_lock brings it (mostly) back. If the on-screen
keyboard appears, it has a toggle button for the keyboard - like on a mobile phone.
- Webpages (yes it can display local ones in spite of protesting no internet connection) are scrolled by either the mouse wheel or drag and release with the left mouse button - like on a tablet.
- It has an ethernet connection with RJ45 socket and can be part of a home ethernet network.
- The USB disk is known as /mnt/sda1 - very Linux-like.
- The sd card is known as /mnt/sdcard and also as /sdcard.
- Commands on the terminal emulator are not remembered via the "up" arrow key.
- I had to delete and re-install the terminal emulator after the 2nd firmware upgrade.
- Highlighting text with the mouse is not possible.
- Saving web content or mail attachments is only possible if you plug in an SD card. It creates a directory "download" on
it and puts the content there.
- Uploading files as attachments to webmail is only possible from the SD card.
- The file manager lacks basic functionality like copying files. This has to be done from the command prompt in the terminal emulator.
- The syntax of the "let" scripting command is incompatible with BASH.
- Here is an Android-Shell-Command-Reference
- I haven't found a way yet to become "root".
There is a nice
Text editor application available from
http://textedit.paulmach.com/
which installs on the sd card. It is called Textedit and allows verey basic full screen editing.
The
middle mouse key (or mouse wheel) brings up a menu where you can select what to do - open, save, save as, new file, editor options.
Before I knew this I did a little exercise in scripting:
Very Basic Editor Script
To do some basic tasks I developed the following scripts. They reside on the USB stick.:
shcreate - to create a file on the USB disk:
#!/bin/sh
echo "Start a file. Enter filename"
read finam
echo "Type text line by line. CNTRL-D when done"
cat > $finam
exit 0
sheditandro - Basic Editor
Note the different "let" statement formats!
#!/bin/sh
echo "Edit lines in a file. Enter filename:"
read finam
endmark=0
while [ $endmark -ne 1 ]; do
reconum=0
while read line; do
# let "reconum = $reconum + 1"
reconum=`let $reconum+1`
done < $finam
echo "Number of records: $reconum"
lincomp=1
linestart=`let $reconum+1`
# let "linestart = $reconum + 1"
until [ $linestart -le $reconum ]; do
echo "Line number to start the listing:"
read linestart
if [ $linestart -gt $reconum ]
then
echo "too big, must be less or equal to $reconum"
fi
done
# let "lineend = $linestart - 1"
lineend=`let $linestart-1`
while [ $lineend -lt $linestart ]; do
echo "Line number to end the listing:"
read lineend
if [ $lineend -lt $linestart ]
then
echo "too small, must be at least $linestart"
fi
done
if [ $lineend -gt $reconum ]
then
lineend=$reconum
echo "Line number to end set to maximum namely $reconum"
fi
echo "===================================================="
while read line; do
if [ $linestart -le $lincomp ]
then
if [ $lineend -ge $lincomp ]
then
echo "$lincomp $line"
fi
fi
# let "lincomp = $lincomp + 1"
lincomp=`let $lincomp+1`
done < $finam
echo "What do you want to do:"
echo "d Delete Records"
echo "i Insert Records"
echo "z Finish"
read choice
case $choice in
d)
# let "fitodel = $reconum + 1"
fitodel=`let $reconum+1`
while [ $fitodel -gt $reconum ]; do
echo "First line to delete"
read fitodel
done
# let "latodel = $fitodel - 1"
latodel=`let $fitodel-1`
while [ $latodel -lt $fitodel ]; do
echo "Last line to delete"
read latodel
done
echo "deleting lines $fitodel to $latodel"
rm -f tmpd@@tmpd
lire=0
while read line; do
# let "lire = $lire + 1"
lire=`let $lire+1`
if [ $lire -lt $fitodel ]
then
echo "$line" >> tmpd@@tmpd
fi
if [ $lire -gt $latodel ]
then
echo "$line" >> tmpd@@tmpd
fi
done < $finam
mv tmpd@@tmpd $finam
;;
i)
# let "inaft = $reconum + 1"
inaft=`let $reconum+1`
while [ $inaft -gt $reconum ]; do
echo "Insert after which line"
read inaft
done
rm -f tempi##tempi
if [ $inaft -eq 0 ]
then
echo "Write lines to insert. finish with Cntrl-d on a new line"
cat >> tempi##tempi
cat tempi##tempi $finam > tempn##tempn
mv tempn##tempn $finam
else
lire=0
while read line; do
if [ $lire -le $inaft ]
then
# let "lire = $lire + 1"
lire=`let $lire+1`
echo "$line" >> tempi##tempi
fi
done < $finam
echo "Write lines to insert. finish with Cntrl-d on a new line"
cat >> tempi##tempi
lire=0
while read line; do
# let "lire = $lire + 1"
lire=`let $lire+1`
if [ $lire -gt $inaft ]
then
echo "$line" >> tempi##tempi
fi
done < $finam
mv tempi##tempi $finam
fi
;;
z)
endmark=1
;;
esac
done
exit 0