Du kan se sidan på http://www.comhit.net/content.php/29...nyb%C3%B6rjare
*********
Det här är en guide för dig som nybörjare att komma igång med oscam på Raspberry Pi. Målsättningen är att den ska vara så detaljerad att alla kan följa med. Som ett tillägg finns även möjlighet att installera CardServerProxy för de som önskar.
2015-06-11 Mindre uppdateringar p.g.a. att inköpsställen blivit inaktuella och att det kommit nya modeller av Raspberry Pi.
2015-09-30 Mindre uppdatering p.g.a. ny Raspbian version baserad på Debian Jessie.
2015-10-27 Uppdatering av guiden p.g.a. ändringar i Raspbian. Nu rekommenderar jag att köra Raspbian Jessie eller Wheezy från 2015-05-05 eller nyare.
2015-10-29 Lagt in ett avsnitt om hur man kan sätta upp watchdog.
2015-11-17 Lagt in ett nytt avsnitt om hur man kan åtgärda hängningar. Använd den lösningen innan du provar Watchdog.
2016-02-12 Testat med Raspbian Jessie Lite 2016-02-09. Det fungerar bra att använda Lite-versionen av Raspbian.
2016-09-25 Uppdaterat länkar och inköpsställen.
2016-11-16 Lagt till en ny lösning för att få stöd för nyare Omnikey kortläsare.
2016-11-19 Förtydligat att oscam.srvid2 filen bör raderas om den finns för att oscam.srvid filen ska fungera.
2017-01-07 Ändrat fixen för nya Omnikey läsare så att den fungerar även på äldre Raspberry Pi.
2017-01-13 Lagt kommentarstecken i oscam.server samt uppdaterat hur man hämtar hem oscam.srvid2 filer.
2017-01-13 Lagt till en ändring för att aktivera ssh i Raspbian 2016-11-25 och nyare.
2017-04-06 Ändrat avsnittet om raspi-config.
Den är indelad i följande delar:
- Saker att skaffa
- Installera Linux
- Installera oscam
- Tillägg
Vi börjar direkt med första delen:
Del 1. Saker att skaffa
För att komma igång med det här projektet behöver du ha en del saker. En Raspberry Pi naturligtvis och lite annan utrustning. Kolla i listan här nedan vad du behöver och skaffa det du inte redan har.
Bifogad fil 1816 Bifogad fil 2349
1. Raspberry Pi.
Det måste vara en modell med nätverksport. Ska man köpa en Raspberry Pi idag är det väl Raspberry Pi 2 eller Raspberry Pi 3 som är mest prisvärd. Skulle du emellertid ha någon av de äldre Raspberry Pi modellerna liggande så funkar de också bra.
Den här guiden fungerar lika bra att följa för vilken som helst av nedanstående fyra versioner av Raspberry Pi.
Kolla på Prisjakt för bästa pris:
https://www.prisjakt.nu/produkt.php?p=2733373
https://www.prisjakt.nu/produkt.php?p=3569430
https://www.prisjakt.nu/produkt.php?p=2994386
Bifogad fil 1817
2. Spänningsaggregat.
Det är viktigt att ha ett med bra kvalitet. En mobilladdare kan i bästa fall funka, men inte alla mobilladdare funkar bra till Raspberry Pi. Får du problem med att din Pi plötsligt startar om sig eller beter sig allmänt skumt så ska du misstänka spänningsaggregatet i första hand. Det är säkrast att köpa ett spänningsaggregat som är gjort för att fungera med Raspberry Pi.
Särskilt viktigt att ha ett bra spänningsaggregat är det om man har en Raspberry Pi 3 eftersom den drar mer ström. Då bör man ha ett spänningsaggregat som klarar att lämna 2,5A.
Raspberry Pi säljer ett eget spänningsaggregat som finns hos vissa svenska återförsäljare:
https://www.webhallen.com/se/product/273883-Raspberry-Pi-Power-Supply-Svart
https://www.netonnet.se/art/komponen...e/228690.8978/
Bifogad fil 1818
3. Låda.
En låda till Raspbery Pi är inte helt nödvändigt men det blir mycket enklare och trevligare att handskas med den. Ska du hantera det lösa kretskortet riskerar du hela tiden att kortsluta något.
Bifogad fil 1819 Bifogad fil 2350
4. SD-kort.
Beroende på vilken modell av Raspberry Pi du har så behöver du ett minneskort av typen SDHC eller micro-SDHC på minst 8 GB. De nyare modellerna använder micro-SD kort. De äldre modellerna använder de större SD korten.
Jag rekommenderar att köpa ett kort av ett bra fabrikat och inte ett billigt noname-kort. Kort som har fungerat mycket bra för mig är Samsung och Transcend. Det spelar inte så stor roll om du köper ett class4 eller ett class10 kort. Det är inte alltid snabbare med ett class10 på Raspberry Pi och det beror på att class10 kort är optimerade för överföring av stora filer. På en Raspbery Pi så kan ett class4 vara lika snabbt som ett class10 p.g.a att operativsystemet oftast bara hanterar små filer.
Du kommer också att behöva en kortläsare som passar för att ansluta ditt SD-kort till datorn när du ska kopiera filer till det. Många datorer har en sådan inbyggd, annars får du köpa en.
Bifogad fil 1820
5. Kortläsare för programkort.
Uppdatering 2016-11-16:
Omnikey har återigen ändrat hårdvaru-ID på sina kortläsare så att de ej stöds by default av Raspbian. En fix för detta finns nu under Tillägg.
I denna guide kommer vi att använda en kortläsare av PC/SC typ som är billiga och mycket stabila. Har du två programkort (t.ex. Viasat och CD) behöver du två kortläsare. Du kan köpa denna från Dustin till ett bra pris:
https://www.dustinhome.se/product/50...rdman-3021-usb
Är du lite mer äventyrlig kan du köpa billigt från Ebay. Prova att söka på "Omnikey" på Ebay så brukar man hitta prisvärda alternativ.
Del 2. Installera Linux
Den här guiden använder några Windows-program eftersom det är en guide gjord för nybörjare. Om du är en Linux-användare kanske du redan vet hur du ska göra istället. Annars kan du ställa en fråga i forumet ifall du undrar något.
Linux-versionen vi ska använda heter Raspbian. Det är en variant av Debian som är speciellt gjord för att användas på Raspberry Pi.
1. Tanka ner senaste Raspbian från denna sida:
http://www.raspberrypi.org/downloads
Obs! Du ska inte tanka ner NOOBS-filen utan RASPIAN. Guiden fungerar både med Raspbian Jessie, Raspbian Jessie Lite och Raspbian Wheezy.
Versionen av Raspbian måste vara 2015-05-05 eller nyare.
2. Packa upp filen och för över den till minneskortet
med hjälp av programmet Win32DiskImager http://sourceforge.net/projects/win32diskimager/
Obs! Var absolut säker på att du valt rätt enhet innan du trycker på Write-knappen i programmet. Har du några andra USB-anslutna lagrings-enheter kopplade till datorn så bör du koppla bort dem innan du använder programmet. Annars finns det risk att du raderar t.ex. hårddiskar eller mp3-spelare.
Så se till att du är absolut säker på vilken enhet som är ditt anslutna SD-kort innan du trycker på Write-knappen!
3. När programmet är klart och säger att filen skrivits korrekt
För att kunna komma åt din Raspberry Pi via nätverket måste vi skapa en fil som heter ssh på SD-kortet. Det är en ny sak som måste göras om man använder Raspbian 2016-11-25 eller nyare.
Öppna utforskaren och navigera till den enhet som motsvarar SD-kortet. Högerklicka i fönstret och välj att skapa ett nytt textdokument. Döp dokumentet till ssh (utan ändelsen .txt). Windows kommer att klaga på att du tar bort ändelsen men gör det i alla fall. Se till att den nya filen heter enbart ssh utan någon ändelse. Du behöver inte skriva in någon text i dokumentet utan det kan vara helt tomt.
Nu tar du ut SD-kortet och sätter det i din Raspberry Pi.
Anslut Raspberry Pi till ditt nätverk med en nätverkskabel och koppla sedan in spänningsaggregatet. Din Rasberry Pi startar nu upp, vänta någon minut tills den bootat klart.
4. Nu gäller det att komma åt din Raspberry Pi.
Det finns två sätt. Antingen kopplar man in en bildskärm, tangentbord och mus (vilket man i så fall borde gjort innan man startade upp den).
Eller gör man som vi kommer att göra i denna guiden och ansluter till den via nätverket.
Nu är det dags att ladda ner programmet PuTTY http://www.chiark.greenend.org.uk/~s.../download.html om du inte redan använder det.
Det räcker om du laddar ner filen putty.exe och lägger i en mapp på din PC.
5. Först måste vi lista ut vilken IP-adress din Raspberry Pi har fått.
Ta upp en webläsare på din dator och surfa till din router. I routern kollar du på statussidorna och letar efter "DHCP clients" eller "LAN Computers". Någonstans finns det förmodligen en lista över dina datorer på nätverket och vilka IP-adresser de fått. Leta i listan efter en rad där namnet "raspberrypi" finns och notera vilken IP-adress som står på den raden.
Om du inte vet hur du ska surfa till din router så kan du ta upp ett kommandofönster på din dator. I fönstret skriver du kommandot ipconfig
I svarsutskriften hittar du en rad med "Default Gateway" och en IP-adress, det är den IP-adressen som din router har och den skriver du in i adressfältet på din webläsare för att surfa till routern.
6. När du vet IP-adressen till din Raspberry Pi
är det dags att försöka få kontakt med den.
Starta PuTTY, det gör du genom att dubbelklicka på filen putty.exe. I fönstret som kommer upp skriver du in IP-adressen till din Raspberry Pi i det översta fältet. Sedan kollar du att knappen SSH är markerad och klickar på knappen Open längst ner.
Du får upp en varningsruta som säger att PuTTY inte känner igen denna dator. Klicka på Yes eller Ja för att gå vidare.
Nu har du ett svart fönster framför dig där det står "login as:". Logga in som användaren pi med lösenordet raspberry.
Grattis! Du har nu fått kontakt med din Raspberry Pi!
7. Det är nu dags att börja konfigurera din Raspberry Pi.
OBS! När vi nu börjar skriva Linux-kommandon på kommandoraden så är det viktigt att det blir rätt. Om du skriver fel på ett enda tecken så kan det ta väldigt lång tid att reda ut vad som gått fel och hur det ska rättas till.
Därför ska du använda copy/paste för att kopiera alla kommandon från guiden och klistra in dem på kommandoraden. För att klistra in i PuTTY-fönstret använder du höger musknapp.
Kontrollera sedan att allt har blivit rätt innan du trycker på Enter!
Först gör vi en inställning med kommandot:
sudo raspi-config
Du får då upp en meny där du kan välja olika saker.
Välj Localisation Options och på nästa sida Change Timezone. Välj Europe och sedan Stockholm.
När det är klart väljer du Finish.
Din Raspberry Pi är nu konfigurerad med rätt tidzon så vi kan gå vidare.
8. Uppdatera Raspbian
Använd nedanstående två kommandon för att leta efter ev. uppdateringar och installera dessa.
Var beredd på att kommandona kan ta lite tid och vänta till du får kommandoprompten tillbaka innan du försöker fortsätta med nästa kommando. Tryck Enter när du blir tillfrågad om att fortsätta installationen.
sudo apt-get update
sudo apt-get upgrade
Det kan sedan vara bra att använda dessa två kommandon med några månaders mellanrum för att hålla sitt system uppgraderat (fungerar ungefär som Windows Update).
9. Byt lösenord på användaren pi.
För att förbättra säkerheten på din Raspberry Pi så byter vi ut standardlösenordet. Tänk ut ett nytt lösenord för pi och skriv upp det så att du inte glömmer bort det.
Sedan byter vi lösenordet med kommandot:
passwd
Du får först ange det gamla lösenordet (raspberry) och sedan ange det nya lösenordet två gånger.
10. Skapa ett lösenord för root.
För att enklare kunna arbeta som root och slippa skriva sudo framför varje kommando så skapar vi ett root-lösenord. Tänk på att inte välja för enkelt lösenord och skriv upp det så att du inte glömmer bort det.
Skapa ett lösenord för root med kommandot:
sudo passwd
Du får sedan ange det nya root-lösenordet två gånger.
Sedan provar vi att logga in som root med det nya lösenordet:
su -
Skriv det nya root-lösenordet och du skall bli inloggad som root. Notera att din kommandoprompt ändrade sig för att visa vilken användare du är inloggad som. Var nu försiktig för som root har du makten att förstöra hela systemet.
Linux-installationen är nu färdig. I nästa punkt berättar jag hur man startar om eller stoppar servern. Men det är inget du behöver göra nu om du tänkt gå vidare med resten av guiden.
11. Hur man stoppar eller startar om servern.
Det är viktigt att inte bara bryta strömmen till servern. Gör man det så riskerar man att SD-kortet blir korrupt. Vill du stänga ner din server snyggt så gör du det med följande kommando:
sudo shutdown -h now
För att sedan få igång den igen så får du bryta strömmen och koppla in den igen.
För att starta om servern så använder du följande kommando:
sudo shutdown -r now
Om du är inloggad som root behöver du inte skriva sudo framför kommandona.
Del 3. Installera oscam
Alla kommandon i hela del 3 ska skrivas som användaren root, se till att det står root längst till vänster i kommandoprompten. Om det inte gör det så använd kommandot:
su -
och logga in som root.
1. Installera nödvändiga paket
som behövs för att bygga och köra oscam.
Skriv nedanstående kommando (kommandot kommer att ta lite tid, vänta till du får kommandoprompten tillbaka innan du fortsätter med nästa kommando).
För att få det rätt och slippa skriva långa kommandon använder du lämpligen copy/paste. Det är ett långt kommando som börjar med apt-get och allt som kommer efter ska skrivas på samma rad:
apt-get install subversion cmake libssl-dev libusb-1.0-0-dev libccid pcscd pcsc-tools libpcsclite-dev
2. Ladda ner koden.
Vi skapar en mapp oscam under /usr/src och lägger källkoden till oscam där. Det sista kommandot tar lite tid medan koden hämtas hem:
cd /usr/src/
mkdir oscam
cd oscam
svn co http://www.streamboard.tv/svn/oscam/trunk oscam-svn
3. Sedan bygger vi oscam
med stöd för webif och pcsc-läsare. De två sista kommandona kommer att ta lång tid:
cd oscam-svn
mkdir build
cd build
cmake -DWEBIF=1 -DHAVE_PCSC=1 ..
make
4. Installera binären.
Om allt har gått bra så ska vi nu ha en färdig programfil (binär) för oscam. Vi kopierar den till rätt ställe:
cp -p oscam /usr/local/bin
5. Skapa mapp för log-filer.
För att få loggarna från oscam att hamna på rätt ställe så skapar vi en mapp för detta:
cd /var/log
mkdir oscam
6. Skapa config filer.
Oscam behöver tre config filer för att fungera. Du kan skapa dem med en editor som heter nano. För varje fil skriver du på kommandoraden:
nano filnamn
där du ersätter filnamn med namnet på filen. När du gör detta öppnas nano-editorn och du kan klistra in texten från de exempel jag visar här. När du ser att det blivit rätt i nano-fönstret avslutar du nano med Ctrl-X och väljer att spara filen.
Gör detta tre gånger, en gång för varje fil.
Först ser vi till att vi är i rätt mapp:
cd /usr/local/etc
Sedan skapar vi filerna efter mallarna här under:
nano oscam.conf
Kod:
[global]
nice = -1
clientmaxidle = 0
# logging
logfile = /var/log/oscam/oscam.log
maxlogsize = 1000
usrfile = /var/log/oscam/oscamuser.log
cwlogdir = /var/log/oscam/cw
[monitor]
port = 988
nocrypt = 127.0.0.1
aulow = 120
monlevel = 4
[webif]
httpport = 8080
httpuser = Admin
httppwd = OSCam
httprefresh = 60
httppollrefresh = 30
httpallowed = 127.0.0.1,192.168.0.0-192.168.254.254
httphideidleclients = 0
httpreadonly = 0
# protocols
[newcamd]
key = 0102030405060708091011121314
port = 10001@0B00:000000
[cccam]
port = 10009
nano oscam.server
Kod:
#[reader]
#label = Reader1
#enable = 1
#protocol = pcsc
#device = 0
#group = 1
#emmcache = 1,3,2
#caid = 0B00
Observera att det finns ett #-tecken först på varje rad i denna oscam.user. Det gör att det går att provköra oscam utan någon kortläsare ansluten om man vill göra det. Senare när du ska konfigurera oscam på allvar och koppla in en kortläsare så ska #-tecknet som är först på varje rad tas bort.
nano oscam.user
Kod:
[account]
user = vrum
pwd = pass1
group = 1
au = 1
caid = 0B00
ident = 0B00:000000
[account]
user = sovrum
pwd = pass2
group = 1
au = 0
caid = 0B00
ident = 0B00:000000
7. Skapa start script.
Slutligen ska vi skapa ett script som gör att oscam startas automatiskt när servern går igång. Skapa denna filen på samma sätt som de tre config filerna.
Först ser vi till att vi är i rätt mapp:
cd /etc/init.d
Sedan skapar vi filen med hjälp av nano editorn:
nano oscam
Gör copy/paste på texten här nedanför. Var noga med att #-tecknet kommer allra först i filen, alltså inga tomrader eller mellanrum före det första #-tecknet.
Kod:
#!/bin/sh
### BEGIN INIT INFO
# Provides: oscam
# Required-Start: $local_fs $remote_fs $syslog pcscd
# Required-Stop: $local_fs $remote_fs $syslog pcscd
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: OSCam Card Server
### END INIT INFO
DAEMON=/usr/local/bin/oscam
DAEMON_OPTS="-b -u"
PIDFILE=/var/run/oscam.pid
test -x ${DAEMON} || exit 0
. /lib/lsb/init-functions
case "$1" in
start)
log_daemon_msg "Starting OScam"
start-stop-daemon --start --quiet --background --pidfile ${PIDFILE} --make-pidfile --exec ${DAEMON} -- ${DAEMON_OPTS}
log_end_msg $?
;;
stop)
log_daemon_msg "Stopping OScam"
start-stop-daemon --stop --exec ${DAEMON}
log_end_msg $?
;;
force-reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/oscam {start|stop|restart|force-reload}"
exit 1
;;
esac
exit 0
Slutligen ska vi göra filen körbar och aktivera scriptet vi nyss skapade:
chmod +x oscam
update-rc.d oscam defaults
8. Att starta och stoppa oscam
Förutom att scriptet vi tillverkade i förra punkten ser till att starta oscam vid boot så kan du använda det för att starta eller stoppa oscam vid behov. Du kan också starta om oscam enkelt. Kommandona ska köras som användare root.
För att stoppa oscam:
/etc/init.d/oscam stop
För att starta oscam:
/etc/init.d/oscam start
För att starta om oscam:
/etc/init.d/oscam restart
Därmed är oscam installationen färdig!
Vill du logga in på oscam webinterface så surfar du till den IP-adress som din Raspberry Pi har och porten 8080, om din server har IP 192.168.1.102 så blir det t.ex.:
http://192.168.1.102:8080
Du loggar in som Admin med lösenordet OSCam .
Config filerna jag skickar med är exempel som passar för Canal Digital och Comhem.
Om du ska köra Viasat istället så ändrar du överallt där det står 0B00 till 093E och så måste du lägga till en rad i oscam.server med ditt boxid. Det finns en bra wiki som förklarar hur man gör med boxid om man ska köra Viasat.
Grattis! Har du kommit så här långt har du nu en fullt fungerande kortserver med oscam. Det som återstår är att snickra till config-filerna så att de passar just dig. Du kanske vill lägga till en ytterligare kortläsare eller fler klienter. Eftersom jag inte kan redogöra för alla varianter här i guiden så kan du ta hjälp av forumet för den sista finputsen av din config. Det finns många exempel i forumet och där finns också möjlighet att ställa frågor.
Del 4. Tillägg
I denna del följer en del tillägg och konfigurationer du kan göra på din Raspberry Pi kortserver. Det är inte nödvändigt att göra dessa. Din server är fullt fungerande som den är nu om du har lyckats följa guiden. Är du nöjd kan du stanna här.
Men är du intresserad av att ytterligare förbättra din kortserver så kan du gå vidare med något av dessa steg. I denna del måste man inte göra alla steg utan man kan välja det man är intresserad av.
Fast IP-adress
Din Raspberry Pi använder som default en dynamisk IP-adress som den blir tilldelad från din router. Detta sköts av ett protokoll som heter DHCP. Oftast fungerar det bra men det kan finnas nackdelar. T.ex. är du inte garanterad att alltid få samma IP-adress av routern så du kan inte alltid vara säker på vilken IP-adress som din server har. Det kan vara lite jobbigt om servern plötsligt skulle ändra IP-adress när du lagt in den gamla IP-adressen i config-filerna på klienterna.
Vill du istället ge servern en fast IP-adress så att du säkert vet att den alltid kommer att ha samma så kan du sätta en fast IP-adress i stället. Innan du gör detta bör du ha satt dig in i vad det innebär och valt ut en lämplig IP-adress på ditt nätverk. Det finns en annan guide som handlar om hur man sätter fasta IP-adresser, läs den om du är osäker.
När du vet vilken IP-adress du vill ge din server och du också har koll på vilken nätmask och default gateway som gäller på ditt nät kan du gå vidare.
För att sätta en fast IP-adress så editerar man filen dhcpcd.conf som ligger i /etc.
Gör en kopia av den gamla filen först:
cd /etc
cp -p dhcpcd.conf dhcpcd.conf.old
Sedan editerar du filen med nano editorn. Du ska vara root när du ändrar i filen. Du ska bara lägga till följande rader sist i filen, ändra ingenting annat!
Kod:
interface eth0
static ip_address=192.168.1.65/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
Fast du ersätter 192.168.1.65 med den IP-adress du har valt och du ersätter 192.168.1.1 med IP-adressen till din router.
nano dhcpcd.conf
Efter nästa omstart kommer servern att ha den fasta IP-adress du har satt. Var noggrann när gör denna inställning för om du strular till nätverksinställningarna så kanske du måste plocka fram bildskärm och tangentbord för att kunna komma åt servern igen...
Skapa en egen användare
Om du vill skapa en egen användare som du kan logga in med istället för pi så kan du göra det. Om vi antar att din nya användare heter Pelle Persson och ska logga in som pelle så använd följande kommandon. Du ska vara root när du slår dessa kommandon:
adduser --gecos "Pelle Persson" pelle
Användaren pelle skapas och du får mata in ett lösenord för honom och bekräfta det.
För att pelle ska få använda sudo kommandot så behövs följande kommando:
usermod -G sudo pelle
Nu är din nya användare klar och du kan prova att logga in med den.
Komplettera med srvid2 fil
För att få ett trevligare utseende på oscam webinterface med kanalnamnen i klartext så kan man lägga till en oscam.srvid2 fil.
Numera kan man tanka ner dagsfärska färdiga oscam.srvid2 på följande vis.
Gå till rätt mapp:
cd /usr/local/etc
Byt namn på den gamla filen:
mv oscam.srvid2 oscam.srvid2.old
Hämta en uppdaterad version av oscam.srvid2:
wget http://151.236.12.107/sat/oscam.srvid2
Starta sedan om oscam:
/etc/init.d/oscam restart
Nu borde du se kanalnamnen i klartext i webinterfacet.
Du kan sluta här men här under har jag låtit den gamla beskrivningen av hur man gör ett eget uppdateringsscript stå kvar för säkerhets skull ifall det skulle bli något strul med de färdiga filerna.
Hur man gör ett script man kan köra och som automatiskt hämtar hem aktuell data från www.kingofsat.net och skapar en dagsaktuell srvid fil. På så vis blir det mycket enklare och du kan lätt uppdatera filen när du vill. Kom bara ihåg att oscam läser inte in den nya srvid filen förrän du startar om oscam.
Vi skapar scriptet med nano editorn på samma sätt som vi skapat andra filer tidigare. Alla kommandon ska köras som root.
Gå till mappen där vi väljer att lägga scriptet:
cd /usr/local/bin
Skapa scriptet med hjälp av nano editorn:
nano make_srvid15.sh
Gör copy/paste på texten här nedanför. Var noga med att #-tecknet kommer allra först i filen, alltså inga tomrader eller mellanrum före det första #-tecknet.
Kod:
#!/bin/sh
# make_srvid.sh
# version 1.5
#
# This is a script to generate
# oscam.srvid file made from data
# downloaded from www.kingofsat.net
# Modified to work on Raspberry Pi project.
# /2013-10-20 atomized.
# Definition of URL:s to retreive data.
URL1="http://en.kingofsat.net/pack-canaldigitalnordic.php"
URL2="http://en.kingofsat.net/pack-viasat.php"
# Definition of CAID:s for providers.
CAID1="0B00"
CAID2="090F,093E"
# Definition of provider names.
NAME1="Canal Digital"
NAME2="Viasat"
# Definition of files.
DATFILE="/tmp/kingofsat"
SRVIDFILE="/usr/local/etc/oscam.srvid"
# Definition of character set for local Linux system.
LOCCS="UTF-8"
# Definition of character set used by oscam.
OSCCS="UTF-8"
# Starting oscam.srvid file.
rm -f ${SRVIDFILE}.old
if [ -f ${SRVIDFILE} ]
then
mv ${SRVIDFILE} ${SRVIDFILE}.old
fi
touch ${SRVIDFILE}
# Fetching data from website.
echo
for prov in 1 2
do
eval "page=\$URL${prov}"
eval "caid=\$CAID${prov}"
eval "name=\$NAME${prov}"
echo " * Fetching data from web-site for ${name}."
wget -O data.${prov} ${page}
echo "MAKESRVIDSCRIPT>${caid}>${name}" > ${DATFILE}.${prov}
cat data.${prov} >> ${DATFILE}.${prov}
rm data.${prov}
echo " ** Parsing data for ${name}."
which iconv > /dev/null
if [ $? = 0 ]
then
awk -F '>' 'BEGIN {chan = "invalid"}
/MAKESRVIDSCRIPT/ {ci = $2 ; na = $3}
/WIDTH="15%"/ {chan = substr($3,1,length($3) - 3)}
/class="s"/ {sid = substr($2,1,length($2) - 2)
if (chan == "invalid") next
printf "%s%s%x%s%s%s%s\n", ci , ":" , sid, "|", na , "|" , chan
chan = "invalid"}' ${DATFILE}.${prov} \
| iconv -f ${LOCCS} -t ${OSCCS} >> ${SRVIDFILE}
else
echo "Your system does not include iconv. National"
echo "characters may not be displayed properly."
awk -F '>' 'BEGIN {chan = "invalid"}
/MAKESRVIDSCRIPT/ {ci = $2 ; na = $3}
/WIDTH="15%"/ {chan = substr($3,1,length($3) - 3)}
/class="s"/ {sid = substr($2,1,length($2) - 2)
if (chan == "invalid") next
printf "%s%s%x%s%s%s%s\n", ci , ":" , sid, "|", na , "|" , chan
chan = "invalid"}' ${DATFILE}.${prov} >> ${SRVIDFILE}
fi
rm -f ${DATFILE}.${prov}
done
echo " *** New oscam.srvid file is ready now!"
echo
Sedan gör vi scriptet körbart:
chmod +x make_srvid15.sh
Prova sedan att köra scriptet:
cd /usr/local/bin
./make_srvid15.sh
Om allt går väl ska du nu ha en splitter ny oscam.srvid fil i din /usr/local/etc mapp.
Nyare versioner av oscam skapar automatiskt en tom oscam.srvid2 fil i mappen /usr/local/etc. Om den filen finns så vill inte oscam läsa den nya oscam.srvid filen som scriptet skapat.
Lösningen är att radera oscam.srvid2 filen och sedan starta om oscam:
rm /usr/local/etc/oscam.srvid2
/etc/init.d/oscam restart
Kolla sedan om du får kanalnamnen i klartext.
CardServerProxy
Uppdatering 2016-11-16:
P.g.a. att CSP-koden inte verkar uppdateras längre samtidigt som det skett förändringar i Java så är det inte säkert att nedanstående beskrivning fungerar längre. Jag låter den dock stå kvar tills vidare.
Många tycker om att använda CardServerProxy eller CSP även om jag personligen inte tycker den känns nödvändig nu när oscam blivit så bra. Men för alla de som gillar CSP kommer här en guide hur man installerar den på sin Raspberry Pi. En fördel med att installera den på Raspberry Pi är att numera ingår Oracles Java i Raspbian vilket gör det ganska enkelt att installera CSP.
OBS! Alla kommandon för att installera CSP ska göras som root.
1. Installera nödvändiga paket.
Vi ska komplettera med några paket som behövs för att kompilera CSP.
Kolla först om det finns några nya uppdateringar till systemet och installera dem i så fall:
apt-get update
apt-get upgrade
Sedan installerar vi det som behövs för att kompilera CSP:
apt-get install oracle-java8-jdk ant
2. Skapa mapp för källkoden.
Vi väljer som vanligt i Linux att lägga källkoden under /usr/src:
cd /usr/src
mkdir csp
cd csp
3. Hämta källkoden.
Vi laddar hem källkoden:
svn co http://streamboard.tv/svn/CSP/trunk CSP-svn
4. Kompilera koden.
Nu ska vi kompilera källkoden för att få det körbara programmet. De två sista kommandona kommer att ta ett par minuter vardera:
cd CSP-svn
ant build
ant tar-app
5. Installera CSP.
Nu ska vi installera programfilerna som skapats i dist mappen:
cd /usr/local
tar xvfz /usr/src/csp/CSP-svn/dist/cardservproxy.tar.gz
6. Skapa startscript.
Vi skapar startscriptet med hjälp av nano editorn.
Först går vi till mappen för init-script:
cd /etc/init.d
Sedan skapar vi filen med hjälp av nano editorn:
nano csp
Gör copy/paste på texten här nedanför. Var noga med att #-tecknet kommer allra först i filen, alltså inga tomrader eller mellanrum före det första #-tecknet.
Kod:
#! /bin/sh
### BEGIN INIT INFO
# Provides: csp
# Required-Start: $local_fs $remote_fs $syslog
# Required-Stop: $local_fs $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: CardServerProxy
### END INIT INFO
CSPHOME=/usr/local/cardservproxy
CSPSTART=cardproxy.sh
[ -f ${CSPHOME}/${CSPSTART} ] || exit 0
. /lib/lsb/init-functions
# See how we were called.
case "$1" in
start)
# Start csp.
cd ${CSPHOME}
${CSPHOME}/${CSPSTART} start
echo
;;
stop)
# Stop csp.
cd ${CSPHOME}
${CSPHOME}/${CSPSTART} stop
echo
;;
restart)
$0 stop
$0 start
;;
status)
cd ${CSPHOME}
${CSPHOME}/${CSPSTART} status
;;
dump)
cd ${CSPHOME}
${CSPHOME}/${CSPSTART} dump
;;
*)
echo "Usage: csp {start|stop|restart|status|dump}"
exit 1
esac
exit 0
Slutligen ska vi sätta exekveringsflaggan och aktivera scriptet vi nyss skapade:
chmod +x csp
update-rc.d csp defaults
7. Starta CSP första gången.
Första gången vi startar CSP kommer den att skapa en default config fil som heter proxy.xml:
cd /usr/local/cardservproxy
./cardproxy.sh start
8. Editera config fil.
Nu ligger din proxy.xml i mappen /usr/local/cardservproxy/config. Ta hjälp av CardserverProxy arean i forumet för att editera den så att den passar dig. Av utrymmesskäl går jag inte in på konfigureringen av CSP i denna guiden.
9. Start/stopp av CSP.
Tack vare startscriptet vi gjorde kommer CSP att startas vid boot av servern. Om du vill starta/stoppa CSP för hand kan du använda nedanstående kommandon:
/etc/init.d/csp start
/etc/init.d/csp stop
Nu är installationen av CSP klar och det som återstår är att finputsa på config-filen proxy.xml.
Vill du logga in på CSP webinterface så surfar du till den IP-adress som din Raspberry Pi har och porten 8082, om din server har IP 192.168.1.102 så blir det t.ex.:
http://192.168.1.102:8082
Du loggar in som admin med lösenordet secret .
Uppdatera oscam
Du kan skapa ett script som automatiskt uppdaterar din version av oscam till den senaste. När du kör scriptet görs också en backup av din gamla oscam-binärfil så att du kan backa tillbaka om det skulle vara något fel på den nya versionen. Dina konfigurationsfiler påverkas inte alls och ligger kvar orörda för att fungera tillsammans med den nya versionen.
Vi skapar scriptet med nano editorn på samma sätt som vi skapat andra filer tidigare. Alla kommandon ska köras som root.
Gå till mappen där vi väljer att lägga scriptet:
cd /usr/local/bin
Skapa scriptet med hjälp av nano editorn:
nano update_oscam.sh
Gör copy/paste på texten här nedanför. Var noga med att #-tecknet kommer allra först i filen, alltså inga tomrader eller mellanrum före det första #-tecknet.
Kod:
#!/bin/sh
# update_oscam.sh
# version 1.0
#
# This is a script to update
# oscam with the latest version
# from svn.
# /2014-01-31 atomized.
# Definition of paths.
OSCAM_URL="http://www.streamboard.tv/svn/oscam/trunk"
OSCAM_PATH="/usr/local/bin"
OSCAM_SRC="/usr/src/oscam"
# Fetch the latest code.
echo
echo " =========="
echo " ** Fetching the latest oscam source code."
echo " =========="
echo
sleep 5
cd ${OSCAM_SRC}
rm -r oscam-svn
svn co ${OSCAM_URL} oscam-svn
# Check versions.
BIN_REV="`strings ${OSCAM_PATH}/oscam | grep arm-linux-gnueabihf | awk '{printf $9}'`"
SVN_REV="`${OSCAM_SRC}/oscam-svn/config.sh -r`"
echo
echo " =========="
echo " ** Your OSCam will be upgraded from ${BIN_REV} to r${SVN_REV}!"
echo " ** This will take about 15-20 minutes. Please be patient!"
echo " =========="
echo
sleep 5
# Build the new oscam binary.
mkdir oscam-svn/build
cd oscam-svn/build
cmake -DWEBIF=1 -DHAVE_PCSC=1 ..
make
# Stop oscam.
echo
echo " =========="
echo " ** Stopping OSCam."
echo " =========="
echo
/etc/init.d/oscam stop
sleep 5
# Backup old oscam version and install new version.
if [ -f ${OSCAM_PATH}/oscam ]
then
mv ${OSCAM_PATH}/oscam ${OSCAM_PATH}/oscam.${BIN_REV}
fi
echo
echo " =========="
echo " ** Installing new version of OSCam."
echo " =========="
echo
cp -p oscam ${OSCAM_PATH}/oscam
# Start oscam.
echo
echo " =========="
echo " ** Starting OSCam."
echo " =========="
echo
/etc/init.d/oscam start
sleep 5
echo
echo " =========="
echo " ** Your OSCam has been upgraded from ${BIN_REV} to r${SVN_REV}!"
echo " =========="
echo
Sedan gör vi scriptet körbart:
chmod +x update_oscam.sh
När du sedan vill uppdatera din version av oscam med hjälp av scriptet använder du följande kommandon:
cd /usr/local/bin
./update_oscam.sh
Tänk på att när du väl startat scriptet så kommer det att ta 15-20 minuter innan scriptet kört klart och oscam är uppdaterad. Själva oscam-servern stängs dock bara ner c:a 30 sekunder medan binärfilen byts ut.
Problem med hängningar
Flera användare har rapporterat att deras Raspberry Pi hänger sig och inte går att komma åt efter nån dag eller så. Efter ett långt felsökande har vi kommit fram till att felet främst verkar drabba dem som kör på den nyare Raspberry Pi 2 modellen. Har du problem med hängningar så prova i första hand detta kommando:
sed -i.bkp '$s/$/ dwc_otg.speed=1/' /boot/cmdline.txt
(använd copy/paste för att klistra in kommandot. Det är noga att alla mellanrum och "fnuttar" blir rätt)
Din Raspberry Pi behöver sedan startas om för att kommandot ska verka.
Kommandot lägger till parametern "dwc_otg.speed=1" i filen /boot/cmdline.txt. Den parametern gör att USB-hastigheten låses till USB1.1 hastighet. Kommandot skapar också en backup av din gamla fil med namnet /boot/cmdline.txt.bkp.
Problemet med hängningar verkar bero på en bugg i USB-rutinerna som gör att systemet låser sig när man t.ex. använder oscam med en USB-ansluten kortläsare. Genom att låsa hastigheten på USB-bussen så undviker man problemet. Det finns en nackdel med den här lösningen och det är att även nätverkskommunikationen blir långsammare eftersom nätverkskretsen på Raspberry Pi är internt kopplad via USB-kontrollern. Men prestanda på USB och nätverk räcker till för en oscam server ändå eftersom cardsharing innehåller väldigt lite trafik.
Det går bra att göra den här fixen på alla typer av Raspberry Pi, men man bör vara medveten om att prestanda på USB och nätverk blir nedsatt så om man använder sin Raspberry Pi till något annat än cardsharing så är det inte rekommendabelt att lägga in den här fixen.
Watchdog
Kolla först avsnittet ovanför och prova den fixen mot hängningar i första hand.
Om man sedan ändå har problem med att Raspberry Pi hänger sig så kan man prova att installera watchdog. Det ska normalt inte behövas men kan testas om man besväras av hängningar.
I Broadcom-processorn som sitter i Raspberry Pi finns en särskild watchdog hårdvara som kan känna av ifall processorn stannar och i så fall starta om systemet. Vill man prova att använda watchdog så gör man så här:
Alla kommandon ska utföras som användare root.
Först ska vi ladda en kernel-modul:
modprobe bcm2708_wdog
Sedan ska vi se till att denna kernel-modul alltid laddas när systemet startar. Det gör man genom att editera filen /etc/modules och lägga till en rad:
nano /etc/modules
Lägg till raden:
sist i filen.
Efter det ska vi installera den daemon som uppdaterar watchdogen:
apt-get install watchdog
Om du får ett felmeddelande när du installerar som ser ut så här:
Kod:
/run/udev or .udevdb or .udev presence implies active udev. Aborting MAKEDEV
invocation.
så kan du strunta i det.
Sedan ska vi se till att daemonen startar automatiskt:
update-rc.d watchdog defaults
Nu återstår att editera watchdog-daemonens konfigurationsfil:
nano /etc/watchdog.conf
Ta bort #-tecknet i början på följande två rader:
Kod:
max-load-1 = 24
watchdog-device = /dev/watchdog
Nu är själva watchdog-installationen klar! På min maskin har jag gjort ett tillägg som loggar ifall maskinen startar om. Annars kan det vara lite svårt att veta om det har skett en omstart. Jag loggar alla omstarter till filen sysrestart.log i roots hemkatalog. Vill du också göra det så kan du editera filen /etc/rc.local:
nano /etc/rc.local
Nu ska du lägga till följande text sist i filen men före raden "exit 0" som skall stå allra sist. Slutet på filen ska alltså se ut så här:
Kod:
# Log the time and date of restart
TIME=`date '+%Y-%m-%d %H:%M'`
LOG=/root/sysrestart.log
echo "${TIME} System restarted!" >> ${LOG}
exit 0
Fix för nyare versioner av Omnikey kortläsare
Omnikey har en ful ovana att ändra hårdvaru-ID på sina kortläsare utan att byta modellbeteckning. Det gör att plötsligt när du köper en ny Omnikey kortläsare av modellerna 3021 eller 3121 så funkar den inte i standard Linux. Orsaken är som sagt att de ändrar hårdvaru-ID så att operativsystemet inte känner igen den och vet vad det är för något.
Skulle du råka ut för att du har en nyinköpt Omnikey kortläsare som inte upptäcks av kommandot pcsc_scan så kan du prova att installera en nyare version av filen /etc/libccid_Info.plist. Kommandona ska utföras som användare root.
Gå till /etc mappen:
cd /etc
Byt namn på den gamla filen:
mv libccid_Info.plist libccid_Info.plist.org
Hämta en uppdaterad version av libccid_Info.plist filen:
wget http://151.236.12.107/sat/files/libccid_Info.plist
Starta om pcscd:
service pcscd restart
Nu borde din nya Omnikey kortläsare fungera.