Hikari TV

From Lundman Wiki
Jump to: navigation, search

Hikari TV ひかりTV

Tuner update

I found out the ST3200 "triple" tuner is android based, which made me want to update the tuner.

I ordered a new rental of the 3200 from the Hikari page, and it was sent to me 2 days later. After some firmware updates, it eventually asks for the Entry-code. I kept all the information from last time, but the old code did not work. I had to call the NTT purara line and they reset the entry-code for me (same code again, this time the tuner accepts it)

The good news, the new tuner is much nicer to use. Not painfully slow like the "double tuner" was. And it can do 1080p which is nicer. Definitely worth upgrading for, as the old tuner was painfully slow to use.

One strange thing is, its based on Android, so it is already able to do language selection in the OS, but they don't let you change the language to English. It is disappointing they would remove that ability. I could even provide them the translation file :)

You have to attach an USB HDD if you want to record tv, I'm not to concerned with that, but I do have a few drives lying around so maybe I will, for fun. It is also a little comical that they design a new Android based STB, without bluetooth (Android generally comes with bluetooth) only to have to add a bluetooth dongle for the game controller.

First time setup

After going through the typical/annoying Japanese signup protocol of;

  1. calling, handing over name and address
  2. they send you a form, so that you write name and address
  3. so they can give you the service

I got the tuner in the mail ok, as well as the "setup number". There was also a NTT flets COP code I needed, so I called NTT to get that.

Lots of channels, and the tuner is all in Japanese, but pretty easy to navigate. As always, it is a little sluggish when using the GUI, changing channels and so on. About the same as the satellite and cable STBs I have used before. One would hope they'd made it faster over the years though.

These are things I want to find an answer for:

  • Hackable? Can I get in, if so, can I add English myself? only port 20000 open so far. (upnp?)
  • Quick channel list. I want a fast way to get to a more scrollable channel list. Right now you either get full guide (slow) or large icons (slow), or deep in the menus (slow)
  • Quick channels, can I set my preferred channels on the number keys, and quick jump? Looks like I can, but it sure don't work.
  • Output is 1080i, why not 1080p.
  • Can I get it to work with XBMC and remove tuner? (IPV6 etc)


Mini review

I have used the service for a little bit now. I did not really understand the difference in the two packages you sign up for;

  • TV: This is the equivalent of SkyPerfect satellite, or cable. You get the channels, and can watch them when your program is on. EPG guides, and scheduled recording.
  • Video: This is the OnDemand service, where you look around to find something to watch, then just watch it. Whole seasons are usually available.

You can also "connect" your tuner with the HikariTV web page, and view EPG guides on the computer to schedule recordings of shows, as well as, searching for shows. That is worth doing, as shifting through guides, on the tuner itself, is slow and tedious.

Some shows will not have English. This is very strange. For example, BBC's "Sherlock" Season 1 has both subbed and dubbed. But the Season 2 one-week special only had dubbed version. It is really a crime to do that.

For some reason, Comedy shows appear completely absent from the Video service. One would expect at least something like Friends, My Name is Earl, Community, Big Bang Theory, Scrubs, The Office. And I don't mean *specifically* those shows, but any 30mins comedy shows just does not exist.

Everything TV is sorted under Drama. Be it Bones, CSI, Fringe, 24, Dexter... All Drama. I guess since there is no Comedy genre.

I have no issues with it being over my Internet connection. But I do tend to turn off the tuner when I am not watching tv, as I am aware it is using the network.


I am happy to stay with this service for the time being. However, I will be looking for a better STB. If something faster (CPU), or in English, or even XBMC support, becomes available it will be worth exploring.





Networking

I had a fair bit of trouble getting HikariTV to work well. It would sometimes start glitching like crazy, I thought it was the wifi router, or maybe the two switches connected in chain.

But eventually it turns out the be the Win7 PC going into hibernation (sleep). The switch appears to think it still should get multicast packets (wake on lan is on) and something goes weird there. Shutdown has no side effects.



NEC Aterm WR9500N

I picked up an Aterm WR9500N Wifi router. Fairly easy to setup, defaults were all good. Testing HikariTV with this router now.


Buffalo

I signed up for HikariTV recently, to see what that is like to use. I went for the "double" tuner rental.

Initially I was using an old Buffalo G54 wifi router. It could technically handle it, but all wifi communication stopped when watching tv.

I went and picked up a WZR-450HP. You have to enable the "Movie engine" and then IPV6 option. Then HikariTV worked.

However, I noticed you could only watch for 2-3 minutes, then channels would go blocky, corrupt and generally be unplayable. Some channels did not play at all.

It turns out that you can set the "multicast rate", for which the default is "11 mbps", on the Buffalo WIFI router.

However, with HD channels, it is sending at about 8-16mbps. I changed the "multicast rate" to 22mbps and it is currently working well.


Wifi router connecting to Internet

First, we need to look at how my Internet router connects to my ISP, and gets the IPv6 addresses worked out.

21:52:24.001512 PPPoE PADO [Service-Name] [Host-Uniq 0xC0207000] [AC-Name "e13nttsjk-sseu000600"] [AC-Cookie 0xEDC32D9D4F9BF6471CE374XXXXXXXX]

21:52:24.001514 PPPoE PADR [Service-Name] [AC-Cookie 0xEDC32D9D4F9BF6471CE3748XXXXXXX] [Host-Uniq 0xC0207000]

21:52:24.003509 PPPoE PADO [Service-Name] [Host-Uniq 0xC020B000] [AC-Name "e13nttsjk-sseu000600"] [AC-Cookie 0xEDC32D9D4F9BF6471CE374XXXXXXXX]

21:52:24.007258 PPPoE PADS [Service-Name] [AC-Cookie 0xEDC32D9D4F9BF6471CE3748XXXXXXXXX] [Host-Uniq 0xC020B000] [AC-System-Error "AC: Cannot open PPPoE session."]

21:52:24.040243 PPPoE  [ses 0xe0cd] CHAP, Challenge (0x01), id 1, Value 31db80a80bb6d5efcXXXXXXXXXX, Name e13nttsjk-sseu000600

21:52:24.040244 PPPoE  [ses 0xe0cd] CHAP, Response (0x02), id 1, Value 0123d23e6f2464c4b0e81XXXXXXXXXXX, Name MYPPPOE-ACCOUNT-HERE

21:52:24.115199 PPPoE  [ses 0xe0cd] CHAP, Success (0x03), id 1, Msg 

21:52:24.115201 PPPoE  [ses 0xe0cd] IPCP, Conf-Request (0x01), id 1, length 12

21:52:24.115202 PPPoE  [ses 0xe0cd] IPCP, Conf-Request (0x01), id 1, length 24

21:52:24.115443 PPPoE  [ses 0xe0cd] IPCP, Conf-Ack (0x02), id 1, length 12

21:52:24.120439 PPPoE  [ses 0xe0cd] IPCP, Conf-Nack (0x03), id 1, length 24

21:52:24.120440 PPPoE  [ses 0xe0cd] IPCP, Conf-Request (0x01), id 2, length 24

21:52:24.125186 PPPoE  [ses 0xe0cd] IPCP, Conf-Ack (0x02), id 2, length 24

21:52:25.138142 PPPoE  [ses 0xe0cd] LCP, Echo-Request (0x09), id 1, length 14

21:52:25.138145 PPPoE  [ses 0xe0cd] LCP, Echo-Reply (0x0a), id 1, length 14

21:52:26.015923 01:80:c2:00:00:01 > ff:ff:ff:ff:ff:ff, ethertype Unknown (0x8874), length 64: 

21:52:26.392931 IP6 :: > ff02::1:ffe4:fc46: ICMP6, neighbor solicitation, who has fe80::7e6d:62ff:fee4:fc46, length 24

21:52:26.569326 IP6 :: > ff02::16: HBH ICMP6, multicast listener report v2, 2 group record(s), length 48
 21:52:26.762023 PPPoE  [ses 0xe0cd] IP 81.83.244.9.53902 > 119.245.192.67.60153: UDP, length 103

# 9.244.83.81.in-addr.arpa. 18000 IN      PTR     d5153F409.access.telenet.be.  # huh. why?

       0x0020:  006f 78b9 6431 3a61 6432 3a69 6432 303a        .ox.d1:ad2:id20:
       0x0040:  c3a4 7f1e 363a 7461 7267 6574 3230 3aae        ....6:target20:.
       0x0060:  ab42 7865 313a 7139 3a66 696e 645f 6e6f        .Bxe1:q9:find_no
       0x0070:  6465 313a 7434 3a0f 094c 1431 3a76 343a        de1:t4:..L.1:v4:

21:52:27.566529 IP6 :: > ff02::16: HBH ICMP6, multicast listener report v2, 2 group record(s), length 48

21:52:28.015820 01:80:c2:00:00:01 > ff:ff:ff:ff:ff:ff, ethertype Unknown (0x8874), length 64: 

21:52:35.246344 IP6 fe80::207:7dff:feac:f5c6 > ff02::1: ICMP6, router advertisement, length 64

21:53:17.310526 IP6 fe80::ce08:e0ff:fed9:7911 > ff02::1: ICMP6, neighbor advertisement, tgt is 2001:c90:8205:d578:ce08:e0ff:fed9:7911, length 32
# That was STB getting its IPv6 address.

Reverse Engineering

I contacted HikariTV to see if I am allowed to write my own client to play HikariTV, as I think it can be done better than current STB. They replied that they had no OpenSource information at the moment. We know the STB runs Linux/2.6.20.19-ce3tsb-20091202, so it must exist somewhere.

Unless NEC is breaking GNU license.

Anyway, this is what the bootup process appears to do: The STB is 192.168.0.5 Router is 192.168.0.1

20:53:04.315831 IP6 fe80::216:97ff:fe95:8e35 > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
20:53:05.657104 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:16:97:95:8e:35, length 300
20:53:06.179867 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:16:97:95:8e:35, length 548
20:53:06.352013 IP6 fe80::216:97ff:fe95:8e35 > ff02::2: ICMP6, router solicitation, length 16
20:53:06.702548 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:16:97:95:8e:35, length 548
20:53:07.056167 IP6 :: > ff02::1:ff95:8e35: ICMP6, neighbor solicitation, who has 2001:c90:8205:d578:216:97ff:fe95:8e35, length 24
20:53:07.478168 IP 192.0.123.254 > 224.0.0.22: igmp v3 report, 1 group record(s)
20:53:07.494903 IP 192.168.0.5.32771 > 239.255.255.250.1900: UDP, length 128
20:53:07.598341 IP 192.168.0.5.32771 > 239.255.255.250.1900: UDP, length 128 M-SEARCH schemas-upnp-org:device:MediaServer:1.
20:53:07.952127 IP 192.0.123.254 > 224.0.0.22: igmp v3 report, 1 group record(s)
[whole section of the STB connecting to my UPNP MediaServers ]
20:53:17.602871 IP6 fe80::216:97ff:fe95:8e35.546 > ff02::1:2.547: dhcp6 inf-req
20:53:17.611364 IP6 fe80::207:7dff:feac:f5c6.547 > fe80::216:97ff:fe95:8e35.546: dhcp6 reply
20:53:18.300043 IP6 2001:c90:8205:d578:216:97ff:fe95:8e35.32772 > 2001:c90:0:5::1.53: 18087+ AAAA? cdn.iptvf.jp. (30)
20:53:18.331268 IP6 2001:c90:0:5::1.53 > 2001:c90:8205:d578:216:97ff:fe95:8e35.32772: 18087 1/7/13 AAAA 2001:c90:ff:200::2 (454)
20:53:18.401223 IP6 2001:c90:8205:d578:216:97ff:fe95:8e35.42115 > 2001:c90:ff:200::2.80: Flags [S], seq 2269209492, win 5760, options [mss 1440,sackOK,TS val 4294689247 ecr 0,nop,wscale 3], length 0
20:53:18.407219 IP6 2001:c90:ff:200::2.80 > 2001:c90:8205:d578:216:97ff:fe95:8e35.42115: Flags [S.], seq 1769509420, ack 2269209493, win 4320, options [mss 1440,nop,wscale 0,nop,nop,TS val 4291528675 ecr 4294689247,sackOK,eol], length 0
20:53:18.407476 IP6 2001:c90:8205:d578:216:97ff:fe95:8e35.42115 > 2001:c90:ff:200::2.80: Flags [.], ack 1, win 720, options [nop,nop,TS val 4294689254 ecr 4291528675], length 0
20:53:18.448949 IP6 2001:c90:8205:d578:216:97ff:fe95:8e35.42115 > 2001:c90:ff:200::2.80: Flags [P.], seq 1:113, ack 1, win 720, options [nop,nop,TS val 4294689295 ecr 4291528675], length 112
GET /cdn.comp HTTP/1.1
Host: cdn.iptvf.jp
User-Agent: IptvSvcClient/1.2 (00004C;IS1050;02;04;001697958E35)
20:53:18.457439 IP6 2001:c90:ff:200::2.80 > 2001:c90:8205:d578:216:97ff:fe95:8e35.42115: Flags [P.], seq 1:1105, ack 113, win 4432, options [nop,nop,TS val 4291528724 ecr 4294689295], length 1104
HTTP/1.1 200 OK
Date: Wed, 12 Sep 2012 11:53:18 GMT
Server: Apache
Last-Modified: Wed, 25 Jul 2012 01:53:46 GMT
ETag: "11a0023-36a-bfd83e80"
Accept-Ranges: bytes
Content-Length: 874
Content-Type: text/xml; charset=utf-8
  <?xml version="1.0" encoding="UTF-8"?>
  <cdn_main>
    <header>
      <cdn_serial>2012072500</cdn_serial>
    </header>
    <cdn_name>NttEastFlets</cdn_name>
    <switch_control_flag>0</switch_control_flag>
    <sntp>
       <sntp_server>ntp.flets.net</sntp_server>
       <time_polarity>1</time_polarity>
       <time_delay>0900</time_delay>
    </sntp>
       <platform_list>
               <platform>
                       <network_id>7780</network_id>
                       <platform_name>ひかりTV</platform_name>
                       <pf_url>http://www.plala.iptvf.jp/fdn-e/</pf_url>
                       <pf_serial>2012072500</pf_serial>
               </platform>
       </platform_list>
       <bs_ip_broadcaster_list>
               <bs_ip_broadcaster>
                       <bs_ip_broadcaster_name>BS_IP</bs_ip_broadcaster_name>
                       <bs_ip_broadcaster_url>http://www.plala.iptvf.jp/fdn-e/bs/</bs_ip_broadcaster_url>
                       <bs_ip_broadcaster_serial>2010092100</bs_ip_broadcaster_serial>
               </bs_ip_broadcaster>
       </bs_ip_broadcaster_list>
   </cdn_main>
Connects to NTP to set the time.
20:53:19.657050 IP6 2001:c90:8205:d578:216:97ff:fe95:8e35.32772 > 2001:c90:0:5::1.53: 27997+ AAAA? www.plala.iptvf.jp. (36)
20:53:19.679535 IP6 2001:c90:0:5::1.53 > 2001:c90:8205:d578:216:97ff:fe95:8e35.32772: 27997 1/7/13 AAAA 2001:c90:6e00:2301::a001 (460)
20:53:19.706270 IP6 2001:c90:8205:d578:216:97ff:fe95:8e35.40379 > 2001:c90:6e00:2301::a001.80: Flags [S], seq 3608112181, win 5760, options [mss 1440,sackOK,TS val 4294690552 ecr 0,nop,wscale 3], length 0
GET /fdn-e/data_broadcast.csv HTTP/1.1
Host: www.plala.iptvf.jp
User-Agent: IptvSvcClient/1.2 (00004C;IS1050;02;04;001697958E35)
HTTP/1.1 200 OK
Date: Wed, 12 Sep 2012 11:53:19 GMT
Server: Apache/2.2.14 (Unix) DAV/2
Last-Modified: Thu, 07 Jul 2011 01:02:39 GMT
ETag: "624047-2c-4a77045f989c0"
Accept-Ranges: bytes
Content-Length: 44
Content-Type: text/csv
101,30592
102,30592
103,30592
152,30592
GET /fdn-e/hdpf_tcx.xml HTTP/1.1
Host: www.plala.iptvf.jp
User-Agent: IptvSvcClient/1.2 (00004C;IS1050;02;04;001697958E35)
HTTP/1.1 200 OK
Date: Wed, 12 Sep 2012 11:53:19 GMT
Server: Apache/2.2.14 (Unix) DAV/2
Last-Modified: Tue, 24 Jul 2012 23:22:26 GMT
ETag: "89689-bccf-4c59ba2a27080"
Accept-Ranges: bytes
Content-Length: 48335
Content-Type: application/xml

<?xml version="1.0" encoding="UTF-8"?>
<HDPF_TCX>
  <ServiceArea>fdn-e</ServiceArea>
  <Version>1207250822</Version>
  <IPVersion>ipv6</IPVersion>
  <MLDVersion>version2</MLDVersion>
  <NumOfTS>82</NumOfTS>
    <TSList>
      <TS>
        <TSId>0065</TSId>
        <MediaPortNumber>20012</MediaPortNumber>
        <GroupAddress>ff38::100</GroupAddress>
        <SourceAddress>2001:0c90:6e00:ff21::2:3</SourceAddress>
        <NumOfFEC>1</NumOfFEC>
        <FECList>
          <FEC>
            <FECMode>01</FECMode>
            <FECModeInfo>0A0A</FECModeInfo>
          </FEC>
        </FECList>
        <MaximumTSBitRate>9</MaximumTSBitRate>
        <NumOfService>1</NumOfService>
        <ServiceList>
          <Service>
            <ServiceName>
            ひかりチャンネル1
            </ServiceName>
            <ServiceId>0065</ServiceId>
            <LicenseId>0103000003000000</LicenseId>
            <TierBitMask>0000000000001000</TierBitMask>
            <ServiceType>01</ServiceType>
          </Service>
        </ServiceList>
      </TS>
      <TS>
        <TSId>006D</TSId>
           <MediaPortNumber>10244</MediaPortNumber>
           <GroupAddress>ff38::100</GroupAddress>
           <SourceAddress>2001:0c90:6e00:ff21::1:61</SourceAddress>
           <NumOfFEC>1</NumOfFEC>
           <FECList>
             <FEC>
               <FECMode>01</FECMode>
               <FECModeInfo>0A0A</FECModeInfo>
             </FEC>
           </FECList>
           <MaximumTSBitRate>7</MaximumTSBitRate>
           <NumOfService>1</NumOfService>
           <ServiceList>
             <Service>
               <ServiceName>BBCワールド</ServiceName>
               <ServiceId>0354</ServiceId>

etc