====== HowTo: TP-Link MR3020 als FTP-Server ====== Durch den Artikel "Frickel-Router" in der c't, Ausgabe 6/2012, Seite 74 bin ich auf den wirklich sehr kleien Embedded Rechner MR3020 der Firma TP-Link aufmerksam geworden. Man nehme: * [[http://www.openwrt.org|OpenWRT]] * [[http://www.tplink.com/en/products/details/?categoryid=218&model=TL-MR3020|TP-Link MR3020]] - bei [[http://www.reichelt.de|Reichelt]] für ca. 27 EUR (Stand: 04/2012) * ein wenig Zeit * Linux Grundkenntnisse Die OpenWRT Projektseite zum Umbau des **TP-Link MR3020** findet sich [[http://wiki.openwrt.org/toh/tp-link/tl-mr3020|hier]].\\ Alle hier dokumentierten Veränderugen und Anpassungen des **MR3020** basieren auf der sehr guten [[http://wiki.openwrt.org/doc/start|OpenWRT Dokumentation]] und dem nicht minder guten [[http://wiki.openwrt.org/|OpenWRT Wiki]]. ===== Austausch der Firmware ===== ===== Netzwerkkonfiguration ===== ===== Installation weiterer Pakete ===== ===== FTP-Speichermedium Einbinden und Auswerfen ===== ===== FTP-Server Konfiguration ===== ===== Benutzer anlegen ===== #!/bin/sh #set -e #set -x [ $# -ne 1 ] && { echo "$0 user"; exit 1; } P_FILE="/etc/passwd" G_FILE="/etc/group" USER="$1" #GROUP="$2" #GROUP="pureftp" echo "Add user \"$USER\"" echo -n "Check if user or usergroup already exsist ..." grep -q -e "^$USER:" $G_FILE && echo "UserGroup already exsists!" && exit 1 grep -q -e "^$USER:" $P_FILE && echo "User already exists!" && exit 1 echo "OK" # look for next free UID ... for UID in $(seq 500 1000) do grep -q -e "$UID" $P_FILE || break done [ $GID -eq 1000 ] && exit 1 echo "New GID for user \"$USER\" is: \"$GID\"" echo "$USER:x:$GID:xxxxxxxxx,xxxxxx" >> $G_FILE echo "$USER:!:$UID:$GID:$USER:/home/$USER:/bin/ash" >> $P_FILE echo -n "add new user \"$USER\" to pure-ftp user group ... " TMP=`grep -i "pureftp" $G_FILE` LINE="$TMP,$USER" echo "Line: $LINE" sed '/pureftp/d' $G_FILE > tmp.txt echo "$LINE" >> tmp.txt mv tmp.txt $G_FILE echo "done" echo -n "create \"$USER\" home directory ..." mkdir -p "/home/$USER" chown $USER:$USER "/home/$USER" chmod 755 "/home/$USER" echo "done" echo -n "create \"$USER\" ftp directory ..." mkdir -p /ftp/$USER chown $USER:$USER "/ftp/$USER" chmod 770 "/ftp/$USER" echo "done" #echo "Give system user password for user: \"$USER\"..." #passwd $USER echo "Give pure-ftp password for user \"$USER\" to pure-ftpd db" pure-pw useradd $USER -u $USER -D /ftp echo "make db..." pure-pw mkdb ===== Debug Konsole ===== Sollte einmal etwas bei der Konfiguration schief gegangen sein bietet der MR3020 noch die Möglichkeit über eine serielle Konsole direkten Kontakt zum System aufzunehmen. Da mein Notebook über keine klassische RS232 Schnittstelle mehr verfügt habe ich auf ein TTL-232R-3V3 USB-Serial Konverter Kabel mit FTDI FT232R Chip z.B. von [[http://www.watterott.com/de/TTL-232R-USB-Serial-Converter-33V|Watterott]] für ca. 18 EUR zurückgegriffen. Mit diesem lässt sich sehr einfach eine Verbindung über die Debug-Schnittstelle zwischen PC und MR3020 herstellen. Die Pinbelegung findet man in der OpenWRT Dokumentation bzw. im OpenWRT Wiki. Bei dem o.a. Adapterkabel ist keine weitere Beschaltung durch Pull-up/down Widerstände o.ä. notwendig. Es funktionert "out of the box"\\ Die folgenden Bilder zeigen Besonderheiten die beim Öffnen des Gehäuses zu beachten sind ;-)\\ Die 4-polige Stiftleiste habe ich eingelöte - sie gehört nicht zum Lieferumfang. {{projekte:img_0870_.mod.jpg?450 |Gehäuse mit Markierungen für die Positionen der Kunststoffhaken}} {{ projekte:img_0874_.mod.jpg?420|geöffnetes Gehäuse mit Markierungen für die Positionen der Verklebung}}