EyeTV Netstream 4Sat Firmware "Update"

  • Ich besitze ja einen EyeTV Netstream 4Sat SAT>IP Receiver der eigentlich ganz ordentlich läuft (SAT>IP zertifiziert) und z.B. die Möglichkeit bietet Streams zu transcodieren (nur per HLS).

    Die Kisten gibt es z.B. bei Kleinanzeigen für ca. 70€, das finde ich schon ein Schäppchen (habe für meine noch 110€ bezahlt).

    Leider ist der Auslieferungszustand sehr schweigsam über die "inneren Werte":

    Das Kistchen hat einen telnet-Zugang :angst (root/service).

    Auf der Kiste selber läuft ein arclinux (ARC700 / VIXS XCode 4A7222)

    Herz von allem ist eine ClosedSource-Applikation mit der alles erschlagen wird: Tombea
    Zudem noch ein ClosedSource-Kernelmodul xcode5drv inkl. ClosedSource Firmware..

    Die Tuner werden propietär von der Tombea-Applikation angesprochen.

    Bedeutet keine Standard DVB-Devices, sondern nur irgendwelche /dev/vixs/xcode... Treiber

    Zudem verwaltet die Tombea-Applikation sämtliche SAT>IP Verbindungen (SSDP/RTSP/RTCP/RTP/HLS) und stellt auch den Webserver zur Verfügung.

    Was ein bisschen problematisch ist, das sich die Tombea-Applikation bei zuvielen Anfragen oder speziellen Anfragen weghängen kann.

    Dabei bleibt das Kistchen ansprechbar nur die Tombea-Applikation (und damit SAT>IP und auch das Webinterface) ist tot.

    Wenn die hängengebliebene Tombea-Applikation abgeschossen wird erfolgt automatisch ein Reboot (scheint ein Hardware-Watchdog zu sein)

    Derzeit bin ich am Testen wie ich das mit wget und cron auf der Kiste überwachen kann.

    Kernelversion ist ein steinalter 2.6.30 :O ... IPv6 ist der Kiste leider ein Fremdwort.. (aber für den Preis!)

    Etwas versteckt hat Geniatech den GPL Sourcecode abgelegt:

    https://opensource.geniatech.eu/Netstream4X/1.1.0.402r1

    Habe mir mal die Mühe gemacht eine Buildumgebung zu basteln (ebenfalls mit einem steinalten Ubuntu 12.04.05) und folgende Veränderungen gemacht:

    telnet entsorgt

    dropbear ssh hinzugefügt

    sftp-server hinzugefügt

    Weboberfläche "erweitert" (um ausgeblendete Einträge)

    Bislang ist es mir nicht gelungen die Firmware-Version zu ändern, wird scheinbar irgendwo intern ausgelesen.

    Die Firmware ist 16MB groß, wer daran Interesse hat bitte melden (muss noch schauen wo ich das ablege)

  • Bislang ist es mir nicht gelungen die Firmware-Version zu ändern, wird scheinbar irgendwo intern ausgelesen.

    Rename the firmware to "Elgato_UAB_Boot_Image" and place it on a FAT32 formatted USB stick. Plug it in to USB port and reboot. The device should boot firmware from USB stick. This won't leave any permanent changes to NAND flash, so if You want to go back, simply remove the stick and reboot.

    I would suggest connecting UART<->USB adapter to UART pins which are populated on J24, (I have the first version with 2 USB ports, might be different for newer one with single USB port), don't connect the first pin:

    Code
    ZIM-1900 VER:1.0
    
    J24: 1. VCC 3.3V, 2. TX, 3. RX, 4. GND
         ^

    After connecting terminal You'll see also messages from bootloader. If USB is inserted there are these messages:

    Code
    ***** USB AUTO FLASH *****
    SPI image Elgato_UAF_SPI not found
    SPI image Elgato_UAF_OTP not found
    Partition image Elgato_UAF_Boot_FW1 not found
    Partition image Elgato_UAF_Boot_Loader_0 not found
    Partition image Elgato_UAF_Boot_Loader_1 not found
    Partition image Elgato_UAF_UBoot_Env not found
    Partition image Elgato_UAF_Linux_Kernel_0 not found
    Partition image Elgato_UAF_Linux_Kernel_1 not found
    Partition image Elgato_UAF_AppFS_0 not found

    I didn't test these yet, but I assume each will replace corresponding partition contents on NAND flash.

    When I fiddled with the device, my goal was to put Tombea on different ports and block external access to them with iptables, then add minisatip as a client and use that as a server. Unfortunately I had limited time and with none sat cable available (have to change my sat installation) I had to postpone it indefinitely. Along the way I created a very crude build system, which would create a full firmware initramfs ready to be copied to USB stick. The build system needs rpm<=4.15.x, yum and yumbootstrap to create Fedora 8 chroot. The scripts are in attachment. Maybe You'll find some inspiration out of it. The flow of execution is:

    1. prepare-source.sh, 2. sudo prepare-chroot.sh, 3. build-firmware.sh

  • P.S. for anyone wanting to play with Tombea these are more-or-less ordered strings from the app (there is some "devmode" which I don't know how to activate):

  • Continued because of 10000 character limit.

  • Rename the firmware to "Elgato_UAB_Boot_Image" and place it on a FAT32 formatted USB stick. Plug it in to USB port and reboot. The device should boot firmware from USB stick.

    Tried today and it didn't worked:

    Code
    scsi 2:0:0:0: Direct-Access     LEXAR    DIGITAL FILM     /W1. PQ: 0 ANSI: 2
    sd 2:0:0:0: Attached scsi generic sg0 type 0
    usb-storage: device scan complete
    sd 2:0:0:0: [sda] 125952 512-byte hardware sectors: (64.4 MB/61.5 MiB)
    sd 2:0:0:0: [sda] Write Protect is off
    sd 2:0:0:0: [sda] Mode Sense: 0d 00 00 00
    sd 2:0:0:0: [sda] Assuming drive cache: write through
    sd 2:0:0:0: [sda] Assuming drive cache: write through
    sda: sda1
    sd 2:0:0:0: [sda] Attached SCSI removable disk

    I'm able to mount it:

    Code
    /dev/sda1 on /usb type vfat (rw,relatime,fmask=0022,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1)

    It's not the only file on the usb-stick:

    Code
    [ARCLinux]$ d /usb
    total 32418
    drwxrwxrwx    3 root         16384 Jan  1  1970 .
    drwxr-xr-x   19 root             0 Jan  1  1970 ..
    -rwxr-xr-x    1 root      15769239 May 22  2024 Elgato_UAB_Boot_Image
    drwxrwxrwx    2 root          2048 Mar 27  2022 System Volume Information
    -rwxr-xr-x    1 root        220049 Jun 21  2009 grldr
    -rwxr-xr-x    1 root           155 Jun 22  2010 menu.lst
    -rwxr-xr-x    1 root      17170432 Nov 30  2012 microcore-current.iso
  • I tried it today on both devices I have and they booted initramfs by default from either of USB ports to which the drive was connected. Maybe U-Boot on Yours does not recognize USB drive or initramfs file, try different USB stick. Do You have the newer device version with one USB port? Best option to troubleshoot is connect to UART port and attach console to it to see all messages or interact with U-Boot.

    For a quick test I uploaded my old initramfs image: https://www.mediafire.com/file/9ditdza0x…Boot_Image/file

    MD5 sum of the file: 934cc093dc20f733db9763c217078728

    To know if You booted from it, check available applications (double TAB), there should be minisatip and some others.

  • Do You have the newer device version with one USB port?

    I have only one USB port

    Best option to troubleshoot is connect to UART port and attach console to it to see all messages or interact with U-Boot.

    I use the box in my production environment. I'll have to see when I can find time to open it...

    To know if You booted from it, check available applications (double TAB), there should be minisatip and some others.

    I formatted the stick and put your file on it and rebootet... But that didn't work..

    fdisk shows this about the stick:

    Code
    Disk /dev/sda: 64 MB, 64487424 bytes
    255 heads, 63 sectors/track, 7 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
       Device Boot      Start         End      Blocks  Id System
    /dev/sda1   *           1           8       62896   e Win95 FAT16 (LBA)
    Partition 1 has different physical/logical endings:
         phys=(6, 254, 63) logical=(7, 212, 13)
    
    Command (m for help):
  • I have only one USB port

    So You've got the newer version. I don't have any experience with that one. They probably removed first-boot from USB.

    Please post output of "cat /proc/mtd" and upload copies of first two partitions (bootloader and its environment). Maybe I can figure out from strings what changes they made.

  • Hi,

    I've just joined today. I have two Netstream 4SAT. I have both the old model with 2 USB ports and the new model with 1 USB port. I have configured both devices in the same location and they are connected to a Unicable LNB. Both are then used by a TV Headend installation.

    Model with 2USB (older) - firmware V1.0.4-343r1

    Model with 1USB (newer) - firmware V1.1.0-402r1

    I have not yet tried anything written above, within this thread. I recently setup both devices and reset them both using the reset pin hole. This has appeared to cause the 2USB version to *downgrade* its firmware because I believe it was using the same firmware version as the 1USB version, prior. I do not receive any option to upgrade the firmware on either using the Netstream app, unfortunately. Is V1.1.0-402r1 the latest firmware?

  • tmn505 weißt du zufällig das Passwort für den Expertenmodus?

    Do you know the Password for expert mode?

    Das habe ich gerade mit etwas Hilfe eines Freundes und ein wenig reverse engineering rausgefunden:

    this<serialnumber>rocks

    Wobei man <serialnumber> durch seine Geräte-Seriennummer ersetzt.

    Also z.B.: this123rocks


    Die Seriennummer findet man z.B. im UPNP String des Gerätes: EyeTV Netstream 4Sat (123)

    Viel Spaß im ExpertMode ;)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!