Linux 17.3 DIY K150 v150807

OP #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:
OP #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
OP #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
OP #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?
OP #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.
OP #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.
OP #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
OP #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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.