[GUIDA E THREAD UFFICIALE] Buffalo WBMR-HP-G300H con Openwrt o DD-WRT
-
Piccola prefazione
Negli ultimi anni ho cambiato diversi router/modem sprecando inutilmente un sacco di soldi.
Ciò che mi spingeva nel cambiare device era quasi sempre la mancanza di firmware aggiornati.
In alcuni modelli trovavo feature nuove (NAS, Sharing etc) ed in altri cercavo una migliore connessione dsl
Da tanto tempo, nella mia testa, risuonava questa domanda : "E' mai possibile che nessuno abbia creato un device dove io possa scegliere cosa installare e cosa configurare?"
Casualmente mi sono imbattuto sulla pagina ufficiale di dd-wrt dove per la prima volta in assoluto davano pieno supporto ad un modem/router : il Buffalo WBMR-HP-G300H;
Da qui è nata la mia avventura e vorrei condividerla con voi.
Imparerete che dd-wrt o openwrt potranno essere installati anche su altri modem/router non riconosciuti ufficialmente.
La mia scelta è ricaduta sul Buffalo per i seguenti motivi :
- Pieno supporto alla comunità dd-wrt
- Seriale già presente sulla scheda madre (in caso qualcosa andasse storto)
- Quantitativo di RAM.
Brevi passaggi che andrò ad analizzare :
- Installare Linux
- Configurare Linux
- Scaricare DD-WRT (per poter usare openwert bisogna prima installare DD-WRT)
- Scaricare/compilare openwrt
[TABLE=width: 250, align: center]
[TR]
[TD]
[/TD][TD]
[/TD][TD]
[/TD][/TR]
[/TABLE]
Le specifiche dal wiki di openwrt del Buffalo WBMR-HP-G300H
Architecture: MIPS32 Vendor: soc.lantiq Lantiq Bootloader: U-Boot 1.00 System-On-Chip: Lantiq AR9 CPU/Speed MIPS 34Kc / 333MHz Lantiq PSB 50810 Flash size: 32MB RAM: 64MB Wireless: Atheros AR9280 Rev:2 Ethernet: 4 x Gigabit Atheros AR8316 Modem: Lantiq ADSL2+ USB: Yes 1 x 2.0 (driver dwc_otg) Serial: Yes JTAG: Yes


Una piccola precisazione sulla garanzia : se cambiate il sistema operativo con dd-wrt farete decadere immediatemente la garanzia (anche se la stessa Buffalo indica nella sua home page che è possibile installare DD-wrt)
DD-WRT ?

DD-WRT è un firmware che funziona su una versione minimalista di Linux sviluppato da terze parti;
E' rilasciato sotto i termini della licenza GPL per molti router wireless sulla base di un progetto di Broadcom e Atheros.
Ad aggiornarlo è BrainSlayer ed è scaricabile presso dd-wrt.com; Attualmente DD-WRT è disponibile gratuitamente. Offre molte caratteristiche avanzate non disponibili nei firmware OEM dei dispositivi che sono supportati.
OPENWRT ?

OpenWrt è una distribuzione Linux per sistemi embedded.
A differenza di DD-WRT, il team di Openwrt si è preposto di creare da zero un sistema completamente personalizzabile tramite una gestione dei pacchetti che si vogliono installare nel filesystem.
Ciò significa che potremo costruire noi il nostro firmware in base alle nostre necessità.
Un'altra peculiarità di Openwrt è la possibilità di modificare "dinamicamente" il firwmare.
Anche openwert è disponibile gratuitamente.
INSTALLARE LINUX


Mi permetto di scrivere una mini-mini guida per installare linux.
Forse vi state domandando "perchè devo installare Linux?" Beh, semplice : se volete farvi il vostro "openwrt" in base alle vostre esigenze, allora avete bisogno di Linux e delle sue funzioni.
Al contrario, se non volete compilarvi da soli la vostra immagine, potete sempre scaricarne una (io le metto a disposizione nel secondo thread) e procedere con il flash senza utilizzare Linux.
- Scarichiamo Ubuntu (distribuzione Linux molto facile da utilizzare) recatevi qui : http://www.ubuntu-it.org/download e selezionate :
- Ubuntu 14.04 LTS - 64 o 32bit (se il vostro pc è "recente" prendete i 64bit) - Desktop
cliccate infine su "Avvia il download" e salvate il file dovete volete :

Il download è di circa 1Gb ed file esatto è "ubuntu-14.04-desktop-amd64.iso"
Ora dovete crearvi una pennetta bootable con l'immagine appena scaricata.
Esistono tantissime guide e software che possono fare al caso vostro, io per comodità vi dico cosa ho usato.
Scaricate il software "Universal USB Installer " dal sito http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/ ed eseguitelo:
Cliccate su I Agree

in Step 1 selezionate Ubuntu
in Step 2 cliccate su "Browse" e andate ad aprire l'immagine di linux che avete scaricato prima (ubuntu-14.04-desktop-amd64.iso)

Ed infine cliccate su "Create", se tutto va bene vi troverete una pennetta usb bootable con la distribuzione di Linux Ubuntu 14.04 LTS

A questo punto avete due strade per installare Linux :
1) installate linux su un disco vuoto dedicato
2) installate linux accanto al vostro sistema operativo (nel mio caso Windows 8.1 Pro)
Per la prima strada vi consiglio di scollegare tutti gli hd che non utilizzate e lasciare solo quello dove andrete ad installare linux; fate il boot dalla pennetta ed installatelo.
La seconda strada ,purtroppo, è più macchinosa :
Creiamo una partizione su cui installare Ubuntu:
- Col tasto destro cliccate l’icona computer/questo PC e selezionate gestione

- Gestione Disco

- Selezione il disco da riddure, cliccate con il tasto destro del mouse su "Riduci"

- Scegliete la dimensione che vorrete avere per Linux, in "Specificare la quantità di spazio da ridurre, in MB" ad esempio 50000 (=~50Gb) e cliccate su Riduci.
Piccola chicca per accorciare di molto i tempi di booto con Linux: disabilitiamo l’hibrid boot di Windows 8
Dal pannello di controllo selezioniamo Hardware e suoni -> scheda risparmio energia -> "cambia comportamento dei pulsanti di alimentazione”;
In cima, troviamo la scritta “modifica impostazioni attualmente non disponibili”, clicchiamola e verso il basso troviamo le voci “attiva avvio rapido” , “sospensione”: togliete entrambe le spunte
Ora che abbiamo creato la pennetta e sistemato Windows possiamo riavviare il pc e fare il boot dalla usb.
Ho fatto alcuni screen shot da vmware per farvi capire come installare Linux nella giusta partizione con il giusto filesystem :



Fate attenzione al prossimo screen :
- Ho simulato di avere una partizione windows (fat32) di 4Gb
- Selezionate lo "spazio libero" o se avete formattato da windows troverete una partizione di 50Gb
Attenzione anche al boot loader, deve puntare sul disco dove vi è Windows installato.





Ora che abbiamo installato linux, aggiorniamo subito il sistema con il control center e riavviamo ancora una volta. Se avete notato che windows non compare, non preoccupatevi :
- riavviate ed entrate in Linux, in sotware center cercate ed installate Grub Customizer.
Con questo piccolo e potente tool potrete aggiungere windows nella lista di boot e nello stesso tempo personalizzare lo sfondo i caratteri etc..



Adesso dobbiamo aggiungere alcuni "pacchetti" che ci serviranno per scaricare eventualmente il "trunk" di opwenwrt e poterlo compilare :
Apriamo il terminale e diamo il seguente comando :
sudo apt-get update sudo apt-get install subversion build-essential sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core gettext sudo apt-get install git-core
Linux è installato e configurato a dovere, andiamo al passo successivo : Prepariamo il nostro buffalo ed installiamo DD-WRT
Piccolo video di "Jagat Review" che mostra passo passo come installare DD-WRT per la primissima volta.
Guardatelo anche 10 volte così avrete ben chiara la procedura.
[video=youtube;5f-i64tdCgY]
Scaricate queste due immagini :
1) WBMR-HP-G300H Firmware - Webflash image for first installation
2) WBMR-HP-G300H Firmware - Webflash image
Le metto per comdità anche nel secondo trhead.
Adesso bisogna flashare il Buffalo e sostituire il firmware orignale con quello di DD-WRT;
ATTENZIONE : Per la prima volta, cioè se provenite dal firmware di fabbirca di Buffalo, DOVETE USARE questo firmware : buffalo_to_dd-wrt_MULTI.enc
- Collegatevi con il cavo LAN non usate il Wireless;
- Resettate il router alle impostazioni di fabbrica : dal browser date 192.168.1.11 poi Admin Config -> Initialize Restart -> Initialize Now ed Apply
- Sempre dal broser 192.168.1.11 (username root e password vuota) Admin Config -> Update -> Chose file e aprite il file "buffalo_to_dd-wrt_MULTI.enc" IMPORTANTE, NON SBAGLIATE ed infine -> Update Firmware
- Il flash dura un pochino, non preoccupatevi ed aspettate che il led rosso smetta di lampeggiare;
- Ora bisogna applicare la regola "RESET" (che troverete scritto su tutti i siti/forum) del 30+30+30
la Regola del 30+30+30 si applica così:
scollega il router e ricollegalo alla corrente aspettando qualche secondo poi, premi e tieni premuto il pulsantino "reset" che si trova sotto la base del router per 30 secondi, senza mai lasciare il reset togli la corrente per 30 secondi ed infine ricollega la corrente e rimani altri trenta secondi sempre con il pulsantino reset premuto.
Aspettate qualche secondo e aprire il browser con il nuovo indirizzo del modem 192.168.1.1 dove sarete obbligati ad inserire per la prima volta la vostra nuova login e password
Congratulazioni, DD-WRT è installato!!!!
Installiamo OPENWRT
Installare openwrt è semplicissimo :
fate il telnet verso il vostro Buffalo ( da dos o linux telnet 192.168.1.1 ) e date questo comando :
cd /tmp wget http://downloads.openwrt.org/attitude_adjustment/12.09/lantiq/ar9/openwrt-lantiq-ar9-WBMR-squashfs.image mtd -r write openwrt-lantiq-ar9-WBMR-squashfs.image linux
Ora applicate la regola del "Reset 30+30+30"
Attenzione però : l'immagine presa da openwrt è per Annex B e noi che siamo in Italia ci serve il protocollo Annex A; cosa cambia? Nulla, solo che non vi funzionerà il modem ADSL

Potete comunque mettere la release di Openwrt come "base" e poi mettere una release mia o vostra con il protocollo Annex A

se non volete installare la release di openwrt e mettere fin da subito un'immagine con Annex A allora potete :
- scaricarvi una mia immagine (post 2 openwrt) e da bash/terminale spostarla sul buffalo :
scp [url="https://mega.co.nz/#!AwJFADSb!LGgOxgmpT1aQFSYdNcX6tdPwEjBNpJm8eTqrLm7ixcw"]openwrt-lantiq-xway-WBMR-squashfs[/url] [email protected]: ssh [email protected] (mettete la password) mtd -r write [url="https://mega.co.nz/#!AwJFADSb!LGgOxgmpT1aQFSYdNcX6tdPwEjBNpJm8eTqrLm7ixcw"]openwrt-lantiq-xway-WBMR-squashfs[/url] linux
in alternativa al comando mtd -r potete dare il sysupgrade
Compiliamo OPENWRT
Aprite bash/terminale e date il seguenti comandi :
mkdir Buffalo cd Buffalo
svn co svn://svn.openwrt.org/openwrt/trunk [size=2]cd trunk cd script ./[/size]feeds update -a [size=2]./[/size]feeds install -a cd .. make package/symlinks make menuconfig
le cose essenziali da mettere nel config sono :
Target System ---> Lantiq Subtarget ---> XWAY Target Profile ---> Buffalo WBMR-HP-G300H (A) - WBMR Target Images ---> squashfs Advanced configuration options (for developer) Target Options ---> -Os -pipe -mips32r2 -mtune=34kc -fno-caller-saves Toolchain Options ---> GCC compiler Version ---> 4.8.x with Linaro enhancements LuCI Collections ---> luci Applications ---> luci-app-ddns luci-app-upnp Kernel Modules Network Devices kmod-ltq.adsl.ar9.fw.a Wireless Drivers kmod-ath9k Network hostap-mini hostap-utils SE VOLETE AGGIUNGERE IL SUPPORTO PER UNA PENNETTA USB O UN HD USB : Kernel Modules - > USB Support -> kmod-usb-storage kmod-usb-storage-extras. -> Filesystem -> kmod-fs-ext4 kmod-fs-msdos kmod-fs-ntfs -> Block Device -> kmod-scsi-generic kmod-block2mtd
Poi ovviamente potete curiosare e provare ad abilitare altre funzioni ma non lo fate a casaccio, documentatevi

una volta salvata il file configurazione potete compilare con il seguente comando :
make
una piccola chicca : se avete una cpu performante (esempio i7 4770k con 4 processori) potete dare il comando "make -j4" in modo da far compilare in contemporanea sulle 4 cpu (risparmiando un sacco di tempo)
Spoilerfatez@Linux-Gaming:~/Buffalo/trunk$ make -j4
make[1] world
make[2] tools/install
make[2] package/cleanup
make[3] -C tools/patch compile
make[3] -C tools/sed compile
make[3] -C tools/xz compile
make[3] -C tools/sstrip compile
make[3] -C tools/firmware-utils compile
make[3] -C tools/patch-image compile
make[3] -C tools/findutils compile
make[3] -C tools/flock compile
make[3] -C tools/patch install
make[3] -C tools/sstrip install
make[3] -C tools/ipkg-utils compile
make[3] -C tools/genext2fs compile
make[3] -C tools/firmware-utils install
make[3] -C tools/patch-image install
make[3] -C tools/yaffs2 compile
make[3] -C tools/flock install
make[3] -C tools/cmake compile
make[3] -C tools/scons compile
make[3] -C tools/bc compile
make[3] -C tools/lzma compile
make[3] -C tools/m4 compile
make[3] -C tools/sed install
make[3] -C tools/xz install
make[3] -C tools/ipkg-utils install
make[3] -C tools/genext2fs install
make[3] -C tools/mkimage compile
make[3] -C tools/findutils install
make[3] -C tools/yaffs2 install
make[3] -C tools/padjffs2 compile
make[3] -C tools/scons install
make[3] -C tools/bc install
make[3] -C tools/lzma install
make[3] -C tools/squashfs4 compile
make[3] -C tools/libtool compile
make[3] -C tools/pkg-config compile
make[3] -C tools/padjffs2 install
make[3] -C tools/squashfs4 install
make[3] -C tools/m4 install
make[3] -C tools/libtool install
make[3] -C tools/autoconf compile
make[3] -C tools/autoconf install
make[3] -C tools/quilt compile
make[3] -C tools/quilt install
make[3] -C tools/pkg-config install
make[3] -C tools/automake compile
make[3] -C tools/mkimage install
make[3] -C tools/automake install
make[3] -C tools/gmp compile
make[3] -C tools/libelf compile
make[3] -C tools/flex compile
make[3] -C tools/mklibs compile
make[3] -C tools/e2fsprogs compile
make[3] -C tools/mm-macros compile
make[3] -C tools/xorg-macros compile
make[3] -C tools/xfce-macros compile
make[3] -C tools/missing-macros compile
make[3] -C tools/gmp install
make[3] -C tools/libelf install
make[3] -C tools/flex install
make[3] -C tools/mklibs install
make[3] -C tools/mm-macros install
make[3] -C tools/xorg-macros install
make[3] -C tools/xfce-macros install
make[3] -C tools/missing-macros install
make[3] -C tools/mpfr compile
make[3] -C tools/bison compile
make[3] -C tools/cmake install
make[3] -C tools/mpfr install
make[3] -C tools/mpc compile
make[3] -C tools/bison install
make[3] -C tools/mpc install
make[3] -C tools/e2fsprogs install
make[3] -C tools/mtd-utils compile
make[3] -C tools/mtd-utils install
make[2] toolchain/install
make[3] -C toolchain/gdb prepare
make[3] -C toolchain/binutils prepare
make[3] -C toolchain/gcc/minimal prepare
make[3] -C toolchain/kernel-headers prepare
make[3] -C toolchain/uClibc/headers prepare
make[3] -C toolchain/binutils compile
make[3] -C toolchain/uClibc prepare
make[3] -C toolchain/uClibc/utils prepare
make[3] -C toolchain/binutils install
make[3] -C toolchain/gdb compile
make[3] -C toolchain/gdb install
make[3] -C toolchain/gcc/minimal compile
make[3] -C toolchain/gcc/initial prepare
make[3] -C toolchain/gcc/final prepare
make[3] -C toolchain/kernel-headers compile
make[3] -C toolchain/gcc/minimal install
make[3] -C toolchain/kernel-headers install
make[3] -C toolchain/uClibc/headers compile
make[3] -C toolchain/uClibc/headers install
make[3] -C toolchain/gcc/initial compile
make[3] -C toolchain/gcc/initial install
make[3] -C toolchain/uClibc compile
make[3] -C toolchain/uClibc install
make[3] -C toolchain/gcc/final compile
make[3] -C toolchain/gcc/final install
make[3] -C toolchain/uClibc/utils compile
make[3] -C toolchain/uClibc/utils install
make[2] target/compile
make[3] -C target/linux compile
make[2] package/compile
make[3] -C package/system/opkg host-compile
make[3] -C package/libs/toolchain compile
make[3] -C package/kernel/gpio-button-hotplug compile
make[3] -C package/utils/lua host-compile
make[3] -C package/kernel/lantiq/ltq-adsl-mei compile
make[3] -C package/network/utils/linux-atm compile
make[3] -C package/libs/gmp compile
make[3] -C package/network/services/dropbear compile
make[3] -C package/network/utils/resolveip compile
make[3] -C package/utils/busybox compile
make[3] -C package/libs/libnl-tiny compile
make[3] -C package/libs/libjson-c compile
make[3] -C package/utils/lua compile
make[3] -C package/libs/lzo compile
make[3] -C package/libs/zlib compile
make[3] -C package/libs/ncurses compile
make[3] -C package/firmware/linux-firmware compile
make[3] -C package/libs/uclibc++ compile
make[3] -C package/libs/gettext compile
make[3] -C package/libs/libiconv compile
make[3] -C package/libs/libtool compile
make[3] -C package/libs/ocf-crypto-headers compile
make[3] -C package/libs/polarssl compile
make[3] -C package/network/utils/iwinfo compile
make[3] -C feeds/luci/contrib/package/freifunk-common compile
make[3] -C feeds/packages/net/ddns-scripts compile
make[3] -C package/libs/libpcap compile
make[3] -C feeds/telephony/net/smap compile
make[3] -C package/libs/libreadline compile
make[3] -C package/libs/libnfnetlink compile
make[3] -C package/kernel/lantiq/ltq-adsl compile
make[3] -C package/network/utils/iw compile
make[3] -C package/libs/nettle compile
make[3] -C package/libs/libubox compile
make[3] -C package/utils/util-linux compile
make[3] -C package/kernel/linux compile
make[3] -C package/libs/cyassl compile
make[3] -C package/libs/openssl compile
make[3] -C package/utils/px5g compile
make[3] -C package/network/utils/iproute2 compile
make[3] -C feeds/oldpackages/libs/libnet-1.1.x compile
make[3] -C package/network/services/samba36 compile
make[3] -C package/network/utils/curl compile
make[3] -C package/kernel/lantiq/ltq-adsl-fw compile
make[3] -C package/kernel/lantiq/ltq-atm compile
make[3] -C package/kernel/lantiq/ltq-hcd compile
make[3] -C package/network/config/ltq-adsl-app compile
make[3] -C package/network/ipv6/odhcp6c compile
make[3] -C package/network/services/dnsmasq compile
make[3] -C package/network/services/ppp compile
make[3] -C package/system/mtd compile
make[3] -C package/system/opkg compile
make[3] -C package/system/ubus compile
make[3] -C package/system/uci compile
make[3] -C package/utils/ubi-utils compile
make[3] -C package/utils/jsonfilter compile
make[3] -C package/network/utils/iptables compile
make[3] -C package/libs/ustream-ssl compile
make[3] -C feeds/oldpackages/net/httping compile
make[3] -C feeds/oldpackages/net/netdiscover compile
make[3] -C package/libs/libevent2 compile
make[3] -C package/network/services/hostapd compile
make[3] -C package/network/config/swconfig compile
make[3] -C package/network/services/odhcpd compile
make[3] -C package/network/config/netifd compile
make[3] -C package/system/ubox compile
make[3] -C feeds/oldpackages/net/l7-protocols compile
make[3] -C package/network/utils/xtables-addons compile
make[3] -C package/network/services/uhttpd compile
make[3] -C package/network/services/hostapd compile
make[3] -C package/network/config/firewall compile
make[3] -C package/network/config/qos-scripts compile
make[3] -C feeds/oldpackages/net/mac-to-devinfo compile
make[3] -C feeds/oldpackages/net/transmission compile
make[3] -C feeds/routing/miniupnpd compile
make[3] -C package/system/fstools compile
make[3] -C package/system/procd compile
make[3] -C feeds/luci/contrib/package/freifunk-p2pblock compile
make[3] -C feeds/luci/contrib/package/luci compile
make[3] -C package/kernel/mac80211 compile
make[3] -C package/base-files compile
make[3] -C feeds/luci/contrib/package/luci-addons compile
make[2] package/install
make[3] package/preconfig
make[2] target/install
make[3] -C target/linux install
make[2] package/index
fatez@Linux-Gaming:~/Buffalo/trunk$
troverete l'immagine (salvo errori di compilazione) in bin/latiq/openwrt-lantiq-ar9-WBMR-squashfs.image e finalmente potrete flasharla sul vostro Buffalo :
cd bin/latiq scp openwrt-lantiq-ar9-WBMR-squashfs.image [email protected]: ssh [email protected] mtd -r write openwrt-lantiq-ar9-WBMR-squashfs.image linux
se il comando mtd -r non va a buon fine perchè non trova la partizione Linux allora usate il comando sysupgrade :
root@OpenWrt:~# mtd -r write openwrt-lantiq-xway-WBMR-squashfs.image linux Could not open mtd device: linux Can't open device for writing! root@OpenWrt:~# sysupgrade openwrt-lantiq-xway-WBMR-squashfs.image Saving config files... killall: watchdog: no process killed Sending TERM to remaining processes ... uhttpd collectd ntpd dsl_cpe_control pppd odhcp6c dnsmasq miniupnpd ubusd askfirst logd netifd odhcpd br2684ctl Sending KILL to remaining processes ... askfirst Switching to ramdisk... Performing system upgrade... Unlocking firmware ... Writing from to firmware ... Appending jffs2 data from /tmp/sysupgrade.tgz to firmwar Upgrade completed Rebooting system...
CONFIGURARE IL PULSANTE AOS PER ACCENDERE / SPEGNERE IL WIFI
Guida concessa dal nostro gentilissimo "ets" :
Collegandosi in ssh, con l'editor vi, bisogna creare il file woggle in /sbin/
[color=#333333][font=Verdana]#!/bin/sh[/font][/color] [color=#333333][font=Verdana]device="radio0"[/font][/color] [color=#333333][font=Verdana]case $(uci get [/font][/color][url="http://lx2rv.com/w2r/?w=wireless&a=4&k=n%253A425916031%252Ck%253Anikon%20%20&al=1&V2=1&i=10"]wireless[/url][color=#333333][font=Verdana].$device.disabled) in [/font][/color] [color=#333333][font=Verdana]0)[/font][/color] [color=#333333][font=Verdana]wifi down $device[/font][/color] [color=#333333][font=Verdana]uci set wireless.$device.disabled=1[/font][/color] [color=#333333][font=Verdana]echo "Wifi disabled"[/font][/color] [color=#333333][font=Verdana];;[/font][/color] [color=#333333][font=Verdana]1)[/font][/color] [color=#333333][font=Verdana]uci set wireless.$device.disabled=0[/font][/color] [color=#333333][font=Verdana]wifi up $device[/font][/color] [color=#333333][font=Verdana]echo "Wifi enabled"[/font][/color] [color=#333333][font=Verdana];;[/font][/color] [color=#333333][font=Verdana]esac[/font][/color]
e renderlo eseguibile dando chmod +x /sbin/woggle
A questo punto dando il comando woggle da shell si può accendere o spegnere il wifi.
Bisogna però associare il comando al pulsante AOS. Si fa creando la directory button sotto /etc/hotplug.d/
[color=#333333][font=Verdana]# mkdir /etc/hotplug.d/button[/font][/color] [color=#333333][font=Verdana]# cd /etc/hotplug.d/button[/font][/color]
e poi sotto la nuova directory, sempre con vi, si deve creare il file:
[color=#333333][font=Verdana]# vi 01-radio-toggle[/font][/color]
con il seguente codice:
[color=#333333][font=Verdana]if [ "$BUTTON" = "wps" ] && [ "$ACTION" = "pressed" ] ; then [/font][/color] [color=#333333][font=Verdana]( sleep 1; /sbin/woggle ) & [/font][/color] [color=#333333][font=Verdana]fi[/font][/color]
Fatto questo si può provare il pulsante AOS e tutto dovrebbe funzionare.
Ultima cosa, ho aggiunto un paio di entry nel file crontab per spegnere il wifi alle 00:01 e riaccenderlo alle 14:01
[color=#333333][font=Verdana]01 00 * * * (/sbin/wifi down; uci set wireless.radio0.disabled=1)[/font][/color] [color=#333333][font=Verdana]01 14 * * * (uci set wireless.radio0.disabled=0; /sbin/wifi up)[/font][/color]
-
Piccola prefazione
Negli ultimi anni ho cambiato diversi router/modem sprecando inutilmente un sacco di soldi.
Ciò che mi spingeva nel cambiare device era quasi sempre la mancanza di firmware aggiornati.
In alcuni modelli trovavo feature nuove (NAS, Sharing etc) ed in altri cercavo una migliore connessione dsl
Da tanto tempo, nella mia testa, risuonava questa domanda : "E' mai possibile che nessuno abbia creato un device dove io possa scegliere cosa installare e cosa configurare?"
Casualmente mi sono imbattuto sulla pagina ufficiale di dd-wrt dove per la prima volta in assoluto davano pieno supporto ad un modem/router : il Buffalo WBMR-HP-G300H;
Da qui è nata la mia avventura e vorrei condividerla con voi.
Imparerete che dd-wrt o openwrt potranno essere installati anche su altri modem/router non riconosciuti ufficialmente.
La mia scelta è ricaduta sul Buffalo per i seguenti motivi :
- Pieno supporto alla comunità dd-wrt
- Seriale già presente sulla scheda madre (in caso qualcosa andasse storto)
- Quantitativo di RAM.
Brevi passaggi che andrò ad analizzare :
- Installare Linux
- Configurare Linux
- Scaricare DD-WRT (per poter usare openwert bisogna prima installare DD-WRT)
- Scaricare/compilare openwrt
[TABLE=width: 250, align: center]
[TR]
[TD]
[/TD][TD]
[/TD][TD]
[/TD][/TR]
[/TABLE]
Le specifiche dal wiki di openwrt del Buffalo WBMR-HP-G300H
Architecture: MIPS32 Vendor: soc.lantiq Lantiq Bootloader: U-Boot 1.00 System-On-Chip: Lantiq AR9 CPU/Speed MIPS 34Kc / 333MHz Lantiq PSB 50810 Flash size: 32MB RAM: 64MB Wireless: Atheros AR9280 Rev:2 Ethernet: 4 x Gigabit Atheros AR8316 Modem: Lantiq ADSL2+ USB: Yes 1 x 2.0 (driver dwc_otg) Serial: Yes JTAG: Yes


Una piccola precisazione sulla garanzia : se cambiate il sistema operativo con dd-wrt farete decadere immediatemente la garanzia (anche se la stessa Buffalo indica nella sua home page che è possibile installare DD-wrt)
DD-WRT ?

DD-WRT è un firmware che funziona su una versione minimalista di Linux sviluppato da terze parti;
E' rilasciato sotto i termini della licenza GPL per molti router wireless sulla base di un progetto di Broadcom e Atheros.
Ad aggiornarlo è BrainSlayer ed è scaricabile presso dd-wrt.com; Attualmente DD-WRT è disponibile gratuitamente. Offre molte caratteristiche avanzate non disponibili nei firmware OEM dei dispositivi che sono supportati.
OPENWRT ?

OpenWrt è una distribuzione Linux per sistemi embedded.
A differenza di DD-WRT, il team di Openwrt si è preposto di creare da zero un sistema completamente personalizzabile tramite una gestione dei pacchetti che si vogliono installare nel filesystem.
Ciò significa che potremo costruire noi il nostro firmware in base alle nostre necessità.
Un'altra peculiarità di Openwrt è la possibilità di modificare "dinamicamente" il firwmare.
Anche openwert è disponibile gratuitamente.
INSTALLARE LINUX


Mi permetto di scrivere una mini-mini guida per installare linux.
Forse vi state domandando "perchè devo installare Linux?" Beh, semplice : se volete farvi il vostro "openwrt" in base alle vostre esigenze, allora avete bisogno di Linux e delle sue funzioni.
Al contrario, se non volete compilarvi da soli la vostra immagine, potete sempre scaricarne una (io le metto a disposizione nel secondo thread) e procedere con il flash senza utilizzare Linux.
- Scarichiamo Ubuntu (distribuzione Linux molto facile da utilizzare) recatevi qui : http://www.ubuntu-it.org/download e selezionate :
- Ubuntu 14.04 LTS - 64 o 32bit (se il vostro pc è "recente" prendete i 64bit) - Desktop
cliccate infine su "Avvia il download" e salvate il file dovete volete :

Il download è di circa 1Gb ed file esatto è "ubuntu-14.04-desktop-amd64.iso"
Ora dovete crearvi una pennetta bootable con l'immagine appena scaricata.
Esistono tantissime guide e software che possono fare al caso vostro, io per comodità vi dico cosa ho usato.
Scaricate il software "Universal USB Installer " dal sito http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/ ed eseguitelo:
Cliccate su I Agree

in Step 1 selezionate Ubuntu
in Step 2 cliccate su "Browse" e andate ad aprire l'immagine di linux che avete scaricato prima (ubuntu-14.04-desktop-amd64.iso)

Ed infine cliccate su "Create", se tutto va bene vi troverete una pennetta usb bootable con la distribuzione di Linux Ubuntu 14.04 LTS

A questo punto avete due strade per installare Linux :
1) installate linux su un disco vuoto dedicato
2) installate linux accanto al vostro sistema operativo (nel mio caso Windows 8.1 Pro)
Per la prima strada vi consiglio di scollegare tutti gli hd che non utilizzate e lasciare solo quello dove andrete ad installare linux; fate il boot dalla pennetta ed installatelo.
La seconda strada ,purtroppo, è più macchinosa :
Creiamo una partizione su cui installare Ubuntu:
- Col tasto destro cliccate l’icona computer/questo PC e selezionate gestione

- Gestione Disco

- Selezione il disco da riddure, cliccate con il tasto destro del mouse su "Riduci"

- Scegliete la dimensione che vorrete avere per Linux, in "Specificare la quantità di spazio da ridurre, in MB" ad esempio 50000 (=~50Gb) e cliccate su Riduci.
Piccola chicca per accorciare di molto i tempi di booto con Linux: disabilitiamo l’hibrid boot di Windows 8
Dal pannello di controllo selezioniamo Hardware e suoni -> scheda risparmio energia -> "cambia comportamento dei pulsanti di alimentazione”;
In cima, troviamo la scritta “modifica impostazioni attualmente non disponibili”, clicchiamola e verso il basso troviamo le voci “attiva avvio rapido” , “sospensione”: togliete entrambe le spunte
Ora che abbiamo creato la pennetta e sistemato Windows possiamo riavviare il pc e fare il boot dalla usb.
Ho fatto alcuni screen shot da vmware per farvi capire come installare Linux nella giusta partizione con il giusto filesystem :



Fate attenzione al prossimo screen :
- Ho simulato di avere una partizione windows (fat32) di 4Gb
- Selezionate lo "spazio libero" o se avete formattato da windows troverete una partizione di 50Gb
Attenzione anche al boot loader, deve puntare sul disco dove vi è Windows installato.





Ora che abbiamo installato linux, aggiorniamo subito il sistema con il control center e riavviamo ancora una volta. Se avete notato che windows non compare, non preoccupatevi :
- riavviate ed entrate in Linux, in sotware center cercate ed installate Grub Customizer.
Con questo piccolo e potente tool potrete aggiungere windows nella lista di boot e nello stesso tempo personalizzare lo sfondo i caratteri etc..



Adesso dobbiamo aggiungere alcuni "pacchetti" che ci serviranno per scaricare eventualmente il "trunk" di opwenwrt e poterlo compilare :
Apriamo il terminale e diamo il seguente comando :
sudo apt-get update sudo apt-get install subversion build-essential sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core gettext sudo apt-get install git-core
Linux è installato e configurato a dovere, andiamo al passo successivo : Prepariamo il nostro buffalo ed installiamo DD-WRT
Piccolo video di "Jagat Review" che mostra passo passo come installare DD-WRT per la primissima volta.
Guardatelo anche 10 volte così avrete ben chiara la procedura.
[video=youtube;5f-i64tdCgY]
Scaricate queste due immagini :
1) WBMR-HP-G300H Firmware - Webflash image for first installation
2) WBMR-HP-G300H Firmware - Webflash image
Le metto per comdità anche nel secondo trhead.
Adesso bisogna flashare il Buffalo e sostituire il firmware orignale con quello di DD-WRT;
ATTENZIONE : Per la prima volta, cioè se provenite dal firmware di fabbirca di Buffalo, DOVETE USARE questo firmware : buffalo_to_dd-wrt_MULTI.enc
- Collegatevi con il cavo LAN non usate il Wireless;
- Resettate il router alle impostazioni di fabbrica : dal browser date 192.168.1.11 poi Admin Config -> Initialize Restart -> Initialize Now ed Apply
- Sempre dal broser 192.168.1.11 (username root e password vuota) Admin Config -> Update -> Chose file e aprite il file "buffalo_to_dd-wrt_MULTI.enc" IMPORTANTE, NON SBAGLIATE ed infine -> Update Firmware
- Il flash dura un pochino, non preoccupatevi ed aspettate che il led rosso smetta di lampeggiare;
- Ora bisogna applicare la regola "RESET" (che troverete scritto su tutti i siti/forum) del 30+30+30
la Regola del 30+30+30 si applica così:
scollega il router e ricollegalo alla corrente aspettando qualche secondo poi, premi e tieni premuto il pulsantino "reset" che si trova sotto la base del router per 30 secondi, senza mai lasciare il reset togli la corrente per 30 secondi ed infine ricollega la corrente e rimani altri trenta secondi sempre con il pulsantino reset premuto.
Aspettate qualche secondo e aprire il browser con il nuovo indirizzo del modem 192.168.1.1 dove sarete obbligati ad inserire per la prima volta la vostra nuova login e password
Congratulazioni, DD-WRT è installato!!!!
Installiamo OPENWRT
Installare openwrt è semplicissimo :
fate il telnet verso il vostro Buffalo ( da dos o linux telnet 192.168.1.1 ) e date questo comando :
cd /tmp wget http://downloads.openwrt.org/attitude_adjustment/12.09/lantiq/ar9/openwrt-lantiq-ar9-WBMR-squashfs.image mtd -r write openwrt-lantiq-ar9-WBMR-squashfs.image linux
Ora applicate la regola del "Reset 30+30+30"
Attenzione però : l'immagine presa da openwrt è per Annex B e noi che siamo in Italia ci serve il protocollo Annex A; cosa cambia? Nulla, solo che non vi funzionerà il modem ADSL

Potete comunque mettere la release di Openwrt come "base" e poi mettere una release mia o vostra con il protocollo Annex A

se non volete installare la release di openwrt e mettere fin da subito un'immagine con Annex A allora potete :
- scaricarvi una mia immagine (post 2 openwrt) e da bash/terminale spostarla sul buffalo :
scp [url="https://mega.co.nz/#!AwJFADSb!LGgOxgmpT1aQFSYdNcX6tdPwEjBNpJm8eTqrLm7ixcw"]openwrt-lantiq-xway-WBMR-squashfs[/url] [email protected]: ssh [email protected] (mettete la password) mtd -r write [url="https://mega.co.nz/#!AwJFADSb!LGgOxgmpT1aQFSYdNcX6tdPwEjBNpJm8eTqrLm7ixcw"]openwrt-lantiq-xway-WBMR-squashfs[/url] linux
in alternativa al comando mtd -r potete dare il sysupgrade
Compiliamo OPENWRT
Aprite bash/terminale e date il seguenti comandi :
mkdir Buffalo cd Buffalo
svn co svn://svn.openwrt.org/openwrt/trunk [size=2]cd trunk cd script ./[/size]feeds update -a [size=2]./[/size]feeds install -a cd .. make package/symlinks make menuconfig
le cose essenziali da mettere nel config sono :
Target System ---> Lantiq Subtarget ---> XWAY Target Profile ---> Buffalo WBMR-HP-G300H (A) - WBMR Target Images ---> squashfs Advanced configuration options (for developer) Target Options ---> -Os -pipe -mips32r2 -mtune=34kc -fno-caller-saves Toolchain Options ---> GCC compiler Version ---> 4.8.x with Linaro enhancements LuCI Collections ---> luci Applications ---> luci-app-ddns luci-app-upnp Kernel Modules Network Devices kmod-ltq.adsl.ar9.fw.a Wireless Drivers kmod-ath9k Network hostap-mini hostap-utils SE VOLETE AGGIUNGERE IL SUPPORTO PER UNA PENNETTA USB O UN HD USB : Kernel Modules - > USB Support -> kmod-usb-storage kmod-usb-storage-extras. -> Filesystem -> kmod-fs-ext4 kmod-fs-msdos kmod-fs-ntfs -> Block Device -> kmod-scsi-generic kmod-block2mtd
Poi ovviamente potete curiosare e provare ad abilitare altre funzioni ma non lo fate a casaccio, documentatevi

una volta salvata il file configurazione potete compilare con il seguente comando :
make
una piccola chicca : se avete una cpu performante (esempio i7 4770k con 4 processori) potete dare il comando "make -j4" in modo da far compilare in contemporanea sulle 4 cpu (risparmiando un sacco di tempo)
Spoilerfatez@Linux-Gaming:~/Buffalo/trunk$ make -j4
make[1] world
make[2] tools/install
make[2] package/cleanup
make[3] -C tools/patch compile
make[3] -C tools/sed compile
make[3] -C tools/xz compile
make[3] -C tools/sstrip compile
make[3] -C tools/firmware-utils compile
make[3] -C tools/patch-image compile
make[3] -C tools/findutils compile
make[3] -C tools/flock compile
make[3] -C tools/patch install
make[3] -C tools/sstrip install
make[3] -C tools/ipkg-utils compile
make[3] -C tools/genext2fs compile
make[3] -C tools/firmware-utils install
make[3] -C tools/patch-image install
make[3] -C tools/yaffs2 compile
make[3] -C tools/flock install
make[3] -C tools/cmake compile
make[3] -C tools/scons compile
make[3] -C tools/bc compile
make[3] -C tools/lzma compile
make[3] -C tools/m4 compile
make[3] -C tools/sed install
make[3] -C tools/xz install
make[3] -C tools/ipkg-utils install
make[3] -C tools/genext2fs install
make[3] -C tools/mkimage compile
make[3] -C tools/findutils install
make[3] -C tools/yaffs2 install
make[3] -C tools/padjffs2 compile
make[3] -C tools/scons install
make[3] -C tools/bc install
make[3] -C tools/lzma install
make[3] -C tools/squashfs4 compile
make[3] -C tools/libtool compile
make[3] -C tools/pkg-config compile
make[3] -C tools/padjffs2 install
make[3] -C tools/squashfs4 install
make[3] -C tools/m4 install
make[3] -C tools/libtool install
make[3] -C tools/autoconf compile
make[3] -C tools/autoconf install
make[3] -C tools/quilt compile
make[3] -C tools/quilt install
make[3] -C tools/pkg-config install
make[3] -C tools/automake compile
make[3] -C tools/mkimage install
make[3] -C tools/automake install
make[3] -C tools/gmp compile
make[3] -C tools/libelf compile
make[3] -C tools/flex compile
make[3] -C tools/mklibs compile
make[3] -C tools/e2fsprogs compile
make[3] -C tools/mm-macros compile
make[3] -C tools/xorg-macros compile
make[3] -C tools/xfce-macros compile
make[3] -C tools/missing-macros compile
make[3] -C tools/gmp install
make[3] -C tools/libelf install
make[3] -C tools/flex install
make[3] -C tools/mklibs install
make[3] -C tools/mm-macros install
make[3] -C tools/xorg-macros install
make[3] -C tools/xfce-macros install
make[3] -C tools/missing-macros install
make[3] -C tools/mpfr compile
make[3] -C tools/bison compile
make[3] -C tools/cmake install
make[3] -C tools/mpfr install
make[3] -C tools/mpc compile
make[3] -C tools/bison install
make[3] -C tools/mpc install
make[3] -C tools/e2fsprogs install
make[3] -C tools/mtd-utils compile
make[3] -C tools/mtd-utils install
make[2] toolchain/install
make[3] -C toolchain/gdb prepare
make[3] -C toolchain/binutils prepare
make[3] -C toolchain/gcc/minimal prepare
make[3] -C toolchain/kernel-headers prepare
make[3] -C toolchain/uClibc/headers prepare
make[3] -C toolchain/binutils compile
make[3] -C toolchain/uClibc prepare
make[3] -C toolchain/uClibc/utils prepare
make[3] -C toolchain/binutils install
make[3] -C toolchain/gdb compile
make[3] -C toolchain/gdb install
make[3] -C toolchain/gcc/minimal compile
make[3] -C toolchain/gcc/initial prepare
make[3] -C toolchain/gcc/final prepare
make[3] -C toolchain/kernel-headers compile
make[3] -C toolchain/gcc/minimal install
make[3] -C toolchain/kernel-headers install
make[3] -C toolchain/uClibc/headers compile
make[3] -C toolchain/uClibc/headers install
make[3] -C toolchain/gcc/initial compile
make[3] -C toolchain/gcc/initial install
make[3] -C toolchain/uClibc compile
make[3] -C toolchain/uClibc install
make[3] -C toolchain/gcc/final compile
make[3] -C toolchain/gcc/final install
make[3] -C toolchain/uClibc/utils compile
make[3] -C toolchain/uClibc/utils install
make[2] target/compile
make[3] -C target/linux compile
make[2] package/compile
make[3] -C package/system/opkg host-compile
make[3] -C package/libs/toolchain compile
make[3] -C package/kernel/gpio-button-hotplug compile
make[3] -C package/utils/lua host-compile
make[3] -C package/kernel/lantiq/ltq-adsl-mei compile
make[3] -C package/network/utils/linux-atm compile
make[3] -C package/libs/gmp compile
make[3] -C package/network/services/dropbear compile
make[3] -C package/network/utils/resolveip compile
make[3] -C package/utils/busybox compile
make[3] -C package/libs/libnl-tiny compile
make[3] -C package/libs/libjson-c compile
make[3] -C package/utils/lua compile
make[3] -C package/libs/lzo compile
make[3] -C package/libs/zlib compile
make[3] -C package/libs/ncurses compile
make[3] -C package/firmware/linux-firmware compile
make[3] -C package/libs/uclibc++ compile
make[3] -C package/libs/gettext compile
make[3] -C package/libs/libiconv compile
make[3] -C package/libs/libtool compile
make[3] -C package/libs/ocf-crypto-headers compile
make[3] -C package/libs/polarssl compile
make[3] -C package/network/utils/iwinfo compile
make[3] -C feeds/luci/contrib/package/freifunk-common compile
make[3] -C feeds/packages/net/ddns-scripts compile
make[3] -C package/libs/libpcap compile
make[3] -C feeds/telephony/net/smap compile
make[3] -C package/libs/libreadline compile
make[3] -C package/libs/libnfnetlink compile
make[3] -C package/kernel/lantiq/ltq-adsl compile
make[3] -C package/network/utils/iw compile
make[3] -C package/libs/nettle compile
make[3] -C package/libs/libubox compile
make[3] -C package/utils/util-linux compile
make[3] -C package/kernel/linux compile
make[3] -C package/libs/cyassl compile
make[3] -C package/libs/openssl compile
make[3] -C package/utils/px5g compile
make[3] -C package/network/utils/iproute2 compile
make[3] -C feeds/oldpackages/libs/libnet-1.1.x compile
make[3] -C package/network/services/samba36 compile
make[3] -C package/network/utils/curl compile
make[3] -C package/kernel/lantiq/ltq-adsl-fw compile
make[3] -C package/kernel/lantiq/ltq-atm compile
make[3] -C package/kernel/lantiq/ltq-hcd compile
make[3] -C package/network/config/ltq-adsl-app compile
make[3] -C package/network/ipv6/odhcp6c compile
make[3] -C package/network/services/dnsmasq compile
make[3] -C package/network/services/ppp compile
make[3] -C package/system/mtd compile
make[3] -C package/system/opkg compile
make[3] -C package/system/ubus compile
make[3] -C package/system/uci compile
make[3] -C package/utils/ubi-utils compile
make[3] -C package/utils/jsonfilter compile
make[3] -C package/network/utils/iptables compile
make[3] -C package/libs/ustream-ssl compile
make[3] -C feeds/oldpackages/net/httping compile
make[3] -C feeds/oldpackages/net/netdiscover compile
make[3] -C package/libs/libevent2 compile
make[3] -C package/network/services/hostapd compile
make[3] -C package/network/config/swconfig compile
make[3] -C package/network/services/odhcpd compile
make[3] -C package/network/config/netifd compile
make[3] -C package/system/ubox compile
make[3] -C feeds/oldpackages/net/l7-protocols compile
make[3] -C package/network/utils/xtables-addons compile
make[3] -C package/network/services/uhttpd compile
make[3] -C package/network/services/hostapd compile
make[3] -C package/network/config/firewall compile
make[3] -C package/network/config/qos-scripts compile
make[3] -C feeds/oldpackages/net/mac-to-devinfo compile
make[3] -C feeds/oldpackages/net/transmission compile
make[3] -C feeds/routing/miniupnpd compile
make[3] -C package/system/fstools compile
make[3] -C package/system/procd compile
make[3] -C feeds/luci/contrib/package/freifunk-p2pblock compile
make[3] -C feeds/luci/contrib/package/luci compile
make[3] -C package/kernel/mac80211 compile
make[3] -C package/base-files compile
make[3] -C feeds/luci/contrib/package/luci-addons compile
make[2] package/install
make[3] package/preconfig
make[2] target/install
make[3] -C target/linux install
make[2] package/index
fatez@Linux-Gaming:~/Buffalo/trunk$
troverete l'immagine (salvo errori di compilazione) in bin/latiq/openwrt-lantiq-ar9-WBMR-squashfs.image e finalmente potrete flasharla sul vostro Buffalo :
cd bin/latiq scp openwrt-lantiq-ar9-WBMR-squashfs.image [email protected]: ssh [email protected] mtd -r write openwrt-lantiq-ar9-WBMR-squashfs.image linux
se il comando mtd -r non va a buon fine perchè non trova la partizione Linux allora usate il comando sysupgrade :
root@OpenWrt:~# mtd -r write openwrt-lantiq-xway-WBMR-squashfs.image linux Could not open mtd device: linux Can't open device for writing! root@OpenWrt:~# sysupgrade openwrt-lantiq-xway-WBMR-squashfs.image Saving config files... killall: watchdog: no process killed Sending TERM to remaining processes ... uhttpd collectd ntpd dsl_cpe_control pppd odhcp6c dnsmasq miniupnpd ubusd askfirst logd netifd odhcpd br2684ctl Sending KILL to remaining processes ... askfirst Switching to ramdisk... Performing system upgrade... Unlocking firmware ... Writing from to firmware ... Appending jffs2 data from /tmp/sysupgrade.tgz to firmwar Upgrade completed Rebooting system...
CONFIGURARE IL PULSANTE AOS PER ACCENDERE / SPEGNERE IL WIFI
Guida concessa dal nostro gentilissimo "ets" :
Collegandosi in ssh, con l'editor vi, bisogna creare il file woggle in /sbin/
[color=#333333][font=Verdana]#!/bin/sh[/font][/color] [color=#333333][font=Verdana]device="radio0"[/font][/color] [color=#333333][font=Verdana]case $(uci get [/font][/color][url="http://lx2rv.com/w2r/?w=wireless&a=4&k=n%253A425916031%252Ck%253Anikon%20%20&al=1&V2=1&i=10"]wireless[/url][color=#333333][font=Verdana].$device.disabled) in [/font][/color] [color=#333333][font=Verdana]0)[/font][/color] [color=#333333][font=Verdana]wifi down $device[/font][/color] [color=#333333][font=Verdana]uci set wireless.$device.disabled=1[/font][/color] [color=#333333][font=Verdana]echo "Wifi disabled"[/font][/color] [color=#333333][font=Verdana];;[/font][/color] [color=#333333][font=Verdana]1)[/font][/color] [color=#333333][font=Verdana]uci set wireless.$device.disabled=0[/font][/color] [color=#333333][font=Verdana]wifi up $device[/font][/color] [color=#333333][font=Verdana]echo "Wifi enabled"[/font][/color] [color=#333333][font=Verdana];;[/font][/color] [color=#333333][font=Verdana]esac[/font][/color]
e renderlo eseguibile dando chmod +x /sbin/woggle
A questo punto dando il comando woggle da shell si può accendere o spegnere il wifi.
Bisogna però associare il comando al pulsante AOS. Si fa creando la directory button sotto /etc/hotplug.d/
[color=#333333][font=Verdana]# mkdir /etc/hotplug.d/button[/font][/color] [color=#333333][font=Verdana]# cd /etc/hotplug.d/button[/font][/color]
e poi sotto la nuova directory, sempre con vi, si deve creare il file:
[color=#333333][font=Verdana]# vi 01-radio-toggle[/font][/color]
con il seguente codice:
[color=#333333][font=Verdana]if [ "$BUTTON" = "wps" ] && [ "$ACTION" = "pressed" ] ; then [/font][/color] [color=#333333][font=Verdana]( sleep 1; /sbin/woggle ) & [/font][/color] [color=#333333][font=Verdana]fi[/font][/color]
Fatto questo si può provare il pulsante AOS e tutto dovrebbe funzionare.
Ultima cosa, ho aggiunto un paio di entry nel file crontab per spegnere il wifi alle 00:01 e riaccenderlo alle 14:01
[color=#333333][font=Verdana]01 00 * * * (/sbin/wifi down; uci set wireless.radio0.disabled=1)[/font][/color] [color=#333333][font=Verdana]01 14 * * * (uci set wireless.radio0.disabled=0; /sbin/wifi up)[/font][/color]
-
BUILD DD-WRT
- PRIMA INSTALLAZIONE - buffalo_to_dd-wrt_MULTI
- AGGIORNAMENTO -wbmr_g300nh-webflash-firmware
23/06/2014
- Release 24461 - buffalo_to_dd-wrt_MULTI.enc
- Release 24461 - uImage.bin
- Release 24461 - wbmr_g300h-webflash-firmware.bin
BUILD OPENWRT
- Release 41055 - openwrt-lantiq-xway-WBMR-squashfs
- Release 41055 - openwrt-lantiq-xway-WBMR-uImage
21/06/2014
- Release 41292 - .config
- Release 41292 - openwrt-lantiq-xway-WBMR-squashfs
- Release 41292 - openwrt-lantiq-xway-WBMR-uImage
22/06/2014 contiente ( Usb Storage - DDNS - P2P - Samba - Transmission - Upnp )
- Release 41296 - .config
- Release 41296 - openwrt-lantiq-xway-WBMR-squashfs
- Release 41296 - openwrt-lantiq-xway-WBMR-uImage
26/06/2014 Minimale (Usb Storage - DDNS - Samba - Upnp)
- Release 41353 .config
- Release 41353 openwrt-lantiq-xway-WBMR-squashfs
- Release 41353 openwrt-lantiq-xway-WBMR-uImage
07/07/2014 Minimale (Usb Storage - DDNS - Samba - Upnp - temi aggiuntivi - lingua ita per default)
- Release 41544 .config
- Release 41544 openwrt-lantiq-xway-WBMR-squashfs
- Release 41544 openwrt-lantiq-xway-WBMR-uImage
24/07/2014 Minimale (Usb Storage - DDNS - Upnp - lingua ita per default)
- Release 41824 .config
- Release 41824 openwrt-lantiq-xway-WBMR-squashfs
- Release 41824 openwrt-lantiq-xway-WBMR-uImage
10/08/2014 Minimale (Usb Storage - DDNS - Upnp - lingua ita per default)
- Release 42092 .config
- Release 42092 openwrt-lantiq-xway-WBMR-squashfs
- Release 42092 openwrt-lantiq-xway-WBMR-uImage
24/09/2014 Minimale (Usb Storage - DDNS - Upnp - lingua ita per default)
- Release 42657 .config
- Release 42657 openwrt-lantiq-xway-WBMR-squashfs
- Release 42657 openwrt-lantiq-xway-WBMR-uImage
13/11/2014 Build di @Klamath
openwrt-lantiq-xway-WBMR-squashfs.image
openwrt-lantiq-xway-WBMR-uImage
Grazie a @klamath
ci sono delle novità :
ho compilato una nuova release di openwrt con l'ultimo nato Chaos Calmer 15.05include i pacchetti luci, luci-app-ddns, luci-app-upnp, luci-ssl, curl
altre feature: firmware dsl versione 4.5.4.2.1.1, annexA, mtu preimpostato a 1492, preconfigurato per aliceadsl
https://mega.nz/#!oMAEXIJL!hRrRvmNWh...crbm8Wdd9u1bhs > sha256sums
https://mega.nz/#!VZ5WzDZJ!6ydtTW1r2...2Wsh7zlyJkhmME > openwrt-15.05-lantiq-xway-WBMR-uImage
https://mega.nz/#!xNYFQSZD!uUQsshdn2...2l7Zi5VqmQdyjw > openwrt-15.05-lantiq-xway-WBMR-uImage-initramfs
https://mega.nz/#!JA4BUCTL!KSe01iNUg...EQVCMUuCjakc10 > openwrt-15.05-lantiq-xway-WBMR-squashfs.image
-
Driver ADSL aggiornati
(da sostituire in /lib/firmware con il ltq-dsl-fw-a-ar9.bin)
Notare che openwrt monta un driver adsl molto vecchio, esattamente la versione 4.4.4.0.0.1
- modemhwe-4.5.3.14.1.1 testato e funzionante
- xcpe_hw_ar9_a 4.5.4.2.1.1 testato e funzionante
nuovo driver adsl da testare :
-
ottimo ste
. -
Guida terminata, se avete qualche domanda o dubbio sono qui

Se notate qualche fesseria nella guida, sono qui

-
Aggiunti driver ADSL aggiornati
-
-
Eccomi qua,
Allora, ringraziandoti nuovamente per la disponibilità, ti ripropongo le seguenti domande:
.1: per prevenzione
: se faccio qualche cazzata, mi confermi che coerentemente con quanto scritto qui posso ritornare a DD-WRT?.2: Non mi è chiaro come vanno sostituiti i driver del modem, bisogna sostituirli pre o post compilazione?
.3: Spinto dalla curosità di spulciare tra i pacchetti disponibili per OpenWrt, mi sono documentato un po' meglio rispetto a ieri e ci ho capito qualcosa di più su come fare a compilare.
Ho già dato una prima occhiata ai pacchetti disponibili, ma data la mia assoluta inesperienza non saprei cosa è meglio.
Come già ho evidenziato sull'altro forum, ciò a cui ero maggiormente interessato sono le utility che mi consentono di fare in minimo di power management, quindi programmazione spegnimento Wi-Fi/NIC/Modem, e gestione accensione dei led.
In particolar modo mi piacerebbe utilizzare lo switch "movie engine" per accendere/spegnere i led e il pulsante AOSS per determinare quando spegnere i chip indicati sopra, ma non credo sià di facile realizzazione, quindi mi accontento di qualcosa che si avvicina.
qundi passando al concreto ti desideravo chiedere:
.3.a: alcune delle funzioni di cui sono interessato, per esempio quella dei led, le trovo classificate in OpenWrt Configuration->Kernel Modules-> LED Modules (Per esempio il pacchetto LED Timer Trigger potrebbe interessarmi); ma a rigor di logica credo che funzioni di gestione dei LED siano già implementate nei pacchetti di base, quindi mi si pone il rischio di eventuali conflitti se dovessi installare un pacchetto che va a gestire i LED?
.3.b: qualcosa ho già visto, ma eventualmente sapresti consigliarmi dove andare ad informarmi meglio (oltre alla descrizione dei singoli pacchetti) per capire quali pacchetti aggiungere per implementere i controlli ai quali sono interessato?
.4: Per flasshare OpenWrt, utilizzando un metodo per niubbi, quale sono, correggimi se mi sbaglio, ma in teoria basta:
-mi procuro un immagine e la sposto con WinSCP sulla root o in una directory con abbastanza spazio (a proposito, se dovessi trasferire sulla una chiavetta che uso come NAS, è una cavolata??)
-mi connetto telnet e utilizzo l'istruzione:
sysupdate nome_immagine
Tu nella guida hai scritto di utilizzare quella indicata sopra o la mtd ma stando a quanto scritto sempre qui, quest'ultima non sembrerebbe lavorare benissimo, qundi in fine dei conti cosa consigli tra le due?
forse data la mole di domande
non è sufficiente ma ti ringrazio nuovamente.
Grazie e buona serata
-
Avevo pubblicato un post chilometrico ieri sera, ma è andato perso:cheazz:

Vabbè vediamo se mi ricordo cosa avevo scritto; fondamentalmente, avevo 4 domande da farti:
.1: se faccio qualche cavolata con OpenWrt, coerentemente con quanto scritto qui, mi confermi che posso tornare a DD-WRT flasshando la uimage dal WebGUI?
.2: Non mi è chiaro come aggiornare i driver del modem, i file che hai indicato vanno sostituiti dopo compilazione e dopo flash??
.3: Come già detto di là, le caratteristiche che più mi incuriosiscono di OpenWrt è vedere se tra i moduli aggiuntivi disponibili esiste qualcuno che mi permette di fare un power management di base.
A tal proposito ieri mi sono informato meglio, e ho già dato una spulciatina tra i pacchetti disponibili, ma data la mia totale inesperienza in materia, desidererei chiederti un paio di suggerimenti
.3.a: Alcuni dei pacchetti a cui ero interessato, in particolar modo quelli per la gestione dei LED li trovo classificati sotto OpenWrt Config-> Kernel modules -> LED qualcosa (ora non ricordo più e da mobile non ho a disposizione il compilatore).
Ora a rigor di logica mi vien da pensare che funzioni per il controllo dei LED siano implementate di default sul kernel base, quindi qualora dovessi decidere di aggiungere uno di questi moduli, non c'è rischio che vada in conflitto??
.3.b: Il mio obbiettivo sarebbe quello di poter programmare fasce orarie per lo spegnimento/accensione dei chip Wi-Fi/NIC/Modem, e riaccenderli tramite pulsante AOSS qualora desiderassi riaccendere il tutto, mentre per i led desidererei pilotare l'accensione tramite lo switch "movie engine"; dal momento che una cosa del genere non è di facile implementazione mi accontento anche di qualcosa che ci si avvicina.
Ora due idee su come fare le ho, ovvero utilizzare lo scheduler Cron per la programmazione dello spegnimento dei chip, e utilizzare un pacchetto di cui ora ho dimenticato il nome, per i LED (LED trigger qualcosa, come dicevo prima, ora da mobile non riesco a verificare); quello che mi manca è capire dove trovare una documentazione più completa delle due righe di descrizione del pacchetto che trovo nel compilatore.
Tu mi sapresti dire dove andare a cercare questa documentazione?
eventualmente mi sapresti suggerire qualche pacchetto che mi può aiutare in quello che ho intenzione di realizzare?
.4: Una volta compilato, il firmare volendo flassharlo con il metodo da niubbi, quale sono, può andar bene procedere come segue?
-sposto l'immagine sulla root tramite WinSCP, o comunque in una directory con abbastanza spazio (a tal proposito se lo si sposta su una HD attaccato al router si rischia di fare la cazzata?)
-mi connetto SSH al router e utilizzo l'istruzione
sysupdate nome_immagine
A tal proposito meglio sysupdate o mtd ?
Perche stando a quanto scritto sempre qui sembrerebbe problematica la mtd
Grazie mille di tutto
:ave:
:ave:
-
Ciao Fatez,
complimenti per la guida, veramente ben fatta. Avevo intenzione di installare anch'io dd-wrt o open-wrt, ma prima ne approfitto per un paio di domande.
Hai trovato veramente vantaggioso installare il nuovo firmware rispetto a quello originale? Ne vale la pena?
Sul sito dd-wrt trovo solo la versione 21061 di Aprile 2013. La versione che posti tu dove si può trovare?
Grazie delle info.
fatez ha scritto:
BUILD DD-WRT- PRIMA INSTALLAZIONE - buffalo_to_dd-wrt_MULTI
- AGGIORNAMENTO -wbmr_g300nh-webflash-firmware
23/06/2014
- Release 24461 - buffalo_to_dd-wrt_MULTI.enc
- Release 24461 - uImage.bin
- Release 24461 - wbmr_g300h-webflash-firmware.bin
-
ets ha scritto:
Ciao Fatez,complimenti per la guida, veramente ben fatta. Avevo intenzione di installare anch'io dd-wrt o open-wrt, ma prima ne approfitto per un paio di domande.
Hai trovato veramente vantaggioso installare il nuovo firmware rispetto a quello originale? Ne vale la pena?
Sul sito dd-wrt trovo solo la versione 21061 di Aprile 2013. La versione che posti tu dove si può trovare?
Grazie delle info.
BUILD DD-WRT- PRIMA INSTALLAZIONE - buffalo_to_dd-wrt_MULTI
- AGGIORNAMENTO -wbmr_g300nh-webflash-firmware
23/06/2014
- Release 24461 - buffalo_to_dd-wrt_MULTI.enc
- Release 24461 - uImage.bin
- Release 24461 - wbmr_g300h-webflash-firmware.bin
ciao se passi a presentarti qui
-
ets ha scritto:
Ciao Fatez,complimenti per la guida, veramente ben fatta. Avevo intenzione di installare anch'io dd-wrt o open-wrt, ma prima ne approfitto per un paio di domande.
Hai trovato veramente vantaggioso installare il nuovo firmware rispetto a quello originale?
Ne vale la pena?
Assolutamente si, il firmware originale è "vecchio" e non offre minimamente tutte le cose che ti possono dare dd-wrt o openwrt. Per non parlare della "reattività" del sistema : con openwrt è una scheggia, mai un "impuntamento" dell'OS e l'hardware è sempre bello pronto!
Sul sito dd-wrt trovo solo la versione 21061 di Aprile 2013. La versione che posti tu dove si può trovare?
Grazie delle info.
da qui : http://www.dd-wrt.com/phpBB2/viewtopic.php?t=263149&postdays=0&postorder=asc&start=0
fatez ha scritto:
BUILD DD-WRT- PRIMA INSTALLAZIONE - buffalo_to_dd-wrt_MULTI
- AGGIORNAMENTO -wbmr_g300nh-webflash-firmware
23/06/2014
- Release 24461 - buffalo_to_dd-wrt_MULTI.enc
- Release 24461 - uImage.bin
- Release 24461 - wbmr_g300h-webflash-firmware.bin
Che è lo stesso identico che ho messo li
-
Ciao Fatez,
ho installato prima dd-wrt e poi open-wrt seguendo la tua guida. Purtroppo con entrambi non riesce a vedere la parte WAN e quindi l'ADSL (Infostrada).
Da te funziona? Eventualmente come è possibile tornare a dd-wrt o addirittura al fw originale?
-
Ciao,
si certo che funziona tutto.
in openwrt devi abilitare la parte adsl, configurarla e farla partire




-
Ho fatto esattamente la tua stessa cosa, tranne che mettere "benvenuto", "ospite" per Infostrada. A quel punto il connetti salve le configurazioni, ma poi rimane sempre rosso e non si connette.
Qualche suggerimento? Qualcun altro ha provato con Infostrada?
-
ets ha scritto:
Ho fatto esattamente la tua stessa cosa, tranne che mettere "benvenuto", "ospite" per Infostrada. A quel punto il connetti salve le configurazioni, ma poi rimane sempre rosso e non si connette.Qualche suggerimento? Qualcun altro ha provato con Infostrada?
ti colleghi in pppoe o in pppoa?
Se ti colleghi in PPPOE devi aspettare qualche minuto... è più lento a negoziare
-
In PPPoE, ma è da un po' che ci provo. Nella parte di ATM Bridges -> Advanced Settings hai messo "routed" o "bridged"?
Altra cosa, ma diventa verde la parte WAN quando si collega, giusto?
e le luci sul modem funzionano come prima nel settaggio di default (ho visto che poi si possono cambiare)?
Scusa ma sto impazzendo nella configurazione e mi scoccia rimanere senza adsl ...
-
ets ha scritto:
In PPPoE, ma è da un po' che ci provo. Nella parte di ATM Bridges -> Advanced Settings hai messo "routed" o "bridged"?Altra cosa, ma diventa verde la parte WAN quando si collega, giusto?
e le luci sul modem funzionano come prima nel settaggio di default (ho visto che poi si possono cambiare)?
Scusa ma sto impazzendo nella configurazione e mi scoccia rimanere senza adsl ...
No, la parte wan rimane sempre del colore rosso;
Le luci sul modem funzionano come le configuri.
in ATM ho "ponte"
Metti la lingua in italiano

Controlla i settings del pppoe magari infostrada vuole qualcosa di diverso mal che vada prova in pppoa
-
Messo "ponte", ricontrollato i settings e copiata la configurazione che c'era prima con i parametri di Infostrada. Purtroppo niente di diverso.
Nella parte di "Physical Settings" ( è in inglese anche se ho messo la lingua italiana) hai questa configurazione?
[ATTACH=CONFIG]4831[/ATTACH]
Ciao! Sembra che tu sia interessato a questa conversazione, ma non hai ancora un account.
Stanco di dover scorrere gli stessi post a ogni visita? Quando registri un account, tornerai sempre esattamente dove eri rimasto e potrai scegliere di essere avvisato delle nuove risposte (tramite email o notifica push). Potrai anche salvare segnalibri e votare i post per mostrare il tuo apprezzamento agli altri membri della comunità.
Con il tuo contributo, questo post potrebbe essere ancora migliore 💗
Registrati Accedi