Argo Ramblings

Tuesday, January 12, 2010

DVBLink TVSource (removing the need for DVBViewer)

With special thanks to tbergman for this copy of his Geekzone how-to post on using TVSource:


1. Component List

The following components will be required to setup

- Motherboard with onboard COM port. Ensure it has enough PCI and PCIe slots to accommodate for all your hardware. There are plenty around with onboard HDMI. Using the onboard frees up a PCIe slot.

- Case to suit motherboard

- Phoenix card reader (I have found the Jaycar kit to be the most practical for reasons I will give later in this tutorial)

- RAM. More is always better. (4 gig for 32 bit, more for 64 bit)

- Core 2 Duo CPU. Quad core is nice, but reports are that NewCS does not work with them (Argo note: unless you use Linux O/S).

- Hard Drive. Must be big enough to handle all the recording you wish to do, in addition to the operating system, other software and any other recorded media you might have (music, photos, etc.).

- Network hardware – If you want to stream media over a home network, then I suggest a hardwire LAN. Most motherboards have built in LAN ports. Otherwise, built in wireless will be fine for downloading software and EPG updates.

- DVB-T tuner(s). I use a Terratec Cinergy 2400DT dual PCIe tuner. This is why I prefer the onboard HDMI. I use my only PCIe slot for the FTA tuner.

- DVB-S tuner(s). FTA tuners will work nicely. Tuners with built in CI slots are not necessary, but will work. The only reason I say this is because the CI will not be used in this set up, and are usually more expensive than the FTA tuners.

- Analog tuner. I only use it to pick up FM radio.

- Remote control. Must be MCE compatible.

- Satellite Dish. If you have an existing Foxtel / Sky Service, then the satellite dish installed will save you a lot of work as it is already aimed to the correct satellite. If you want to use multiple DVB-S tuners, you’ll need to change out the LNB, depending on the one already fitted. Most standard Foxtel installs include a single LNB for the basic service. I have a dual Sony LNB purchased from eBay for $27AU (Including postage). If you do need to swap out the LNB, you will need to buy/rent/borrow a satellite finder and orientate the dish & LNB to the correct satellite. For those in the Brisbane area, I have one that can be “borrowed” for the weekend for the cost of a six-pack. This is negotiable.

- FTA Antenna and connections. I have a common antenna point in the house connected to a 1 to 4 splitter. The connections are 1. DVB-T card, 2. TV, 3. Analogue card and 4. FM tuner on the analogue card.

- Cabling should be Quad Shielded

- Separate connections for each DVB-S card



2. Software

Required Software:-

- Windows 7 Ultimate (only because I have no experience with home basic)

- All necessary drivers

- Codec pack (Argo note: H264 codec already included in Win7)

- DVBlink TVSource

- NewCS (Argo note: NewCS V1.2 for Windows non-dual core CPU , upto V1.65 for Windows & dual-core, any higher version requires Linux O/S)


- Acamd

- Free EPG XMLTV Downloader

- CSA.dll


3. Setting Up

I always prefer to begin with a clean install as my system is a dedicated HTPC. Start with no cards installed, except for the video card if you’re using one.

1. Install W7

2. Install Drivers

3. Run Windows Update – Make sure you have all the updates you need. You may want to run it a few times to make sure you have everything

4. Install Codecs

5. Shut Down PC

6. Install Phoenix Card Reader and Tuner cards and drivers

7. Turn off UAC – This is required to setup TVSource

8. Make a directory in C:/newcs

9. Copy the following files into the directory:-

mingwm10.dll
Newcs.exe
Newcs.xml
NewcsGUI.exe
pthreadGCE2.dll

10. Make a shortcut in the startup folder to the NewcsGUI.exe. - This is so it starts up when the computer does.

11. Insert your Foxtel smartcard into the card reader and start the NewcsGUI.exe. – You need to confirm the provider ID for your TV service. Write it down. E.g., Foxtel satellite is 090B.

12. Install DVBlink TV Source

Step 1: Install DVBlink Server (restart computer)

Step 2: Install DVBLink TVSource

Step 3: Start DVBLink Source Configuration

Step 4: If you just want one tuner skip step 5 through 7

Step 5: Remove TVSource by selecting it in the middle and pressing the red <- arrow left of it

Step 6: Add a TVSource by selecting TVSource on the left and pressing the green -> and give the name you want

Step 7: Repeat step 5 for more tuners

Step 8: Place csa.dll and plugins into C:\Program Files\DVBLogic\DVBlink\Sources\\Plugins – Each tuner needs an individual name. Newcs and acamd will need to be modified to reflect this. For this purpose, the plugins you put in are cardclient.conf and acamd.dll


At this point, we pause and undertake points 12 and 13


Step 9: Repeat step 7 for every other TVSource tuner found in C:\Program Files\DVBlogic\Sources\

Step 10: Continue setup as per the manual.


13. Edit newcs.xml so it looks something like this:-


Phoenix on COM1

phoenix
357
COM1
odd
normal
no
yes
no
no
no
yes
0000000000 -->
0000000000 -->
no
no
no
34000
yes
fifo
no
0000
No
10001
localhost
20
-1
8080
no
newcs
normal, init
console,tcp
normal,init
1001
normal,init
yes
newcs
01 02 03 04 05 06 07 08 09 10 11 12 13 14
tuner1
password1
localhost
34000
1
on
off
no

14. Edit cardclient.conf so it looks like this:-

newcamd:localhost:34000:0/090b/ffff:tuner1:password1:0102030405060708091011121314

15. At this point, you may want to setup XMLTV Download. Have it output the xml file into the XMLTV folder in TV Source. Run it up and have it bring down the epg data.

16. Go back and resume the TV Source setup as per the manual.

Author: tbergman

Sunday, September 13, 2009

Free SFTP, FTP and SCP client for Windows

Found this fantastic FTP and Telnet application: WinSCP.

Its homesite is at: http://winscp.net/eng/docs/screenshots

It has some really nice functions like right-click to get to file properties and many other time-saving features. Brilliant program for Linux terminal work!

Thursday, September 10, 2009

Testing NewCS using CCcam as a Client in a Virtual Machine

Note: This is a continuation of:
http://argoramble.blogspot.com/2009/09/newcs-on-sun-virtualbox.html

I wanted to test NewCS with a client application outside the NewCS Virtual Machine (VM).

After looking around the web I found a client that would make for a relatively simple, but thorough test. The application is CCcam (in client mode). This powerful application requires a Linux o/s and can be configured to poll a local or IP-addressed newcamd server (ie NewCS).

The method I used to set this up is as follows:

- Using the VirtualBox (VB) 'Export' command, export your previously created ClarkConnect5 VM (ie make a copy)
- Import this copy back into VB and give it a different name and also a different IP address (either by leasing an IP on your router, or setting a new IP manually in the CCcam VM. Also make sure your CCcam VM has a unique MAC address)
- Install CCcam on to the newly created CC5 VM
- Configure CCcam to act as your newcamd client
- Boot your NewCS VM and and start NewCS (with a smartcard inserted)
- Open a NewCS Telnet window in Win7
- Boot your CCcam VM and start CCcam

On the NewCS Telnet window you should see NewCS run through its initialisation and then see CCcam request and log into NewCS. If you open a CCcam browser window you will see the card details are passed down to CCcam as a client of NewCS. If this happens then the test is successful and NewCS is definitely working as a card server.


Here is an extract from the NewCS log file:
...
Card Inserted
[ 17:20:23 ] [ Loader ] Card xxxx on port /dev/ttyS0 ready
[ 17:20:27 ] [ Newcamd ] new connection from 10.1.1.60 on socket 9
[ 17:20:27 ] [ Newcamd:15000 ] Connection from 10.1.1.60
[ 17:20:27 ] [ Newcamd:15000 ] User user1 logged in, client: CCcam
[ 17:20:27 ] [ Newcamd:15000 ] Command E3 from user1 len 3
[ 17:20:27 ] [ Newcamd:15000 ] Sending Card Information to user1:
[ 17:20:27 ] [ Newcamd ] ProvID 0 Key xxxxxx on caid xxxx type 0
[ 17:20:27 ] [ Newcamd ] ProvID 0 Key xxxxxx on caid xxxx type 1


Excellent CCcam/ClarkConnect tutorial here (access requires registration): http://www.eurocardsharing.com/f163/how-setup-cccam-newcs-cardsharing-server-clarkconnect-5-0-linux-43384
Many thanks
to kapzas and the Eurocardsharing Forum for this.

Sunday, September 6, 2009

NewCS CardDetect observation with Jaycar Reader

Just tried a little test.

- Set carddetect=yes in newcs.xml.
- Started up NewCS without card and let it run through its startup sequence
- Observed activity via Telnet (Reset of course had failed on init)
- Inserted a plastic card into reader slot so that carddetect switch active
- NewCS then tried to carry out a card init, failed, tried again, failed, repeat....
- If I pulled the plastic card out then the sequence stopped, inserting card starts sequence again.

Why is this good? It means your NewCS server PC can startup fully without a card. As soon as you insert your card it will initialise it/self ready for serving. Kinda cool if you need to move your card between your STB and PC (PC does not need to be rebooted).

NOTE: The Jaycar Reader has had the CardDetect Invert Mod carried out.

Thursday, September 3, 2009

NewCS on a Sun VirtualBox

NEWCS on a Sun VirtualBox

Hardware/Software Configuration:

Hardware-
- Standard x86 PC (eg: P4 Springdale Chipset)
- Jaycar Serial Card Reader (in Phoenix modes). Mods: CardDetect Invert, Schottky Diode Mod
- N.D.S S.k.y NZ Card

Software-
- Host (the O/S that loads when you power up the PC): Win7
- Virtual PC Emulator: Sun VirtualBox
- Guest (the O/S running in Virtual Mode): ClarkConnect5 (CC5)
- NewCS V1.67RC1: Used for passing a legal card key
- ACamd V0610: Used for decrypting the DVB streams
- PuTTY (telnet/SSH client): Used for issuing terminal commands in CC5
- CoreFTPlite (FTP client): Used for uploading files to CC5


Why Use A Virtual Machine?

- Allows any O/S (within reason) to be used with NewCS
(important as NewCS is no longer supported in Windows)
- Allows separation to be maintained between the CS Server and the rest of the PC
(useful when 'experimenting')
- Allows the CS Server to simulate a separate PC
(useful if this is your ultimate goal)
- Its another interesting PC challenge to get under your belt.


Why Use Windows 7 at all?

- Many Geekzone (GZ) posts point to W7 Media Center (W7MC) panning out to be a MC that just works (with some NZ-centric tweaks). I'm sure all the other MC's also work well to varying degrees, however its fairly much acknowledged (by GZ posters) that W7MC is the easiest path to a HTPC that can record and playback all the NZ broadcast streams thrown at it.



Topology:



All hardware is connected to the W7 PC. The PC is running W7, however the NewCS box in above is running inside a Linux Virtual Machine (VM).


Setup:

Assumptions:
- all your hardware (cardreader, DVB-S cards, network, etc) is installed and working correctly on your W7 PC.

Downloads (all are donation or free):
- Virtual PC Emulator: Sun VirtualBox
- Guest (the O/S running in Virtual Mode): ClarkConnect5 (CC5)
- NewCS V1.67RC1: Used for passing a legal cards keys.
Extract: newcs.i686 & newcs.xml
Rename: newcs.i686 to newcs.x86
- ACamd V0610: Used for decrypting the DVB streams
- PuTTY (telnet/SSH client): Used for issuing terminal commands in CC5
- CoreFTPlite (FTP client): Used for uploading files to CC5

Methodology:

1) Virtual Box
Download and install Sun VirtualBox for windows (VirtualBox 3.0.4 for Windows hosts)
From memory there were no gotchas with this install on to W7. I downloaded the manual and printed parts of it as a reference.


2) Create a Virtual Machine
Using the VBox GUI create a new Virtual Machine (VM)
Tips: I used the following settings (a lot of these are default values) -

General
Name: ClarkConnectVM (can be anything)
O/S: Red Hat (Note: CC5 is based on the RedHat distro)

System
Base Memory: 512MB
Processors: 1
Boot Order: CD/DVD-ROM, Hard Disk
VT-x/AMD-V: Enabled
Nested Paging: Disabled

Display
Video Memory: 128MB
3D Acceleration: Enabled
Remote Display Server Port: 3389

Hard Disks
IDE Primary Master: ClarkConnectVM.vdi (Normal, 8.00GB)

CD/DVD-ROM
Host Drive: E: (but point this to your ClarkConnect iso when 'installing' CC5)

Floppy
Not Mounted

Audio
Host Driver: Windows DirectSound
Controller: ICH AC97

Network
Adapter 1: PCnet-Fast III (Bridged adapter, your PC's network card)
(I had some problems with networking. Default setting was NAT but that gave me problems so I went to a Bridged configuration)
Note: You can view the virtual MAC address as well.

Serial Ports
Port 1: COM1, Host Device (COM1)

USB
Device Filters: 0 (0 active)

Shared Folders
None


3) Install your Guest O/S (CC5)

a) Download the ClarkConnect Community Edition ISO image
(note: no need to burn to CD, VM has some magic for iso's)

b) Set the VBox VM CD/DVD-ROM to 'see' the CC5 iso as a CD

c) Start your new VM Guest (ie: this is the same as powering up the VM 'PC')
You will see a SUN 'BIOS' come up, the VM will boot from virtual CD and you will be asked to select as follows:
- Select: Language
- Select: Keyboard (US)
- Select: Install Method (Local CDrom)
- Select: Install Type (Install)
- To proceed: Type - "ClarkConnect"
- System Mode: Standalone Mode - No Firewall
- Specify LAN IP: Manual Config or Dynamic if your Router supports leased IP by MAC address.
(My router does so I set dynamic and then leased IP:10.1.1.50 using the VM assigned MAC)

- Nameserver IP: Your router gateway IP (eg: 10.1.1.1)
- Set the System Root Password > write it down!!
- Partitioning: Use Default
- Select Software Modules: Definitely need FTP, I selected most of them.

d) When the install is complete, you will be presented with a login screen. Login with your new root password created above. There are a number of options in here but you should be done for now. Use the Shutdown option and shutdown. Then start up again and your new CC5 should boot all the way up. If you have set a manual IP you are done for now. If dynamic you have two options:
i) My favourite - login to your router and look at your DHCP clients, one of them should be CC5.
Note the IP of this DHCP client

ii) Also good - Alt+F2 will drop you into a CC5 terminal, login as root and issue the command: "ifconfig". This is like the Win "ipconfig" - it will show your IP.

e) Now minimise the CC5 window, minimise the VirtualBox window.


4i) Guest O/S (CC5) Setup - User Account

a) Open a browser (eg: IE8) and browse to https://the.IP.of.Guest:81
(in my example: https://10.1.1.50:81)

b) Click through the warnings of doom ('Connection Not Trusted' etc)
c) Login, Username: Root, Password: you wrote it down above
d) Language: default English
e) Network: Standalone Mode No Firewall
f) Register: As you like
g) Time Zone: Godz Own ;-)
h) Domain: Can just leave as is ("clarkconnect.lan") or change if you like
i) Organisation: Real Data or space-fillers
j) Finish: Again you will probably get dire messages, just click-through.



4ii) Guest O/S (CC5) Setup - Dashboard

a) Continuing to use the browser window, Open the Tab "Account Manager"
b) Click to add users "+Add"

c)
Username: "bob" (make one up),
First Name: "Bob" (make one up),
Last Name: "Bobber" (make one up),
Password: "bobword" (make one up)
Verify: "password" (repeat password just entered)
Write down the Username and Password. These will be used for FTP file uploading.
d) Click on the tab "+Add"
e) Open tab "Software" and "FTP"
f) FTP configuration set to "1" not to "30" and click "Update" tab
g) Set these two to:
Status -Running ('Start')
On boot - Automatic ('To Auto')
h) That's the Dashboard done. You can logout now.


5) Transfer NewCS files to Guest using FTP Client

a) For this we will use CoreFTPLite (or your fav).
Open CoreFTPLite and enter:
- Host:
the.IP.of.Guest (eg: 10.1.1.50)
- User Name: The Name you created under Dashboard (bob)
- Password: The Password you entered above (bobword)
Now connect to the CC5 server
b) Transfer the newcs files extracted earlier to your newly created user account
(TIP: location will be: /home/'username' (bob in my case))


6) Setting newcs files for use in CC5 using PuTTY

a) For this we will use PuTTY.

Open/Login PuTTY with:
-
Host: IP.of.Guest (eg: 10.1.1.50)
- User: root
- Password: (the password you set in 3c (you wrote it down))


b) Create directory's and copy files to these directorys:

cd /var
mkdir /var/bin
ls
(you should now see bin)
cd /home/Username (4ii c eg: bob)
ls
(should see the FTP'd files: newcs.xml, newcs.x86)
cp newcs.x86 /var/bin
cp newcs.xml /etc
cd /var/bin
ls
(should see newcs.x86)
chmod 755 newcs.x86
ls
(should now go from the colours white to green)


c) Edit the newcs.xml file to your card reader (newcs.xml config is a project by itself!):

nano /etc/newcs.xml
(CC5 editor starts, note the ctrl characters at the bottom)
(remember to save your changes)


d) Linking the "libcrypto" file newcs expects to the actual
"libcrypto" CC5 file:

cd /lib
ln -sf libcrypto.so.0.9.8e libcrypto.so.0.9.8


e) Start NewCS

cd /var/bin
ls
./newcs.x86
(depending on your newcs.xml settings you should see NewCS startup)


f) Optional: NewCS auto-start

nano /etc/rc.d/rc.local
(
You will see a line like: "touch" and so on. Under that line is a lot of empty space. Write next line exactly under that "touch" line)

/var/bin/newcs.x86
(Save the changes)


7) Methods for logging/viewing NewCS from your Host

Depending on your newcs.xml file settings here are some ways to see what's going on:

a) PuTTY
- Start your CC5 VM
- Login with PuTTY just as you did in 6a)
- Start NewCS with this command (assumes NewCS is not auto-started):
cd /var/bin
ls
./newcs.x86

- On your PuTTY terminal/console you will see the debug script

b) Browser (assumes NewCS is already running either manually or auto-start)
- Using IE or other browser enter:
http: the.IP.of.Guest:httpd_port_set_in_newcsxml (eg: http://10.1.1.50:8080)
- User: httpd_user_set_in_newcsxml (eg: admin)
- Password:
httpd_password_set_in_newcsxml (eg: password)
This is kinda cool as you can actually make changes to your newcs.xml file thru your browser, plus see keys and all sorts of cool stuff.

c) Telnet (simple logger)
- Host: IP.of.Guest, port: tcp_port_set_in_newcsxml (eg: 10.1.1.50, port 1001)
You will see any activity related to NewCS, eg: browser logins

d) Logfile
If you set your newcs.xml file to log 'debug' to a logfile then you can pull this down with CoreFTPlite.
Tip: In your newcs.xml file set your logfile to your user directory.
Ie:/home/usename_4ii_c ("bob" in 4ii C above).
This makes it easy to get access to the logfile.


8) Method for starting CC5 as a non-GUI on your Host

a) Create a desktop shortcut of the command prompt
(copy the Start>All Programs>Accessories "C:\" icon
command prompt shortcut and drag this copy to the desktop)

b) Right click your new shortcut and go to 'properties'

c) Set the target directory ("Start in:") to: "C:\Program Files\Sun\xVM VirtualBox\"
Set the target ("Target:") to:
C:\Windows\System32\cmd.exe /k VBoxHeadless.exe --startvm name_of_your_cc5_guest
eg:
C:\Windows\System32\cmd.exe /k VBoxHeadless.exe --startvm ClarkConnectVM

d) Apply/OK

Now when you double-click this shortcut it will start VirtualBox and also start CC5. You won't be able to tell when it is ready (other than CPU usage), however its ready when you can login with PuTTY as root.

Tip: To stop NewCS Process:
- If in the terminal that you used to start NewCS - Scroll up to see the Process Number created.
Use this number in the following command: kill xxxx (where 'xxxx' is the process number)
- If you cannot see the Process Number, or have just logged in then run:
ps ax_grep newcs (please replace _ with: "shift+\" - I can't post the vertical bar character)
kill xxxx (xxxx is the process found above)

Tip: To do an orderly shut down of CC5 do this:

- Login as root (with PuTTY)
- Issue the command: shutdown -h now


VirtualBox and CC5 will now sit in the background acting as a NewCS Server. In headless mode it boots up into CC5 in less than a minute (on my old PC) and doesn't use many CPU cycles.

Hope this helps others. It looks complicated (and it kinda is!) but follow through the steps and you should be good to go.

BIG THANKS to kapzas over on Eurocardsharing forum for allowing me to use his/her ClarkConnect How-To!!!

Please let me know if I made any typos or other mistakes.

Thursday, August 20, 2009

NewCS 1.65 error screensaves (for reference)

Plastic card inserted screenshot (so card detect active but no comm)


No power on the Reader screenshot


No card inserted screenshot

Tuesday, August 18, 2009

NewCS 1.20 (RC13)

Here is a printscreen of a successful 1.20 card load: