Heute gibts mal wieder eine Bastelanleitung: mein Projekt 10€ Temperatursensor hält mich ja nun schon seit einiger Zeit auf Trab und so stand dann vor ein paar Tagen mal wieder ein Umzug auf andere Hardware an. Meine Synology Diskstation DS211j sollte eigentlich nur als Datenspeicher dienen, hat aber inzwischen dank Linux Betriebssystem schon diverse Aufgaben als Heimserver übernommen. Und nun kommt ein weiterer hinzu: meine 1-wire Sensoren. Das Projekt ist nach Wegfall meines alten Linux-Servers irgendwie in Vergessenheit geraten, aber jetzt wo der Winter kommt und ich gerne wissen würde, ob meine Heizung läuft oder nicht, wieder interessant.
Kaum beschlossen und verkündet wurde die DS211j von Ihrem warmen und komfortablen Platz im Büro in den Keller geschleppt, angeklemmt und auf Funktion getestet. Funktioniert. An der Konsole konnte ich beim Einstecken des FTDI Adapters erkennen, dass was passiert, aber meine Sensoren bzw. der ganze Adapter wurden nicht erkannt. Schade. Ein wenig gegoogle förderte zu Tage: der Standard-Kernel der Diskstation bietet keinen Unterstützung für den FTDI USB2Serial-Adapter an. “Aber als Modul müsse es gehen” war zu lesen. “Mal den Kernel mit den FTDI Optionen builden” schien die Lösung. Gesagt, getan. Auch hier half Google weiter und führte mich auf diesen Thread im Synology Forum.
Und hier folgen nun die einzelnen, von mir erfolgreich durchgeführten Schritte:
- ipkg install gcc optware-devel #Build Essentials installieren
- Herunterladen der Kernelsourcen für DSM 3.1 (v1922) bei Sourceforge.
(Achtung! Diese Download-Adresse passt nur zum Kernel 2.6.32.12, DSM 3.1 und der DS211j - “uname -a” muss folgendes ausgeben: Linux DiskStation 2.6.32.12 #1922 Sun Sep 4 02:10:58 CST 2011 armv5tel GNU/Linux )
- Entpacken der Sourcen und Wechsel in den Unterordner “linux-2.6.32″
- cp synoconfigs/88f6281 .config # Konfigurationsvorlage kopieren
- make clean
- cp /opt/lib/libncursesw.so.5 /lib/libncursesw.so.5 (kann erfordelich sein!)
- make oldconfig ARCH=arm CROSS_COMPILE=/opt/bin/
- In der Datei .config die Zeile CONFIG_USB_SERIAL=m aktivieren/anpassen
- make prepare ARCH=arm CROSS_COMPILE=/opt/bin/ #Fragen nach FTDI mit Y bzw. M beantworten
- make modules ARCH=arm CROSS_COMPILE=/opt/bin/ M=scripts
- make modules ARCH=arm CROSS_COMPILE=/opt/bin/ M=drivers/usb/serial
- insmod drivers/usb/serial/usbserial.ko # frisch gebaute Module laden
- insmod drivers/usb/serial/ftdi_sio.ko
- lsmod # Module sollten nun angezeigt werden
- mknod /dev/ttyUSB0 c 188 0 # Gerätedatei unter /dev erzeugen
- chmod a+rw /dev/ttyUSB0 # Schreib/Leserechte auf der Gerätedatei setzen
Die Module können – wenn Sie funktioniere,der FTDI Chip erkannt wird und ansprechbar ist – nun nach /lib/modules kopiert werden. Wenn man sich dann noch die /etc/rc anpasst, dann werden die Module beim nächsten Start auch automatisch geladen.
Update: die Anleitung funktioniert auch problemlos mit DSM3.2 (v1944). Die Sourcen findet man ebenfalls bei Sourceforge.
weirdrabbit um 10:40 am 30. Dezember 2011 Permalink
hey! super, dass du in diese richtung was machst. ich hab mich ehrlich gesagt schon etwas gewundert, dass sich da nichts tut. den hasen unabhaengig von mindscape zu betreiben waer eine feine sache und wuerde das device zusaetzlich um einiges flexibler einsetzbar machen.
ich habe meinen karotz bereits bestellt, aber noch nicht erhalten. sobald er angekommen is, werd ich versuchen openrabbit zu unterstuetzen wo es geht
mc um 18:24 am 30. Dezember 2011 Permalink
Wenn ich mir Deine Website so anschaue, dann bist Du genau der richtige für so ein Gebastel
Der Anreiz zum Hack war eine Anfrage bei Midscape, ob ich denn den Sourcecode vom Hasen haben könnte – ist ja schließlich Linux. Aber als Antwort kam (sinngemäß) “Nöö, geht nicht. Wir wollen keine Custom-Firmware.” Naja, und da habe ich mich halt mal drangegeben
weirdrabbit um 17:47 am 3. Januar 2012 Permalink
ja, das wundert mich gar nicht. die wollen schliesslich mit den services kohle machen. der hase is heute gekommen. hab grad viel um die ohren und werd ihn erst am abend aktivieren. vielleicht find ich dich ja im karotz directory