unresolved symbols in enigma plugins

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
MastaG
Interessierter
Interessierter
Beiträge: 20
Registriert: Montag 6. Mai 2013, 11:17

unresolved symbols in enigma plugins

Beitrag von MastaG »

Hi there,

I'm struggling a bit building a Enigma tuxbox squashfs image for dbox2.
My aim is to use the 2.6 kernel and gcc 4.7 build options.
It works fine, however the included plugins: script, ngrab and movieplayer do not work.
They all fail with _ZN7* and _ZN8* symbols missing.


I've configured with:

Code: Alles auswählen

./configure --prefix=$DISTDIR --with-gcc47 --with-boxtype=dbox2 --enable-kernel26 \
--enable-fbclear --disable-tuxmail --disable-tuxcom --enable-eraseall --enable-fx2-outdoor \
--with-cvsdir=$BUILDDIR --with-ucodesdir=$BUILDDIR/ucode --with-defaultlocale=english \
--enable-ide --with-webif=expert --enable-xfs --with-filesystem-tools=xfsprogs --disable-ext3 \
--enable-pluginx --disable-enigma-rss --enable-aviaext --enable-avswitch --enable-msgbox \
--with-epg=standard --enable-mmc --with-curlversion=current

Code: Alles auswählen

summary:
----------------------------------------
target cpu/boxtype:		ppc823/dbox2 
kernel:				2.6
kernel config:			config/dbox2_kernel-2.6.config.m4
libc:				eglibc/gcc 4.7
threads:			nptl
target:				powerpc-tuxbox-linux-gnu
host:				x86_64-unknown-linux-gnu
debug code:			no
target prefix:			/home/mastag/dbox2/dist/cdkroot
host prefix:			/home/mastag/dbox2/dist/cdk
boot prefix:			/home/mastag/dbox2/dist/tftpboot
build prefix:			/home/mastag/dbox2/cdk
root partition size:		0x660000
default locale:			english
serversupport:			/home/mastag/dbox2/dist/serversupport
checkImage:			
target apps directory:		/home/mastag/dbox2/apps
boot directory:			/home/mastag/dbox2/boot
start script directory:		/home/mastag/dbox2/cdk/root
driver directory:		/home/mastag/dbox2/driver
host apps directory:		/home/mastag/dbox2/hostapps
logo directory:			/home/mastag/dbox2/cdk/logos
customization directory:	/home/mastag/dbox2/cdk
ucode directory:		/home/mastag/dbox2/ucode
archive directory:		/home/mastag/dbox2/cdk/Archive
GNU server:			ftp.gwdg.de/pub/misc/gnu/ftp/gnu
default server:			www.tuxbox.org/cvsdata/files
update http prefix:		
used busybox-m4-config:		config/busybox.config.m4
IDE support:			yes
MMC support:			yes
fdisk standalone:		no
mount standalone:		no
fstab default fs:		xfs
IDE/MMC: Ext2 support		no 
IDE/MMC: Ext3 support		no 
IDE/MMC: XFS support		yes / xfsprogs
IDE/MMC: REISERFS support	no 
IDE/MMC: VFAT support		no 
CIFS kernel module:		yes
SMBFS kernel module:		no
LUFS kernel module:		yes
NFS kernel module:		yes
NFS server:			no
Samba server:			no
Automount:			yes
Neutrino UPnP-support:		no
Neutrino Audioplayer:		yes
Neutrino Movieplayer:		yes
Neutrino Pictureviewer:		yes
Neutrino Mount:			yes
Neutrino Drive-Setup:		no
Neutrino dvbsub			yes
Neutrino EPG plus		yes
Radiotext support:		yes
FLAC support:			no
CURL version:			old (also tried current)
German keymaps:			no

aformat				no
cdkVcInfo			no
blockads			no
clock				no
cron				no
dboxshot			no
dropbear			no
dvbsnoop			no
eraseall			yes
Esound support:			no
ether-wake			no
fbshot				no
gdbserver			no
getrc				no
hddtemp				no
htop				no
inadyn-mt			no
input				no
ipkg				no
kb2rcd				no
LIRC				no
lcshot				no
links text mode browser		no
links graphics mode browser	no
logomask			no
msgbox				yes
netio				no
openntpd			no
OpenVPN:			no
procps				no
rtc				yes
satfind				no
shellexec			no
sqlite3 storage:		no
strace				no
sysinfo				no
tuxcal				no
tuxcom				no
tuxmail				no
tuxtxt (internal)		yes (yes)
tuxwetter			no
vncviewer			no
wget				no

Enigma: dbswitch		yes
Enigma: movieplayer		yes
Enigma: ngrab			yes
Enigma: rss			no
Enigma: script			yes
Enigma: weather			no

FX2: C64 Emulator		no
FX2: lcdcirc			no
FX2: Lemmings			no
FX2: Mastermind			no
FX2: MineSweeper		no
FX2: Outdoor			yes
FX2: PacMan			no
FX2: Satfind			no
FX2: Snake			no
FX2: Sokoban			no
FX2: Sol			no
FX2: Solitair			no
FX2: Sudoko			no
FX2: Tank			no
FX2: Tetris			no
FX2: Vier gewinnt		no
FX2: Yahtzee			no

Tools: audioplay		no
Tools: aviaext			yes
Tools: aviafbtool		no
Tools: avswitch			yes
Tools: fbclear			yes
Tools: lcddump			no
Tools: pluginx			yes
Tools: rcinfo			no
Tools: rcsim			yes
Tools: saa			yes
Tools: showptsdiff		no
Tools: switch			yes

ccache support:			no
My target:

Code: Alles auswählen

flash-enigma-squashfs-all
mklibs seems to strip too many symbols from libcurl libungif etc...
They are present in cdkroot/lib, but they're missing from cdkflash/root-enigma-squashfs/lib

Possible reasons?
- I've disabled a few things like: ext3, tuxcom, tuxmail, rss
- mklibs is bugged
- gcc4.7 uses LTO which may break mklibs?

I tried:
- Forcing python2 for mklibs instead of python3
- Both old and current version of libburl

No Luck yet.
Anyone tried to build an enigma image for dbox2 recently?
I'd like to try the movieplayer :)
MastaG
Interessierter
Interessierter
Beiträge: 20
Registriert: Montag 6. Mai 2013, 11:17

Re: unresolved symbols in enigma plugins

Beitrag von MastaG »

I think I've found the reason why the required symbols for enigma plugins get stripped.
The mklibs command in the Makefile does not scan all directories.

Code: Alles auswählen

	$(MKLIBS) --target $(target) --libc-extras-dir \
		$(targetprefix)/lib/libc_pic \
		-d $</lib \
		-D -L $(mklibs_librarypath) \
		--root $< \
		`find $</bin/ -path "*bin/?*" -type f` \
		`find $</var/bin/ -path "*bin/?*" -type f` \
		`find $</lib/ -name "libnss_*" -type f` \
		`find $</lib/ -name "libsqlite3*" -type f` \
		`find $</lib/ -name "*.so" -type f` \
		`find $</sbin/ -path "*sbin/?*" -type f`
At the stage where mkibs is executed, not all plugins are present in /lib, for example libfx.so is there so the "outdoor" eyecandy plugin works.
However a few other plugins are in other directories (I have to check which ones since I restarted a fresh build).

I'll report back (hopefully with a patch).
MastaG
Interessierter
Interessierter
Beiträge: 20
Registriert: Montag 6. Mai 2013, 11:17

Re: unresolved symbols in enigma plugins

Beitrag von MastaG »

Found the problem!

cdkflash/root/lib/tuxbox/plugins contains:
outdoor.la
outdoor.so
tuxtxt.la
tuxtxt.so

cdkflash/root-enigma-squashfs/lib/tuxbox/plugins contains:
dbswitch.so
movieplayer.so
ngrabstart.so
ngrabstop.so
outdoor.la
outdoor.so
script.so
tuxtxt.la
tuxtxt.so

So it seems only the symbols for tuxtxt and outdoor plugins are being kept since those modules are present in the cdkflash/root directory.
The other plugins get copied to cdkflash/root-enigma-squashfs at another stage so they're not checked for symbols.

I've checked the Makefile but I cannot see how the buildsystem decides which files to choose for each root.

Any ideas?
MastaG
Interessierter
Interessierter
Beiträge: 20
Registriert: Montag 6. Mai 2013, 11:17

Re: unresolved symbols in enigma plugins

Beitrag von MastaG »

Okay I give up,

could really need some help.
I'm using unmodified source for everything.
Nokia Dbox-2 Enigma, gcc4.7 and kernel 2.6.

When I try to launch some plugins:

Code: Alles auswählen

/lib/tuxbox/plugins/dbswitch.so:
undefined symbol:
_ZN7eWidgetD1Ev

Code: Alles auswählen

/lib/tuxbox/plugins/movieplayer.so:
undefined symbol:
_ZN7eWindow8willShowEv

Code: Alles auswählen

/lib/tuxbox/plugins/ngrabstart.so:
undefined symbol:
_ZN8eZapMain8instanceE

Code: Alles auswählen

/lib/tuxbox/plugins/script.so:
undefined symbol:
_ZN7eWidgetD1Ev
I've tried to explicitly include the plugins path with mklibs:

Code: Alles auswählen

/home/mastag/dbox2/hostapps/mklibs/mklibs.py --target powerpc-tuxbox-linux-gnu --libc-extras-dir \
	/home/mastag/dbox2/dist/cdkroot/lib/libc_pic \
	-d /home/mastag/dbox2/dist/cdkflash/root-enigma-squashfs/lib \
	-D -L /home/mastag/dbox2/dist/cdkflash/root-enigma/lib:/home/mastag/dbox2/dist/cdkflash/root-enigma/lib/tuxbox/plugins:/home/mastag/dbox2/dist/cdkflash/root/lib:/home/mastag/dbox2/dist/cdkflash/root/lib/tuxbox/plugins:/home/mastag/dbox2/dist/cdkflash/root-squashfs/lib:/home/mastag/dbox2/dist/cdkroot/lib:/home/mastag/dbox2/dist/cdkroot/lib/tuxbox/plugins \
	--root /home/mastag/dbox2/dist/cdkflash/root-enigma-squashfs \
	`find /home/mastag/dbox2/dist/cdkflash/root-enigma-squashfs/bin/ -path "*bin/?*" -type f` \
	`find /home/mastag/dbox2/dist/cdkflash/root-enigma-squashfs/var/bin/ -path "*bin/?*" -type f` \
	`find /home/mastag/dbox2/dist/cdkflash/root-enigma-squashfs/lib/ -name "libnss_*" -type f` \
	`find /home/mastag/dbox2/dist/cdkflash/root-enigma-squashfs/lib/ -name "libsqlite3*" -type f` \
	`find /home/mastag/dbox2/dist/cdkflash/root-enigma-squashfs/lib/ -name "*.so" -type f` \
	`find /home/mastag/dbox2/dist/cdkflash/root-enigma-squashfs/lib/tuxbox/plugins -name "*.so" -type f` \ # I've added this to the Makefile
	`find /home/mastag/dbox2/dist/cdkflash/root-enigma-squashfs/sbin/ -path "*sbin/?*" -type f`
find: ‘/home/mastag/dbox2/dist/cdkflash/root-enigma-squashfs/var/bin/’: Bestand of map bestaat niet
I: Using ld.so.1 as dynamic linker.
I: library reduction pass 1
965 symbols, 942 unresolved
I: library reduction pass 2
1163 symbols, 67 unresolved
I: library reduction pass 3
1163 symbols, 0 unresolved

However still the same missing symbols.

Secondly I tried to use the un-stripped versions of the plugins by adding these lines to root-enigma-squashfs.sh:

Code: Alles auswählen

rm -vf $1/root-enigma-squashfs/lib/tuxbox/plugins/script.so
rm -vf $1/root-enigma-squashfs/lib/tuxbox/plugins/dbswitch.so
rm -vf $1/root-enigma-squashfs/lib/tuxbox/plugins/movieplayer.so
rm -vf $1/root-enigma-squashfs/lib/tuxbox/plugins/ngrabstart.so
rm -vf $1/root-enigma-squashfs/lib/tuxbox/plugins/ngrabstop.so
cp -vf /home/mastag/dbox2/apps/tuxbox/plugins/enigma/script/.libs/script.so.0.0.0 $1/root-enigma-squashfs/lib/tuxbox/plugins/script.so
cp -vf /home/mastag/dbox2/apps/tuxbox/plugins/enigma/movieplayer/.libs/movieplayer.so.0.0.0 $1/root-enigma-squashfs/lib/tuxbox/plugins/movieplayer.so
cp -vf /home/mastag/dbox2/apps/tuxbox/plugins/enigma/ngrabstart/.libs/ngrabstart.so.0.0.0 $1/root-enigma-squashfs/lib/tuxbox/plugins/ngrabstart.so
cp -vf /home/mastag/dbox2/apps/tuxbox/plugins/enigma/ngrabstop/.libs/ngrabstop.so.0.0.0 $1/root-enigma-squashfs/lib/tuxbox/plugins/ngrabstop.so
cp -vf /home/mastag/dbox2/apps/tuxbox/plugins/enigma/dbswitch/.libs/dbswitch.so.0.0.0 $1/root-enigma-squashfs/lib/tuxbox/plugins/dbswitch.so
So after mklibs, but BEFORE it creates the root-enigma-squashfs.img, it replaces the plugins with their un-stripped versions.

Still the same missing symbols :(

I know enigma isn't very popular compared neutrino.
But can anyone please tell me where these symbols should be declared?

EDIT:

I think the symbols are being stripped from: cdkflash/root-enigma-squashfs/bin/enigma binary am I correct.
Since the plugins are run by enigma itself, maybe enigma should supply the functions.
Because I can see the symbols being present in the un-stripped enigma binary.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: unresolved symbols in enigma plugins

Beitrag von GetAway »

Hi,

try to contact rhabarber1848. He has found a lot bugs in sourcecode related to gcc47.
Maybe that some variables not initialized so they will be stripped. I remember, that was
the problem in some drivers.
MastaG
Interessierter
Interessierter
Beiträge: 20
Registriert: Montag 6. Mai 2013, 11:17

Re: unresolved symbols in enigma plugins

Beitrag von MastaG »

GetAway you're absolutely right.
mklibs is not to blame.

I tried using the untouched and un-stripped enigma binary from the source directory with the un-stripped plugins as well.
And I get the same missing symbols.

Those symbols should be declared within the enigma binary.
And I think they're present since grepping those symbols in the enigma binary will match all of them.
However they're not exported when doing "powerpc-unknown-linux-gnu-objdump -T enigma", so it looks like a compiler issue.
I think the source needs some cleaning/refactoring for gcc 4.7.


I also tried the gcc 4.1.2 (gcc4 options) but that will build a broken image.
It's stuck on some green screen, probably related to drivers.


Finally I tried the original gcc 3.4.6 compiler and it builds a working image.
All addons are working! (movieplayer FTW).
The only downside of gcc 3.4.6 is that it generates much larger binaries compared to gcc 4.7.

I only have one problem still.
It may be offtopic, so if it's not related to the buildsystem, then I'll open a new topic.
My receiver is unable to scan for channels with the enigma image I built (kernel 2.6 and gcc 3.4.6).

I've tried my image on two Nokia 2x DVB-C receivers using Avia500 v110 firmware and the builtin v0014 ucode.
It will succesfully "LOCK" on the transponder, but scanning will find nothing.
I've tried another image (by another team) based on kernel 2.4, and both receivers will find channels when running this image.

Anyone knows about this problem?
Could be driver related?

EDIT: Here is the dmesg output during scan.

Code: Alles auswählen

[    0.000000] Linux version 2.6.26.8-dbox2 (mastag@localhost.localdomain) (gcc version 3.4.6) #2 PREEMPT Mon Jun 23 11:11:30 CEST 2014
[    0.000000] Entering add_active_range(0, 0, 8192) 0 entries of 256 used
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA             0 ->     8192
[    0.000000]   Normal       8192 ->     8192
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[1] active PFN ranges
[    0.000000]     0:        0 ->     8192
[    0.000000] On node 0 totalpages: 8192
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 8128 pages, LIFO batch:0
[    0.000000]   Normal zone: 0 pages used for memmap
[    0.000000]   Movable zone: 0 pages used for memmap
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
[    0.000000] Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs console=ttyS0,9600 dbox_duplex=
[    0.000000] PID hash table entries: 128 (order: 7, 512 bytes)
[    0.000000] Decrementer Frequency = 252000000/60
[    0.000000] m8xx_wdt: active wdt found (SWTC: 0xFFFF, SWP: 0x1)
[    0.000000] m8xx_wdt: keep-alive trigger installed (PITC: 0x12C0)
[   10.403152] Console: colour dummy device 80x25
[   10.403311] cpm_uart: console: compat mode
[   10.403553] console [ttyCPM0] enabled
[   11.457269] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[   11.535963] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[   11.626204] Memory: 30228k available (1640k kernel code, 504k data, 68k init, 0k highmem)
[   11.726216] Calibrating delay loop... 66.56 BogoMIPS (lpj=332800)
[   11.944777] Mount-cache hash table entries: 512
[   12.012788] net_namespace: 192 bytes
[   12.053848] NET: Registered protocol family 16
[   12.204392] NET: Registered protocol family 2
[   12.353535] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[   12.434970] TCP established hash table entries: 1024 (order: 1, 8192 bytes)
[   12.516600] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[   12.592364] TCP: Hash tables configured (established 1024 bind 1024)
[   12.668204] TCP reno registered
[   12.733707] NET: Registered protocol family 1
[   12.783280] dbox2: Nokia board detected.
[   12.849787] squashfs: version 3.0 (2006/03/15) / LZMA enabled Phillip Lougher
[   12.932802] JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[   13.007579] io scheduler noop registered
[   13.050961] io scheduler deadline registered (default)
[   13.143472] Serial: CPM driver $Revision: 0.02 $
[   13.196206] cpm_uart: WARNING: no UART devices found on platform bus!
[   13.272833] cpm_uart: the driver will guess configuration, but this mode is no longer supported.
[   13.378222] ttyCPM0 at MMIO 0xff000a80 (irq = 20) is a CPM UART
[   13.450761] ttyCPM1 at MMIO 0xff000a90 (irq = 19) is a CPM UART
[   13.557354] loop: module loaded
[   13.592790] Linux video capture interface: v2.00
[   13.651360] D-Box 2 flash driver (size->0x800000 mem->0x10000000)
[   13.724553] D-Box 2 flash memory: Found 2 x16 devices at 0x0 in 32-bit bank
[   13.804551]  Intel/Sharp Extended Query Table at 0x0035
[   13.866819] Using auto-unlock on power-up/resume
[   13.921875] cfi_cmdset_0001: Erase suspend on write enabled
[   13.988684] erase region 0: offset=0x0,size=0x4000,blocks=8
[   13.988880] erase region 1: offset=0x20000,size=0x20000,blocks=63
[   13.989088] Creating 6 MTD partitions on "D-Box 2 flash memory":
[   14.060445] 0x00000000-0x00020000 : "BR bootloader"
[   14.127928] 0x00020000-0x00040000 : "FLFS (U-Boot)"
[   14.192218] 0x00040000-0x006a0000 : "root (squashfs+lzma)"
[   14.266311] 0x006a0000-0x00800000 : "var (jffs2)"
[   14.329070] 0x00020000-0x00800000 : "Flash without bootloader"
[   14.407215] 0x00000000-0x00800000 : "Complete Flash"
[   14.474551] mice: PS/2 mouse device common for all mice
[   14.538298] half-duplex mode enabled
[   14.582410] eth0: CPM ENET Version 0.2 on SCC2, 00:50:9c:1c:a8:94
[   14.652055] TCP cubic registered
[   14.690704] NET: Registered protocol family 17
[   14.765966] VFS: Mounted root (squashfs filesystem) readonly.
[   14.884196] Freeing unused kernel memory: 68k init
[   27.108752] [i2c-8xx]: mpc 8xx i2c init
[   27.174301] [i2c-8xx]: adapter: 0
[   27.744176] event: $Id: event.c,v 1.12.4.3 2007/10/09 01:04:05 carjay Exp $
[   28.391417] lcd: init lcd driver module
[   28.457119] lcd: found KS0713/SED153X lcd interface
[   29.162906] input: DBOX-2 FP IR as /devices/virtual/input/input0
[   29.643072] avia_av: $Id: avia_av_core.c,v 1.98.2.14 2009/01/17 07:09:44 seife Exp $
[   29.733087] firmware: requesting avia500.ux
[   30.672545] avia_av: microcode verify: 1 errors.
[   30.943197] avia_av_core: decoder watchdog thread started.
[   31.005354] avia_av_event: $Id: avia_av_event.c,v 1.11.4.1 2005/01/21 21:23:38 carjay Exp $
[   31.239912] avia_av_proc: $Id: avia_av_proc.c,v 1.14.2.6 2009/02/12 21:00:36 rhabarber1848 Exp $
[   31.956033] avia_gt_core: $Id: avia_gt_core.c,v 1.48.2.6 2007/10/09 01:03:38 carjay Exp $
[   32.051076] avia_gt_core: autodetecting chip type... GTX
[   32.114885] avia_gt_gtx: $Id: avia_gt_gtx.c,v 1.24 2003/09/30 05:45:35 obi Exp $
[   32.455456] avia_gt_accel: $Id: avia_gt_accel.c,v 1.19.4.1 2007/10/09 01:03:38 carjay Exp $
[   32.552640] avia_gt_core: masking unhandled irq reg 1 bit 11
[   32.620026] avia_gt_core: masking unhandled irq reg 1 bit 13
[   32.699844] avia_gt_dmx: $Id: avia_gt_dmx.c,v 1.210.2.9 2008/11/23 10:26:25 seife Exp $
[   32.792988] firmware: requesting ucode.bin
[   32.873344] avia_gt_ucode: unable to load firmware, using built-in!
[   32.959937] avia_gt_ucode: loaded ucode v0014
[   33.009143] avia_gt_ucode: ucode section filters disabled.
[   33.075813] avia_gt_dmx: warning, misaligned queue 0 (is 0xFD200, size 65536), aligning...
[   33.174584] avia_gt_gv: $Id: avia_gt_gv.c,v 1.39.2.5 2007/10/09 01:03:38 carjay Exp $
[   33.267679] avia_gt_pcm: $Id: avia_gt_pcm.c,v 1.29 2004/01/29 19:38:20 zwen Exp $
[   33.357248] avia_gt_pcm_set_rate(44100)
[   33.414594] avia_gt_capture: $Id: avia_gt_capture.c,v 1.32.4.5 2007/10/09 01:03:38 carjay Exp $
[   33.516183] avia_gt_pig: $Id: avia_gt_pig.c,v 1.40.4.3 2007/10/09 01:03:38 carjay Exp $
[   33.611829] avia_gt_capture: from: 720 x 576 -> 180 x 144, (requested: 180 x 144)
[   33.612051] avia_gt_vbi: $Id: avia_gt_vbi.c,v 1.26.4.1 2007/10/09 01:03:39 carjay Exp $
[   33.707551] avia_gt_ir: $Id: avia_gt_ir.c,v 1.30.4.6 2008/09/19 22:43:42 seife Exp $
[   33.800080] avia_gt_core: Loaded AViA eNX/GTX driver
[   33.951313] avia_gt_fb: $Id: avia_gt_fb_core.c,v 1.54.2.5 2007/10/09 01:03:38 carjay Exp $
[   34.084070] Console: switching to colour frame buffer device 90x36
[   34.252699] avia_gt_fb: fb0: AViA eNX/GTX FB frame buffer device
[   34.421311] avia_gt_lirc: $Id: avia_gt_lirc.c,v 1.14.4.7 2007/10/09 01:03:38 carjay Exp $
[   34.871647] avia_oss: $Id: avia_gt_oss.c,v 1.26 2004/05/31 22:56:02 carjay Exp $
[   34.957382] avia_gt_pcm_set_rate(44100)
[   35.146533] avia_gt_v4l2: $Id: avia_gt_v4l2.c,v 1.12.4.4 2007/10/09 01:03:38 carjay Exp $
[   35.722377] $Id: cam.c,v 1.30.2.6 2007/10/09 01:03:38 carjay Exp $
[   35.793960] firmware: requesting cam-alpha.bin
[   35.883327] cam: could not load firmware, file not found: cam-alpha.bin
[   35.969204] cam: probe of cam.0 failed with error -2
[   36.710279] $Id: dbox2_napi_core.c,v 1.1.2.14 2007/10/09 21:52:21 carjay Exp $
[   36.793598] DVB: registering new adapter (C-Cube AViA GTX/eNX with AViA 500/600)
[   36.883526] dbox2_napi: default value cfg->xin for ves1x93
[   36.948482] dbox2_napi_core: pwm=0x48
[   36.991753] DVB: registering frontend 0 (VLSI VES1820 DVB-C)...
[   37.092843] avia_av_napi: $Id: dbox2_avia_av_napi.c,v 1.1.2.2 2009/01/17 07:09:44 seife Exp $
[   37.232959] $Id: dbox2_cam_napi.c,v 1.1.2.1 2005/01/31 03:04:12 carjay Exp $
[   37.351436] avia_gt_napi: $Id: dbox2_avia_gt_napi.c,v 1.1.2.5 2009/01/17 07:09:44 seife Exp $
[   41.676103] RPC: Registered udp transport module.
[   41.729683] RPC: Registered tcp transport module.
It scans 30 transponders and each of them will LOCK when mnually scanning, however it finds nothing.
After 5 seconds it will skip to the next transponder.

Any ideas?
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: unresolved symbols in enigma plugins

Beitrag von seife »

I'm not totally sure, but I think you need a cam-alpha.bin, even for uncrypted channels.
MastaG
Interessierter
Interessierter
Beiträge: 20
Registriert: Montag 6. Mai 2013, 11:17

Re: unresolved symbols in enigma plugins

Beitrag von MastaG »

seife hat geschrieben:I'm not totally sure, but I think you need a cam-alpha.bin, even for uncrypted channels.
Oh my god, you're totally right! Thanks alot!
All these forums were mentioning the cam-alpha.bin firmware was only required for using certain smartcards.
Never knew it was also necessary for using the tuner.

I have a 100% working Enigma image for dbox2 now running on linux 2.6.

So what have we learned from all this?

Compiler:
Gcc 4.7 creates much smaller and better optimized code (probably due to LTO).
Enigma is also more stable and less prone to freezes or sudden reboots when opening and closing the gui (e.g. channellist).
Also Enigma feels a bit faster when compiled with gcc 4.7 (could be due to the binaries being smaller).
However some symbols required for running certain tuxbox plugins like movieplayer and ngrab are not exposed by the enigma binary.
So these plugins will not run, this could be related to LTO or messy code.

Gcc 3.4.6 is the opposite of 4.7.
It created bigger binaries and it's less stable.
However, it does export all symbols so you can run all external plugins.

I guess if you can live without external plugins, gcc 4.7 is definitely for the win.
I'm running a dedicated low-power computer for in-house streaming, and I've also setup VLC for the dbox2 movieplayer.
So I'm sticking with gcc 3.4.6 for now.


I have a few questions left.

1. I want to play with the Enigma source (trying to fix the gcc 4.7 issues).
How can I only rebuild only Enigma and the tuxbox related apps and plugins?
Is there any Makefile target for doing that? eg Make enigma

2. Is it possible to make the dbox2 read my local cable card?
It's Irdeto2 and it runs at 6MHz, I'm now sharing it, but I'd like to stick it inside my dbox2 so it also works without network access.

3. How can I enable hardware section filtering in the kernel 2.6 drivers.
I UN-checked "Disable hardware section filtering" in the Expert settings and I'm using the builtin 0014 ucode.
However during booting I still have:

Code: Alles auswählen

[   32.873344] avia_gt_ucode: unable to load firmware, using built-in!
[   32.959937] avia_gt_ucode: loaded ucode v0014
[   33.009143] avia_gt_ucode: ucode section filters disabled.