CTC Prusa i3 Pro B

Hier mal ein kleines Video vom CTC Prusa i3 Pro B. Vielleicht verstehen jetzt einige Mailschreiber, warum ich nicht alle Konfigurationen veröffentlichen kann. Der CTC Prusa i3 Pro B ist komplett umgebaut. Die Firmware von meinem 3D Drucker, kann auf den Originalen CTC i3 nicht funktionieren. So und jetzt das Video :).
Firmware gibt es wieder hier: Marlin-Firmware. Mein Drucker läuft aktuell mit Marlin 1.1.4.

Basicspiel für Sharp MZ-700

Hier ein kleines Basicspiel für Sharp MZ-700. Ich hatte nie ein Sharp Mz-700 gehabt und habe diesen erst seit April 2017. Habe gleich mal das Basic getestet. In Hong-Kong-Street könnt Ihr Glücksspiele Spielen, um so Euer Geld aufzustocken oder alles zu verzockenn ; ).

Als erstet muss der BASIC-Interpreter geladen werden. Der Sharp MZ-700 hat kein eingebautes Basic.
Erst dann kann das Spiel geladen werden.

Hong Kong Street(Basic) Download

Wer will, kann da auch gerne weiter dran Programmieren. Webseitenbetreiber dürfen das gerne zum Download anbieten, aber es muss kostenlos angeboten werden!

Sharp MZ 700 RGB-Scart

Ich habe heute mal schnell nach einer Lösung für meinen Sharp MZ 700 gesucht, dies am Scart anzuschließen. Im Internet hatte ich auch schnell was gefunden. Leider wurde da HSYNC, VSYNC und CSYNC zusammen auf den SYNC-Anschluss vom Scart gelegt. Das ist aber nicht gut, da .CSYNC bereits HSYNC und VSYNC enthält. Eine Zusammenfassung von CSYNC, HSYNC und VSYNC ist keine gute Idee, das kann zum Defekt führen. Es kann natürlich auch gut gehen, aber macht einfach keinen Sinn. Deshalb habe ich hier die Belegung ohne Zusammenführung CSYNC, HSYNC und VSYNC:

 

 

SHARP MZ 700
SCART
1 – VIDEO NC
2 – GND ( Ground ) 17 – VIDEO GROUND
3 – HSYNC 20 – VIDEO INPUT
6 – RED 15 – RED VIDEO
7 – GREEN 11 – GREEN VIDEO
8 – BLUE 7 – BLUE VIDEO

Das Problem ist nur, dass die Frequenzen nicht normgerecht sind. So gibt es Probleme bei aktuellen Fernseher. Hier braucht man einen Scandoubler. Ich habe mir hier etwas zusammengebastelt. GBS-8200 Video converter mit LM1881N sync cleaner, damit kann man den Scartanschluss nachrüsten. Leider hat das Board eine Macke, man muss noch die billigen Elkos vom Board ablöten und durch gute ersetzen, sonst bricht das Bild immer zusammen.

Deaktivierung von Spotlight in Mac OS X 10.5 Leopard

Die vollständige Deaktivierung von Spotlight in Mac OS X 10.5 Leopard funktioniert etwas anders. Terminal unter Dienstprogramme öffnen und mit folgendem Kommando die XML editieren:

sudo vim /System/Library/LaunchAgents/com.apple.Spotlight.plist

Am Ende der Datei ist der Tag “”, über diesen Tag fügt man folgende Zeilen ein:

<key>Disabled</key>
<true/>

spotlight_10_5

vim /System/Library/LaunchDaemons/com.apple.metadata.mds.plist

Sucht nach:

<key>KeepAlive</key>
<true/>

unter den 2 Zeilen wieder die 2 Zeilen einfügen.

<key>Disabled</key>
<true/>

spotlight_10_5_meta

Danach muss der Rechner noch neu gestartet werden, das Spotlight Icon in der Menüleiste sollte verschwinden.

LIRC mit Python :: pylirc

Es gibt ein Modul namens pylirc, damit kann man unter Python LIRC ansprechen.
Vorraussetzung ist hier, dass LIRC eingerichtet ist und die Fernbedienung schon angelernt ist.

Zuerst muss pylirc2 installiert werden.

Als zweites legen wir uns neue Konfiguration an, die nennen wir demo_pylirc.conf.

begin pylirc
begin
prog = pylirc
button = KEY_1
repeat = 0
config = echo „Key 1“
end
begin
prog = pylirc
button = KEY_2
repeat = 0
config = echo „Key 2“
end
end pylirc

Damit euer Script überhaupt mit der Fernbedienung umgehen kann, muss man die Tasten zuweisen und sagen was die Taste tun soll.
Hier habe ich Taste 1 und Taste 2 belegt, drückt man eine Taste an der Fernbedieung soll Key 1 oder Key 2 ausgegeben werden.

Jetzt das Python-script dazu:
#!/usr/bin/python

try:
import pylirc
except ImportError:
raise plugin.MissingDependency(„pylirc“)

import time,os

blocking = 0;

if(pylirc.init(„pylirc“, „/home/pi/Desktop/script/f.conf“, blocking)):

code = {„config“ : „“}
while(code[„config“] != „quit“):

# Very intuitive indeed
if(not blocking):
time.sleep(1)

# Read next code
s = pylirc.nextcode(1)

# Loop as long as there are more on the queue
# (dont want to wait a second if the user pressed many buttons…)
while(s):

# Print all the configs…
for (code) in s:

handle = os.popen(code[„config“])
line = “ “
while line:
line = handle.read()
print line
handle.close()

if(code[„config“] == „blocking“):
blocking = 1
pylirc.blocking(1)

elif(code[„config“] == „nonblocking“):
blocking = 0
pylirc.blocking(0)

# Read next code?
if(not blocking):
s = pylirc.nextcode(1)
else:
s = []

# Clean up lirc
pylirc.exit()

Akkutausch bei der Braun Professional Care 3000 Oral B Elektrozahnbürste

Heute mal ein kurioses Thema, die Braun Professional Care 3000 Oral B. Bei mir ist nach ca. 3 Jahren schon der Akku defekt. Braun hat sich schon ein tolles „Geschäftsmodell“ einfallen lassen. Ohne Hand anzulegen ist ein Akkustausch nicht möglich. Man sollsich also eine neue Zahnbürste kaufen. Kostet ja nur schlappe 30-45€.

Hier zeige ich euch nun wie man den Akku wechseln kann. Man benötigt Lötkolben, Lötzinn, Zange, einen neuen Akku.
Vorsicht beim Akkukauf! Es werden Akkus angeboten, die kosten ca. 10€. Das ist zu viel, ich empfehle den TECXUS NiMh RTU AA MIGNON 1,2V 2100mAh. Der Akku solle max. 4 € kosten, bei eBay habe ich diesen Akku sogar versandfrei bekommen.

Leider ist das ganze nichts für Anfänger! Die Drähte sind so dünn und man muss sehr schnell die Teile an- und ablöten. Da die Hitze vom Draht gleich aufs Plastik geht und schmilzt.

Habe die Reparatur schon bei 2 Zahnbürsten hinter mir. Die Erste wurde 10.04.2015 repariert und geht noch heute super. Leider löst sich jetzt schon der blaue Gummi auf. Obwohl die Zahnbürste erst 2012 gekauft wurde. Also gerade mal 5 Jahre alt ist. Die nächste Elektrozahnbürste wird wohl eine Philipps werden.

Update shutdown.py

Ab jetzt wird geprüft, wielange der Button gedrückt wird. Wird der Button kurz gedrückt ca. 3 – 5 Sek, wird nun ein Software-Neustart ausgelöst. Drückt man länger, wird der Rechner heruntergefahren und bleibt aus.

Hier gehts zum Schaltplan (Raspberry Pi Auschalter/Neustart)

# import required modules
import RPi.GPIO as GPIO
import time
import subprocess

SleepTime = 1
press = 0

# set GPIO pin
PWpinNum = 31 # PW Power switch
LEDpinNum = 29 # LED

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM) # BCM (P5 Header)
GPIO.setup(PWpinNum, GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.setup(LEDpinNum, GPIO.OUT)

print „\n“

def blink(step):
for i in range(0,25):
GPIO.output(LEDpinNum, False)
time.sleep(step)
GPIO.output(LEDpinNum, True)
time.sleep(step)

def shutdown():
print „shutdown\n“
blink(0.20)
GPIO.output(LEDpinNum, False)
subprocess.call([„shutdown“, „-h“, „now“])

def reboot():
print „reboot\n“
blink(0.1)
GPIO.output(LEDpinNum, False)
subprocess.call([„shutdown“, „-r“, „now“])

try:
GPIO.output(LEDpinNum, False)
while True:
if GPIO.input(PWpinNum):
if press == 0:
time.sleep(SleepTime)
elif press < 8:
reboot()
break
else:
shutdown()
break
else:
press +=1
print press
time.sleep(0.5)

except KeyboardInterrupt:
GPIO.output(LEDpinNum, True)
GPIO.cleanup()

Passwörter für Amiga Spiele

Oiyd Magnum!

Landschaft #11 35787325
Landschaft #13 68099940
Landschaft #14 88815926
Landschaft #15 13236967
Landschaft #16 24629215
Landschaft #17 49344163
Landschaft #18 11076228

Samba Freigabe unter Debian

Samba Installieren:
apt-get install samba samba-common

Neue Festplatte formatieren:
Man muss als erstes rausfinden, welches Gerät die neue Festplatte ist. Normalerweise ist die 1. Festplatte das System und somit das Gerät /dev/sda1. Die neue Festplatte ist bei also /dev/sdb1, da ich keine weitere Festplatte angeschlossen habe.  Mit dem Befehl „df“, kann man das überprüfen:

/dev/sda5 234466152 2074648 220458220 1% /

Auf sda5 ist debian installiert. /dev/sdb1 wird nicht angezeigt, da ja noch keine Partition angelegt wurde und die Festplatte auch noch nicht eingebunden ist.

Meine neue platte ist /dev/sdb1. Deshalb muss ich folgendes eingeben:
cfdisk /dev/sdb1
select label: GPT

Jetzt kann man die Festplatte mit EXT4 formatieren:
mkfs.ext4 /dev/sdb1

Wer lieber EXT3 will:
mkfs.ext3 /dev/sdb1

Für NTFS:
mkfs.ntfs /dev/sdb1

Verzeichnis für die Daten anlegen:
Hier werden die Daten gespeichert, die im Netzlaufwerk verfügbar sind.

mkdir /media/share

Damit die Benutzer im Ordner auch speichern können, muss man noch die nötigen Schreibrechte setzen:
chmod 770 /media/share

Jetzt kann man die Fetplatte mounten:
mount /dev/sdb1 /media/share/

Beim Neustart wäre die Festplatte nocht mehr gemountet. Damit dies bei jedem Systemstart gemountet wird, muss man die Datei /etc/fstab anpassen.

vim /etc/fstab

Jetzt fügt man folgende Zeile ein:
/dev/sdb1 /media/share ext4 rw 0 0

Wer eine andere Partition als ext4 hat, muss das auch bei fstab ändern!

Benutzer für Netzwerkfreigabe anlegen:

Anlegen eines Benutzer „gast“
useradd gast

Passwort für Linux-System anlegen:
passwd gast
Nach eingabe euer Passwort für Benutzer „gast“ eingeben.

Passwort für die Freigabe anlegen:
smbpasswd -a gast
Nach eingabe euer Passwort für Benutzer „gast“ eingeben.

Man kann ein Public-Verzeichnis auch ohne Anmeldung in SAMBA einrichten, aber aus Sicherheitsgründen rate ich davon ab und gehe darauf nicht weiter ein.

vim /etc/samba/smb.conf

Inhalt der Datei:

[global]
workgroup = Arbeitsgruppe
server string = Samba Server
dns proxy = no
wins support = yes
security = user
encrypt passwords = true
invalid users = root

[Daten]
path = /media/share/
writable = yes
valid users = gast
comment = Datenfreigabe
printable = no
public = no

Samba-Dienst neustarten:
/etc/init.d/samba restart
oder
service smbd restart

Jetzt kann man die Verbindung testen:

Netzlaufwerk unter Windows 10 verbinden.

Mein Server heiß Debian im Netz, man kann aber auch dafür die IP vom Server eintragen.
\Daten kommt von der der Samba Config ([Daten]). Wichtig ist, das man hier die 2 Haken setzt.
Damit beim Neustart, dass Laufwerk automatisch verbunden wird und man sich mit dem User Gast anmelden kann.

Tip:
Ich habe eine zweite Netzwerkkarte eingebaut. Man kann Samba sagen, das es eth1 und nicht eth0 verwenden soll.

Kopiert was auf das Netzlaufwerk und gebt beim Server folgendes ein:

netstat -tapn | grep smbd

Jetzt sollte da die IP von eth1 zu sehen sein. Habe die Zeile makiert.

tcp 0 0 192.168.1.7:445 0.0.0.0:* LISTEN 1369/smbd
tcp 0 0 192.168.1.11:445 0.0.0.0:* LISTEN 1369/smbd
tcp 0 0 127.0.0.1:445 0.0.0.0:* LISTEN 1369/smbd
tcp 0 0 192.168.1.7:139 0.0.0.0:* LISTEN 1369/smbd
tcp 0 0 192.168.1.11:139 0.0.0.0:* LISTEN 1369/smbd
tcp 0 0 127.0.0.1:139 0.0.0.0:* LISTEN 1369/smbd
tcp 0 0 192.168.1.11:445 192.168.1.5:61417 VERBUNDEN 1386/smbd
tcp6 0 0 ::1:445 :::* LISTEN 1369/smbd
tcp6 0 0 ::1:139 :::* LISTEN 1369/smbd

Debian 9 Proxy Squid3 mit ClamAV (squidclamav)

Da es auf unserem Hof noch kein DSL gibt und ich 2 Jahre vergeblich bei der Telekom auf einen Telefonschluss warten musste, hatte ich nach einer anderen Lösung gesucht. Da blieb nur noch SAT oder LTE. Wir haben jetzt LTE genommen. Leider war der Empfang nicht ohne weiteres möglich, es musste eine Doppelaußenantenne her. Die LTE Antenne muss genau ausgerichtet werden und zum nächsten LTE- Masten zeigen. Das bekommt man beim Provider raus. Aber das ging auch nicht lange gut, weil der Traffic nie gereicht hat. Wir haben zwar 32 GB Traffic, aber das klingt mehr wie es ist.
Das Problem ist aber, dass sämtliche Geräte immer Updates machen wollen. Telefon, Smartphone, Laptop, … Heute kann man für fast alles Firmwares aktualisieren. Die Updates sind aber oft schon ein paar GB groß, dann geht man vieleicht noch auf facebook, da starten dann erstmal schön Videos und ein Haufen Werbung und dann muss facebook und co noch schön Daten sammeln ; ). Firefox updates, … Telefon läuft ja auch noch über LTE, da ja der Anschluss noch nicht dran ist.
Damit jetzt Traffic reduziert wird, bietet sich ein Proxyserver an.

Squid3 und clameav installieren:

apt-get update && apt-get upgrade
apt-get install squid3 c-icap clamav clamdscan clamav-daemon libicapapi-dev gcc make curl libcurl4-gnutls-dev libapache2-mod-perl2

Damit clamav mit squid3 funktioniert muss noch squidclamav installiert werden:

# wget http://downloads.sourceforge.net/project/squidclamav/squidclamav/6.16/squidclamav-6.16.tar.gz
# tar xvfz squidclamav-6.16.tar.gz
# cd squidclamav-6.16
# ./configure --with-c-icap && make && make install
# cp -rf cgi-bin /usr/lib/
# chmod -r 775 /usr/lib/cgi-bin/
# a2enmod cgi
# service apache2 restart
# cd ..
# ldconfig
# ln -s /etc/c-icap/squidclamav.conf /etc/squidclamav.conf
# vim /etc/default/c-icap

Hier START=no auf START=yes ändern.

# vim /etc/c-icap/c-icap.conf
Bei ServerAdmin eure e-mail angeben.
Der Name vom Server wird bei ServerName angeben. z.B.:
ServerName debian.local
und ca. in line 570 muss man noch diese Zeile hinzufügen.

Service squidclamav squidclamav.so
Nun Config speichern und verlassen.

c-icap neustarten:
systemctl restart c-icap

Falls es auch Probleme mit ClamAV gibt:
# freshclam
ERROR: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).

Löscht einfach die Logdatei. Das ist kein Problem, da die log ja wieder automatisch erstellt wird:
# rm /var/log/clamav/freshclam.log

Ob clamav lokal funktioniert, kann man so testen:
# cd /tmp
# wget http://www.eicar.org/download/eicar.com
# clamscan --infected --remove --recursive /tmp

Jetzt sollte dieser Test-virus gefunden und entfernt worden sein:
/tmp/eicar.com: Eicar-Test-Signature FOUND
/tmp/eicar.com: Removed.

———– SCAN SUMMARY ———–
Known viruses: 6297800
Engine version: 0.99.2
Scanned directories: 10
Scanned files: 1
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 10.403 sec (0 m 10 s)

Wichtig!
Bei Debian 8 war squid im Verzeichniss /etc/squid3/ , heute wo ich Debian 9 installiert habe liegt squid unter etc/squid/
Darum bitte die pfade überüfen!

cp /etc/squid/squid.conf /etc/squid/squid.conf.bak

Konfiguration bearbeiten:
vim /etc/squid/squid.conf oder für nano freunde "nano /etc/squid/squid.conf"

visible_hostname debian.local
error_directory /usr/share/squid/errors/de/
forwarded_for off
via off
#cache
cache_mem 512 MB
maximum_object_size 20480 KB
maximum_object_size_in_memory 512 MB
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
cache_dir ufs /var/spool/squid3 2000 16 256
#timeouts
forward_timeout 30 seconds
connect_timeout 30 seconds
read_timeout 30 seconds
request_timeout 30 seconds
persistent_request_timeout 1 minute
client_lifetime 20 hours
#DNS
dns_nameservers 192.168.1.1 8.8.8.8 8.8.4.4
url_rewrite_children 20
#defaults
acl localnet src 192.168.1.0/24
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
acl bad_url dstdomain "/etc/squid/blacklist"
#acl no_updates dstdomain "/etc/squid/msupdates"
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
deny_info ERR_ACCESS_DENIED bad_url
http_access deny bad_url
icap_enable on
icap_send_client_ip on
icap_send_client_username on
icap_client_username_header X-Authenticated-User
icap_service service_req reqmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
adaptation_access service_req allow all
icap_service service_resp respmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
adaptation_access service_resp allow all
http_access allow localnet
http_port 3128
hierarchy_stoplist cgi-bin ?
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320


squidclamav.conf bearbeiten:

nano /etc/squidclamav.conf

maxsize 5000000
redirect http://192.168.x.x/cgi-bin/clwarn.cgi
clamd_local /var/run/clamav/clamd.ctl
clamd_ip 192.168.x.x,127.0.0.1
clamd_port 3310
timeout 1
logredir 0
dnslookup 1
safebrowsing 0
debug 0
stat 0

Server squid3 neustarten:
service squid restart

Unter Debian 8:
service squid3 restart

nun Dienste neustarten:

service c-icap restart
service apache2 restart
service clamav-daemon restart
service squid restart

Cache löschen:
service squid3 stop
rm -rf /var/spool/squid/*
service squid3 start


Client mit Proxy verbinden, Firefox:

Proxy im Firefox hinterlegen

 

Windows Proxyeinstellungen hinterlegen:

Proxy Windows 10

Jetzt Testen:
Geht mit Firefox nun auf http://www.eicar.org/download/eicar.com

Ihr solltet nun das im Browser sehen:
SquidClamAv Virus detected

Wenn CGI nicht geht, muss man noch folgendes tun. (War bei Debian 9 so)

tail -f /var/log/apache2/error.log

Jetzt im Browser folgende URL aufrufen:
http://www.eicar.org/download/eicar_com.zip

Jetzt sollte sich die URL ändern in:
http://192.168.x.xx/cgi-bin/clwarn.cgi?url=http://www.eicar.org/download/eicar_com.zip&source=192.168.x.xx&user=-&virus=stream:%20Eicar-Test-Signature%20FOUND

Passiert das nicht, müsst ihr nochmal die Anleitung durchgehen.
Wenn die URL sich ändert, fehlt nicht mehr viel. Es funktioniert aber schon mal, das CGI soll nur eine Fehlerseite ausgeben und da gab es auch bei mir unter Debian 9 Probleme. Unter Debian 8 hatte ich keine Probleme.

Kommt beim Befehl a2enmod cgi:
„Can’t activate CGI module with „a2enmod cgi“

Hilft folgendes:
a2dismod mpm_event
a2enmod mpm_prefork
a2enmod cgi
sudo service apache2 restart

Steht in der log Can’t locate CGI.pm in @INC (you may need to install the CGI module), muss man CGi wie folgt installieren:

#perl -e shell -MCPAN
install CGI
exit

gehts immer noch nicht ?
Dann sollte man das Verzeichnis /usr/lib/cgi-bin/ überprüfen, das muss als root ausführbar sein und es sollten folgende Datein enthalten sein:
-rwxr-xr-x 1 root root 1827 Jun 21 13:59 clwarn.cgi
-rwxr-xr-x 1 root root 1827 Jun 21 13:21 clwarn.cgi.de_DE
-rwxr-xr-x 1 root root 1777 Jun 21 13:21 clwarn.cgi.en_EN
-rwxr-xr-x 1 root root 1898 Jun 21 13:21 clwarn.cgi.fr_FR
-rwxr-xr-x 1 root root 1995 Jun 21 13:21 clwarn.cgi.pt_BR
-rwxr-xr-x 1 root root 2099 Jun 21 13:21 clwarn.cgi.ru_RU

Und zum Abschluss noch ein wichtiges Detail. SSL ist end to end Verschlüsselung, also vom Browser zum Server. Also der Lokale Rechner mit der verschlüsselten Webseite. Was ich damit sagen will, squidclamav kann nur HTTP scannen. Bei HTTPS klappt das nicht! Auch im non transparent modus wird direkt vom Browser verschlüsselt.
Also sollte lokal am Rechner trotzdem ein Virenscanner laufen!