easyVDR

Normale Version: HowTo easyVDR 0.5 RC1 mit xineliboutput + vdr-sxfe für das M2NPV-VM
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Hallo Zusammen,


Bevor es losgeht die Neuigkeiten:

News 22.06.08
Eine Zusammenfassung und FAQ für die Ausgabe via Nvidia ab easyVDR 0.5 RC2 habe ich hier versucht:
http://www.easy-vdr.de/forum/index.php?topic=4838.0
Ihr müßt Euch also nicht mehr durch diesen kompletten Thread quälen...

News 08.03.08
Jetzt wird es richtig easyVDR!
Installation ist über folgendes ISO möglich:
ftp://ftp.gwdg.de/pub/linux/easyvdr/beta...asyVDR.iso
Die m2n-Skripte sind im ISO integriert.
Internet ist aber für die X-Installation & die nvidia closed source Treiber noch erforderlich.

News 27.02.08
- Bugfixes
- Wickys easyvdr-config-softdevice.sh 0.0.2 & easyvdr-config-x.sh 0.0.6
- ewas offtopic: Imon/vfd vom Antec Fusion V2 (silber) kann mitinstalliert werden.
Siehe: http://www.easy-vdr.de/forum/index.php?t...7#msg29517

News 22.02.08
- neuer nvidia Treiber 171.05
- Wickys easyvdr-config-x.sh  v0.0.5
- Kompatibilitätscheck nur noch allgemein auf nvidia (@Wicky: auch aus easyvdr-config-vo.sh)
- mögliche Nachinstallation der X-Programme vom Desktop aus
Siehe: http://www.easy-vdr.de/forum/index.php?t...2#msg29082

News 06.02.08
- neuer nvidia Treiber 169.09
- nur noch eine fluxbox session für vdr und surfen
- Tastaturproblem offensichtlich gelöst, dadurch schnellerer Start
Siehe: http://www.easy-vdr.de/forum/index.php?t...3#msg28053

News 02.02.08
- die neue xinelib 1.1.10 wird jetzt installiert.
- eigene X-Session für vdr auf Konsole 8
- auto-install.sh Option --xprog für Installation von firefox, flash, vlc, acrobat, xmms
- Desktop Theme für fluxbox
Siehe: http://www.easy-vdr.de/forum/index.php?t...1#msg27781

News 18.01.08
- Bugfix "defekte sysconfig"
Siehe: http://www.easy-vdr.de/forum/index.php?t...3#msg26623

- wicky´s neue easyvdr-config-x.sh 0.0.2 (noch wenig getestet)
Siehe: http://www.easy-vdr.de/forum/index.php?t...8#msg26558

News 12.01.08
- die neue xinelib 1.1.9 wird jetzt installiert. Der Aufruf in der Runvdr wurde verbessert, das Tastaturproblem sollte nicht mehr auftreten.
Siehe: http://www.easy-vdr.de/forum/index.php?t...6#msg26236

News 06.01.08
- easyvdr-install-nvidia.sh wurde aktualisiert und installiert nun die aktuellsten Nvidia-Treiber vom 20.12.2007.
Siehe: http://www.easy-vdr.de/forum/index.php?t...6#msg25686

- Im vdr-wiki entsteht ein Artikel zum Thema xinliboutput+X-Server.
Siehe: http://wiki.easy-vdr.de/index.php/Videoa...eliboutput

News 01.01.08
automatische Installation (auto-install.sh)
Siehe: http://www.easy-vdr.de/forum/index.php?topic=3467.msg25045#msg25045

News 31.12.07
das M2N-VM HDMI wird jetzt auch unterstützt, allerdings noch ungetestet.


In diesem Thread geht es um die Installation eines Budget System auf dem Asus M2NPV-VM.
Die Grafikausgabe geht dabei über den onboard DVI oder VGA des Motherboards.
Dazu benötigen wir eine X Umgebung und die Nvidia Treiber, die aktuelle easyVDR Version beinhaltet beides derzeit noch nicht.

Wicky hat diese beiden grundlegenden Skripte entwickelt und weiterhin die Ausgabe über Softdevice.
Da er in den letzten Wochen nicht viel Zeit zur Weiterentwicklung hatte, habe ich mich drangesetzt die Geschichte (mit Wickys Segen und Unterstützung) voranzutreiben, was noch fehlte war die Umstellung auf xineliboutput (Danke Wolfgang!) mit vdr-sxfe als frontend, der automatische Start und die Entwicklung der Installations-Skripte.

Voraussetzung ist:
- Installation von easyvdr RC1 + Kernel 2.6.22.10 + xinelib-1.1.8 + xineliboutput neu gebaut wie unten beschrieben (das sollte dann in der nächste easyvdr Version enthalten)
- ein LCD angeschlossen per DVI->HDMI (meine Konfig.), DVI->DVI, VGA->VGA (am besten per DVI)
- ein angeschlossenes LAN Kabel an einen Internet Router, der DHCP macht (Netzwerk konfiguriert sich selber)
- eine angeschlossene Tastatur für alsaconf
- eine angeschlossene Maus (wichtig sonst startet X nicht)
- eine Budget DVB Karte (oder auch mehr)


Installation:

Vorab ein Hinweis:
Die hier beschriebene manuelle Schritt für Schritt Anleitung kann inzwischen vollautomatisch durch das auto-install Skript durchgeführt werden. Das ist definitiv der schnellste Weg zu einem laufenden System und wird ausdrücklich empfohlen! weitere Info´s siehe weiter unten oder im Wiki http://wiki.easy-vdr.de/index.php/Videoa...eliboutput

Der Anhang ist nur für im Forum angemeldete Benutzer sichtbar!

Hier der manuelle Weg:

1. Grundsystem easyVDR 0.5RC1 installieren
Wir installieren uns erst einmal das Grundsystem easyVDR 0.5RC1, das gibt es hier   ftp://ftp.gwdg.de/linux/easyvdr/beta/easyVDR%200.5_RC1.iso
Nach der Installtion wird nichts auf dem Bildschirm zu sehen sein. Mit ALT+F1 auf die Konsole wechseln, Login mit root password easyvdr, danach ein stopvdr  und  mit ./easyVDRsetup.sh das Netzwerk konfigurieren, der Netzwerktreiber ist der forcedeth.

2. Einspielen von Wickys und meinen Skripten (siehe Anhang) mit:
Zitat:tar xvfj m2npv-scripts-*.tar.bz2 -C /

3. Kernelupgrade
Nachdem das Netz jetzt funktioniert upgraden wir den Kernel von 2.6.22.5 auf 2.6.22.10 folgendermaßen:
Zitat:wget ftp://ftp.gwdg.de/linux/easyvdr/beta/Ker...10.tar.bz2
   tar xjvf easyVDR_Kernel_2.6.22.10.tar.bz2 -C /
   mcedit /boot/grub/menu.lst      # Kernel anpassen (2.6.22.5 -> 2.6.22.10)
   depmod -ae
   reboot

   wget http://ftp.gwdg.de/pub/linux/easyvdr/bet...m_i386.deb
   dpkg -i linux-headers-2.6.22.10_2.6.22.10-10.00.Custom_i386.deb
   rm /usr/src/linux
   ln -s /usr/src/linux-headers-2.6.22.10/ /usr/src/linux
   depmod -ae
   reboot

4. xinelib-1.1.8 / xinelibouput Installation
Hinweis: Dieser Punkt 4. muss seit dem 6.1.08 nicht mehr manuell ausgeführt werden. Dies erledigt nun easyvdr-config-xineliboutput.sh. Somit kann 4. übersprungen werden.

Nachdem der Kernel jetzt paßt installieren wir xinelib-1.1.8 und xineliboutput so:
Zitat:# xinelib-1.1.8 installieren:
   wget http://prdownloads.sourceforge.net/xine/....8.tar.bz2
   # Auspacken nach /usr/local/src
   cd /usr/local/src/xinelib-1.1.8
   ./autogen.sh --prefix=/usr --enable-xvmc --with-xvmclib=XvMCW
   make
   make install
   ldconfig

# xineliboutput-Plugin neu bauen:
   stopvdr
   mv /usr/local/src/VDR/PLUGINS/src /usr/local/src/VDR/PLUGINS/src.org # kompiliert sonst so lange
   mkdir /usr/local/src/VDR/PLUGINS/src
   cd /usr/local/src/VDR/PLUGINS/src/
   cvs -z3 -d:pserver:[email protected]:/cvsroot/xineliboutput co vdr-xineliboutput
   mv vdr-xineliboutput xineliboutput
   cd /usr/local/src/VDR/
   make plugins
   cd /usr/local/src/VDR/PLUGINS/src/xineliboutput
   make install
   cd /usr/local/src/VDR/PLUGINS/lib
   strip *.*
   # dann die 3 Plugin-libs nach /usr/vdr/plugins kopieren, also:
   cp *xineliboutput* /usr/vdr/plugins

5. Ausführung der M2NPV-Skripte:
Wir starten jetzt:
Zitat:/usr/bin/easyvdr/easyvdr-config-m2npv.sh

Das installiert dann X + fluxbox, die nvidia Treiber, richtet den automatischen Start (vdr-sxfe als autostart für fluxbox) ein + konfiguriert xineliboutput.

Die Tastatur sollte nach der Installation auch funktionieren
X wird dabei über das normale startvdr mit gestartet, bzw. stopvdr mit gestoppt.
Es gibt einen neuen Parameter START_X="yes" in der sysconfig, der genau das steuert.

Was mich besonders interessiert ist Feedback zur Sound-Konfiguration
Funktioniert der bei Euch?
Ich vermute mein soundchip hat einen Defekt, kann es daher nicht testen.
___________________________________________________________________
edit: 6.1.2008
Nochmal ein Tip zum auto-install Skript: Nutzt es, es ist verdammt praktisch! 

Hiermit kann eine vollautomatische Installation erfolgen.
Voraussetzung ist wieder easyVDR 0.5 RC1, am besten frisch installiert.
Nach der Grundinstallation funktioniert das Netz in der Regel automatisch.

In dem Paket m2npv-scripts*.tar.bz2 alles Notwendige enthalten (auch die auto-install.sh)
Nur noch das m2npv-scripts*.tar.bz2 Paket eingespielen mit: tar xvfj m2npv-scripts*.tar.bz2 -C /
Die auto-install.sh wird nach /media/backup/m2n eingespielt. Dieser Ordner hat den Vorteil das er auch nach einer kompletten Neuinstallation des Systems erhalten bleibt, die im Zuge der Installation runtergeladenen recht großen Dateien werden hier abgelegt und evtl. bei einer späteren Installation wiederverwendet.

Ist in diesem Ordner eine gültige
DVB*.conf
remote.conf
lircd.conf
*.fw

dann werden Sie ins System kopiert.
Das hat den Vorteil das nach Installation dann in der Regel alles sofort läuft.

Liegen in /media/backup/m2n 
der Kernel
die Kernelsourcen
xine-lib-1.1.8.tar.bz2

dann werden Sie genutzt, sonst wird frisch per wget runtergeladen.

Ausführung:

In /media/backup/m2n muß dann nur noch ./auto-install.sh  aufgerufen werden.
Vielleicht darauf achten vorher die inst.conf falls vorhanden zu löschen, hier merkt er sich seinen aktuellen Installationsstand, während der Inst. muß er ein paarmal rebooten, er macht aber automatisch an der richtigen Stelle weiter. (Start aus der RCStartPersonal)

Will man nach dem reboot die Installation verfolgen, vielleicht mal ALT-F1 machen damit man was sieht (und die Shift Taste betätigen falls der Screensaver zuschlägt).

Achso, xineliboutput wird hierbei mit dem autocrop_stabilize.patch behandelt, da er sonst bei einigen Sender etwas nervös mit dem Zoom zappelt. Schönen Dank dafür an sparkie vom vdr-portal.

Viel Erfolg
maxx

EDIT 8.4.08: Anhang entfernt! Bitte aktuelle ISO nutzen!
Hallo zusammen,

@maxx
vielen Dank, dass du an der Sache weitergemacht hast. Es wäre zu schade gewesen, wenn die Skripte auf meinem Stand stehen geblieben wären.

@all
Ich denke, hier entsteht gerade etwas, was viele M2NPV-VMler sehr glücklich machen und easyVDR berreichern wird. Insbesondere freut mich, dass in absehbarer Zukunft auch so gut wie alle Nvidia-Karten als Ausgabegeräte verwendet werden können, da die Skripte hierfür vorbereitet sind !!! Und ATI/AMD Karten zu unterstützten ist auch kein Hexenwerk mehr....

Damit dass ganze weiterentwickelt werden kann, benötigt maxx aber Feedback !! -> Bitte testet !!

Gruß
Wicky

@maxx
Mir scheint, als wenn das Skript easyvdr-install-nvidia.sh nicht verlinkt ist. Schau dir das Paket nocheinmal an.
Moin Wicky,

easyvdr-install-nvidia.sh
easyvdr-install-x.sh

sind jetzt beide frisch verlinkt.

Gruß
maxx

bubble

beim M2A-VM HDMI bricht das easyvdr-config-m2npv.sh ab beim chk_lspci  Sad
Hi bubble,

das läuft derzeit nur mit dem M2NPV-VM.

das ist hier gerade von Wicky beantwortet worden: http://www.easy-vdr.de/forum/index.php?t...9#msg24289

Gruß
maxx
Hallo bubble,

(23.12.2007, 13:28)bubble link schrieb: [ -> ]beim M2A-VM HDMI bricht das easyvdr-config-m2npv.sh ab beim chk_lspci  Sad

Ja, das ist so gewollt und auch notwendig !!!

Wir wollen doch deine easyVDR Installation nicht zerstören. Denn schließlich ist M2A-VM ungleich M2NPV-VM. Sprich das M2A-VM wird vorerst nicht unterstützt.

Gruß
Wicky

asusskystar

Hallo zusammen,

habe ein Asus M2NPV-VM mit einer Skystar und einer 250GB ST3250620AS SATA Platte. Primär 1: 28GB Ubuntu, Primär 2: 5GB für VDR dann 200GB extended für Daten und Videos.
Ich möchte Easy VDR gerne auf sda2 installieren. Ddas einzige, was beim funktioniert ist Option 6: Kernel 2.6.13. Dann will ich meine Festplatte selbst partitionieren und egal was ich mache: ich lande immer bei "FATAL ERROR Bad logical partition 5 enlarged logical partitions overlay". Goggeln hat nicht wirklich geholfen und Gutsy läuft noch ohne Probleme.
Irgendwelche Ideen ?
Hallo,

ich habe bisher nur mit IDE getestet, mit SATA kann es schonmal schwieriger werden.
vdrbär hat hier seine Erfahrungen mit sata geschildert:
http://www.easy-vdr.de/forum/index.php?t...3#msg20683

Scheinbar hat der derzeitige Installationskernel Probleme mit sata und wird wohl in Zukunft ausgetauscht:
http://www.easy-vdr.de/forum/index.php?topic=3308.0

Gruß
maxx
Hallihallo,
könnte die Anleitung auch für das Asus M2N-VM HDMI passen?

Guckst Du hier:  http://de.asus.com/products.aspx?modelme...3=567&l4=0

Ist ja auch ein nForce-Chipsatz (630a + 7050)!

Danke und Grüsse,
wayne
Hi,

ein M2N-VM HDMI habe ich mir auch gerade genehmigt, um damit einen neuen VDR zu bauen. Daher würde mich auch interessieren, ob das/die Skript/e funktionieren würde/n.

Gruß dsat
Hallo dsat,

(29.12.2007, 14:45)dsat link schrieb: [ -> ]ein M2N-VM HDMI habe ich mir auch gerade genehmigt, um damit einen neuen VDR zu bauen. Daher würde mich auch interessieren, ob das/die Skript/e funktionieren würde/n.

...die Skripte würden vermutlich funktionieren, wenn wir die das M2N-VM mit in der Liste der unterstützten Mainboards aufnehmen.

Dazu benötigen wir aber folgende Ausgaben:

lspci
lspci -n
hwinfo > m2n.txt

Die m2n.txt bitte anhängen.

Gruß
Wicky
Hi Wicky,

leider hat es etwas gedauert, weil ich eigentlich noch gar nicht so weit war und noch etwas Hardware frickeln musste. In diesem Zusammenhang ist noch anzumerken, dass ich derzeit nur ein Netzteil mit 20-poligem ATX-Stecker eingebaut habe und noch ein DVD-Laufwerk fehlt.

Softwareseitig waren dies die Vorbereitungen:
- Festplatte aus HW1 in HW2 eingebaut (easyVDR läuft per se)!
- Netzwerk angepasst (war ein bisschen tricky, weil ich mich mit den easyVDR-spezifischen Sachen noch nicht so auskenne).
- update per OSD auf 0.504 ausgeführt (einwandfrei)!
- noch keinerlei Scripte ausgeführt.

Aber seis drum, hier sind nun die „Böhmischen Dörfer“:

Das Gehäuse hat ein per USB angeschlossenes 7“-Touchscreen und einen USB-IR-Empfänger. Beides muss ich noch irgendwie zum laufen bringen (habe noch nicht gesucht). Und schließlich soll an den HDMI-Ausgang des Boards natürlich ein entsprechendes Fernsehgerät.

Gruß dsat
Hi dsat,

ich habe das Asus M2N-VM HDMI mit aufgenommen.
Lade Dir die Scripte oben nochmal neu runter.
Und berichte mal ob es geklappt hat.

Gruß
maxx

Georg-666

(22.12.2007, 11:30)maxx link schrieb: [ -> ]2. Einspielen von Wickys und meinen Skripten (siehe Anhang) mit:
tar xvfj m2npv-scripts-3.tar.bz2 -C /

Wie kann ich das angehängte File per wget runterladen?
Hi,
das geht leider nicht aus dem Forum, das würde ich mir auch wünschen.
Also per ftp oder usb stick auf den vdr damit.

Gruß
maxx

Georg-666

Hat funktioniert, vielen Dank!

Wenn ich jedoch dann /usr/bin/easyvdr/easyvdr-config-m2npv.sh eingebe meint er nur
"... kein M2NPV-VM oder M2N-VM HDMI gefunden. Good bye."
Was will er mir damit sagen?
Probleme mit meiner GraKa?
Hab ne NVIDIA FX5200
Hi,

Es werden zur Zeit nur das M2NPV-VM und das M2N-VM HDMI unterstützt.
Anscheinend hast Du keines der beiden.
Es soll aber in Zukunft ne größere Hardwarebasis unterstützt werden...

Gruß
maxx
Hallo,

läuft das Script auch auf dem M2NPV-MX?
Dieses Board ist ja (fast) baugleich mit dem M2NPV-VM. Es besitzt auch einen
TV-Out-Anschluß auf dem Board und einen entsprechenden Slot-Anschluß
besitze ich auch.

Danke und Gruß Kail

PS: Die Vorbereitungen sind bis auf das Starten des Scriptes abgeschlossen
Hi,

Zitat:läuft das Script auch auf dem M2NPV-MX?

ich vermute mal ja
Dann bräuchte ich wieder ein paar Infos:

Zitat:...die Skripte würden vermutlich funktionieren, wenn wir die das M2N-VM mit in der Liste der unterstützten Mainboards aufnehmen.

Dazu benötigen wir aber folgende Ausgaben:

lspci
lspci -n
hwinfo > m2n.txt

Die m2n.txt bitte anhängen.

Gruß
Wicky

Gruß
maxx
Hallo maxx,

Danke für die schnelle Antwort.
Wenn der VDR wieder frei ist, werde ich das Script starten.

Folgende Fragen habe ich aber noch:

Muss die Maus immer am VDR angeschlossen sein?
Kann/Muss ich irgendwo einstellen an welchen Anschluß die Einstellungen wirken?
(Momentan habe ich den Testmonitor am VGA-Port und der TV soll an den TV-Out-
Anschluß (Slot)).

Danke und Gruß Kail
Hallo Zusammen,

Hab hier noch ein kleines Schmankerl, was ich mir mal gebaut habe, da die Installation doch recht lange dauert.
Damit funktioniert eine automatische Installation. Kann bestimmt der ein oder andere gebrauchen Wink

Es muß nur noch die Grundinstallation easyVDR 0.5 RC1 gemacht werden, dabei muß man eigentlich gar nix mehr konfigurieren, da die Netzwerkkarte in RC1 automatisch erkannt wird.
Nur noch das auto-install.tar.bz2 Paket aus  dem ersten Beitrag (da ist alles notwendige drin) eingespielen mit: tar xvfj auto-install.tar.bz2 -C /

In /media/backup/m2n muß dann nur noch ./auto-install.sh  aufgerufen werden, vielleicht darauf achten vorher die inst.conf falls vorhanden zu löschen, hier merkt er sich seinen aktuellen Installationsstand, während der Inst. muß er ein paarmal rebooten, er macht aber automatisch an der richtigen Stelle weiter. (Start aus der RCStartPersonal)

Will man nach dem reboot die Inst. verfolgen, vielleicht mal ALT-F1 machen damit man was sieht (und die Shift Taste betätigen falls der Screensaver zuschlägt).

Ist in dem Ordner eine gültige DVB*.conf, eine remote.conf, lircd.conf, keymacros.conf und ein Firmware *.fw dann werden Sie ins System kopiert. Sind in /media/backup/m2n die Kernel+xine-lib-1.1.8.tar.bz2 Pakete vorhanden nutzt er Sie, sonst wird frisch per wget runtergeladen.

Es sollte nur eine m2npv*.tar.bz2 im Ordner sein, die wird dann entpackt und eingespielt.
Ich mach hier keine große Fehlerüberprüfungen, ist alles eher quick and dirty, also etwas Vorsicht.

Achso, xineliboutput wird hierbei mit dem autocrop_stabilize.patch behandelt, da er sonst bei einigen Sender etwas nervös mit dem Zoom zappelt. Schönen Dank dafür an sparkie von vdr-portal.

Gruß
maxx
@Kail

Zitat:Muss die Maus immer am VDR angeschlossen sein?
zur Zeit leider noch

Zitat:Kann/Muss ich irgendwo einstellen an welchen Anschluß die Einstellungen wirken?
vielleicht weiß Wicky da mehr.
perfekt ist natürlich DVI oder HDMI, ich vermute auch mal die X Installation erleichert das wesentlich.

Gruß
maxx
Hallo maxx,

das Script wurde ausgeführt und Alsa konfiguriert.
Leider gab es nach einem Neustart kein Bild (angeschlossenen ist noch der Computer-Monitor/fbtv)
und folgende Fehlermeldung:
logread
Code:
...
Jan  1 16:14:43 (none) user.info vdr: [7329] VDR version 1.4.7 started
Jan  1 16:14:43 (none) user.info vdr: [7329] loading plugin: /usr/vdr/plugins/libvdr-xineliboutput.so.1.4.5
Jan  1 16:14:43 (none) user.err vdr: [7329] ERROR: /usr/vdr/plugins/libvdr-xineliboutput.so.1.4.5: undefined symbol: _ZN7cTimeMsC1Ev
Jan  1 16:14:43 (none) user.debug vdr: [7329] max. latency time 0 seconds
...
Jan  1 16:14:57 (none) auth.info su[9074]: (pam_unix) session opened for user root by (uid=0)
Jan  1 16:14:57 (none) user.info vdr: [9075] VDR version 1.4.7 started
Jan  1 16:14:57 (none) user.info vdr: [9075] loading plugin: /usr/vdr/plugins/libvdr-xineliboutput.so.1.4.5
Jan  1 16:14:57 (none) user.err vdr: [9075] ERROR: /usr/vdr/plugins/libvdr-xineliboutput.so.1.4.5: undefined symbol: _ZN7cTimeMsC1Ev
Jan  1 16:14:57 (none) user.debug vdr: [9075] max. latency time 0 seconds
Jan  1 16:14:57 (none) user.info vdr: [9075] exiting
...
Was kann ich dagegen unternehmen?

Gruß Kail
Hi,
hast Du das aus einer bestehenden Installation gemacht.
Ist fbtv noch aktiviert?
Bitte sonst deaktivieren.
xine-lib und xineliboutput ist frisch kompiliert?

Am saubersten ist eine Neuinstallation, vielleicht schaust Du Dir das mit der auto-installation mal (3 Beiträge vorher) an.

Gruß
maxx
Hallo maxx,

ja, wurde auf einer bestehenden Installation gemacht, was gibt es denn noch für
eine Möglichkeit Wink?
Das System wurde nur den persönlichen Bedürfnissen angepasst (nvram usw.)
Es wurde alles genau nach dem HowTo gemacht als frisch installiert und compiliert.

Ein abschalten von FBTV brachte keine Änderung.

Gruß Kail
Seiten: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23