Skip to content


Elgato EyeTV Netstream 4C – Part #2

It’s dead 🙁

I wrote to Elgato support (regarding the issue I mentioned in the first post about the 4C), but before they could reply I noticed that the firmware was not up to date (though the app said it had updated it, and did not complain anymore.

The unit reported version 1.1.0-402r1, but the update file was labeled 1.1.2.

Somewhere on the internet I read that it might be a good idea to do a reset.
I had not rebooted the device myself after the firmware upgrade, because (as I recall) the app did that for me.

Following the reset indstructions on Elgato’s webpage ( The device is now dead! 🙁

The instructions says the LED should turn red and blue, and then shortly after out out, and the unit automatically reboot.
The lights turned solid red and solid blue, but was stuck there (even after 20 minutes).

Powering off and the device on again in normal mode the left led starts out orange, then quickly turns red, but then nothing more happens.

I don’t think it’s completely dead, because I suspect it’s the bootloader that turns the left LED from orange to red, and then the firmware should turn it green.
It’s dead enough though that it does not ask of an IP address.


This too I wrote to Elgato support. Here’s the complete email:

Hi Elgato.

I’ve run into a new problem with my Netstream 4C.
My device won’t start 🙁

I was looking at the firmware version of my 4c, and 1.1.0-402r1 is a old
firmware, so I wanted to reboot/reset my unit, hoping it would then
update the firmware to te correct version.
The unit has not been rebooted since the android app said it had
firmware updated the device.

Thus I proceeded with the instructions found here:

Holding the reset button down, the left led first turns orange for a
short while, then the right led turns solid blue, and just after this,
the left led turns solid red.
I then release the reset button.
After 20 minutes the left led is still solid red and the right led solid

I figured something went wrong, so I powered off the device, left it for
10 seconds, and then powered it back up.
Now the left led is solid red, and after 30 minutes it has not turned
green yet.

How can I recover the device to a working state and update to the latest

Mark Urup


Their reply:

Dear Mark,

Thank you for contacting Elgato Systems. The Netstream 4C is sold and supported in Germany only.

I suggest you return the device to your reseller.

Very best,
Technical Support
Elgato Systems LLC

I don’t really want to return the device, as I’m sure it’s great (after a bit of tweaking perhaps), I might need to.
I’ve written to support again hoping they can assist me in loading a new firmware, so I can keep it. Otherwise it’s being returned 🙁

Elgato Netstream 4C (4 tuner dvb-c network tv streamer with h.264 transcoding) review

This is going to be a series of articles where I post my experiences with this newly bought device.

This is the first part.


Before I bought the 4c, I used a windows pc with 3 dvb-c usb tuners and ran NextPVR with NEWA (the web plugin).

From the NPVR database (which is sqlite) I created a m3u file that I could use on VLC (PC, MAC, iOS, Android), IPTV Simple (both on kodi (xbmc), and android).

This all works quite nicely, except it:

  • sends the complete signal out, which takes a lot of bandwidth depending on what channel you’re watching (especially when watching HD).
  • uses http streaming only, so any lost or delayed packets will stop the stream, and cause a re-buffering.
  • uses more power then i’d like (I’m using a old laptop (core 2 duo).


The Elgato EyeTV Netstream 4C


In the box you get everything you need (almost)

There’s a:

  • Quick start guide
  • The network tuner box (netstream 4c)
  • 12V 2A power adapter (with EU and UK plugs)
  • Ethernet cable
  • Screws and rawplugs (4 of each)

Note: There is no cable to connet the antenna cable to your dvb-c signal source in the box.

It’s well made and looks good in a aluminium chassis, so it’s almost a shame i’m just going to hide it in the basement.

After unboxing it (no video, I don’t do that), and the connections made, the unit was turned on.
A led turned red, indicating power, and after about 30 seconds it turned green, indicating the unit was ready to to.

First use

I installed the EyeTv netstream app ( on my Nexus 10 tablet.
It quickly found the 4c, and prompted me to update to the latest firmware (1.1.0-402r1).
After the firmware upgrade the device rebooted, and the app found the 4c again, this time asking me to do a channel scan.

I selected “Denmark” as region, and began the channel scanning (which took a slow 20 minutes).
Every time it found a channel it wrote the name on the screen.

After the scan completed I had 69 channels to choose from.

For some reason it listed “3 sat” (a german channel) as the first one, and only somewhat down the list, the danish channels began to pop-up.

Most channels worked but, some did not display any video, and I only had sound, and after some time a error dialog was shown with “no codec”, with a link to:

I’m on a Google Nexus 10 (running Android 5.1.1) using a Netstream 4c, but the help is for iOS and says it cannot play H264?
What the hell I though? Then way on earth do they have hardware transcoding into the h264 format?
Someone needs to take a look at the help system/messages.

On other channels I got neither video nor sound 🙁

I’ve had sound issues with my own setup as well, because ac3 sound is not supported anymore in the MX Player app, which I’m using in my old setup.

I then installed the app on my phone (google nexus 4).
To my big surprice it said that I had 0 channels available and again had to do a channel scan!?
WTF? Since the 4c only has one dvb-c input, all tuner share the same input, and thus could/should share the same channels/scanning result.

This is as far as I’m come so far.

EyeTV (Netstream) app verdict

Once opened the first screen has menus for:

  • live tv
  • recordings
  • tv guide (epg)
  • settings

The app looks nice and is fluid, but could be improved.
So far I’ve found no way to go directly from the EPG screen to live tv, nor from live tv to EPG.
In “live tv”, you can see the current program, and the next one, but nothing more.
Recording are local recordings (and really, who records on their tablet/phone)?

Missing features

USB recording

The unit has two USB ports, but none of the can be used by the user to store recordings or other nifty stuff.
It would be a nice feature to be able to connect a USB drive to the 4c, and schedule recordings on the 4c to be recorded on a connected usb drive.

M3U playlist

The other devices in the netstream series had (as far as I can google) a m3u playlist you could import directly into vlc and other players.
This is missing on the 4c.
I’ll look at ways to get the direct streaming links, so I can use them in other players (as far as I can tell it should support http and rtsp streaming).


Warning: Messing/Hacking around with SSH in your box might brick it. Know what you are doing.

The login is “root” and password is “service”.

Thanks to Yan ( we’ve got a login that also works on the 4c:

[urup@lge ~]$ ssh root@
root@’s password:
[571] May 12 11:43:21 lastlog_perform_login: Couldn’t stat /var/log/lastlog: No such file or directory
[571] May 12 11:43:21 lastlog_openseek: /var/log/lastlog is not a file or directory!
[571] May 12 11:43:21 wtmp_write: problem writing /var/log/wtmp: No such file or directory
Welcome to ARCLinux

Hardware and Firmware


The default webpage of the 4c is nothing much, but SSH’ing into the box, we can see there are more pages:

[ARCLinux]$ ls /www/ -al
total 128
drwxr-xr-x 6 root root 0 Feb 19 16:50 .
drwxr-xr-x 20 root root 0 Jan 1 1970 ..
-rw-r–r– 1 root root 10126 Feb 19 16:49 device.options.thtml
-rw-r–r– 1 root root 10943 Feb 19 16:49 device.status.thtml
-rw-r–r– 1 root root 2806 Feb 19 16:49 dvbc.options.thtml
-rw-r–r– 1 root root 2344 Feb 19 16:49 dvbc.status.thtml
-rw-r–r– 1 root root 2806 Feb 19 16:49 dvbs.options.thtml
-rw-r–r– 1 root root 2344 Feb 19 16:49 dvbs.status.thtml
-rw-r–r– 1 root root 826 Feb 19 16:49 expertmode.html
-rw-r–r– 1 root root 1150 Feb 19 16:49 favicon.ico
-rw-r–r– 1 root root 430 Feb 19 16:49 fwupdate.html
drwxr-xr-x 2 root root 0 Feb 19 16:50 icon
drwxr-xr-x 2 root root 0 Feb 19 16:50 image
-rw-r–r– 1 root root 3544 Feb 19 16:49 index.thtml
-rw-r–r– 1 root root 3413 Feb 19 16:49 main.options.thtml
-rw-r–r– 1 root root 4689 Feb 19 16:49 main.status.thtml
drwxr-xr-x 2 root root 0 Feb 19 16:50 script
drwxr-xr-x 2 root root 0 Feb 19 16:50 style
-rw-r–r– 1 root root 2823 Feb 19 16:49 transcoder.options.thtml
-rw-r–r– 1 root root 2345 Feb 19 16:49 transcoder.status.thtml

All pages are served by the Tombea process, and .thtml files contains variables it parse.

Running processes

[ARCLinux]$ ps aux
1 root 0:01 init
2 root 0:00 [kthreadd]
3 root 0:00 [ksoftirqd/0]
4 root 0:00 [watchdog/0]
5 root 0:00 [events/0]
6 root 0:00 [khelper]
9 root 0:00 [async/mgr]
81 root 0:00 [kblockd/0]
86 root 0:00 [ksuspend_usbd]
91 root 0:00 [khubd]
113 root 0:00 [khungtaskd]
114 root 0:00 [pdflush]
115 root 0:00 [pdflush]
116 root 0:00 [kswapd0]
117 root 0:00 [aio/0]
118 root 0:00 [nfsiod]
119 root 0:00 [xfs_mru_cache]
120 root 0:00 [xfslogd/0]
121 root 0:00 [xfsdatad/0]
122 root 0:00 [xfsconvertd/0]
123 root 0:00 [crypto/0]
570 root 0:01 dropbear -E
571 root 0:00 -sh
619 root 0:00 ps aux
718 root 0:00 [swapper]
721 root 0:00 [mtdblockd]
764 root 0:00 [usbhid_resumer]
772 root 0:00 [rpciod/0]
800 root 0:00 syslogd -l8 -S -C60
924 root 0:00 ifplugd -f -I -d 1
1575 root 0:00 init
1901 root 0:00 udhcpc -R -A 60 -t 5 -b -S -p /var/run/ -i eth0 -H Netstream4C-157
1914 root 0:00 telnetd
1922 root 0:00 dropbear -E
1943 root 0:00 ntpd -p -p -p -d
1948 root 0:00 Tombea -i 1
1973 root 0:00 Tombea -i 1
1974 root 0:00 Tombea -i 1
1975 root 0:00 Tombea -i 1
1976 root 0:04 Tombea -i 1
1977 root 3:28 Tombea -i 1
1978 root 0:00 Tombea -i 1
1979 root 0:00 Tombea -i 1
1980 root 0:00 Tombea -i 1
1981 root 0:00 Tombea -i 1
1982 root 0:04 Tombea -i 1
1983 root 0:00 Tombea -i 1
1984 root 0:00 Tombea -i 1
1985 root 0:25 Tombea -i 1
1986 root 0:00 Tombea -i 1
1987 root 0:19 Tombea -i 1
1992 root 0:00 Tombea -i 1


[ARCLinux]$ cat /proc/cpuinfo

Processor Family: ARC 700, Core ID: 3
CPU speed : 500.00 Mhz
Interrupt Vect Base: 0xc00
Peripheral Base: 0x0
Data UNCACHED Base (I/O): start 0xc0 Sz, 1024 MB
Bogo MIPS : 249.85
ARC700 MMU Ver [1]
uDTLB 8 entr, uITLB 4 entr, JTLB 128 entry/way, 2 ways
Detected I-cache :
Type=2 way set-assoc, Line length=32, Size=32K (enabled)
Detected D-cache :
Type=4 way set-assoc, Line length=32, Size=32K (enabled)
Multiplier: 32×32 with ANY Result Reg MAC Multiplier: Not Present
CRC Instrn: NA, SWAP Instrn: Present NORM Instrn: Present
Min-Max Instrn: Present, Barrel Shift Rotate Instrn: Present
Ext Arith Instrn: Present


[ARCLinux]$ cat /proc/meminfo
MemTotal: 114048 kB
MemFree: 59352 kB
Buffers: 0 kB
Cached: 33096 kB
SwapCached: 0 kB
Active: 11232 kB
Inactive: 24520 kB
Active(anon): 2720 kB
Inactive(anon): 0 kB
Active(file): 8512 kB
Inactive(file): 24520 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 2680 kB
Mapped: 3512 kB
Slab: 7776 kB
SReclaimable: 4760 kB
SUnreclaim: 3016 kB
PageTables: 0 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 57024 kB
Committed_AS: 7760 kB
VmallocTotal: 262144 kB
VmallocUsed: 10952 kB
VmallocChunk: 239160 kB

Disk space

[ARCLinux]$ df -h
Filesystem Size Used Available Use% Mounted on
/dev/mtdblock6 188.5M 1.1M 187.4M 1% /AppFS_0
[ARCLinux]$ mount
rootfs on / type rootfs (rw)
none on /proc type proc (rw,relatime)
none on /dev/pts type devpts (rw,relatime,mode=600)
sysfs on /sys type sysfs (rw,relatime)
/dev/mtdblock6 on /AppFS_0 type yaffs2 (rw,relatime)

minidlna rescan

I’m using minidlna on my server to serve media to the whole house.

It works, but I’ve never gotten it to auto update the media library, even though inotify is enabled.

So far I’ve just logged in on the server and run (I’m using arch linux):
/usr/bin/minidlnad -R && systemctl restart minidlna

This approach sucks for several reasons:
1) I actually need to do something to make it register new content
2) The WAF factor is at an all-time low.

Instead I’ve made this little script, to solve my problems:


#check that minidlna is not being used!
wget http://localhost:8200 -O /tmp/minidlna_index.html 2> /dev/null

isOpen=`grep ‘
-1 connections currently open
‘ /tmp/minidlna_index.html`

if [ -n “$isOpen” ]; then
#minidlna can be updated – if needed

# list files monitored by minidlna
ls -l /mnt/dlnamedia/* > /tmp/minidlna_rescan_dir_list_new

#If you want to force a minidlna rescan on the first run of this script, comment out this if block!
if [ ! -f /tmp/minidlna_rescan_dir_list ]; then
mv /tmp/minidlna_rescan_dir_list_new /tmp/minidlna_rescan_dir_list
#echo “minidlna dir list does not exist.”;

filesDiff=`diff /tmp/minidlna_rescan_dir_list /tmp/minidlna_rescan_dir_list_new`

if [ -n “$filesDiff” ]; then
#echo “dir lists don’t match – rescan!”
mv /tmp/minidlna_rescan_dir_list_new /tmp/minidlna_rescan_dir_list
/usr/bin/minidlnad -R && systemctl restart minidlna

#echo “minidlna is in use! – skipping rescan”

and I’ve then added this script to crontab:

crontab -e
0,15,30,45 * * * * /root/my_scripts/

It runs four times pr. hour.

First it checks if minidlna is in use, if so nothing is done.
Then it checks if some files changed in watched directory, if so, it will restart the minidlna service and force a rescan.

You’ll need to change the /mnt/dlnamedia/ path to match your system (the media directory path(s) in minidlna.conf).
Also, if minidlna runs on a different port then 8200, you’ll need to change that as well.
The path set in crontab (/root/my_scripts/ should match the path to where you put this script.

It works quite well for my purpose, though still not the optimal solution. Maybe it will be useful for someone else as well.