Results 1 to 1 of 1

Thread: Sonicview Ihub emulator

  1. #1
    VIP Member philippe146's Avatar
    Join Date
    25-02-2010
    Location
    canada
    Posts
    206
    Uploads
    116

    Thumbs up Sonicview Ihub emulator

    Sonicview Ihub emulator


    This Linux app acts like an "iHub" for your SonicView STB
    It will allow you to use your SonicView with any available newcamd service
    by faking out the iHub device detections and acting like a smarter version
    of the iHub device (many bugs of the real hardware are worked around).

    Two versions are provided, one for x86_64 and one for i686 - rename the one
    you need and toss the other one to avoid confusion.
    Do the same with the libuci.so file as that is required for the config file.

    Usage:
    ./ihubemu <serial device>

    If no serial device is given, the default is /dev/ttyS0
    You must provide the entire path to the device (include /dev/ always)
    You need to use a "null modem" cable between the SonicView and your Linux box.
    You may also set the device in the config file (see below for more about that)

    Upon launch, it will report the settings it will use, based on defaults or
    whatever was provided in the config file, if it exists and is valid.

    This has only been tested with the "SV-360 Premier" STB and the only firmware
    that will work is the private server version "04.05-P" - if you do not have
    that firmware you must load it first before this will work completely. Other
    SonicView models should also work as long as they have a "private server" bin.

    Note the menus on the SonicView will show normal information as expected, and
    any networking changes are accepted but silently ignored, except as noted
    in the "Config File" section below. You should be configuring your Linux box
    as normal, so it can get to the server when the SonicView asks to connect.
    The SonicView "IP Config" menu will always show DHCP mode and the current
    network settings as of the time you launched ihubemu, although you can enter
    other settings in the config file to "lie" about the details, all of it is
    ignored internally anyway.

    You will still need to set the "Private Server" option to "Yes" and enter the
    login/password/DES key details on the SonicView in the "IP Config" menu.
    The firmware has a full newcamd client built in and all ihubemu does is let it
    get out to the Internet. Also ihubemu never sees any of this info so it is
    secure and safe and is only used for newcamd communications. This also means
    this solution only works with newcamd compatible services for now, the option
    for private server support is not the more basic SSSP style. Future versions
    of ihubemu may break this limitation by emulating the newcamd private server
    internally and ripping the important data out of the stream to provide a true
    SSSP level connection to other non-newcamd services via handoff to other
    software. This also will allow for better mapping of services to multiple
    private servers, or multiple providers, which can not be done with the way
    SonicView decided to set up the private server option.

    There are a few bugs which can not be worked around in the 04.05-P firmware
    such as:
    - It ignores the hostname given by ihubemu, even though it asks for it - so
    you do need to set that manually on in the "IP Config" menu if you want to
    be able to turn on the "Use DNS" mode and have it work properly.
    ihubemu does override the domain name with the configured remote_ip address
    if the SonicView asks for something invalid, so it would likely still work
    but would have more complaints in the ihubemu status output.
    - It sometimes corrupts the DNS Server IP to 255.0.0.0 for no apparent reason
    but since that setting doesn't matter anyway it won't break anything.
    (set your DNS the normal way on your Linux box, ihubemu uses that always)
    - It will try to configure the Server Hostname to a bogus value of "*****"
    every time you power up the SonicView. Who knows why it does that, but
    ihubemu tells it to screw itself and doesn't nuke your setting in the config
    file.
    - It also tries to set the remote IP to 0.0.0.0 under some circumstances, and
    ihubemu will inform the SonicView that it is insane (again, no damage to
    the config file)
    - Now and then with "Use DNS" mode turned on, if the ihubemu is shut down and
    then later brought up again, the SonicView will be in a weird state and asks
    to connect to what seem like totally random IP addresses. This is worked
    around by forcing the connection to only the IP or Hostname in the config
    file, and nowhere else. So this blocks both the "confusion" problem and any
    possibility of it trying to connect elsewhere on purpose.

    Enjoy!

    ---------------------
    About the Config File
    ---------------------
    The config file is read from ./conf/ihubemu and must stay there
    Below is an example of what it should look like, in case yours gets screwed:

    config 'ihubemu' 'settings'
    option 'serial_dev' '/dev/ttyS0'
    option 'serial_timeout' '3.0'
    option 'handshake_host' 'cardshark.doesntexist.org'
    option 'handshake_port' '15309'
    option 'remote_host' 'your.newcamd.provider.com'
    option 'remote_ip' '12.34.56.78'
    option 'remote_port' '54321'
    option 'dns_enable' '1'

    Option Descriptions:
    --------------------
    serial_dev:
    the full device path for the serial port your SonicView is on
    serial_timeout:
    Most of the time we wait forever for the SonicView to tell us what to do.
    The serial side of communications will wait at least this long for any
    message to complete. This is mainly to bail out of the receive loop in
    case a message is somehow incomplete, but the only way that can happen is
    if you shut the SonicView off while it is in the middle of sending a
    message, or if your serial cable is flaky. Probably fine left at default.
    handshake_host:
    handshake_port:
    this is an Internet server that simply has a real iHub connected to it,
    and this is the current method for getting past the detection handshake.
    The only data sent or received is the boot time handshake, and it is only
    connected for a few seconds. The operators of the default handshake server
    do log the handshakes that go through, but only for improvement of future
    versions of ihubemu (building a list of real challenges and their correct
    response) so that the list can be embedded in future versions, or to assist
    in figuring out the actual calucation involved to avoid any use of an
    external handshake server. So by using the default server you are actually
    helping to improve this software, which you got for free in case you forgot,
    so just leave these at defaults. The handshake data is not personally
    identifiable to you or your specific SonicView STB or anything at all.
    remote_host:
    remote_ip:
    This is where you put the hostname of your newcamd private server. If it
    doesn't have a hostname then just put the IP in both. These are used
    internally for some sanity checks (bug workarounds) so they should be set
    to something you want the SonicView to be allowed to connect to.
    If the SonicView tries to connect to somewhere and the IP it asks for
    doesn't match remote_ip or the IP provided by a lookup of remote_host,
    ihubemu tells it "yeah sure" but connects to the remote_ip instead. So
    this needs to be set as it is used internally as an override.
    IF YOU SET "USE DNS" TO "YES" and enter a hostname in the "IP Config" menu
    on the SonicView, and that hostname is valid (returns an IP when resolved)
    then this config file directive will be overwritten. This is intended as
    an ease-of-use feature.
    remote_port:
    Your newcamd server will have a port # you need to connect to, put it here.
    This is directly tied to the "Server Port" setting in the "IP Config" menu.
    If you change it on the SonicView it will be saved in the config file.
    dns_enable:
    This is directly tied to the "Use DNS" setting in the "IP Config" menu.
    If you change it on the SonicView it will be saved in the config file.
    Basically it doesn't do much other than change the way the SonicView does
    its connection setup, but ihubemu mostly ignores what the SonicView has to
    say about connection setup. If you do enable this, your remote_ip setting
    may be overwritten by hostname lookups sent by the SonicView, as that is
    the only time it ever really tells ihubemu what hostname it has in its menu
    Other times it says its "*****" or some other total crap, and it also asks
    ihubemu for the proper setting but then promptly ignores it. Suggested
    you just leave this off unless you absolutely need to use a hostname for
    your specific private newcamd provider, or you notice one mode works better
    for you than the other.
    (OTHERS):
    There are a few more you can set, but they are not required as the default
    for them is either autodetected at startup (local_ip, local_netmask, etc)
    or they are not used other than as canned responses to unimportant queries
    from the SonicView. There is a list of configuration settings when you
    fire up ihubemu, and they would be named the same thing in the config file.
    Attached Files Attached Files

Similar Threads

  1. Sonicview Premier_TE_v246_100419
    By philippe146 in forum Sonicview
    Replies: 1
    Last Post: 26-05-2010, 06:18:04
  2. Sonicview SV360Elite_231T_timo
    By philippe146 in forum Sonicview
    Replies: 1
    Last Post: 26-05-2010, 06:11:05
  3. Question Will SonicView box work?
    By vettewomanpa in forum English (UK)
    Replies: 1
    Last Post: 18-11-2009, 16:35:36
  4. sonicview
    By vics25 in forum Introductions
    Replies: 6
    Last Post: 08-04-2008, 12:05:27

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •