All You Need Is Love wg Starbucks.

30 12 2009

7 grudnia 2009 muzycy ze 156 krajów zaproszeni przez firmę Starbucks w tym samym momencie wykonali piosenkę ‘All You Need Is Love’ pragnąc zwrócić uwagę na problem AIDS w Afryce. Poszczególne wykonania zostały zmontowane w klip który można obejrzeć poniżej.

Prawda, że cudne?



I Am The Eggman, They Are The Eggman!

9 12 2009



Myślę, że o to chodziło w ‘I Am The Walrus’: Lennon jak i ja malował jajka przed gotowaniem… :)



29

8 12 2009



Mein Kampf: D-Link Dir-300

7 12 2009

Przyznam się, że konfigurowałem w życiu wiele routerów, do wielu z nich pakując alternatywny firmware DD-WRT, jednak kupiony ostatnio i reklamowany jako dedykowany pod DD-WRT D-Link Dir-300 mocno mnie sobą zmęczył. Dla osób chcących oszczędzić sobie wrażeń (głównie tych związanych z oryginalną instrukcją producenta dotycząca pakowania do niego linuxa…) oraz chcących przeznaczyć zmarnowany z oporną materią czas, który można przeznaczyć na wino, kobiety i śpiew podaje solucje, jak wgrać DD-WRT (oraz, co często jest koniecznie przy bardziej upierdliwych dostawcach usług, podbić parametr TTL.)

Do szczęścia potrzebujemy:

- RedBoot (boot loader): ap61.ram
- ap61.rom
- linux.bin (z DD-WRT)
- Serwera TFTP (TFTP Server) (dostępny w pakiecie DD-WRT)
- klienta Telnetu (np. Putty)
- darmowego narzędzia NetSetMan (chyba, że lubimy konfigurować ustawienia LAN ręcznie, ja nie lubie…)

Pliki przeznaczone dla Dir-300 ściągamy z dedykowanej strony http://www.dd-wrt.com

1. Odłączamy zasilanie od routera, łączymy port LAN naszego komputera z portem WAN routera (INTERNET, nie LAN!)

2. Odpalamy TFTP Server z parametrem w p, konfigurujemy nasze IP (statycznie) na 92.168.20.80/255.255.255.0.

3. Wciskamy i TRZYMAMY przycisk RESET w routerze włączamy zasilanie czekamy 30 sekund

4. Puszczamy RESET i czekamy 30 sekund

5. Ustawiamy telnet na 192.168.20.81 port 9000

6. Powinniśmy zostać powitani komunikatem RedBoot>

Pogrubione wpisujemy:

RedBoot> load ap61.ram
Using default protocol (TFTP)
Entry point: 0×800410bc, address range: 0×80041000-0×800680d8
RedBoot> go

Po tym wszystkim sesja telnet rozłączy nam się (ale wcale nie musi, wtedy ją zamykamy) TFTP Server cały czas musimy mieć włączonego w tle.

Ustawiamy IP na 192.168.1.2/255.255.255.0 a telnet na adres: 192.168.1.1, port 9000. Po połączeniu wpisujemy/potwierdzamy:

DD-WRT> fconfig -i
Initialize non-volatile configuration – continue (y/n)? y
Run script at boot: false
Use BOOTP for network configuration: true
Default server IP address:
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration – continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×80ff0000-0×81000000 at 0xbffe0000: .
DD-WRT> fis init
About to initialize [format] FLASH image system – continue (y/n)? y
*** Initialize FLASH Image System
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×807f0000-0×80800000 at 0xbffe0000: .

DD-WRT> ip_address -h 192.168.1.2
Default server: 192.168.1.23

DD-WRT> load -r -b %{FREEMEMLO} ap61.rom
Using default protocol (TFTP)
Raw file loaded 0×80080000-0×800a8717, assumed entry at 0×80080000

DD-WRT> fis create -l 0×30000 -e 0xbfc00000 RedBoot
An image named ‘RedBoot’ exists – continue (y/n)? y
… Erase from 0xbfc00000-0xbfc30000: …
… Program from 0×80080000-0×800a8718 at 0xbfc00000: …
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×807f0000-0×80800000 at 0xbffe0000: .
DD-WRT> reset

Po tym Dir-300 zresetuje się. Czekamy 30 sekund, ustawiamy telnet 192.168.1.1, port 9000 klikamy prawym klawiszem na pasek Putty i w Change Settings/PuTTY Reconfiguration ustawiamy w close window on exit na Never zatwierdzamy przez Apply. Po zalogowaniu zgłosi nam sie DD-WRT>, wpisujemy/potwierdzamy:

DD-WRT> ip_address -h 192.168.1.2
IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.2
DD-WRT> fis init
About to initialize [format] FLASH image system – continue (y/n)? y
*** Initialize FLASH Image System
… Erase from 0xbfc30000-0xbffe0000: …………………………………………………..
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×80ff0000-0×81000000 at 0xbffe0000: .
DD-WRT> load -r -b 0×80041000 linux.bin
Using default protocol (TFTP)
Raw file loaded 0×80041000-0×803cffff, assumed entry at 0×80041000
DD-WRT> fis create linux
… Erase from 0xbfc30000-0xbffbf000: …………………………………………………
… Program from 0×80041000-0×803d0000 at 0xbfc30000: …………………………………………………
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×80ff0000-0×81000000 at 0xbffe0000: .
DD-WRT> fconfig boot_script true
boot_script: Setting to true
Update RedBoot non-volatile configuration – continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×80ff0000-0×81000000 at 0xbffe0000: .
DD-WRT> fconfig boot_script_timeout 4
boot_script_timeout: Setting to 4
Update RedBoot non-volatile configuration – continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×80ff0000-0×81000000 at 0xbffe0000: .
DD-WRT> fconfig bootp false
bootp: Setting to false
Update RedBoot non-volatile configuration – continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×80ff0000-0×81000000 at 0xbffe0000: .
DD-WRT> fconfig
Run script at boot: true
Boot script:
.. fis load -l vmlinux.bin.l7
.. exec
Enter script, terminate with empty line
>> fis load -l linux
>> exec
>>
Boot script timeout (1000ms resolution): 4
Use BOOTP for network configuration: false
Default server IP address:
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration – continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×80ff0000-0×81000000 at 0xbffe0000: .
DD-WRT> fconfig bootp_my_ip 192.168.1.1
DD-WRT> fconfig bootp_my_ip_mask 255.255.255.0
DD-WRT> fconfig bootp_my_gateway_ip 0.0.0.0
DD-WRT> reset

Router przeresetuje nam się, logujemy się na niego http://192.168.1.1, w pierwszym oknie ustawiamy nowe hasło i dalej konfigurujemy wg. potrzeb. Jeśli potrzebujemy podbić parametr TTL (Time To Life) wpisujemy w oknie skryptów iptables -t mangle -I POSTROUTING -o `nvram get wan_iface` -j TTL –ttl-inc 1 i dodajemy do autostartu i resetujemy router.

Gdyby coś poszło nie tak bądź chcielibyśmy powrócić do oryginalnego firmware D-Linka (pod warunkiem, że nie uwalilismy boota routera…):

1. Ściągamy RedBoot z adresu ftp://ftp.dlink.pl/dir/dir-300/driver_software/dir-300_sw_revA_redboot_all_en_20080307.zip
2. Podłączamy kabel do portu LAN naszego komputera i WAN routera (Internet)
3. Ustawiamy IP na 192.168.1.2, maska 255.255.255.0, a telnet 192.168.1.1, port 9000
4. Włączamu router, kiedy zaświeci się dioda WAN łączymy się przez Telnet
5. Powinniśmy zobaczyć napis Executing boot script in wtedy naciskamy CTRL + C
6. Pojawi nam się znak zachęty DD-WRT>

Wpisujemy/Potwierdzamy:

DD-WRT> ip_address -h 192.168.1.2
IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.2
DD-WRT> fis init
About to initialize [format] FLASH image system – continue (y/n)? y
*** Initialize FLASH Image System
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0×81000000 at 0xbffe0000: .
DD-WRT> load -r -b %{FREEMEMLO} dir300redboot.rom
Using default protocol (TFTP)
Raw file loaded 0×80040800-0x800607ff, assumed entry at 0×80040800
DD-WRT> fis create -l 0×30000 -e 0xbfc00000 RedBoot
An image named ‘RedBoot’ exists – continue (y/n)? y
… Erase from 0xbfc00000-0xbfc30000: …
… Program from 0×80040800-0×80060800 at 0xbfc00000: ..
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0×81000000 at 0xbffe0000: .
DD-WRT> reset

Router przeresetuje się. Czekamy 2 minuty, ustawiamy IP na 192.168.20.80, maska 255.255.255.0. Wyłączamy router, wciskamy RESET, włączamy router nie puszczając RESET czekamy 30 sekund, puszczamy RESET, czekamy 30 sekund. Logujemy się z przeglądarki do routera przez http://192.168.20.81. Pokaże nam się strona odzyskiwania firmware. Poprzez Browse ładujemy ściągnięty ze strony D-Linka firmware i wciskamy Upload. Po zakończeniu odliczania resetujemy router i czekamy około 2 minut. Podłączamy kabel z portem LAN komputera i portem LAN routera, oraz IP komputera na automatyczne uzyskiwane z serwera DHCP Logujemy się do routera przez http://192.168.0.1 który powinien nam się zgłosić standardowym firmware.

W przypadku kiedy nie powiodło się wgrywanie oprogramowania DD-WRT a router nie reaguje na komunikację odzyskującą oryginalne firmware, robimy kroki jak na samym początku kiedy chcemy wgrywać DD-WRT po tym zgłosi nam się znakiem zachęty RedBoot> i wtedy możemy zacząć przywracać oryginalne firmware.

To chyba tyle.
A!
DD-WRT jak i cały opis dotyczy płyty głównej Dir-300 w rewizji A, na innych nie działa!!!!