# Links > Tutorials >  Openwrt How-to

## enaon

Προσπαθώντας να καλυφθεί αυτό 
http://www.awmn/forum/viewtopic.php?t=8618

αλλά και να δημιουργηθεί κίνητρο στους σκληροπυρηνικούς των hardware routers να μην δώσουν αλλά χρήματα για το awmn αγοράζοντας άδειες – μνήμες - πόρτες προκειμένου να ακολουθήσουν,

συντάχθηκε το παρακάτω tutorial.

http://www.drinet.net/openwrt
http://www.drinet.awmn/openwrt

Το troubleshooting κομμάτι δεν είναι έτοιμο, προβλήματα και παρατηρήσεις στο thread αυτό.

____________
Τροποποιήσεις:
*Αλλαγή στο firewall >Winner-paravoid
*Τυπογραφικό λαθος στο resolv.conf >js
*Διασαφήνιση για απενεργοποίηση του telnet>mojiro

----------


## nister

Θερμά, δημόσια, συγχαρητήρια και ευχαριστίες για την δουλειά σου.
Ξεκινώ να τα εφαρμόσω.
Φιλικά
Νίκος

- EDIT --------------
Προτείνω να αναγορευθεί σε *υπόμνημα*.

Σημείωση: Είμαι πολύ τσιγγούνης στα καλά λόγια

----------


## mojiro

πολυ καλος μπραβο

----------


## socrates

Ένα μπράβο αξίζει στον συγγραφέα αλλά και σε αυτούς που συνεισέφεραν για το tutorial!  ::

----------


## LimaH

Μπράβο !
Πρότυπη δουλειά.

----------


## ngia

Μία ομάδα μόνος του ο Σωτήρης.
Τώρα ξέρεις ότι σιωπηρά έχεις αναλάβει και όλη την υπόλοιπη - μελοντική τεκμηρίωση του wrt.

----------


## Achille

Μπράβο Σωτήρη, αν και θα προτιμούσα να το είχες γράψει στο wiki, για να μπορει να το διορθώσει-συμπληρώσει και άλλος κόσμος  :: 

Μια παρατηρησούλα, το firstboot τρέχει πλέον αυτόματα και δεν χρειάζεται να το τρέξουμε με το χέρι.

----------


## enaon

Η αρχική ιδέα ήταν όντως να μπει στο wiki. Μετά συνειδητοποίησα πόσο μεγάλο θα βγει, και το εγκατέλειψα το σχέδιο (και επιπλέον δεν εύρισκα τον paranoid να συνεννοηθούμε) . Αν κάποιος δεν βαριέται μπορεί να το κάνει copy-paste στο wiki.

Αλλιώς με ftp://10.2.13.131 web/webdri , έχεις πρόσβαση στο root του web page. Άλλαξε ότι θες και κάντο πάλι upload.

To βημα με το fistboot αν θές μην το βγάλεις, δεν κάνει κακό, και βοηθά να αντιληφθεί ο μη σχετικός τι τρέχει.




> Μία ομάδα μόνος του ο Σωτήρης.
> Τώρα ξέρεις ότι σιωπηρά έχεις αναλάβει και όλη την υπόλοιπη - μελοντική τεκμηρίωση του wrt.


χεχε, καλά, γιατί νομίζεις ότι έβαλα το όνομα σου στους συντελεστές, για να γεμίσει το κείμενο; Αποτελούσε μέρος της διαδικασίας της πάσας  :: , ώστε όταν κάποιος βρεθεί να πει, ‘εδώ λείπουν 20-30 σελίδες documentation', να μπορώ να πω, ‘οκ, θα το αναλάβει ο ngia  :: ’ 

Έκανε κάποιος καμία προσπάθεια να το ακολουθήσει;
Οποίος το κάνει, ας σημειώσει τα σημεία που φάνηκαν σκιερά, και ας τα κάνει post εδώ ρε παιδιά.

----------


## JS

Ωραία σελιδούλα !!! Με βοήθησε πολύ  :: 

Παρατήρηση:
Στο αρχείο resolv.conf δεν βάζουμε nameserver=IP αλλά nameserver IP

----------


## tripkaos

για να δουλεψει σαν access point νομιζω πρεπει να γινει εγκατασταση του πακετου

chillispot - a wireless access point controller
-----------------------συμπληρωμα
επισης στα wrt54 v1.1 η wifi ειναι η eth2
και εδω ειναι ολοι αυτοι που δινουν πακετα
με ενα copy-paste τους βαζετε στο vi /etc/ipkg.conf
αλλα ειναι μονο για οσους εχουν ινετ...

----------


## dti

Για να δουλέψει σαν hotspot είναι το chilli...
Πολύ χρήσιμο και το σχετικό forum.

----------


## mojiro

μια μικρη παρατηρηση για τον οδηγο χωρις να σημαινει
οτι ειναι απολυτα λαθος



```
/etc/init.d/S50services 

Γράφουμε 

vi /etc/init.d/S50services    ανοίγουμε το αρχείο στον editor.

a                                       μπαίνουμε στο insert mode

βάζουμε comment σε όλες της σειρές (εκτός του telnet αν δεν λειτούργησε το putty)

#/usr/sbin/telnetd -l /bin/login
#/usr/sbin/httpd -p 80 -h /www -r drinet bbr
#/usr/sbin/dnsmasq
```

ο putty (στην εκδοση που εχω) υποστηριζει telnet μια χαρα. μαλιστα
ειναι προτιμηταιος σε σχεση με το win-telnet στον vi.

----------


## enaon

Το telnet δεν παρέχει ασφάλεια στην μετάδοση των username, pass, ktlp. 
Για το λόγο αυτό, για να το κάνουν εμφανές, στο openwrt, δεν υπάρχει καν pass για το root account όταν μπαίνεις με telnet (μπορούμε να βάλουμε, αλλα..)

Το ssh από την άλλη, είναι ασφαλέστερο. Το putty είναι ένας client για τα win, ο οποίος μπορεί να συνδεθεί σε ssh, telnet και άλλους servers. Ένας ακόμα καλύτερος είναι ο secureCRT http://www.vandyke.com/ .

Ο telnet server τρέχει στο openwrt από την αρχή. 
Τον ssh server (dropbear) τον εγκαθιστούμε εμείς.

Αφού βάλουμε ssh server, κάνουμε restart, και συνδεόμαστε στο wrt με το putty, στον ssh server του wrt. 
ΑΝ δουλέψει (που θα δουλέψει, αλλά λέμε τώρα, γιατί το troubleshooting δεν το έχω γράψει και θα με βρίζατε), τότε απενεργοποιούμε τον μη ασφαλές telnet server.

Ο σκοπός μας είναι να συνδεόμαστε με το ssh πρωτόκολλο, και να απενεργοποιήσουμε το telnet, για την πρόσβαση στο root του μηχανήματος. Για ρυθμίσεις ospf, bgp κτλπ, θα χρησιμοποιούμε βέβαια το telnet της quagga, του προγράμματος δηλαδή και όχι του λειτουργικού..

----------


## m0bius

Θα παρακαλούσα εγώ με την σειρά μου αν δεν είναι δύσκολο στον συγγραφέα να προσθέσει το tutorial του στην wiki page για το WRT (την θυμάται κανείς άραγε;  :: )

----------


## socrates

> Θα παρακαλούσα εγώ με την σειρά μου αν δεν είναι δύσκολο στον συγγραφέα να προσθέσει το tutorial του στην wiki page για το WRT (την θυμάται κανείς άραγε; )





> Η αρχική ιδέα ήταν όντως να μπει στο wiki. Μετά συνειδητοποίησα πόσο μεγάλο θα βγει, και το εγκατέλειψα το σχέδιο (και επιπλέον δεν εύρισκα τον paranoid να συνεννοηθούμε) . Αν κάποιος δεν βαριέται μπορεί να το κάνει copy-paste στο wiki.


Βρε m0bius, ο enaon έχει ήδη απαντήσει, μην παραπονιόμαστε χωρίς λόγο!

----------


## m0bius

> Αρχική Δημοσίευση από m0bius
> 
> Θα παρακαλούσα εγώ με την σειρά μου αν δεν είναι δύσκολο στον συγγραφέα να προσθέσει το tutorial του στην wiki page για το WRT (την θυμάται κανείς άραγε; )
> 
> 
> 
> 
> 
> 
> ...


Κανένα παράπονο! Αλίμονο! Απλά δεν το παρατήρησα και είπα να το αναφέρω!  ::  My bad!  ::

----------


## enaon

Ανανεώθηκε το site ώστε να συμπεριλάβει ένα οδηγό για client-setup, troubleshooting, και άλλες πληροφορίες. 

Όποιος ξέρει ή θέλει να μάθει cmsimple και έχει όρεξη να ασχοληθεί με το wrt, ας μου στείλει pm για να του στείλω το pass.

----------


## playnet3

παιδιά μπορείτε να δείτε λίγο τα links.Δέν λειτουργούν.ευχαριστώ

----------


## nicolouris

Σ΄εμένα λειτουργούν...

----------


## playnet3

ναί όντως  ::

----------


## tripkaos

σημαντικη παραμετρος για επαναφορα firmware...



```
4. How do I reflash / How do I revert back to my previous firmware?

The simplest way is to set boot_wait and simply reboot and send the new firmware at bootup, see [WWW] boot_wait.

If you are trying to revert to the original (large) firmware and your tftp upload fails after a partial transfer, use "tcpdump" to monitor the connection. If you see "ERROR ENOSPACE transfer cancelled" you will need to write the firmware using the "mtd" command described next. Also, because you've already hosed your OpenWRT installation you must first reinstall OpenWRT firmware (using boot_wait, above).

OpenWRT uses the "mtd" command to write new firmware to flash memory. It expects a trx file. To make a trx from a ".bin" file, use an editor like khexedit (not hexedit?) which can delete characters at the beginning of a file. Mark and delete everything before "HDR0" (the first 32 characters?).

One easy way to cut 32 bytes from the start of the file is using the dd tool (on a linux machine, or even the openwrt box itself):

dd bs=16 skip=2 if=WRT54GV2_2.04.4_US_code.bin of=WRT54GV2_2.04.4_US_code.trx

Put this trx file on the WRT's RAM disk which is already mounted as /tmp. A simple way to get the file to your WRT without installing more packages is by using "wget" to pull it from your HTTP server. Now run "mtd" and supply it with the "write" command, the name of the file you've transferred, and the name of the file to create on the flash memory, "linux". It takes a few minutes to run mtd and it's likely to spit out a warning about insufficient memory when it starts. Don't interrupt it.

wget -O /tmp/linux.trx http://lairds.org/Kyler/Linux/OpenWR..._code_BETA.trx
mtd write /tmp/linux.trx linux && reboot
```

----------


## evripos

Παίδες δεν δουλεύει το link: http://www.drinet.net/openwrt 
Προσπαθώ εδώ και 2 μέρες και δεν μπορώ να δώ το site.
Τι παίζει....;;;

----------


## Vigor

Έχει δοκιμάσει κανείς να εγκαταστήσει τον lighttpd web server στο openwrt?


```
ipkg install lighttpd
```

Θα μπορούσαν να μπουν οι οδηγίες εγκατάστασης του συγκεκριμένου package (αφού φυσικά γίνουν verify πως κατευθύνουν προς την ορθή εγκατάσταση), στο wiki του openwrt?  ::  

Ευχαριστώ.

----------


## Vigor

Που ναι ο Βαγκνερ, που είναι ο Πουτσίνι, που είναι το opensource community...?  ::

----------


## NiKoSaEi

Noμιζω στα tutorials υπαρχει πολυ υλικο!
Το συγκεκριμενο πακετο απλα το κανεις εγκατασταση με το Ipkg και πετας ενα index.html στο /www και βλεπεις αν παιζει!

----------


## Vigor

> Noμιζω στα tutorials υπαρχει πολυ υλικο!


Αυτό εδώ εννοείς?
http://www.macsat.com/macsat/content/view/19/30/

Με ποιόν τρόπο όμως μπορείς να έχεις τον lighttpd να τρέχει ως daemon μετά από reboot?

Αυτό που προτείνει το tutorial σου, απλά προσθέτει ένα S80lighttpd στο /etc/init.d το οποίο παρέχει απλά την σύνταξη του lighttpd, δεν του περνάει κάποια ορίσματα  ::  
Για αυτό δεν ξεκινάει αυτόματα μετά από reboot υποπτεύομαι. Ποιός είναι ο σωστός τρόπος για να γίνει το παραπάνω.




> Now create the file /etc/S80lighttpd containing something like:
> 
> 
> ```
> #!/bin/sh
> 
> BINDIR=/usr/sbin/
> BIN=lighttpd
> DEFAULT=/etc/default/$BIN
> ...


Και εν κατακλείδι:

Tutorial στο Linux υπάρχουν πολλά. Να παρέχουν σωστές οδηγίες όμως κανένα!  :: 

ini*d*.*t* υπάρχουν πολλά, ini*t*.*d* όμως ένα!  ::   ::   ::

----------


## NiKoSaEi

Πιστευω οτι δεν χρειαζεται να του ορισεις στο init.d να ξεκινα..τα κανει μονο του το πακετο που του περνας

Ελπιζω να εχεις κανει εκτελεσιμο
chmod +x /etc/inid.t/S80lighttpd

----------


## Vigor

Tutorial δεν προτείνετε? Ακολούθησα (κατά γράμμα) τα παραπάνω, και στο reboot δεν ξεκινάει ο lighttpd.

και μάλιστα για την ακρίβεια έκανα 

```
chmod ugo+x /etc/init.d/S80lighttpd
```

Αφού δεν έχει όρισμα lighttpd *start*, το ξαναλέω...

Ακολούθησε το tutorial σου λέει μετά, βαριέμαι τώρα να σου γράφω...

----------


## acoul

> Που ναι ο Βαγκνερ, που είναι ο Πουτσίνι, που είναι το opensource community...?


άργησες αλλά ξύπνησες ... ίσως να τους πάτησε το τραίνο, ίσως να πούλησαν την ψυχή τους στην MicroSoft ... σου έλειψαν καρδιά μου;

----------


## Vigor

> Αρχική Δημοσίευση από Vigor
> 
> Που ναι ο Βαγκνερ, που είναι ο Πουτσίνι, που είναι το opensource community...? 
> 
> 
> άργησες αλλά ξύπνησες ... ίσως να τους πάτησε το τραίνο, ίσως να πούλησαν την ψυχή τους στην MicroSoft ... σου έλειψαν καρδιά μου;


Oh Lord of Off-topic, do you have something useful to add to this discussion?

----------


## m0bius

Άμα γράψεις /etc/init.d/S80lighttpd start τι κάνει;

----------


## acoul

> Αρχική Δημοσίευση από acoul
> 
> 
> 
> 
> 
> 
>  Αρχική Δημοσίευση από Vigor
> 
> ...


some cases are simply dead cases  ::

----------


## Vigor

> Άμα γράψεις /etc/init.d/S80lighttpd start τι κάνει;


Δεν έχω αυτή την στιγμή πρόσβαση, αλλά απ'ότι θυμάμαι αν το κάνεις manually start, βγάζει ένα error του τύπου πως η port 80 χρησιμοποιείται ήδη. 

Ωστόσο σε ps δεν υπάρχει ως running process το lighttpd.  ::

----------


## acoul

```
ipkg list_installed
```

Στο default install βάζει ένα δικό του httpd (webif) script based που κάνει conflict με το lighthttpd που θέλεις να βάλεις. πρέπει να βγάλεις το webif πρώτα και να βάλεις το lighthttpd αλλά θα χάσεις το functionality του webif ... στο openwrt.org site θα βρεις περισσότερα.

----------


## NiKoSaEi

E τοτε εχει ηδη μεσα το httpd δαιμονα...γι αυτο...ο οποιος κανει την ιδια δουλεια!Για html δεν χρειαζεσαι να βαλεις κατι αλλο  ::

----------


## alasondro

@Vigor

όλα αυτά που περιγράφεις γίνονται στο μηχάνημα που κοίταξα προχτές;

----------


## Vigor

Ναι Γιάννη πρόκειται για το μηχάνημα που συζητάγαμε προχτές.

Κάτι άλλαξα (δεν θυμάμαι τι) και τώρα δεν μου βγάζει πλέον το λάθος πως η πόρτα 80 χρησιμοποιείται ήδη,σε manual start/stop του lighttpd.

Ο httpd δεν τρέχει, for sure. Το ζήτημα είναι πως ο lighttpd σε reboot δεν ξεκινάει αυτόματα.

edit: Θυμήθηκα τι άλλαξα:

Μετονόμασα το S80lighttpd σε S48lighttpd ώστε να ξεκινάει με το rcS script κατά το boot πριν (τα διάφορα scripts
στο /etc/init.d ξεκινούν κατ'αλφαβητική σειρά) από άλλα scripts τα οποία πιθανώς εξαρτώνται από την ύπαρξη του lighttpd server.

----------


## m0bius

Αν το S80 αρχείο σου ξεκινάει τον daemon με start τότε φταίει το rc.start ή όπως λένε το αρχικό init script που ξεκινάει τα άλλα. Αν δεν το ξεκινάει φταίει το S80 αρχείο σου  ::

----------


## Vigor

Το /etc/init.d/rcS αρχείο:


```
#!/bin/sh

# Start all init scripts in /etc/init.d
# executing them in numerical order.
#
for i in /etc/init.d/S??* ;do

     # Ignore dangling symlinks (if any).
     [ ! -f "$i" ] && continue

     case "$i" in
        *.sh)
            # Source shell script for speed.
            (
                trap - INT QUIT TSTP
                set start
                . $i
            )
            ;;
        *)
            # No sh extension, so fork subprocess.
            $i start
            ;;
    esac
done
```

και το /etc/init.d/S48lighttpd:


```
#!/bin/sh

BIN=lighttpd
DEFAULT=/etc/default/$BIN
LOG_D=/var/log/$BIN
RUN_D=/var/run
PID_F=$RUN_D/$BIN.pid
[ -f $DEFAULT ] && . $DEFAULT

case $1 in
 start)
  mkdir -p $LOG_D
  mkdir -p $RUN_D
  $BIN $OPTIONS
  ;;
 stop)
  [ -f $PID_F ] && kill $(cat $PID_F)
  ;;
 *)
  echo "usage: $0 (start|stop)"
  exit 1
esac

exit $?
```

Το περίεργο είναι πως κατά το *S48lighttpd stop* δεν υπάρχει lighttpd.pid στο /var/run ενόσω τρέχει το lighttpd (το οποίο έγινε started manually)


```
[email protected]:/etc/init.d# ./S48lighttpd start
2007-06-23 09:26:00: (log.c.75) server started
[email protected]:/etc/init.d#
[email protected]:/etc/init.d# ls -la /var/run
drwxr-xr-x    1 root     root            0 Jan  1  2000 .
drwxr-xr-x    1 root     root            0 Jan  1  2000 ..
-rw-r--r--    1 root     root            4 Jan  1  2000 dropbear.pid
drwxr-xr-x    1 quagga   quagga          0 Jan  1  2000 quagga
```

  ::

----------


## Vigor

Όποιος επαΐων θέλει να ρίξει μια ματιά, ας μου στείλει ένα PM για να του δώσω το password του router.

----------


## m0bius

Δώσε μου να το δώ μόλις προλάβω  ::

----------


## Vigor

Thanks to *m0bius*, ο lighttpd server πλέον σηκώνεται αυτόματα, ακόμα και μετά από restart, όπως επίσης μπορεί να γίνει και manually start/stop.

Η αιτία του προβλήματος της μη-ύπαρξης του /var/run/lighttpd.pid PID file ήταν πως δεν είχε γίνει ο απαραίτητος ορισμός του server.pid-file μέσα στο /etc/lighttpd.conf:


```
## to help the rc.scripts
#server.pid-file            = "/var/run/lighttpd.pid"
```

Το οποίο entry είναι by default commented out.

Εδώ κολλάει αυτό που είχα αναφέρει εξαρχής:

Yπάρχει κάποιο tutorial/wiki που να παρέχει ορθές και πλήρεις πληροφορίες που αφορούν την εγκατάσταση του lighttpd: *OXI*!

Ευχαριστώ επίσης πάρα πολύ και τον *alasondro* που αφιέρωσε κι αυτός τον ελεύθερό του χρόνο για να κάνει troubleshoot την εγκατάσταση του lighttpd (η οποία δυστυχώς ήταν ημιτελής).

Αυτός ήταν και ο λόγος που έκανα το post μου στην Θεματική Ενότητα που αφορούσε το openwrt Tutorial/WiKi ώστε αν μέσα από αυτή την προσπάθεια βγει κάτι, τότε αυτό να διατυπωθεί
σωστά και να βοηθήσει και όλους όσους μελλοντικά χρειαστούν να κάνουν κάτι παρόμοιο. Όπως δείχνει τελικά τα "default" tutorial χωλαίνουν σε αρκετά σημεία.

_Κι όσο ζω μαθαίνω.._

----------


## Acinonyx

Μόλις είδα το thread!

Αρχικα, γιατί θες να χρησιμοποιήσεις τον lighthttpd? Το openwrt έχει τον δικό του httpd από το busybox που τρέχει από default.

----------


## trendy

Συνήθως όταν κάτι τέτοιο είναι σε σχόλια στο conf file, είναι και η default επιλογή που μπαίνει. Μάλλον έτυχες στην περίπτωση.

----------


## Acinonyx

Επίσης, αν χρησιμοποίησες κάποιο build από το http://www.openwrt.awmn και βρήκες πρόβλημα στον lighthttpd ή σε οποιοδήποτε άλλο πακέτο, κάνε ticket μήπως το φτιάξουμε.

----------


## Vigor

> Μόλις είδα το thread!
> 
> Αρχικα, γιατί θες να χρησιμοποιήσεις τον lighthttpd? Το openwrt έχει τον δικό του httpd από το busybox που τρέχει από default.


Και επαναλαμβάνω πως με ps δεν φαίνεται να τρέχει ο httpd. Δεν έχω χρησιμοποιήσει κάποιο build από το http://www.openwrt.awmn,
μιας και η πρώτη επιτυχής προσπάθεια εγκατάστασης κάποιου build του openwrt στην συγκεκριμένη συσκευή χρονολογείται στον Ιανουάριο του 2005.

Έκτοτε μόνο ipkg upgrade έχω κάνει από τα official (Ιντερνετικά) repository του whiterussian openwrt.

----------


## Acinonyx

> Αρχική Δημοσίευση από Acinonyx
> 
> Μόλις είδα το thread!
> 
> Αρχικα, γιατί θες να χρησιμοποιήσεις τον lighthttpd? Το openwrt έχει τον δικό του httpd από το busybox που τρέχει από default.
> 
> 
> Και επαναλαμβάνω πως με ps δεν φαίνεται να τρέχει ο httpd. Δεν έχω χρησιμοποιήσει κάποιο build από το http://www.openwrt.awmn,
> μιας και η πρώτη επιτυχής προσπάθεια εγκατάστασης κάποιου build του openwrt στην συγκεκριμένη συσκευή χρονολογείται στον Ιανουάριο του 2005.
> ...


Νόμιζα ότι ήταν νέα εγκατάσταση.  ::

----------

