My Tiviar – uppdatering

Jag gjorde en fabriksåterställning och ändrade språkinställningarna för menyer mm till svenska (från engelska), vilket förbättrade Tiviaren på ett par punkter: EPG-infot blev på svenska på de svenska kanalerna, ”FST Update” försvann och därmed förbättrades boot/uppstartstiden avsevärt! Men vissa smågrejer kvarstår.

– EPG-info visas bara för någon timme/program framåt.
– DNLA/Mediaservern startar fortfarande inte automatiskt vid boot.

Och så lite annat smått och gott som jag skrivit om tidigare.

Enligt en kommentar på forum.mytiviar.se ska åtminstone EPG-problematiken ha framförts till tillverkaren. Ser fram emot kommande fixar.

Toolchain till Tiviar Alpha+

I am in no way wiz enough to know what I’m doing, but I’m going to attempt to build a native toolchain for the Tiviar Alpha Plus STB. I prefer native since it appears to be more simple to setup, configure and maintain. I’m probably wrong, but that’s what I prefer.

I think I’ve found a couple of cornerstones to do this:

Here’s a source tar, which apparently has been published on tiviar.com earlier, but the link does not work anymore when I try to follow:
http://www.generalfiles.org/download/gs64b0e7a3h32i0/stbgcc-4.5.3-1.3.tar.bz2.html

It seems to contain necessary mipsel toolchain stuff, such as gcc with friends, includes and headers. But I have yet to verify that.
From what I can tell, someone has used a Red Hat buildserver for this.

And here’s a How-To buil Directfb using a buildserver:
”Building Qt for the Broadcom BCM97420C”
Webkit for Qt/DirectFB broadcom 97420c0

And on a mailinglist (http://comments.gmane.org/gmane.comp.lib.qt.user/6025) I found this configure line, but they are for Qt so I suspect a lot can be omitted for c source only assemblies:
./configure -opensource -confirm-license -embedded mips -xplatform
devices/linux-mipsel-broadcom-97425-g++ -opengl es2 -device mipsel-broadcom-
97425 -device-option CROSS_COMPILE=/opt/tool
chains/stbgcc-4.5.3-2.4/bin/mips-linux- -device-option BRCM_PLATFORM=97425 -
device-option BRCM_BHCP_VER=b2 -device-option
BRCM_BASE_DIR=/opt/vendor/broadcom/7425/Refsw12.4 -device-option B_REFSW
_DEBUG=y -prefix /usr/local/Qt/ -sysroot /opt/toolchains/stbgcc-4.5.3-
2.4/mipsel-linux-uclibc/sys-root -no-mips_dsp -no-mips_dspr2 -no-xcb -qpa
eglsfs -system-zlib -system-libpng -system-libjpeg
-eglfs -no-avx -no-sse3 -no-sse4.1 -no-sse4.2 -no-ssse3 -no-sse2 -fontconfig
-icu -system-sqlite -glib -v -gstreamer -force-pkg-config
1981

./configure -opensource -confirm-license -xplatform devices/linux-
mipsel-broadcom-97425-g++ -opengl es2 -device mipsel-broadcom-97425 -device-
option CROSS_COMPILE=/opt/toolchains/stbgcc-4.5.3-2.4/bin/mips-linux-
-device-option BRCM_PLATFORM=97425 -device-option
BRCM_BHCP_VER=b2 -device-option BRCM_BASE_DIR=/opt/vendor/broadcom/7425/Refsw12.4
-device-option B_REFSW_DEBUG=y -prefix /usr/local/Qt/
-sysroot /opt/toolchains/stbgcc-4.5.3-2.4/mipsel-linux-uclibc/sys-root
-no-mips_dsp -no-mips_dspr2 -no-xcb -qpa eglsfs -system-zlib
-system-libpng -system-libjpeg -eglfs -no-avx
-no-sse3 -no-sse4.1 -no-sse4.2 -no-ssse3 -no-sse2 -fontconfig -icu -system-sqlite
-glib -v -gstreamer -force-pkg-config

And perhaps adding to that:
-Wall -Wextra -Wreturn-type -fno-strict-aliasing -Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self -pipe --sysroot=/home/kushal/bcm/stbgcc-4.5.3-2.4/mipsel-linux-uclibc/sys-root -ICU -ffunction-sections -fdata-sections -O2 -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -fno-exceptions -D_REENTRANT -MD -DQT_NO_XCB -DBUILDING_QT__=1 -DNDEBUG -DENABLE_3D_RENDERING=1 -DENABLE_BLOB=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_CSS_BOX_DECORATION_BREAK=1 -DENABLE_CSS_COMPOSITING=1 -DENABLE_CSS_EXCLUSIONS=1 -DENABLE_CSS_FILTERS=1 -DENABLE_CSS_IMAGE_SET=1 -DENABLE_CSS_REGIONS=1 -DENABLE_CSS_STICKY_POSITION=1 -DENABLE_DATALIST_ELEMENT=1 -DENABLE_DETAILS_ELEMENT=1 -DENABLE_FAST_MOBILE_SCROLLING=1 -DENABLE_FILTERS=1 -DENABLE_FTPDIR=1 -DENABLE_FULLSCREEN_API=1 -DENABLE_GESTURE_EVENTS=1 -DENABLE_ICONDATABASE=1 -DENABLE_IFRAME_SEAMLESS=1 -DENABLE_INPUT_TYPE_COLOR=1 -DENABLE_INSPECTOR=1 -DENABLE_INSPECTOR_SERVER=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_LEGACY_NOTIFICATIONS=1 -DENABLE_LEGACY_VIEWPORT_ADAPTION=1 -DENABLE_LEGACY_VENDOR_PREFIXES=1 -DENABLE_METER_ELEMENT=1 -DENABLE_MHTML=1 -DENABLE_MUTATION_OBSERVERS=1 -DENABLE_NOTIFICATIONS=1 -DENABLE_PAGE_VISIBILITY_API=1 -DENABLE_PROGRESS_ELEMENT=1 -DENABLE_RESOLUTION_MEDIA_QUERY=1 -DENABLE_REQUEST_ANIMATION_FRAME=1 -DENABLE_SHARED_WORKERS=1 -DENABLE_SMOOTH_SCROLLING=1 -DENABLE_SQL_DATABASE=1 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_TOUCH_ADJUSTMENT=1 -DENABLE_TOUCH_EVENTS=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_WEB_TIMING=1 -DENABLE_WORKERS=1 -DENABLE_XHR_TIMEOUT=1 -DWTF_USE_TILED_BACKING_STORE=1 -DHAVE_QTQUICK=1 -DHAVE_QTPRINTSUPPORT=1 -DHAVE_QSTYLE=1 -DHAVE_QTTESTLIB=1 -DWTF_USE_ZLIB=1 -DWTF_USE_LIBJPEG=1 -DWTF_USE_LIBPNG=1 -DPLUGIN_ARCHITECTURE_UNSUPPORTED=1 -DWTF_USE_3D_GRAPHICS=1 -DENABLE_WEBGL=1 -DENABLE_CSS_SHADERS=1 -DENABLE_TOUCH_SLIDER=1 -DENABLE_ACCELERATED_2D_CANVAS=0 -DENABLE_ANIMATION_API=0 -DENABLE_BATTERY_STATUS=0 -DENABLE_CSP_NEXT=0 -DENABLE_CSS_GRID_LAYOUT=0 -DENABLE_CSS_HIERARCHIES=0 -DENABLE_CSS_IMAGE_ORIENTATION=0 -DENABLE_CSS_IMAGE_RESOLUTION=0 -DENABLE_CSS_VARIABLES=0 -DENABLE_CSS3_BACKGROUND=0 -DENABLE_CSS3_CONDITIONAL_RULES=0 -DENABLE_CSS3_TEXT=0 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_DATAGRID=0 -DENABLE_DATA_TRANSFER_ITEMS=0 -DENABLE_DEVICE_ORIENTATION=0 -DENABLE_DIRECTORY_UPLOAD=0 -DENABLE_DOWNLOAD_ATTRIBUTE=0 -DENABLE_FILE_SYSTEM=0 -DENABLE_GAMEPAD=0 -DENABLE_GEOLOCATION=0 -DENABLE_HIGH_DPI_CANVAS=0 -DENABLE_INDEXED_DATABASE=0 -DENABLE_INPUT_SPEECH=0 -DENABLE_INPUT_TYPE_DATE=0 -DENABLE_INPUT_TYPE_DATETIME=0 -DENABLE_INPUT_TYPE_DATETIMELOCAL=0 -DENABLE_INPUT_TYPE_MONTH=0 -DENABLE_INPUT_TYPE_TIME=0 -DENABLE_INPUT_TYPE_WEEK=0 -DENABLE_LEGACY_CSS_VENDOR_PREFIXES=0 -DENABLE_LINK_PREFETCH=0 -DENABLE_LINK_PRERENDER=0 -DENABLE_MATHML=0 -DENABLE_MEDIA_SOURCE=0 -DENABLE_MEDIA_STATISTICS=0 -DENABLE_MEDIA_STREAM=0 -DENABLE_MICRODATA=0 -DENABLE_NAVIGATOR_CONTENT_UTILS=0 -DENABLE_NETSCAPE_PLUGIN_API=0 -DENABLE_NETWORK_INFO=0 -DENABLE_ORIENTATION_EVENTS=0 -DENABLE_PROXIMITY_EVENTS=0 -DENABLE_QUOTA=0 -DENABLE_SCRIPTED_SPEECH=0 -DENABLE_SHADOW_DOM=0 -DENABLE_STYLE_SCOPED=0 -DENABLE_SVG_DOM_OBJC_BINDINGS=0 -DENABLE_TEXT_AUTOSIZING=0 -DENABLE_TEXT_NOTIFICATIONS_ONLY=0 -DENABLE_TOUCH_ICON_LOADING=0 -DENABLE_VIBRATION=0 -DENABLE_VIDEO=0 -DENABLE_VIDEO_TRACK=0 -DENABLE_WEB_AUDIO=0 -DENABLE_XSLT=0 -DBUILDING_WebKit1 -DBUILDING_WEBKIT -DQT_ASCII_CAST_WARNINGS -DSQLITE_CORE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_OMIT_COMPLETE -DSTATICALLY_LINKED_WITH_WebCore -DSTATICALLY_LINKED_WITH_ANGLE -DSTATICALLY_LINKED_WITH_JavaScriptCore -DSTATICALLY_LINKED_WITH_WTF -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB

One day (night) with some more time on my hands, I just might be able to cook this. Until that day…

Mer om Tiviar Alpha Plus

Har nu haft den här mottagaren i ett par dagar och skaffat mig lite fler intryck.

Just nu har den Firmware (Application Version BPPV) v2.01.19, som släpptes bara för en knapp vecka sedan.

På Plussidan:

  • Bra bild
  • Många tuners, så man kan se och spela in på flera håll samtidigt!
  • Officiell feature att lägga in en egen TTF-font för undertexter.

Potential till förbättringar

  • Ovänlig och otymplig kanalhantering
  • Verkar inte gå att sätta ”logisk” nummerordning på kanalerna. Kanalslistan (”Service List”) måste föras över via USB-sticka till en dator, där man kan köra ett program (”DrEditHD”, enbart för Windows.), som funkar för enklare sorteringsbehov. Filen med kanaler (*.fup) verkar vara zippad på något sätt, inte en öppen som xml eller liknande.

  • ”Klonkig” fjärrkontroll
    Även om jag gillar layouten så tycker jag knapparna låter för högt, och jag saknar bakgrundsbelysning.

  • EPG-info på danska istället för svenska
  • Ska det ta det från Conaxinfot? Där står det åtminstone angivet landskod 46. EDIT: efter en fabriksåterställning och lite fippel blev det på svenska, som sig bör.

  • iPhoneappen (”Tivi Air”) är omogen
  • Kraschar ofta och kan inte spela upp kanaler. Funkar som extra fjärrkontroll, men mer för enklare behov om man råkat ta sönder eller gjort av med den riktiga fjärrkontrollen. Men om det kommer några viktiga uppdateringar så lovar den gott. Ser ännu bättre ut på en iPad, åtminstone vad jag sett på screenshots.

  • Mediaservern (minidnla) startar ej automatiskt efter omstart
  • När man går in via GUI står ”Status: Stopped”, trots att Start Type är på Auto, och startad tidigare?

Noterat
– Telnet (yay!) och anonym ftpd öppna per default
Så öppna inte upp den här rackaren utanför ditt LAN om du inte vill hantera ovälkomna besök.

– Busybox-baserad Linux
Vad jag har hört kör denna Fortistillverkade STB på ett Broadcomchip. Det finns redan en del verktyg i /bin m.m. för att undersöka boxen mer ingående, men en *nixwannabe som jag skulle behöva fler. Ser ut som jag får googla hårt för att lyckas skapa toolchain:

# uname -a
Linux (none) 2.6.37-3.1-svn1112 #1 SMP Mon Jan 7 14:42:51 KST 2013 mips GNU/Linux

# cat /proc/version
Linux version 2.6.37-3.1-svn1112 (morgan@morgan-pc-ubuntu) (gcc version 4.5.3 (Broadcom stbgcc-4.5.3-1.3) ) #1 SMP Mon Jan 7 14:42:51 KST 2013

# cat /proc/cpuinfo
system type : BCM7346B2 STB platform
processor : 0
cpu model : Broadcom BMIPS5000 V1.1 FPU V0.1
BogoMIPS : 733.18
cpu MHz : 1104.082
wait instruction : yes
microsecond timers : yes
tlb_entries : 64
extra interrupt vector : yes
hardware watchpoint : no
ASEs implemented :
shadow register sets : 1
core : 0
VCED exceptions : not available
VCEI exceptions : not available

processor : 1
cpu model : Broadcom BMIPS5000 V1.1 FPU V0.1
BogoMIPS : 550.91
cpu MHz : 1104.082
wait instruction : yes
microsecond timers : yes
tlb_entries : 64
extra interrupt vector : yes
hardware watchpoint : no
ASEs implemented :
shadow register sets : 1
core : 0
VCED exceptions : not available
VCEI exceptions : not available

För en guru kanske den infon räcker för att sätta upp en crosscompiler. Inte för mig.

– OSD körs med DirectFB, via en exe kallad netfrontnx

/root/hbbtv/netfrontnx --dfb:no-cursor --dfb:module-dir=/usr/local/lib/directfb-1.4-15_client

– Mediehanteringen verkar skötas av en exe vid namn ”app”.

# ./app --help
##### Get System Information OK! #####

============================================================
Got siganl 11 - Segmentation fault

pc=0x7633d4ac, ra=0x7633d4a8, sp=0x7fc494d8

<1> /root/lib/libnexus.so(NEXUS_Module_Lock_Tagged+0x38) [0x7633d4ac]
<2> /root/lib/libnexus.so(NEXUS_Gpio_GetDefaultSettings+0x2c) [0x762a2cdc]
<3> ./app [0x8472a8]
<4> ./app(Ci_InitCimax+0x18) [0x84736c]
<5> ./app(Wi_Init+0x80) [0x7ccdb0]
<6> ./app(_Z10STFAE_Initv+0x14) [0x5431b4]
<7> ./app(_ZN21C_BREFORE_CONSTRUCTORC2Ev+0xe8) [0x52bb78]
<8> ./app [0x741d28]
<9> ./app [0x4fcd14]
<10> /lib/libc.so.0(__uClibc_main+0x244) [0x75c97408]
============================================================

Den ligger i /root/bin. Där finns också ’dnloader´

# dnloader --help
##### UPGRADE APPLICATION #####
# version : 112
# flash size : 512M
# model : Nand Flash
# xfd ver : 0010
##########################
[0] - dnloader
[1] - --help
paramter error!!

Som verkar vara någon form av firmwareuppdateringsapplikation? (paramter!)

Vi fortsätter utforskandet:

# printenv
SHELL=/bin/sh
TERM=vt102
USER=root
PATH=.:/sbin:/usr/sbin:/bin:/usr/bin
PWD=/bin
PS1=\$
SHLVL=1
HOME=/root
LOGNAME=root
_=./printenv
OLDPWD=/root

I /bin hittar vi också bash, strace, samt lite andra goa verktyg, t ex för att manipulera flashminnet.

I /etc finns det mer kul.

# cat /etc/MediaServer.conf
port=8200
media_dir=/STORAGE
friendly_name=Tiviar Media Server
db_dir=/var/lib/.minidlna
#log_dir=/var/log
#log_level=general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
inotify=yes
enable_tivo=no
strict_dlna=no
notify_interval=900
serial=12345678
model_number=1

DLNA-mediaservern verkar inte startas per default, utan krävde att jag gick in i menyn och aktiverade den. Jag gick in med PlugPlayer-appen på min iPhone som hittade den direkt. Efter en snabb filöverföring låg en katalog med MP3:or i /STORAGE/HDD/ som PlugPlayer hittade direkt. Nice!

Tiviaren använder Googles DNS:

# cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4

Är detta någon form av tidstämpel för firmware?

# cat /etc/root.ver
2013-06-24 13:26

Gissar att följande har något med broadcasts att göra, men vad?

# cat /etc/brcmstb.conf
TFTPHOST=stb-irva-01
TFTPPATH=2637-2.8
PLAT=7346b0
VERSION=2637-2.8

Lite info om hur directfb är konfad finns här:

# cat /etc/directfbrc
system=bcmnexus
madv-remove
no-cursor-automation
smooth-upscale
smooth-downscale
bg-color=0
#res=720p
bcmnexus-ir-protocol=CirNec
bcmnexus-ir-keycodes=cirnec
#wm=sawman
force-windowed
no-sighandler
module-dir=/usr/local/lib/directfb-1.4-15_client
#mode=1920x1080
mode=1280x720

Och i /etc/init.d/run
(snippet)

cd /usr/local/bin/directfb/1.4
./rundfb.sh install
./nexus.974xx
#insmod /root/modules/bcmdriver.ko
#mknod -m a=rw /dev/brcm0 c 30 0

export sw_picture_decode=1
export FONTCONFIG_FILE=/usr/local/bin/webzeal/fonts.conf
export FLASH_BYPASS_BROWSER_INVALIDATES=1

(end snippet)

Den nya (enligt releasnotes) Bittorrentspelaren:

# cat /usr/local/btmove/settings.txt
# settings.txt
#
# This file is read at initialization of the BitTorrent Move Engine.
#

bt_lib_path: /var/etc/.bt_data
http_path: ./ui
http_port: 8081
ssdp_mcast_period: 30
ssdp_brdcst_period: 60
logging_level: 2
device_description: FORTIS BCM STB

Once the Media Server is started, we get this response at http://192.168.11.220:8200/

FREE TV+ Media Server status
Audio files: 18
Video files: 2
Image files: 1

Ny satellitmottagare

För någon månad sedan dog min Vu+Duo. Den har varit en trevlig vän som inte strulat (till skillnad från tidigare boxar från Canal Digitals standardsortiment, typ Sagem), men nu är den i de sälla digitala jaktmarkerna.

Idag köpte jag en Fortis Tiviar Alpha+, en ganska ny bekantskap på marknaden, typ en eller två månader. Den har intressanta specs, inklusive trippeltuner för oss som vill slötitta på TV:n, spela in och se på en annan kanal på surfplattan samtidigt.

Installationen gick ganska smärtfritt. Hårddisken formaterade jag genom den interna menyn. En mjukvaruuppdatering var tillgänglig och jag installerade den via nätuppkopplingen. Gränssnittet är hyfsat rappt.

Tyvärr har jag inte lyckats helt med scanningen av satellitkanaler än, jag saknar ett antal HD-kanaler.

Och än så länge finns ingen smidig kanalhantering. Det måste kopieras över via USB-sticka till datorn och sen fanns det ett program på mytiviar.se som heter ”DrEdit” som kan hjälpa en sortera. Har inte testat det än.

http://mytiviar.se kunde man ladda ner några manualer, där finns ett litet forum och allmän info. Kan bli användbart om man stöter på patrull.

Hmm… Läge för förbättringar. Linux ska den visst köra.

En snabb portscan visade 6 öppningar på: 21, 23, 80, 139, 445, 8080

Så vad kan man göra med den?

# uname -a
Linux (none) 2.6.37-3.1-svn1112 #1 SMP Mon Jan 7 14:42:51 KST 2013 mips GNU/Linux

Root! Telnet var öppet. Tack! Ska tydligen vara silikon från Broadcom under huven. Jag tror det kommer bli en trevlig bekantskap, trots det. Jag hoppas återkomma med lite mer info.