# Links > Tutorials >  WRT54GS w-router OpenWrt configuration for awmn bb nodes

## nister

*Εισαγωγή*
Έχοντας σκοπό να δημιουργήσω backbone κόμβο στο awmn και εκτιμώντας τα πλεονεκτήματα του LinkSys WRT54G(S) wireless router τα οποία αναφέρονται στο θέμα *Wrt54g vs PC router* http://www.awmn/forum/viewtopic.php?t=7834 και *Linuxoκουτο VS Linksys WRT54G για client* http://www.awmn.gr/forum/viewtopic.php?t=7692 προμηθεύτηκα 2 συσκευές WRT54GS με την ομαδική του JS (ευχαριστίες).

Ξεκινώντας το σετάρισμα του, βρέθηκα αντιμέτωπος με μία σειρά από firmwares τα οποία δεν φαίνεται ότι μπορούν να κάνουν το WRT54GS να ανταποκριθεί πλήρως στον ρόλο της υποκατάστασης των linux/windows pc-router ή cisco.
Το γνωστικό μου υπόβαθρο είναι χρήστης των windows με ελάχιστες γνώσεις επιβίωσης σε περιβάλλον linux.
Περίμενα ένα χρονικό διάστημα μήπως και υπάρξει κάποιο howto από έμπειρους της κοινότητας.
Εκτός από αναφορές σε προβλήματα και γενικόλογες συστάσεις του τύπου «βάλτε το xxx firmware και θα με θυμηθείτε» http://www.awmn.gr/forum/viewtopic.php?t=5181&start=14 http://www.awmn.gr/forum/viewtopic.php?t=8289&start=139 (υπερβολή) δεν βρήκα κάτι που να με καλύπτει.
Έτσι αποφάσισα να σηκώσω τα μανίκια και να ασχοληθώ με το configuration ο ίδιος.
Στο θέμα αυτό έχω σκοπό να καταγράψω την δική μου εμπειρία στην προσπάθεια σεταρίσματος ενός WRT router για το awmn.
Δεν υπάρχει έτοιμη γνώση. Το θέμα αυτό δεν αποτελεί συνεπώς tutorial. Φιλοδοξεί και ελπίζει όμως, με την συνεισφορά άλλων ενδιαφερομένων, να γίνει στο τέλος τέτοιο.
Θα ήμουνα ευτυχισμένος εάν βρισκόταν κάποιος και να «έκλεινε» το θέμα αυτό με ένα πλήρες και αναλυτικό βήμα-βήμα configuration του WRT με οποιοδήποτε firmware. 
--- EDIT -----------
Τελικά οι προσευχές μου εισακούστηκαν και βρέθηκε αυτός ο καλός άνθρωπος: *Openwrt How-to* 
http://www.awmn.gr/forum/viewtopic.php?t=8670 . Λέγεται *enaon*. Θερμά δημόσια συγχαρητήρια και ευχαριστίες.
---------------------
Σκοπός μου, σε πρώτη φάση, δεν είναι να εξευρευνήσω της δυνατότητες της συσκευής ή του linux, αλλά να συνδεθώ στο awmn σαν bb κόμβος.
Για όσους δεν κατάλαβαν, τα παραπάνω αποτελούν *disclaimer* για τις ανακρίβειες και τα χοντρά λάθη που θα ακολουθήσουν. Τα σημεία στα οποία θα έχω έντονες αμφιβολίες για τα γραφόμενά μου θα επισημαίνονται με  ::  . Παρακαλούνται όσοι μπορούν να συνεισφέρουν γνώση να το κάνουν.

*Σκοπός* του project: Πλήρες, αναλυτικό, κατανοητό από μη ειδικούς howto για το διαμόρφωση (configuration) και την διαχείριση (administration) του WRT54G(S) προκειμένου να παρέχει τις *βασικές υπηρεσίες* ενός *awmn router*:
1. Λειτουργία *AP* για backbone σύνδεση με άλλον κόμβο
2. Δρομολόγηση (*routing*) του κόμβου με υποστήριξη των πρωτοκόλλων *ripv2*, *ospf*, *bgp*.
3. Υπηρεσίες *dns* και *dhcp*.
4. Διασύνδεση με το τοπικό δίκτυο και με άλλες wireless συσκευές διαφόρων τύπων και λειτουργιών (AP, client, adhoc) μέσω των 4+1 ethernet ports, ώστε να γίνεται δρομολόγηση.
*Επιπρόσθετες υπηρεσίες* σε δεύτερη προτεραιότητα:
1. Διαγνωστικές υπηρεσίες (sniffing, snmp)
2. menu ή web-based configuration - administration
3. Υποστήριξη ADSL σύνδεσης για διανομή

*Στρατηγική επιλογή*: Βασικό firmware *OpenWrt* http://openwrt.org/
Κατά την εξέταση των δυνατοτήτων δεύτερης γεννιάς firmwares του WRT (sveasoft) είδα ότι υπάρχει υποστήριξη του πρωτοκόλου OSPF που χρησιμοποιείται στο awmn στην αρχή με το bird (satori) και στην συνέχεια με το quagga (alchemy).
Με την σταδιακή μετακίνηση του awmn σε πρωτόκολλο δρομολόγησης *bgp* μου δημιουργήθηκε το ερώτημα εάν τελικά το WRT μπορεί να τα καταφέρει.
Ελπίζω και εκτιμώ ότι σε νεώτερες εκδόσεις των firmwares της sveasoft θα υπάρξει υποστήριξη και του bgp.
Μέχρι τότε, όπως διαπίσωσα, υπάρχει έτοιμο πακέτο για εγκατάσταση στο OpenWrt. Το γεγονός αυτό και η ευελιξία που έχει στην εγκατάσταση συγκεκριμένων πακέτων, αποτέλεσε βασικό κριτήριο στην επιλογή του OpenWrt σαν βάση ανάπτυξης ενός awmn router.

Θέματα που θα με απασχολήσουν στην συνέχεια είναι:
1. Πηγές πληροφοριών (links) που αφορούν την συσκευή και το firmware
2. Εγκατάσταση και διαμόρφωση των απαραίτητων πακέτων
3. Εντολές διαχείρισης και παράμετροι (linux shell command prompt) του router για αρχάριους (όπως εγώ)

Έχω εγκαταστήσει το firmware, και το πρώτο πακέτο ntp client, το οποίο δούλεψε και ρύθμισε την ημερομηνία/ώρα του WRT από ένα ntp server που σήκωσα στα windows.
Ακολουθεί η περιγραφή των βημάτων που ακολούθησα σε επόμενα posts.

*Σημείωση*: Τα posts που αφορούν διάφορα θέματα θα τροποποιούνται και θα συμπληρώνονται συνεχώς αντί να προστίθενται νέα.

----------


## nister

*Γρήγορο ξεκίνημα - Quick start*

Μελετάμε την διαθέσιμη τεκμηρίωση User Guide, Support page, WIKI και FAQ από το επίσημο site του OpenWrt http://openwrt.org/
Επίσης το wiki του awmn http://www.awmn.gr/moin/LinksysWRT54g και του seattlewireless http://seattlewireless.net/index.cgi/LinksysWrt54g

Από το directory http://openwrt.org/downloads/snapshots/ κατεβάζουμε την πιο πρόσφατο binary πακέτο του firmware π.χ. http://openwrt.org/downloads/snapshots/ ... 04.tar.bz2 (περίπου 7.6 ΜΒ) και αποσυμπιέζουμε τα αρχεία σε ένα νέο directory π.χ. C:\OpenWrt
(Υπόδειξη: για την αποσυμπίεση χρησιμοποιήθηκε το δωρεάν προγραμματάκι 7-Zip http://www.7-zip.org )
Στο directory C:\OpenWrt υπάρχουν τα αρχεία:


```
04/09/2004  11:17         1.516.544 openwrt-g-code.bin
04/09/2004  11:17         1.516.544 openwrt-gs-code.bin
04/09/2004  11:16           589.205 openwrt-kmodules.tar.bz2
04/09/2004  11:17         1.515.520 openwrt-linux.trx
07/09/2004  23:30    <DIR>          packages
|   04/09/2004  11:21            55.568 chillispot_0.96-1_mipsel.ipk
|   04/09/2004  11:21            18.362 dhcp-fwd_0.7-1_mipsel.ipk
|   04/09/2004  11:21           128.263 dropbear_0.44test3_mipsel.ipk
|   04/09/2004  11:22            14.173 fprobe_1.0.5-1_mipsel.ipk
|   04/09/2004  11:21            36.225 ip6tables_1.2.9-1_mipsel.ipk
|   04/09/2004  11:17            41.819 ip_2.0_mipsel.ipk
|   04/09/2004  11:21            23.380 kmod-ipt6_2.4.20-1_mipsel.ipk
|   04/09/2004  11:21           102.325 kmod-ipv6_2.4.20-1_mipsel.ipk
|   04/09/2004  11:21           124.239 kmod-nfs_2.4.20-1_mipsel.ipk
|   04/09/2004  11:21             7.000 kmod-ppp-async_2.4.20-1_mipsel.ipk
|   04/09/2004  11:21            13.336 kmod-ppp-mppe-mppc_2.4.20-1_mipsel.ipk
|   04/09/2004  11:17            63.132 kmod-sched_2.4.20-1_mipsel.ipk
|   04/09/2004  11:22             4.731 kmod-tun_2.4.20-1_mipsel.ipk
|   04/09/2004  11:22            35.237 libmatrixssl_1.2.1-1_mipsel.ipk
|   04/09/2004  11:22            63.738 libpcap_0.8.3-1_mipsel.ipk
|   04/09/2004  11:22            21.118 libpthread_0.9.26-1_mipsel.ipk
|   04/09/2004  11:19           571.364 libssl_0.9.7d-1_mipsel.ipk
|   04/09/2004  11:22             9.075 ntpclient_2003.194-1_mipsel.ipk
|   04/09/2004  11:17            76.678 oidentd_2.0.7_mipsel.ipk
|   04/09/2004  11:20           199.270 openssh-client-extras_3.8p1-1_mipsel.ipk
|   04/09/2004  11:20           133.674 openssh-client_3.8p1-1_mipsel.ipk
|   04/09/2004  11:20           178.342 openssh-server_3.8p1-1_mipsel.ipk
|   04/09/2004  11:20            33.622 openssh-sftp-client_3.8p1-1_mipsel.ipk
|   04/09/2004  11:20            14.944 openssh-sftp-server_3.8p1-1_mipsel.ipk
|   04/09/2004  11:22            11.243 Packages
|   04/09/2004  11:22             8.835 Packages.filelist
|   04/09/2004  11:21            28.737 ppp-radius-plugin_2.4.2-1_mipsel.ipk
|   04/09/2004  11:20            54.567 pppoecd_1.0_mipsel.ipk
|   04/09/2004  11:21           105.668 ppp_2.4.2-1_mipsel.ipk
|   04/09/2004  11:22            26.656 pptp-client_1.5.0-1_mipsel.ipk
|   04/09/2004  11:22            18.540 pptp-server_1.1.3-1_mipsel.ipk
|   04/09/2004  11:22            31.045 radvd_0.7.2-1_mipsel.ipk
|   04/09/2004  11:22            75.766 strace_4.5.6-1_mipsel.ipk
|   04/09/2004  11:17            43.128 tc_2.0_mipsel.ipk
|   04/09/2004  11:22            47.873 vsftpd_1.2.2-1_mipsel.ipk
|   04/09/2004  11:17             2.669 wondershaper_1.1a_mipsel.ipk
|   04/09/2004  11:17            24.890 zlib_1.1.4-1_mipsel.ipk
```

Εάν διαθέτουμε WRT54G πρέπει να εγκαταστήσουμε το βασικό αρχείο firmware *openwrt-g-code.bin* ενώ στο WRT54G*S* πρέπει να εγκαταστήσουμε το βασικό αρχείο firmware *openwrt-gs-code.bin* (τα οποία συμπτωματικά (?) έχουν το ίδιο μέγεθος).
Εγώ διαθέτω WRT54GS v2.0 και συνεπώς οι οδηγίες είναι δοκιμασμένες σε αυτού του τύπου την συσκευή.
Στο pc φροντίζουμε το tcp/ip πρωτόκολλο του ethernet να έχει subnet 192.168.1.0 με mask 255.255.255.0
Εν ανάγκει το προσθέτουμε σαν δεύτερο subnet στο οποίο ακούει η ethernet κάρτα μας Local Area Connection -> Internet Protocol (TCP/IP) Properties -> Advanced -> IP Settings -> Add... -> Ip Address 192.168.1._7_ Subnet Mask: 255.255.255.0
Σε όλες τις οδηγίες τονίζεται ότι πρέπει να είναι ενεργοποιημένο το χαρακτηριστικό *boot_wait* του WRT, ώστε να είναι δυνατή η επαναφορά του μετά από κάποιο πρόβλημα και παρέχονται συγκεκριμένες εντολές για τον σκοπό αυτό.
Εγώ απλώς ενεργοποίησα αυτό το χαρακτηριστικό από το web interface του alchemy και δεν έχω αντιμετωπίσει μέχρι στιγμής πρόβλημα.
Από web interface του firmware, που είναι ήδη εγκατεστημένο στο WRT, προχωρούμε σε εγκατάσταση του νέου firmware OpenWrt.
...
Κάνουμε *telnet* στην default ip *192.168.1.1* του WRT και, εάν όλα έχουν πάει καλά, μας υποδέχεται το logo του OpenWrt


```
BusyBox v1.00-rc2 (2004.09.04-08:16+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M

@OpenWrt:/#
```

Ήδη είμαστε συνδεδεμένοι σε τερματικό. Δεν χρειάζεται user name και password.
Η *πρώτη εντολή* που πρέπει να δώσουμε, προκειμένου να δημιουργηθεί jffs2 file system, είναι *firstboot
Δεν χρειάζεται* να ξαναδώσουμε αυτή την εντολή την επόμενη φορά που θα ξανασυνδεθούμε.
Στο command prompt του linux μπορούμε να δώσουμε τις πρώτες εντολές μας: pwd ls cd... για να αρχίσουμε να εξοικιωνόμαστε με το καινούργιο (!) περιβάλλον μας.

Μέχρι την φάση αυτή δεν αντιμετώπισα προβλήματα εγκατάστασης. Σε επόμενο post αναφέρονται κάποιες δοκιμές μεθόδων ανάκαμψης ή επαναφοράς σε προηγούμενο firmware. Αναζητήστε οδηγίες στα fora του awmn και του OpenWrt.
Το μόνο πρόβλημα φαίνεται να είναι ότι, μερικές φορές όταν ανάβω την συσκευή, το power led αναβοσβήνει και δεν μπορώ να συνδεθώ. Προφανώς δεν ολοκληρώνεται σωστά η εκκίνηση (boot) του WRT. Αλλά αυτό με κλείσιμο και άνοιγμα της συσκευής ξεπερνιέται.

Τώρα που πέσατε στην θάλασσα πρέπει να κολυμπήσετε (διάβασμα λοιπόν) ή να περιμένετε το επόμενο επεισόδειο του σείριαλ.

Προσεχώς εγκατάσταση μικροπακέτων, «σπάσιμο» της γέφυρας, στατική δρομολόγηση.

----------


## pan-pan

Πολυ καλη δουλεια.Αληθεια που ακριβως μενεις στην Πετρουπολη??
Εχεις στησει ap?

----------


## nodas

ωραιος  ::  αντε να τελιωσει καποια στιγμη αυτο που αρχισες να μας λύσεις τα χερια μπας και βαλουμε και μεις τα στραβάδια (του linux) καποια στιγμη το openwrt  ::

----------


## nister

> Πολυ καλη δουλεια.Αληθεια που ακριβως μενεις στην Πετρουπολη??
> Εχεις στησει ap?


Αυτό δεν λέγεται καλή δουλειά αλλά καλές *προθέσεις*.
Παρακαλούνται οι επισκέπτες να μην γράφουν καλά λόγια και οι moderators να διαγράφουν κάθε καλή κουβέντα από αυτό το θέμα. It's my party...  :: 

Όσον αφορά την περιοχή μου, μένω χαμηλά στην Πετρούπολη σύνορα με Ίλιον. Αν και έχει εξαφανισθεί η καταχώρησή μου από το nodedb, άν κάνεις κλικ στην διεύθυνση που φαίνεται στην υπογραφή μου, στην δεύτερη εικόνα της σελίδας του nodedb με τα links, φαίνεται η θέση μου αριστερά μεταξύ nikpet και ataraxos. Εικόνες από τον κόμβο στο θέμα http://www.awmn.gr/forum/viewtopic.php?t=1832&start=226
Δυστυχώς, λόγω χαμηλού ύψους σπιτιού δεν έχω ορατότητα προς κοντινές περιοχές που βρίσκονται χαμηλότερα: Καματερό, Ίλιον, Αγ. Ανάργυροι και Περιστέρι.
Υπάρχει ένα WRT54GS με SSID awmn-2218-bblink-test1 με πιάτο 80άρι και οριζόντια πόλωση που σκοπεύει στον γάμο του καραγκιόζη. Όποτε θέλεις μπορεί να σε σημαδέψει.




> στραβάδια (του linux)


Έχω περάσει την μισή ζωή μου σε ένα pc και είμαι ακόμη στραβάδι  :: 
Μόλις μαθαίνω κάτι, αλλάζει η τεχνολογία και φτου και πάλι από την αρχή.

----------


## nister

*Γνωριμία με το OpenWrt*
Ξεκινάω το θέμα βασικών γνώσεων πάνω στο OpenWrt και θα συμπληρωθεί στην συνέχεια

OpenWrt WiKi: *Editing Rom Files* http://openwrt.org/EditingRomFiles

--- *Telnet - Login* --------------------------------
Το βασικό firmware του OpenWrt διαθέτει ένα στοιχειώδες τερματικό για telnet σύνδεση με το οποίο συνδέεσαι κατευθείαν χωρίς να χρειασθεί να δώσεις user name και password.
Για να ασφαλίσουμε την σύνδεση στο OpenWrt χρειάζεται η εγκατάσταση του πακέτου *dropbear*.
Εγκατάσταση σύμφωνα με το *Openwrt How-to* http://www.awmn.gr/forum/viewtopic.php?t=8670
Οδηγίες λειτουργίας στο *Wrt54g ssh & putty* http://www.awmn.gr/forum/viewtopic.php?t=7824

--- *Εγκατάσταση πακέτων* --------------------------
Η εγκατάσταση μπορεί να γίνει με το *ipkg* απευθείας από το internet ή το awmn.
Προτίμησα να αντιγράψω τα διαθέσιμα πακέτα στο pc μου και να σηκώσω web server, ώστε η εγκατάσταση να γίνεται τοπικά, ταχύτερα και με μεγαλύτερη αξιοπιστία.
Σαν web server συνιστώ τον μικρό *TinyWeb* http://www.ritlabs.com/tinyweb/ , ο οποίος δεν μπορεί να κάνει browsing των directories.
Καλύτερα τον *Uniform Server* http://miniserver.sourceforge.net/ . Ο Uniform Server είναι μία compact έκδοση του apache με php και perl και σηκώνει προαιρετικά mysql. Ξεκινά, χωρίς κανένα configuration, εκτελώντας ένα start.vbs, δημιουργώντας ένα νέο εικονικό δίσκο w: στα windows. Αρκεί στο root directory του apache w:\www να δημιουργήσουμε ένα directory w:\www\ipkg στο οποίο θα αντιγράψουμε όλα τα προς εγκατάσταση πακέτα. O Uniform server κλείνει απλά μέσα από το web interface που διαθέτει, καταργώντας τον εικονικό δίσκο w:

Τα πρώτα πακέτα που εγκατέστησα για την λειτουργία router είναι:


```
[email protected]:/# ipkg upgrade
Package admcfg (0.2) installed in root is up to date
Package quagga-ospfd (0.96.4) installed in root is up to date
Package dropbear (0.44test3) installed in root is up to date
Package wl (1.0) installed in root is up to date
Package kismet (2004.03) installed in root is up to date
Package tcpdump (3.7.2) installed in root is up to date
Package quagga-zebra (0.96.4) installed in root is up to date
Package quagga-bgpd (0.96.4) installed in root is up to date
Package netsnmp-server (2004062500) installed in root is up to date
Package ntpclient (2003.194-1) installed in root is up to date
Package ip (2.0) installed in root is up to date
```

----------


## nister

Διαδικασίες ανάκαμψης - επαναφοράς του WRT με OpenWrt.

Links:
awmn forum: *Wrt54g openwrt removal* http://www.awmn.gr/forum/viewtopic.php?t=7917
OpenWrt Faq: *How do I reflash / How do I revert back to my previous firmware?* http://openwrt.org/OpenWrtFaq#head-5406 ... 03495ab277
OpenWrt: *boot_wait* http://www.openwrt.org/temp/00-WARNING.TXT
Void Main's WRT54G Tips - *Linksys WRT54G Revival!* http://voidmain.is-a-geek.net/redhat/wr ... vival.html
awmn forum - tutorials - *Openwrt How-to* 
http://www.awmn.gr/forum/viewtopic.php?t=8670

Στις πληροφορίες επαναφοράς του WRT που κυκλοφορούν αναφέρεται ένα *boot_wait* και ένα *tftp*.
Ενεργοποιώντας το boot_wait και προσπαθώντας να κάνω upload το firmware openwrt-gs-code.bin δεν μπορούσε ο tftp client στα windows να συνδεθεί με το OpenWrt.
Ψάχνοντας λίγο τα αρχεία που είναι εγκατεστημένα στο OpenWrt δεν βρήκα κανένα tftp server (δαίμονα) εγκατεστημένο  :: 
Συνεπώς υποθέτω ότι τα περί tftp ισχύουν για άλλες εκδόσεις firmware (LinkSys, SveaSoft). Πιθανόν να πρέπει να εγκατασταθεί κάποιο πακέτο tftp στο OpenWrt για να δουλέψει αυτό. Δεν ξέρω. Πρέπει να το κοιτάξω.



> Εάν ενεργοποιήσεις το boot_wait τότε το linksys όταν το ανοίγεις πέρνει την διεύθυνση 192.168.1.1 και περιμένει να του κάνεις tftp για 5 δευτερόλεπτα. Αυτή την πληροφορία τηνέχει αποθηκευμένη στην nvram, οπότε υπάρχει σε όλα τα firmwares και είναι hardware λύση. Δεν χρειάζεσαι δαίμονα για αυτό. Δαίμονα χρειάζεσαι μόνο να θες να του κάνεις tftp όποτε εσύ γουστάρεις χωρίς να χρειαστεί επανεκίνση.


Επιμένω ότι σε εμένα δεν δούλεψε. Χρησιμοποίησα 2 διαφορετικούς tftp clients για windows. Τι λάθος έκανα? Θα το ξανακοιτάξω.
-- Σχετικό απόσπασμα από το http://openwrt.org/logs/wrt54g.log.20040827 


> .......
> [11:28] <Blackvel> i had some problems with TFTP boot_wait too
> [11:28] <Blackvel> but i could fix it
> [11:28] <fdfs> what did you do to fix it?
> [11:28] <Blackvel> fdfs: dont ask me too much with that 
> [11:28] <fdfs> hahah
> [11:28] <fdfs> ok
> [11:28] <Blackvel> first there is in tftp client some parameter
> [11:28] <Blackvel> which you have to set to 1
> ...


OpenWrt WiKi - Getting Started Tips - *Using tftp* http://openwrt.org/GettingStartedTips
ΠΡΟΣΟΧΗ: όταν ξεκινάει το WRT έχει πάντα διεύθυνση *192.168.1.1* ανεξάρτητα με ποια διεύθυνση είχαμε ορίσει προηγουμένως. Συνεπώς η διαδικασία tftp flashing θα γίνει υποχρεωτικά σε αυτή την διεύθυνση.

OpenWrt User Guide - *Troubleshooting tftp errors* http://openwrt.org/userguide.html



> Code pattern is incorrect : You tried to send the wrong firmware 
> Invalid password : The router is nolonger in boot_wait, you've missed the boot_wait tftp server 
> Other issues : Check your firewall settings 
> Try a different copy of the tftp client 
> Try connnecting the router directly to the computer


Στο MiniHowtos του OpenWrt Wiki http://www.openwrt.org/MiniHowtos αναφέρεται:



> 4.2 boot_wait - τι είναι και πως λειτουργεί
> Οι πληροφορίες έχουν επιβεβαιωθεί με ένα WRT54G 1.0. Υπάρχουν μικρές αλλαγές 
> με κάθε έκδοση του hardware (1.0 vs. 1.1 vs. 2.0 vs. GS), αλλά γενικά οι αρχές παραμένουν οι ίδιες, όπως και το τελικό αποτέλεσμα.
> Για να κατανοήσετε πραγματικά το boot_wait, πρέπει να κατανοήσετε την διαδικασία εκκίνησης (boot) στο WRT, και πως λειτουργούν οι πίνακες ARP (ARP tables).
> When the boot loader begins, it starts by validating the nvram data (configuration data that is stored in Flash). If this data is valid, it checks for the existence of the variable boot_wait. If boot_wait is set to on (nvram set boot_wait=on), the loader will go into a state that we call 'the boot wait state' on #wrt54g (IRC). This state is also occasionally referred to as PMON. 
> 
> The WRT will remain in this state for 3-5 seconds before proceeding with loading the kernel. The next step of the bootstrap is to do a CRC check of the kernel and root file-system. If the CRC check fails, the router falls back to PMON and stays there. If the CRC check passes, the router loads the kernel from flash and executes it. 
> 
> During the boot_wait state, the loader will be accepting Ethernet packets on eth0 (which is normally configured to be the 4 port switch). It does not contain a fully-working IP stack, and is only looking for 2 types of packets: ARP broadcasts and incoming TFTP attempts. 
> ...


Στο Faq του OpenWrt Wiki http://www.openwrt.org/OpenWrtFaq αναφέρεται:



> 11 How do I recover / boot failsafe?If you should screw up jffs2 or the network settings in NVRAM you can use OpenWRT's failsafe mode to recover. As of the 200405091 build the DMZ led will light up durring boot, hold down the reset button for 1-2 seconds as the DMZ led lights up to boot into failsafe. While in failsafe OpenWRT will not mount the jffs2 partition and will instead run entirely from squashfs and the lan will be forced to 192.168.1.1 with a mac address of 00:0B:AD:0AD:00 . 
> The jffs2 filesystem can be unlocked and mounted as follows: 
> 
> mtd unlock mtd4 
> mount -t jffs2 /dev/mtdblock/4 /jffs 
> 
> V2.0, WRT54GS: Holding down the reset button for 5 seconds during powerup will erase all nvram variables and restore defaults.


Για το OpenWrt η απάντηση είναι στο παραπάνω Faq. Παραθέτω μεταφρασμένες τις οδηγίες.



> Το OpenWRT χρησιμοποιεί την εντολή "mtd" για να γράψει το νέο firmware στην flash memory. Περιμένει ένα trx αρχείο (Σημείωση του μεταφραστή: Το trx αρχείο το οποίο εμπεριέχεται στο snapshot από το οποίο έγινε η εγκατάσταση του βασικού πακέτου αναφέρεται στο UserGuide του OpenWrt είναι για άλλες μάρκες/μοντέλα (models/brands) και όχι (?) για το WRT). Για να δημιουργήσετε ένα αρχείο trx από ένα ".bin" αρχείο, χρησιμοποιήστε ένα editor όπως το khexedit (όχι hexedit?) το οποίο να μπορεί να διαγράφει χαρακτήρες στην αρχή του αρχείου. Επιλέξτε και διαγράψτε τους όλους πριν το "HDR0" (οι πρώτοι 32 χαρακτήρες?). 
> 
> Βάλτε αυτό το trx αρχείο στο RAM disk του WRT η οποία είναι ήδη προσαρτημένη (mounted) σαν /tmp. Ένας απλός τρόπος για να μεταφέρετε το αρχείο στο WRT χωρίς να εγκαταστήσετε παραπάνω πακέτα είναι χρησιμοποιώντας το "wget" για να πάρετε το αρχείο από τον HTTP server σας. Τώρα τρέξτε το "mtd" και δώστε του την εντολή "write", το όνομα του αρχείου που έχετε μεταφέρει και το όνομα του αρχείου που θα δημιουργήσει στην flash memory, "linux". Θα απαιτηθούν λίγα λεπτά για να τρέξει το mtd και είναι πιθανό να στείλει ένα προειδοποιητικό μήνυμα για ανεπαρκή μνήμη όταν ξεκινήσει. Μην το διακόψετε.
> 
> wget -O /tmp/linux.trx http://lairds.org/Kyler/Linux/OpenWRT/W ... e_BETA.trx 
> mtd write /tmp/linux.trx linux && reboot


Δεν έχω δοκιμάσει την διαδικασία ακόμα. Θα το κάνω πρώτα με το αρχείο openwrt-gs-code.bin που περιέχει το βασικό πακέτο που εγκατέστησα στην αρχή. Είμαι περίεργος εάν αυτή η διαδικασία μπορεί να δουλέψει και με άλλα αρχεία firmware (LinkSys, SveaSoft). Πως αφού δεν είναι trx? Μπορεί τελικά να εγκατασταθεί από το OpenWrt firmware άλλης εταιρείας και με ποιο τρόπο ? (Βασανιστικά ερωτήματα που περιμένουν την απάντησή τους)

-----------------------------------------------------------

*Ασφαλής τρόπος λειτουργίας - Failsafe mode* 
OpenWrt Faq: *How do I recover / boot failsafe?
* http://openwrt.org/OpenWrtFaq#head-1939 ... 2e7019bee8
Μεταφράζω:


> Εάν προκαλέσετε ζημιά στο jffs2 ή στις ρυθμίσεις δικτύου στην NVRAM μπορείτε να χρησιμοποιήσετε τον ασφαλή τρόπο λειτουργίας (failsafe mode) του OpenWRT για να διορθώσετε το πρόβλημα. Από την 200405091 build το DMZ led θα ανάψει κατά την διάρκεια της εκκίνησης (boot), πιέστε το πλήκτρο reset για 1-2 δευτερόλεπτα καθώς το DMZ led ανάψει για να εκκινήσετε σε ασφαλή λειτουργία. Ενώ είσαστε σε ασφαλή λειτουργία το OpenWRT δεν θα προσαρτήσει (mount) το jffs2 partition αλλά αντίθετα θα τρέχει αποκλειστικά από το squashfs και το τοπικό δίκτυο (lan) θα πάρει υποχρεωτικά την διεύθυνση 192.168.1.1 με μία mac διεύθυνση 00:0B:AD:0AD:00 . 
> Το σύστημα αρχείων jffs2 μπορεί να ξεκλειδωθεί και να προσαρτηθεί (mounted) όπως παρακάτω: 
> 
> mtd unlock mtd4 
> mount -t jffs2 /dev/mtdblock/4 /jffs 
> 
> Προσοχή σε V2.0, WRT54GS: Κρατώντας πατημένο το reset πλήκτρο για περισσότερα από 5 δευτερόλεπτα κατά την φάση τροφοδότησης με ηλεκτρικό ρεύμα (powerup) θα διαγράψει όλες τις τιμές των μεταβλητών της nvram και θα επαναφέρει τις προεπιλεγμένες (defaults).


Δοκιμάστηκε και δουλεύει. Τουλάχιστον η διαδικασία με τα 2 δευτερόλεπτα και το ξεκλείδωμα του jffs2. Δεν πρόσεξα την επαναφορά των default τιμών σε πίεση 5 δευτερολέπτων (Θα το ξαναδώ). Θέλει προσοχή όμως να πιεστεί το reset *μόλις* ανάψει το DMZ led.
Νομίζω ότι αυτή η διαδικασία θα είναι πολύ χρήσιμη στο μέλλον.

----------


## nister

Διαμόρφωση των network interfaces στο OpenWrt για λειτουργία router.

Το *δύσκολο* αυτό *πρόβλημα* το έλυσε με τον καλύτερο τρόπο ο enaon: *Openwrt How-to* http://www.awmn.gr/forum/viewtopic.php?t=8670

Παραθέτω τις εισαγωγικές έννοιες, οι οποίες θα συμπληρώνονται σταδιακά.

Το WRT χρησιμοποιεί το chip ADM6996L της ADMtek http://www.infineon.com/cmc_upload/docu ... pril04.pdf σαν ethernet switch.

Network Interface Layout από το http://seattlewireless.net/index.cgi/Li ... 60b2c86873


Το διάγραμμα υποθέτω ότι αφορά την ver 1.0 του WRT54G γιατί στην ver.2 του WRT54G και στο WRT54GS τα ονόματα του wireless interface πρέπει να έχουν αλλάξει από eth2 σε eth1  ::  
----------------------------------



> Επίσης, μπορείς να δημιουργήσεις και να αποδώσεις και διαφορετικές ΙΡ σε κάθε interface και να δημιουργήσεις και άλλα vlans εκτός από τα αρχικά vlan0 και vlan1, οπότε και μετά να εφαρμόσεις διαφορετική πολιτική σε κάθε vlan.
> Πχ. το vlan0 παίρνει internet ενώ το vlan1 όχι κτλ.

----------


## wireless.surfer

Αφού δεν θες καλά λόγια  ::  

Σε παρακολουθούμε. Μας ενδιαφέρει  ::

----------


## uNdErTaKeR

> Ενώ θα έπρεπε να ασχολούμε με το «σπάσιμο» της γέφυρας του OpenWrt, δυστυχώς δεν έχω βρει μέχρι τώρα κάποια συνταγή παρά μόνο γενικές πληροφορίες.


βάλε σε ένα script τις εντολές ή εκτέλεσέ τες με ερωτηματικό

ifconfig br0 down
brctl delbr br0
ifconfig vlan0 10.xxx.xxx.xxx netmask 255.255.255.xxx
ifconfig eth1 10.xxx.xxx.xxx netmask 255.255.255.xxx

To vlan0 είναι το ενσύρματο
To eth1 είναι το ασύρματο

Eπίσης, δες και αυτό
http://www.awmn.gr/forum/viewtopic.php?t=8058

Καλή συνέχεια

----------


## uNdErTaKeR

Επίσης, μπορείς να δημιουργήσεις και να αποδώσεις και διαφορετικές ΙΡ σε κάθε interface και να δημιουργήσεις και άλλα vlans εκτός από τα αρχικά vlan0 και vlan1, οπότε και μετά να εφαρμόσεις διαφορετική πολιτική σε κάθε vlan.
Πχ. το vlan0 παίρνει internet ενώ το vlan1 όχι κτλ.

Αν ενδιαφέρεσαι για τον τρόπο πες το μου να σου στείλω πληροφορίες

----------


## uNdErTaKeR

> Στις πληροφορίες επαναφοράς του WRT που κυκλοφορούν αναφέρεται ένα *boot_wait* και ένα *tftp*.
> Ενεργοποιώντας το boot_wait και προσπαθώντας να κάνω upload το firmware openwrt-gs-code.bin δεν μπορούσε ο tftp client στα windows να συνδεθεί με το OpenWrt.
> Ψάχνοντας λίγο τα αρχεία που είναι εγκατεστημένα στο OpenWrt δεν βρήκα κανένα tftp server (δαίμονα) εγκατεστημένο


Εάν ενεργοποιήσεις το boot_wait τότε το linksys όταν το ανοίγεις πέρνει την διεύθυνση 192.168.1.1 και περιμένει να του κάνεις tftp για 5 δευτερόλεπτα. Αυτή την πληροφορία τηνέχει αποθηκευμένη στην nvram, οπότε υπάρχει σε όλα τα firmwares και είναι hardware λύση. Δεν χρειάζεσαι δαίμονα για αυτό. Δαίμονα χρειάζεσαι μόνο να θες να του κάνεις tftp όποτε εσύ γουστάρεις χωρίς να χρειαστεί επανεκίνσησ.

----------


## pvas

> Επιμένω ότι σε εμένα δεν δούλεψε. Χρησιμοποίησα 2 διαφορετικούς tftp clients για windows.


Ύστερα από την ανεπίτρεπτη βλακεία μου να βάλω σε WRT54G μια IP την οποία ξέχασα μόλις 3 δευτερόλεπτα αργότερα, αναγκάστηκα να κάνω επαναφορά εργοστασιακών ρυθμίσεων και να περάσω από την αρχή καινούργιο firmware. Προς ενημέρωση όλων των Windowsάδων να αναφέρω πως τα Windows XP έχουν ενσωματωμένο δικό τους tftp client 100% ικανό για τέτοια μεταφορά.
Από command line λοιπόν δεν έχετε παρά να γράψετε:


```
tftp -i 192.168.1.1 PUT firmware_file_name.bin
```

----------


## monotone

Αχ γιατί δεν τα γράφετε αυτά στο wiki? Εδώ σύντομα θα γίνουν δύσκολα να τα βρεί κάποιος..

Με βλέπω να τα περνάω εγώ κάποια στιγμή... μαζί με πολλά άλλα χρήσιμα που έχουν grafe;i τελευταία στο forum γκρρρ  ::

----------


## nister

Μετά από την θαυμάσια δουλειά του enaon το θέμα αυτό αναζητά την ταυτότητά του, τον προορισμό του, την συνέχειά του.

Σίγουρα το 80% της δουλειάς έχει βγεί, όμως θεωρώ ότι απαιτούνται ορισμένες πινελιές ακόμα για να ολοκληρωθεί. Τα θέματα που λείπουν αφορούν δευτερεύουσες υπηρεσίες και την διαχείρηση του OpenWrt.




> Αχ γιατί δεν τα γράφετε αυτά στο wiki? Εδώ σύντομα θα γίνουν δύσκολα να τα βρεί κάποιος..


Συμφωνώ κατ' αρχήν, αλλά έχουν να γραφούν πολλά ακόμα, να δοκιμαστούν, να σχολιασθούν, να υπάρξει η απαραίτητη «ζύμωση». Όλα αυτά που γράφονται είναι draft.
Περίμενε κανένα 2/μηνο.

----------


## nister

Το βασικό πακέτο του OpenWrt περιέχει εγκατεστημένο στον πυρήνα ένα μικρό web server στατικών σελίδων τον kHTTPd.
Ανοίγοντας την σελίδα http://192.168.1.1 του WRT στον internet browser βλέπουμε:



> No webpages currently available
> - perhaps you need to install a package?


Ο khttpd ξεκινά με την εκτέλεση της εντολής

```
/usr/sbin/httpd -p 80 -h /www -r WRT54G Router
```

που περιέχεται στο αρχείο εκκίνησης */etc/init.d/S50services*
Το root directory του khttpd, όπως φαίνεται και στις παραμέτρους της εντολής εκκίνησης, είναι το */www*. Το /www περιέχει το αρχείο *index.html* το οποίο είναι συνδεδεμένο (linked) στο */rom/www/index.html* (read only)
Μετά από ανασκαφές στα sources του wrt54gs.2.09.1.etsi.tgz επισυνάπτω το αρχείο τεκμηρίωσης wrt54gs/release/src/linux/linux/net/khttpd/khttpd.txt που αφορά τον συγκεκριμένο http server.

Σκοπός σε πρώτη φάση είναι να αξιοποιήσουμε τον kHTTPd για να παρέχει πρωτόγονες «ημι-στατικές» σελίδες που αφορούν την διαμόρφωση και στατιστικά του συστήματος. Η ιδέα προέρχεται από το OpenWrt - wiki - MiniHowtos - 3.1.1 Installing the scripts on the WRT54G http://openwrt.org/MiniHowtos

Για τον σκοπό αυτό πρέπει πρώτα να ενεργοποιήσουμε τον χρονοπρογραμματιστή εργασιών του linux, *cron*, ο οποίος θα εκτελεί ανά τακτά χρονικά διαστήματα κάποιο(α) *shell scripts*, τα οποία θα δημιουργούν *στατικές html* σελίδες και θα παρουσιάζονται από τον *kHTTPd*.

Για την χρήση του *vi* που θα απαιτηθεί, παραπέμπω τους μη εξοικιωμένους στο Newbie's Linux Manual - *Vi Survival Guide 
* http://esm2.imt-mrs.fr/~staffelb/guide_ ... t1/vi.html

*Εγκατάσταση της υπηρεσίας εκτέλεσης προγραμματισμένων εργασιών cron*
Αναφορές: *Newbie: Intro to cron* http://www.unixgeeks.org/security/newbi ... ron-1.html
Newbie's Linux Manual - *Automating Things With Cron* http://esm2.imt-mrs.fr/~staffelb/guide_ ... /cron.html
Για την λειτουργία του cron απαιτείται να υπάρχει το directory */var/spool/cron/crontabs* σαν working directory του crontab και crond, το οποίο και δημιουργούμε κατά την εκκίνηση του OpenWrt στην ram (/tmp)

Διαγράφουμε το αρχικό link /www/index.html με το /rom/www/index.html

```
rm /www/index.html
```

Δημιουργούμε ένα directory *cron* στο */etc* στο οποίο θα τοποθετήσουμε το configuration αρχείο *cron.conf* του cron καθώς και το(α) *shell scripts*.

```
mkdir /etc/cron
```

Στο /etc/cron δημιουργούμε με το vi τα αρχεία:
1. */etc/cron/cron.conf* confiruration αρχείο του cron με το περιβάλλον και τις εργασίες που είναι προγραμματισμένο να κάνει, με περιεχόμενο

```
SHELL=/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin
MAILTO=root
HOME=/
export TZ="CET-2CETDST"

# run-parts
0-59/1 * * * * /etc/cron/stats.sh
# 01 * * * * root run-parts /etc/cron.hourly
# 02 4 * * * root run-parts /etc/cron.daily
# 22 4 * * 0 root run-parts /etc/cron.weekly
# 42 4 1 * * root run-parts /etc/cron.monthly
```

Σύμφωνα με τα παραπάνω κάθε λεπτό της ώρας εκτελείται το /etc/cron/stats.sh το οποίο δημιουργεί την ιστοσελίδα στατιστικών.
2. */etc/cron/stats.sh* script, για την δημιουργία των html σελίδων, με περιεχόμενο:

```
# OpenWrt statistics and configuration html page creation script
# ver 0.1
export TZ="CET-2CETDST"
echo '<HTML><HEAD><TITLE>OpenWrt Statistics '`date`'</TITLE></HEAD><BODY><PRE>' > /tmp/stats
cat /etc/banner >> /tmp/stats
echo OpenWrt Statistics >> /tmp/stats
#echo " - date: "  `date` >> /tmp/stats
echo " - date: " >> /tmp/stats
date >> /tmp/stats
echo " - uptime: "  `uptime` >> /tmp/stats
echo " - loadavg: " >> /tmp/stats
cat /proc/loadavg | awk '{ print $1":"$2":"$3 }' >> /tmp/stats
echo " - loadavg tun1: " >> /tmp/stats
cat /proc/net/dev | grep tun1 | cut -d: -f2 | awk '{ print $1":"$9}' >> /tmp/sta
echo " - net vlan1: " >> /tmp/stats
cat /proc/net/dev | grep vlan1 | cut -d: -f2 | awk '{ print $1":"$9}' >> /tmp/st
echo " - meminfo: " >> /tmp/stats
cat /proc/meminfo >> /tmp/stats
echo " - df: " >> /tmp/stats
df >> /tmp/stats
echo " - Wireless status" >> /tmp/stats
wl status >> /tmp/stats
#echo "  - " >> /tmp/stats
#wl txpwr >> /tmp/stats
echo "  -" `wl txpwr` >> /tmp/stats
echo "  - antenna : " `wl txant;wl antdiv` >> /tmp/stats
echo "  - radio : " `wl radio` >> /tmp/stats
echo " - " `wl boot_wait` >> /tmp/stats
echo " - processes : " >> /tmp/stats
ps -A >> /tmp/stats
echo " - routing tables : " >> /tmp/stats
route >> /tmp/stats
echo " - nvram show -----------" >> /tmp/stats
nvram show >> /tmp/stats
#echo " - dmesg -----------" >> /tmp/stats
#dmesg >> /tmp/stats
echo '</PRE></BODY></HTML>' >> /tmp/stats
ln -s /tmp/stats /www/index.html
```

 και το κάνουμε εκτελέσιμο

```
chmod +x /etc/cron/stats.sh
```

 Ξέρω ότι είναι απαίσια η σελίδα, αλλά αποτελεί την βάση για ομορφότερα πράγματα.
Με τον *vi* δημιουργούμε το αρχείο εκκίνησης */etc/init.d/S53crond* που περιέχει:

```
#!/bin/sh
# run statistics shell script initially to prepare initial web page to be ready
/etc/cron/stats.sh
# create default working dir of cron : /var/spool/cron/crontabs
# in ram (/tmp)
mkdir /var/spool
mkdir /var/spool/cron
mkdir /var/spool/cron/crontabs
# ln -s /etc/cron/cron.conf /var/spool/cron/crontabs/root
# define configuration file for cron
crondtab /etc/cron/cron.conf
# start cron daemon
crond
```

Ελπίζω μετά από ένα *reboot* (όπως έχω μάθει από τα windows) όλα αυτά να λειτουργήσουν.




> Θα σας πρότεινα αν έχετε σκοπό να χρησιμοποιήσετε το linksys σαν router, να μην το επιφορτίσετε με αλλά πράγματα πέρα από τα απαραίτητα. Αν θέλετε graphs βάλτε snmptd (και αν). To Linksys δεν εχει πρόβλημα μνήμης ή χώρου, αλλά cpu. Το wrtg και το gs αποδίδουν το ίδιο, όσο αντέχει το cpu δηλαδή.
> Αν απλά routarete μια dsl, αντέχει πολλά καλούδια, αλλά για για να κρατήσει trafic των 30mbit, θέλει όσο cpu υπάρχει, και ότι κινείτε χρεώνετε.


Εντάξει, δέχομαι την προσγείωση στην πραγματικότητα.
Η παραπάνω διαμόρφωση ας θεωρηθεί ένας πειραματισμός για εξοικίωση με το περιβάλλον του OpenWrt και για χρήση μέχρι το Wrt να μπει στην «παραγωγή». Τότε θα κατέβει η υπηρεσία αυτή.
Ο τρόπος για να την σταματήσουμε, χωρίς να διαγράψουμε τα αρχεία, είναι να κάνουμε σχόλιο την γραμμή

```
#0-59/1 * * * * /etc/cron/stats.sh
```

 του αρχείου /etc/cron/cron.conf, εισάγοντας το *#* στην αρχή της.

*Εγκατάσταση του ntpclient*
Ας εκμεταλευθούμε όμως το cron που εγκαταστήσαμε για να προσθέσουμε στο WRT την υπηρεσία του *N*etwork *T*ime *P*rotocol client.
Πρόκειται για ένα πρωτόκολλο για την ρύθμιση των ρολογιών των υπολογιστών σε ένα δίκτυο (π.χ. internet) με βάση το ρολόι ενός υπολογιστή, το οποίο έχει υψηλή ακρίβεια (π.χ. *ntp.awmn* ή άλλον). Δείτε το θέμα *awmn time server* http://www.awmn.gr/forum/viewtopic.php?t=1932
Σημειώνεται ότι το WRT, όταν ξεκινά, έχει ημερομηνία κάπου στο 2000 και ότι μετά από soft reboot δεν χάνει την ημερομηνία που του είχαμε προηγουμένως ορίσει.
Βήματα:
1. Εγκαθιστούμε το πακέτο *ntpclient* από τα επίσημα πακέτα του OpenWrt:

```
ipkg install ntpclient
```

σύμφωνα με όσα περιγράφονται στο *Linksys Wrt54g(s) HOW-TO for semi-dumies* http://www.drinet.awmn/openwrt/ και σε προηγούμενο post
2. Δημιουργούμε με τον vi το */etc/setclock* script αρχείο με περιεχόμενο

```
#!/bin/sh
#ntpclient -c 1 -h 192.168.1.2 -i 5 -s
ntpclient -c 1 -h ntp.awmn -i 5 -s
```

το οποίο εκτελεί το ntpclient με τις σωστές παραμέτρους και το κάνουμε εκτελέσιμο:

```
chmod +x /etc/setclock
```

Οι παράμετροι του ntpclient έχουν την παρακάτω σημασία

```
[email protected]:/# ntpclient
Usage: ntpclient [-c count] [-d] [-g goodness] -h hostname [-i interval]
        [-l] [-p port] [-r] [-s]
```

*-c* πόσες φορές θα προσπαθήσει να ρυθμίσει την ώρα
*-h* ο υπολογιστής που τρέχει ntp server και έχει το ρολόι ακριβείας ή που συχρονίζεται σαν ntp client με κάποιον άλλο υπολογιστή που έχει ακριβή χρόνο
*-s* ρυθμίζει το ρολόι του WRT
Εκτελώντας το */etc/setclock* γίνεται ο συγχρονισμός του ρολογιού του WRT με τον ntp server που έχουμε ορίσει.
Σημείωση: Κατά την φάση των δοκιμών της εγκατάστασης του ntpclient, επειδή δεν υπήρχε σύνδεση με το awmn, σαν ntp server χρησιμοποιήθηκε το τοπικό pc (192.168.1.2) στο οποίο εγκαταστάθηκε η υπηρεσία ntp server (πρώτη γραμμή η οποία έχει γίνει σχόλιο).

3. Για να εκτελείται αυτόματα με την εκκίνηση του WRT το /etc/setclock εισάγουμε την εντολή σε κάποιο script εκκίνησης, το οποίο εκτελείται μετά την διαμόρφωση του δικτύου (S41-network)

4. Για να επαναλαμβάνεται ο συχρονισμός κάθε 6 ώρες εισάγουμε την παραπάνω εντολή στο αρχείο configuration του cron, το */etc/cron/cron.conf* με την μορφή

```
0 6 * * * /etc/setclock
```

Ελπίζω να μην σπαταλά την πολύτιμη υπολογιστική ισχύ όταν εκτελείται το utility αυτό κάθε 6 ώρες.

----------


## tripkaos

πολυ καλη δουλεια  ::   ::  
προβλημα επι εφαρμογης???
πεταω πανω στο wrt54g το firm κανω ολα τα πραγματα αλλα...
client mode???με subnet???επισης παρατηρησα οτι σταδιακα εκοβε την κινηση...θα το ξανακανω το μονο πακετο ειναι οτι βαριεμαι να παω ταρατσα τετοια ωρα...αχ αχ...θα ξανακανω τα παντα απτην αρχη αλλα αυτη την απορια θα ηθελα μονο να μου λυσει καποιος 
wifi+lan σε διαφορετικα subnets πως παιζει ?
πχ ργω το παλεψα λιγο αλλα δεν τα καταφερα
επισης το wrt54g του εχω βγαλει τα ματια για να λειτουργησει μερικες φορες δεν θελω να κανω τα ιδια με το gs...

----------


## enaon

Θα σας πρότεινα αν έχετε σκοπό να χρησιμοποιήσετε το linksys σαν router, να μην το επιφορτίσετε με αλλά πράγματα πέρα από τα απαραίτητα. Αν θέλετε graphs βάλτε snmptd (και αν). To Linksys δεν εχει πρόβλημα μνήμης ή χώρου, αλλά cpu. Το wrtg και το gs αποδίδουν το ίδιο, όσο αντέχει το cpu δηλαδή.

Αν απλά routarete μια dsl, αντέχει πολλά καλούδια, αλλά για για να κρατήσει trafic των 30mbit, θέλει όσο cpu υπάρχει, και ότι κινείτε χρεώνετε.

----------


## mojiro

αυτο με τα διαφορετικα subnet το δοκιμαζω τωρα.

εβαλα το pan-pan-undertaker script αλλα δεν επαιξε.
καταλαβα την λογικη του και θα φτιαξω παρομοιο για
το gs.

----------


## tripkaos

προσεξα το εξης...
αν δεν κανεις τροποποιηση του αρχειου firewall και ρουταρεις απο εκει για καποιο λογο χανει την ip και περνει αυτοματα μια αλλη...αν υποστηριζει ο κομβος dhcp...

ενα αλλο με το nvram πρεπει να ασχοληθουμε λιγο γιατι οταν εκανα wl txpwr να δω σε ποση ισχυ παιζει το wifi εγραφε 255!!!!!!και επαιζε και σε AP και σε client mode!!!!

επισης για να βαλεις 4 pc πανω θελεις 8 ip για την lan...και αν εχεις 8αρι subnet τι κανεις????
η πρωτη και η τελευταια δεν ειναι για χρηση οποτε σου μενουν 6 και τρως πακετο οπως εγω...
οποτε ζητας μεγαλητερο subnet για να δουμε αν θα μου δωσουν....

----------


## tripkaos

> αυτο με τα διαφορετικα subnet το δοκιμαζω τωρα.
> 
> εβαλα το pan-pan-undertaker script αλλα δεν επαιξε.
> καταλαβα την λογικη του και θα φτιαξω παρομοιο για
> το gs.


δεν υπαρχει λογος δες αυτο του enaon
αλλα θα παιζεις με consola....
και πιστεψεμε εχει κανει πολυ καλη δουλεια και το εχει κανει πολυ ευκολο...

----------


## tripkaos

> Θα σας πρότεινα αν έχετε σκοπό να χρησιμοποιήσετε το linksys σαν router, να μην το επιφορτίσετε με αλλά πράγματα πέρα από τα απαραίτητα. Αν θέλετε graphs βάλτε snmptd (και αν). To Linksys δεν εχει πρόβλημα μνήμης ή χώρου, αλλά cpu. Το wrtg και το gs αποδίδουν το ίδιο, όσο αντέχει το cpu δηλαδή.
> 
> Αν απλά routarete μια dsl, αντέχει πολλά καλούδια, αλλά για για να κρατήσει trafic των 30mbit, θέλει όσο cpu υπάρχει, και ότι κινείτε χρεώνετε.


εγω απλα για client το θελω...
-----------------------------------------συμπληρωση
Η eth1 δεν ειναι η wifi η eth2 ειναι...
και συμπληρωνω

το εξης προβλημα εχω
εχω μπερδεψει τα μπουτια μου με τα bgp και δεν μπορω να βγω απο το subnet του dti...φτανω μεχρι 63 και μετα στο δικομου
δηλαδη πρεπει να βαλω καποια ρουτες που δεν τα ξερω...για bgp μιλαμε τωρα...

----------


## nister

*Τοπολογία - διαμόρφωση του δικτύου του κόμβου*

Προκειμένου να διαμορφώσουμε το OpenWrt για λειτουργία router backbone κόμβου πρέπει να προσδιορίσουμε ακριβώς την τοπολογία του τοπικού δικτύου και την διευθυνσιοδότηση.
Στην συνέχεια θα χρησιμοποιήσω σαν διευθύνσεις εκχωρημένες στον κόμβο την περιοχή *10.44.44.0-255* και domain name *nister.awmn*.
Σημείωση: οι διευθύνσεις αυτές δεν μου έχουν εκχωρηθεί επίσημα, αλλά τις χρησιμοποιώ για τις ανάγκες των δοκιμών, αφού δεν πρέπει, μάλλον, να έχουν εκχωρηθεί σε άλλον.

Οι βασικές παραδοχές είναι:
1. Στον κόμβο θα χρησιμοποιηθούν αποκλειστικά εξωτερικές ασύρματες συσκευές (Access Points για όσους δεν είναι συνηθισμένοι στην ορολογία του forum).
2. Το WRT54GS θα έχει ρόλους *router*, *dns* server, *1ο bb link* σε λειτουργία AP, *dhcp* server μόνο στο ασύρματο interface του 

Συγκεκριμένα ο ρόλος των network interfaces του WRT θα είναι:
1. Το *wireless* interface (eth1) *1ο bb link* σε λειτουργία AP, 10.44.44.*xxx-yyy* subnet 255.255.255.*248*
2. To ethernet *port 1* (vlan0) στο *LAN* (με PCs και servers) 10.44.44.*193-255* subnet 255.255.255.*192*
3. To ethernet *port 2* (vlan2) στο *2ο bb link* 10.44.44.*xxx-yyy* subnet 255.255.255.*248*
4. To ethernet *port 3* (vlan3) στο *3ο bb link* 10.44.44.*zzz-vvv* subnet 255.255.255.*248*
5. To ethernet *port 4* (vlan4) στο *AP* ασύρματης πρόσβασης *clients* 10.44.44.*1-63* subnet 255.255.255.*192*
6. To ethernet *internet port* (vlan1) για διανομή σύνδεσης *ADSL* (την οποία δεν διαθέτω) ή σαν *4ο bb link* 10.44.44.*xxx-yyy* subnet 255.255.255.*248*


Το configuaration έχει σταματήσει στο σημείο αυτό διότι δεν έχω bb κόμβο ώστε να δοκιμάσω το routing, dns, dhcp κα.
Βρίσκομαι σε μια διαδικασία αναζήτησης bb links.
Μόλις έχω την απαραίτητη γνώση θα συνεχίσω.

----------


## aktizol

μήπως μπορεί κάποιος να κάνει ένα αναλυτικό configuration post για την λειτουργία του wrt54gs σαν client και όχι σαν router. ? (ολοκληρωμένο όμως, δηλαδή πακέτα που χρειάζεται να κατεβάσουμε, τι και πώς το εγκαθιστούμε κτλ.)

ένα post για νιούμπιδες δηλαδή.

----------


## enaon

Σύντομα υπολογίζω να βρώ χρόνο να τελειώσω το troubleshooting και τις οδηγίες για το wl καθώς και ένα οδηγό για πιό απλό setup.

Έως τότε, για να συνδεθείτε με το openwrt σαν clients κάπου, μπορείτε να χρησιμοποιήσετε το ενσωματωμένο iwconfig. Δεν μπορείτε να ρυθμίσετε την ισχύ από το iwconfig. 
Για να ρυθμίσουμε το txpower, αν έχουμε το wl, κάνουμε

wl txpwr 3 --> (4.75dB)
και βλεπουμε με
wl curpower

To iwconfig συνεργάζεται με το wlconf.
Εξαιτίας του τρόπου με τον οποίο ακούει ο driver τις εντολές από το wlconf στο openwrt, η ρύθμιση της ασύρματης κάρτας στο openwrt μέσω του iwconfig, είναι πετυχημένη μόνο όταν δοθούν *όλες οι παράμετροι που χρειάζονται, και με συγκεκριμένη σειρά.*

1.Για να κάνετε scan για διαθέσημα AP. 
a.Αν έχετε το wl.
κάντε 
wl ap 0
wl scan ( περιμένετε 10 δέυτερα)
wl scanresults ( εμφανίζονται τα δίκτυα που έπιασε)
β. Με το iwconfig
κάντε 
iwconfig eth1 ap ( εμφανίζονται τα δίκτυα που έπιασε- δεν δείχνει essid, πρέπει να το ξέρετε)

2.Για να συνδεθείτε σε ένα ΑP.
(υποτίθεται ότι έχετε βάλει τις σωστές ρυθμίσεις στο S41-network για την eth1)
έστω ένα ΑP με essid=awmn38 κανάλι=3, WEP με κλειδί 11335577.
Αν δεν έχει WEP, ή δεν θέλουμε να βάλουμε σταθερή ταχύτητα στα 11mbits, παραλείπουμε τις δύο αυτές γραμμές (rate , key)

για να συνδεθούμε πάνω του γράφουμε 

iwconfig eth1 \
channel 3 \
rate 11M \
mode managed \
key 11335577 restricted \
essid awmn38

Αν δεν βγάλει κάποιο λάθος, πρέπει να συνδέθηκε..
iwconfig eth1 – για να δουμε info


Αφου το δοκιμάσετε και δουλέψει, μπορείτε να προσθέσετε τις ρυθμίσεις στο S41-network ώστε να είναι μόνιμες, κάτω από την γραμμή ifconfig eth1……
πχ. κάνουμε edit στον S41-network και βάζουμε 

ifconfig eth1 10.22.22.1 netmask 255.255.255.192 broadcast 10.22.22.63 up
wl txpwr 3 
iwconfig eth1 channel 3 mode managed essid awmn38

*με την σειρά που είναι παραπάνω.*

good luck  ::

----------


## nister

> μήπως μπορεί κάποιος να κάνει ένα αναλυτικό configuration post για την λειτουργία του wrt54gs σαν client και όχι σαν router. ? (ολοκληρωμένο όμως, δηλαδή πακέτα που χρειάζεται να κατεβάσουμε, τι και πώς το εγκαθιστούμε κτλ.)
> 
> ένα post για νιούμπιδες δηλαδή.


Ο σκοπός της διαμόρφωσης του OpenWRT που συζητείται στο θέμα αυτό, είναι να «σπάσει» η γέφυρα που ενώνει τα ethernet ports, ώστε κάθε port να μπορεί να αποτελέσει ανεξάρτητο inteface, με δικό του υποδίκτυο, ώστε το WRT54G(S) να λειτουργήσει σαν *router* ενός backbone κόμβου.

Ένας client βλέπει μόνο ένα υποδίκτυο. της μορφής συνήθως 10.xxx.yyy.0 με mask 255.255.255.192, δηλαδή χρήσιμη περιοχή IP διεθύνσεων 10.xxx.yyy.1-63.
Ένας client χρειάζεται συνήθως όλα τα ethernet ports του WRT *ενοποιημένα* με γέφυρα, ώστε να βλέπουν το παραπάνω υποδίκτυο και να μπορούν να συνδεθούν περισσότερα PCs.

Συνεπώς, κατά την άποψή μου, δεν βλέπω να έχει λόγους ένας client και μάλιστα αρχάριος να χρησιμποιήσει OpenWRT χάνοντας το *όμορφο* και *βολικό* web configuration interface των άλλων εμπορικών firmwares.

Ο μόνος λόγος θα μπορούσε να είναι ότι δεν λειτουργούν σωστά αυτά τα firmwares.
Πράγματι, όπως έχει αναφερθεί, κάποια από αυτά δεν λειτουργούν σωστά και έχει βρεθεί και συγκεκριμένη λύση *Linksys client problem solved* http://www.awmn/forum/viewtopic.php?t=8058.

Εγώ θα πρότεινα σε ένα αρχάριο την επιλογή ενός καλού εμπορικού firmware (υπάρχει συγκριτική δοκιμή *WRT54G - επιδόσεις* http://www.awmn/forum/viewtopic.php?t=8294 ) με την πιθανόν απαραίτητη διόρθωση και όχι να μπλέξει στα κακοτράχαλα μονοπάτια του linux.
Σε περίπτωση που θέλει να μάθει το linux, το WRT δεν αποτελεί και την πλέον κατάλληλη hardware πλατφόρμα.

----------


## aktizol

Το πρόβλημα λύθηκε για το Setup του OpenWRT σε Client Mode:

=> http://www.awmn.gr/forum/viewtopic.php?t=9066

----------


## dimkasta

Το tutorial του enaon αναφέρει σχετικά με τη ρύθμιση του firewall και του ΝΑΤ...



> Το αρχείο S45firewall είναι υπεύθυνο για την ενεργοποίηση του firewall και του NAT στο vlan1 (Internet port). 
> Για να κλείσουμε το firewall και το NAT (masquerading) στην internet port (vlan1), ώστε να την χρησιμοποιήσουμε σαν πόρτα του router γράφουμε:
> 
> 
> 
> vi /etc/init.d/S45firewall Για να τροποποιήσουμε το αρχείο
> 
> a για να μπούμε στο insert mode
> 
> ...


Το δικό μου κατά ένα περίεργο τρόπο δεν έιχε τέτοιες εγγραφές, αλλά εντολές με το iptables.

Προκειμένου να μπορέσω να βλέπω το ρούτερ από όλες τις πόρτες του, έσβησα τελείως αυτό το αρχείο. 
Οι πόρτες είναι όλες ρυθμισμένες με ΙΡ 192.168.0.χ και 255.255.255.0.
Παρ' όλα αυτά, shh μπορώ να κάνω στο ρούτερ μόνο από την vlan1 (internet).
Συνδεδεμένος στην vlan1, μπορώ να κάνω ping σε όλες τις δηλωμένες ΙΡ. 
Άν συνδέσω όμως και ένα 3ο PC σε μία και προσπαθήσω να του κάνω ping δεν περνάει τίποτα.

Μπορεί να μου δώσει κάποιες κατευθύνσεις τι πρέπει να προσέξω και κάποιες βασικές εντολές που μπορώ να χρησιμοποιήσω?
Δεν θέλω μασημένη τροφή. Θέλω να μου πείτε αυτό πρέπει να γίνει και γίνεται με αυτή την εντολή. Επίσης θα ήθελα να μην εμπλεκώ με nvram.
default gw έχω δηλωμένο το 3ο PC. [/img]

----------


## stafan

> ...Οι πόρτες είναι όλες ρυθμισμένες με ΙΡ 192.168.0.χ και 255.255.255.0...


Εφόσον το χρησιμοποιείς σαν δρομολογητή (σπάσιμο γέφυρας κλπ.) η κάθε πόρτα θα πρέπει να ανήκει σε διαφορετικό υποδίκτυο  ::

----------


## Neuro

Κάποια σχόλια μεταφέρθηκαν στα Ο.Τ.

----------

