Linux 17.3 DIY K150 v150807

#4664400
Lesenswert?

Hallo Forumnutzer,


habe zuvor in meinem Leben noch nie PIC-µC programmiert und brauche nun 
Eure Hilfe.
Ich hoffe die Kategorie meines Beitrages ist einigermaßen richtig...

Ich habe nun neben mir ein K150-Programmer (ich weiß - billig, aber 
irgendwie wird das schon gehen ^_^) mit einem PIC16F737-I/SP im Sockel 
neben mir liegen. Er ist wie auf dem Bild K150_0.png von der 
Programmiersoftware gesteckt.

Aktuell arbeite ich auf einem Linux Mint 17.3-Rechner. Wine 1.9.15 ist 
aktuell am Laufen. Die Programmiersoftware habe ich spaßenshalber auch 
mit hinzugefügt.
Beim Start des Programms erhalte ich schon die erste Fehlermeldung (s. 
Bild K150_1.png).

Das "Gerät" (K150) ist bei mir mit "/dev/ttyUSB0" verbunden. Wie kann 
ich wine so konfigurieren, dass er bspw. COM1 (Windows) mit /dev/ttyUSB0 
gleichsetzen soll?
Theoretisch müsste es ja dann funktionieren.


Freue mich auf jede Hilfe!


Mit freundlichen Grüßen
PHBU
Angehängte Dateien:
#4664431
Lesenswert?

Hallo nochmal,


habe jetzt mal versucht im Verzeichnis ~/.wine/dosdevices/ mit folgendem 
Befehl ttyUSB0 COM1 zuzuweisen:
1
ln -s /dev/ttyUSB0 com1
Wurde erfolgreich erstellt - das Programm bringt aber immer noch die 
gleiche Fehlermeldung - was habe ich da falsch gemacht?

Mit freundlichen Grüßen
PHBU
#4664547
Lesenswert?

Hallo mh,


>> Ist dem so?
Oh, scheinbar nicht.

Also cat erkennt, dass ein Gerät an diesem Port angeschlossen ist.
Gebe ich
1
sudo cat /dev/ttyUSB0
ein, so lauscht cat an dem Port - ziehe ich den Programmer von der 
Schnittstelle ab, so bekommt cat ein "end-of-file".

Versuche ich allerdings mit
1
sudo echo "Test" > /dev/ttyUSB0
auf den Port zu schreiben, so erhalte ich die Fehlermeldung
1
bash: /dev/ttyUSB0: Keine Berechtigung
.

Als sudo?? Da steh ich jetzt auf dem Schlauch.

Kannst Du mir da weiterhelfen?

Danke für deine Antwort!


Mit freundlichen Grüßen
PHBU
#4665165
Lesenswert?

Hallo rmagnus,


> Bringt halt nicht viel, echo als root laufen zu lassen und dann dessen
> Ausgabe in der als normaler User laufenden Shell umzuleiten.

Stimmt... Aber als Superuser geht das auch nicht:
1
sudo -s
2
echo "Test" > /dev/ttyUSB0
Gibt mir zwar keine Fehlermeldung zurück - der Programmer empfängt 
allerdings auch nichts.
Ist er kaputt? Das MKII USB hat bei so welchen Aktionen immer eine 
Rückmeldung (LED-blinken) gegeben.
Das habe ich immer mit CuteCom gemacht - funktioniert allerdings auch 
nicht mit dem K150.

Im Anhang habe ich das Program picprog.py hochgeladen.
Dieser gibt mir auch eine Fehlermeldung zurück:
1
[sudo] password for user: 
2
Waiting for user to insert chip into socket with pin 1 at socket pin 1
3
Chip detected.
4
Erasing Chip
5
Programming ROM
6
ROM programming failed.
7
Error: Communication failure.  This may be a bug in this script or a problem with your programmer hardware.

Vllt. sollte ich das ganze mal mit einem Windows-Laptop probieren.


Mit freundlichen Grüßen
PHBU
Angehängte Dateien:
Gast #4665168
Lesenswert?

Wieso wird hier ständig mit root rumgewurstelt, warum macht man es nicht 
richtig?
1
norbert@Entwicklung:~$ ls -l /dev/*U*
2
crw-rw---- 1 root dialout 188, 0 Jul 30 10:24 /dev/ttyUSB0
Also einmal als root:
1
adduser <BENUTZER> dialout
Abmelden, anmelden, fertich!
Gast #4665191
Lesenswert?

Philipp B. schrieb:
> Hallo Norbert,
>
>
>> Abmelden, anmelden, fertich!
> Gut, hab ich gemacht - geht jetzt auch ohne sudo. Trotzdem blinkt nichts
> am Programmer...

Na ja, blinken ist auch nicht die Hauptaufgabe eines 
Programmieradapters;-)
Das er auf die Zeichenfolge "Test" reagiert halte ich für eher 
unwahrscheinlich.

Kann man in der fragwürdigen Windows Applikation denn nun COM1: 
auswählen?
Kann man ein Device auslesen?
#4665241
Lesenswert?

Hallo Norbert,


hier nochmal der Aufbau des Verzeichnis ~/.wine/dosdevices/:
1
/home/phbu/.wine/dosdevices/
2
├── [   8]  a:: -> /dev/sdb
3
├── [  10]  c: -> ../drive_c
4
├── [  12]  com1 -> /dev/ttyUSB0
5
├── [   8]  e:: -> /dev/sr0
6
├── [   8]  f:: -> /dev/sdd
7
├── [   9]  g:: -> /dev/sdb1
8
├── [  10]  h: -> /home/phbu
9
├── [   9]  i:: -> /dev/sdd1
10
├── [  21]  j: -> /media/phbu/USB-Stick
11
├── [   9]  j:: -> /dev/sdc1
12
├── [   8]  k:: -> /dev/sde
13
├── [   9]  l:: -> /dev/sde1
14
├── [   8]  m:: -> /dev/sdf
15
├── [   8]  n:: -> /dev/sdb
16
├── [   8]  o:: -> /dev/sdc
17
├── [  11]  x: -> /media/NAS/
18
└── [   1]  z: -> /
19

20
 4.3k used in 4 directories, 13 files
Im Anhang sieht man ein Video, wie die Fehlermeldungen aussehen.


Mit freundlichen Grüßen
PHBU
Angehängte Dateien:
Gast #4665270
Lesenswert?

Hmmm, auf der Linuxseite scheint alles korrekt konfiguriert zu sein.

Welche Baudrate erwartet der Programmer?

Vielleicht vorher mal mit:
1
stty 115200 -F /dev/ttyUSB0
setzen und mit:
1
stty -F /dev/ttyUSB0
überprüfen. Eventuell mal die gängigsten 9600,19200,38400,57600,115200 
testen.
#4665313
Lesenswert?

Philipp B. schrieb:
> Gibt mir zwar keine Fehlermeldung zurück - der Programmer empfängt
> allerdings auch nichts.
> Ist er kaputt? Das MKII USB hat bei so welchen Aktionen immer eine
> Rückmeldung (LED-blinken) gegeben.

Ist denn die Baudrate korrekt? Hat der Programmer eine LED, die die 
RS232-Aktivität anzeigt?

> Waiting for user to insert chip into socket with pin 1 at socket pin 1
> Chip detected.
> Erasing Chip
> Programming ROM
> ROM programming failed.
> Error: Communication failure.  This may be a bug in this script or a
> problem with your programmer hardware.

Das klingt für mich, als könne er eine Verbindung aufbauen, aber 
scheitert dann irgendwann später.

Norbert schrieb:
> Also einmal als root:
> adduser <BENUTZER> dialout

Hatte ich ja auch schon geschrieben:

Rolf M. schrieb:
> Füge deinen User mal der Gruppe dialout hinzu.
#4665324
Lesenswert?

Hallo Norbert,


habe mal spaßenshalber mit CuteCom nochmal mit 9600 Baud an /dev/ttyUSB0 
gelauscht. Mit cat ging es vermutlich wegen dem "end-of-file" nicht.
Also senden tut er etwas (s. Video).

Mit deinem Code bekomme ich bei allen vorgeschlagenen Baudraten folgende 
Rückgabe (speed variiert hier natürlich):
1
speed 9600 baud; line = 0;
2
eof = <undef>; min = 0; time = 0;
3
ignbrk -brkint -icrnl -imaxbel
4
-opost -onlcr
5
-isig -icanon -iexten -echo -echoe -echok noflsh -echoctl -echoke
Angehängte Dateien:
Gast #4665329
Lesenswert?

Ja, schon klar.

Die Frage welche sich stellt ist:
Hast du für jede mit stty eingestellte Baudrate getestet ob der 
Programmierer damit evtl. funktioniert?

Wie gesagt, Linux alles OK
Kann jetzt noch Wine sein bzw. esotherische Win-Funktionen des 
Programmers welche von Wine nicht unterstützt werden.
#4665636
Lesenswert?

Hallo Norbert,

> Hast du für jede mit stty eingestellte Baudrate getestet ob der
> Programmierer damit evtl. funktioniert?

Ja (also die gängigsten Baud-Raten, s. o.), ohne Erfolg.
Ich schau nochmal, ob der Programmer an einem Windows-Laptop 
funktioniert. Vllt. ist auch der Programmer im A****, da 
Billig-China-Ware.

Ich melde mich dann nochmal.

Danke für Eure Ratschläge!


Mit freundlichen Grüßen
PHBU
#4666095
Lesenswert?

Hallo nochmal,


also der Programmer scheint defekt zu sein. Selbst auf einem Windows 
XP-Rechner funktioniert er mit installiertem COM<->USB-Treiber nicht.

Falls einer von Euch PIC-Controller mit Linux programmiert: Was für ein 
(zuverlässigen :-)) Programmer verwendet Ihr und welche Software?
Würde mir dann lieber einen vernünftigen holen.

Danke nochmal für Eure Hilfe!

Mit freundlichen Grüßen
PHBU

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren