Seite 1 von 2
					
				
				Verfasst: Freitag 20. Juli 2007, 10:54
				von Robin
				Im Paketmanager ist PyParallel nicht zu sehen,. Ich habe es schon mal gelöscht und dann nochmal installiert. Mein Programm bleibt immer hier hängen (# 1) und dann dort (# 2), wenn ich parport0 die Schreibrechte geben. Das Bsp.Programm verhält sich genauso 
http://pyserial.cvs.sourceforge.net/pys ... les/lcd.py
class Parallel:
    """
    def __init__(self, port = 0):
        if type(port) == type(""):
            self.device = port
        else:
            self.device = "/dev/parport%d" % port
       
 self._fd = os.open(self.device, os.O_RDWR)    # 1 zuerst hier  
        self.PPEXCL()
        self.PPCLAIM()                                # 2 dann hier
        self.setDataDir(1)
        self.setData(0)
So sieht der Code von PPCLAIM aus, der fehler ereignet sich in der letzten Zeile. Vielleicht ist Ubuntu einfach ungeeignet? Habe Ubuntu auf aktualisiert, 
ohne Erfolg
    def PPCLAIM(self):
        """
        Claims access to the port. As a user-land device driver
        writer, you will need to do this before you are able to
        actually change the state of the parallel port in any
        way. Note that some operations only affect the ppdev driver
        and not the port, such as PPSETMODE; they can be performed
        while access to the port is not claimed.
        """
        fcntl.ioctl(self._fd, PPCLAIM)
 
			 
			
					
				
				Verfasst: Samstag 21. Juli 2007, 23:32
				von apollo13
				Um Gerold zu zitieren:
gerold hat geschrieben:Du arbeitest ja unter Ubuntu --> also verwende doch lieber ``sudo aptitude install python-parallel`` oder suche im "Synaptic" nach "python-parallel".
"python-parallel" ist im "universe"-Repository enthalten.
mfg
Gerold

 
Sprich du musst erst das "universe"-Repository freischalten, sonst wirst du es im Synaptic nicht sehen...
 
			 
			
					
				
				Verfasst: Montag 23. Juli 2007, 09:03
				von Robin
				Hallo Gerold,
habe Deinen Tipp ausprobiert,
+++++++++++++++++++++++++++++++++++
xyz@HalleX:~$ sudo aptitude install python-parallel
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Reading state information... Fertig
Lese erweiterte Statusinformationen
Initialisiere Paketstatus... Fertig
Erzeuge Tag-Datenbank... Fertig
Die folgenden Pakete werden zurückgehalten:
  firefox firefox-gnome-support iptables libnspr4 libnss3
0 Pakete aktualisiert, 0 zusätzlich installiert, 0 werden entfernt und 5 nicht aktualisiert.
Muss 0B an Archiven herunterladen. Nach dem Entpacken werden 0B zusätzlich belegt sein.
Schreibe erweiterte Statusinformationen... Fertig
xyz@HalleX:~$  
++++++++++++++++++++++++++++++++++++++++
Dann bleibt das Programm wieder hier hängen
parallelppdev.py
def PPCLAIM(self):
.
.
.
        fcntl.ioctl(self._fd, PPCLAIM)
Fehlermeldung
"[Error 6] No such device or address
Soll ich lieber mal SUSE nehmen? Kannst Du denn PyParallel installieren 
oder hat Dein Rechner keine parallele Schnittstelle?
Gruß Robin
			 
			
					
				
				Verfasst: Montag 23. Juli 2007, 09:23
				von gerold
				...dafür habe ich die Geduld nicht mehr.
Was von 
du musst erst das "universe"-Repository freischalten
hast du nicht verstanden? Ich habe dir in diesem Thread sogar schon ein Bild davon gemacht. Und dass du zuerst die Reste vom vermurksten Selbstinstallationsversuch entfernen musst, sollte klar sein.
mfg
Gerold
PS: Ja, bei mir lässt es sich ohne Probleme installieren.
PS2: Was gibt dir "sudo aptitude show python-parallel" zurück?
PS3: Vielleicht hast du nach dem Einschalten des Universe-Repositories die Repository-Liste nicht neu heruntergeladen. --> Dann probiere mal "sudo aptitude update" aus. Und danach noch einmal "sudo aptitude show python-parallel". Und wenn dann endlich die Beschreibung von "python-parallel" angezeigt wird, dann sollte der Aufruf von "sudo aptitude install python-parallel" auch erfolgreich sein. Das siehst du, wenn du danach noch einal "sudo aptitude show python-parallel" aufrufst. Dann sollte irgendetwas von "State: installed" zu finden sein.
 
			 
			
					
				
				Verfasst: Montag 23. Juli 2007, 11:21
				von Robin
				Wahrscheinlich liegt es gar nicht an der Installation. Wenn ich mit Eric oder auf der Konsole das Beispielprgramm starte, tritt der schon oben erwähnte Fehler in from parallelppdev.py auf.
import parallel
p = parallel.Parallel()
p.setData(0x55)  # Läuft das bei Dir???
import * #linux, kernel 2.4
File "/usr/lib/python2.5/site-packages/parallel/parallelppdev.py", line 215
fcntl.ioctl(self._fd, PPCLAIM)
^ 
PS2: Was gibt dir "sudo aptitude show python-parallel" zurück?
Paket: python-parallel
Zustand: Installiert
Automatisch installiert: nein
Version: 0.2-5
Priorität: optional
Bereich: universe/python
Verwalter: Matthias Klose <
doko@debian.org>
Unkomprimierte Größe: 102k
Hängt ab von: python-central (>= 0.5), python
Beschreibung: Module encapsulating access for the parallel port
 This module capsulates the access for the parallel port. It provides backends for standard Python running
 on Windows, Linux, BSD (possibly any POSIX compilant system). The module named "parallel" automaticaly
 selects the appropriate backend.
 
			 
			
					
				
				Verfasst: Montag 23. Juli 2007, 14:05
				von BlackJack
				Kann es sein, dass schon ein anderes Kernelmodul den Parallelport belegt?  Wenn zum Beispiel `lp` geladen ist, bekomme ich auch diese Ausnahme.  Beispiel:
Code: Alles auswählen
$ sudo lsmod | grep parport
parport_pc             36388  1
parport                36936  3 lp,ppdev,parport_pc
Wenn ich das `lp`-Kernelmodul mit ``rmmod`` rauswerfe, dann klappt der Beispielcode.
 
			 
			
					
				E S   G E H T!
				Verfasst: Mittwoch 25. Juli 2007, 08:14
				von Robin
				Vielen, vielen Dank BlackJack, heute scheint die Sonne zu Recht, ich kann nun endlich die Schnittstelle mit PyParallel ansprechen. 
Der letzte Tipp 
 
war entscheidend!
Das Betriebssystem Ubuntu war mir zwischenzeitlich abgestürzt, eine Neuinstallation war erforderlich und vielleicht sogar gut. Auch vielen Dank an Gerold, ohne die Hilfe der Moderatoren hätte ich es bestimmt schon aufgegeben, das Problem zu lösen.

))
 
			 
			
					
				
				Verfasst: Donnerstag 16. August 2007, 15:06
				von Y0Gi
				BlackJack: *Ganz* wichtiger Tipp! Habe ich letzte Woche auf die nervige Tour selbst herausfinden müssen.