Howto: Filme ueber SAMBA abspielen (USB)


Devaux

Well-Known Member
Joined
Feb 5, 2006
Messages
2,080
Age
43
Location
~/
Website
macmini.devaux.li
ICQ
73632818
WEBSITE
http://macmini.devaux.li
LOCATION
~/
Hi, ich moechte Euch kurz ein kleines Howto praesentieren wie ich die Filme von meinem File-Server auf dem GP2X abspiele.
Vorausgegangen ist die Tatsache, dass mein Server ca. 3m von meinem Bett entfernt ist und ich meine Fernbedienung zum TV irgendwie verlorengegangen ist. So kann ich bequem von meinem Bett aus auf dem kleinen Schirmchen auch mal ein Filmchen gucken.
Der Ansatz kann natuerlich auch fuer andere Dateien (grosse ROMs, ScummVM-Dateien...) verwendet werden.



Meine Infrastruktur:
- 2m USB-Verlaengerungskabel (war bei irgend nem Stick dabei)
- GP2X-USB-Kabel (bei jedem GP2X dabei)
- GP2X mit min. Firmware 2.0 (natuerlich von ED ;)
- Macmini als SAMBA-Server (PPC Debian unstable)

Parameter die ich verwende:
$IP_SERVER: (USB-)IP meines SAMBA-Servers (192.168.0.1)
$IP_GP2X: (USB-)IP des GP2X (192.168.0.2)
$SMB_USER: Username des SAMBA-Users
$SMB_PASS: Passwort des SAMBA-Users
$SMB_SHARE: Freigabe des SAMBA-Servers



1. SAMBA-Server einrichten
===================
Darauf moechte ich nicht naeher eingehen. Es gibt tausende von Howtos im Internet. Die wichtigsten Punkte der Config-Datei '/etc/samba/smb.conf' moechte ich Euch aber nicht vorenthalten:

[global]
bind interfaces only = no #Noetig, damit auch ueber USB zugegriffen werden kann
interfaces = 192.168.0.0/16 #Da das "normale" Netz ein anderes Subnet ist

[$SMB_SHARE]
comment = Daten
browseable = yes
path = /data # Ordner der auf dem Server freigegeben werden soll
public = yes
writable = yes

Mit 'smbpasswd $SMB_USER' richte ich das Passwort $SMB_PASS ein.



2. Hotplug auf SAMBA-Server einrichten
============================
Die Problematik ist, dass hotplug zwar beim Erkennen eines am USB-Port angeschlossenen Geraetes das Device automatisch up bringt, dieses aber nicht automatisch konfiguriert ($IP_SERVER).
Abhilfe schaffen 2 kleine Scripts, welche dem Device (usb0) beim Connect automatisch eine IP zuweist:
Code:
#! /bin/bash
typeset -i num
num=`ifconfig | grep usb0 | wc -l`
if [ $num -eq 0 ] ; then
ifconfig usb0 192.168.0.1
fi
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
(letzten 2 Zeile routen mir den Verkehr beim Server ins Internet => eth0 hat die WAN-IP. Somit waeren auch Live-Streams moeglich)

Dies schreibt man in die Dateien '/etc/hotplug/usb/usbnet.hotplug' und '/etc/hotplug/usb/cdc_ether.hotplug' Je nach Hardware koennen diese aber variieren. Dateien muessen natuerlich noch mit:
'sudo chmod 755 /etc/hotplug/usb/cdc_ether.hotplug && sudo chmod 755 /etc/hotplug/usb/usbnet.hotplug' ausfuehrbar gemacht werden.



3. SAMBA-Client auf dem GP2X installieren
==============================
Download gibt es hier.
Installation ist einfach. Man entpackt das ganze Archiv und kopiert alle Dateien ins NAND (Verzeichnisstruktur muss natuerlich beibehalten werden.



4. g_ether Modul auf dem GP2X austauschen
================================
Ansonsten klappt TCP/IP ueber USB nicht (jedenfalls unter Linux. Keine Ahnung obs mit Windows geht). Hierzu habe ich g_ether.o ins root-Verzeichnis der SD-Card kopiert.
Danach eine Datei mit dem Namen 'patch_gether.gpe' und dem Inhalt
Code:
cp /mnt/sd/g_ether.o /lib/modules/2.4.25/kernel/drivers/usb/gadget/g_ether.o
auf die Karte kopiert. Diese kann man dann unter "Games" im Menue ausfuehren. Nun ist der GP2X bereit fuer TCP/IP over USB.
Die beiden Dateien auf der SD-Karte koennen danach natuerlich geloescht werden.



5. Konfiguration des GP2X
===================
Hierzu erstelle ich einen Mountpoint auf meiner SD-Karte: 'mkdir /mnt/sd/smb' (alternativ kann man auch mit 'mkdir /mnt/ext' den Mountpoint direkt auf EXT binden. Dann ists im Menue ueber EXT anwaehlbar. Der Mountbefehl muss dann aber natuerlich angepasst werden)
Jetzt braucht man nur noch ein kleines Scriptchen, welches mir das Netzwerk des GP2X aufbereitet und mein SAMBA-Share laedt
=> /mnt/sd/smbmount.gpe
Code:
modprobe smbfs
modprobe net2272
modprobe g_ether

# Kommentar wegnehmen um telnet zu aktivieren
# /etc/init.d/inet start

# Netzwerk inkl. Internet
ifconfig usb0 $IP_GP2X
route add default gw $IP_SERVER
echo nameserver 195.186.1.111 > /etc/resolv.conf

# SAMBA mounten
smbmount //$IP_SERVER/$SMB_SHARE /mnt/sd/smb/ -o username=$SMB_USER,password=$SMB_PASS

# MPlayer starten
cd /usr/gp2x/
./mplayer /mnt/sd/smb

# Zurueck ins Menue
cd /usr/gp2x
./gp2xmenu


Nun kann ich jederzeit ins Bett liegen, USB einstoepseln im Menue auf "Games" gehen und da das "smbmount.gpe" anwaehlen, worauf ich direkt im mplayer lande und ueber den Ordner "smb" auf der SD-Karte Zugriff auf meine komplette Daten-Sammlung habe.
 
ich habe gerade rausgefunden das wenn iher einen ordner namens ext in dem mnt ordner erstellt dann könnt ihr es darauf mounten und ihr könnt dann euren share unter EXT Storage im menu wo sd memory card nand und ext Storage steht anwehlen ich weis der mnt point ist eigentlich für die usb geräte aber wen man noch keinen hub hat um welche am gp2x anzuschliesen ist das doch ne gute idee und man mus nicht immer erst auf sd und dann smb
 
Ich habe mal versucht mit meinem GP2X auf eine Sambafreigabe zuzugreifen. Das hat letzten endes auch funktioniert, nur der GP2X ist beim abspielen eines liedes abgeschmiert.

Jetzt kann ich mich nicht mehr per Telnet auf meinem GP2X einloggen, mein PC sagt immer "telnet: Unable to connect to remote host: Connection refused".

Hat jemand eine Idee, woran das liegen könnte?

Pingen kann ich ihn ohne Probleme.

EDIT: Und mein GP2X schmiert regelmäßig ab mit Netzteil. -_- *narf*
Und danach darf ich erstmal warten mit dem neustarten, ansonsten gibt's nur streifen ...

EDIT2: Das Netzteilproblem besteht leider immer noch. :( Ich habe das Netzteil aus ED's Shop, hate jemand ähnliche Probleme?
Dafür habe ich jetzt mein "Connection refused" Problem gelöst. Ich sag besser nicht, woran es lag, das wäre zu peinlich. :ph34r:

Mfg
Dittboy
 
ich weiss ja das der threat hier eigendlich schon total eingestaubt ist...
aber bei mir hängt sich der gp2x immer auf wenn ich die smb freigabe über die gpe datei starte.
wenn ich das mit telnet mache gehts einwandfrei...

Code:
<i>
</i>smbmount //192.168.0.1/FILME /mnt/sd/smb/ -o username=marc,password=
cd usr
cd gp2x
./gp2xmenu

muss man irgendwas bestimmtes machen damit man aus dem gpe script wieder rauskommt?
EDIT: fehler gefunden, für alle windows benutzer, scriptfiles immer ins unix format convertieren.
 
Back
Top