Ciao a tutti, ho aggiunto il supporto ufficiale ad OpenWrt per:
Modem Telecom Italia ADSL2+ Wi-Fi N AGPWI (ADB P.DG A4001N A-000-1A1-AX)
pull request:
https://github.com/openwrt/openwrt/pull/2598#event-3365959694snapshot:
https://downloads.openwrt.org/snapshots/targets/bcm63xx/generic/openwrt-bcm63xx-generic-adb_pdg-a4001n-a-000-1a1-ax-squashfs-cfe.binModem Telecom Italia ADSL2+ Wi-Fi N AGTWI (Technicolor TG582n con i LED customizzati da Telecom sul PCB)
pull request:
https://github.com/openwrt/openwrt/pull/3393#event-4076872258snapshot:
https://downloads.openwrt.org/snapshots/targets/bcm63xx/generic/openwrt-bcm63xx-generic-technicolor_tg582n-telecom-italia-squashfs-cfe.binRouter VoIP TeleTu P.RG A4101N (ADB P.DG A4101N A-000-1A1-AE)
pull request:
https://github.com/openwrt/openwrt/pull/3397#event-4076720655snapshot:
https://downloads.openwrt.org/snapshots/targets/bcm63xx/generic/openwrt-bcm63xx-generic-adb_pdg-a4101n-a-000-1a1-ae-squashfs-cfe.binRouter modem Technicolor TG582n non brandizzato (Dovrebbe funzionare anche con le versioni brandizzate del router a cui non è stata cambiata la configurazione dei LED sul PCB tipo la versione distribuita da Infostrada)
pull request:
https://github.com/openwrt/openwrt/pull/3400#event-4076872452snapshot:
https://downloads.openwrt.org/snapshots/targets/bcm63xx/generic/openwrt-bcm63xx-generic-technicolor_tg582n-squashfs-cfe.binNota: Non posseggo un Technicolor TG582n non brandizzato. Ho testato l'immagine su un Technicolor TG582n brandizzato Telecom Italia.
Ho costruito l'immagine basandomi sulle informazioni che ho trovato su questo wiki:
https://openwrt.org/toh/thomson/tg582n.
Se qualcuno di voi dispone di questo ruter e ha voglia di provare l'immagine mi faccia gentilmente sapere se tutti i LED funzionano e sono correttamente mappati

Tutte le immagini di cui il link sopra aggiungono all'immagine A4001N1 di OpenWrt:
-La mappatura corretta dei LED per ciascuno dei router elencati
-La rimozione della partizione PSI alla fine della Flash, quindi avrete 65,536 Kbyte di spazio di archiviazione in più
-L'associazione corretta dei LED alla rispettiva funzione (LAN activity, USB activity, etc)
LED layout del Technicolor TG582n:
PCB: |GPIO: |TG582n no brand: |AGTWI:
LED2R |488(08) |red Power |red Power
LED2G |484(04) |green Power |green Power
LED10R |486(06) | |missing R85 end LED
LED13G |485(05) |green Ethernet |green ADSL
LED11R |494(14) | |red Internet
LED14G |491(11) |green Broadband |green Internet
LED5R |487(07) |red Internet |red Wi-Fi
LED5G |481(01) |green Internet |green Wi-Fi
LED12R |498(18) | |red Service
LED12G |499(19) | |green Service
LED6R |482(02) |red Wi-Fi |missing R108 end LED
LED6G |483(03) |green Wi-Fi |missing R107 end LED
LED7R |490(10) |red WPS |missing R91 end LED
LED7G |489(09) |green WPS |missing R92 end LED
LED4 |508(28) |ethernet port 4 |ethernet port 4
LED3 |507(27) |ethernet port 3 |ethernet port 3
LED9 |506(26) |ethernet port 2 |ethernet port 2
LED8 |505(25) |ethernet port 1 |ethernet port 1
SW3 |503(23) |key Reset |key Reset
SW5 |504(24) |key WPS |key Wi-Fi/LED
SW4 |495(15) |key Wi-Fi |missing R127 end key
SW6 |493(13) | |missing R171 end key
SW1 |492(12) | |missing R1 end keyLED layout dell'A4101N:
Power always on
DSL GPIO483(03)
Internet GPIO491(11)
ETH1 GPIO505(25)
ETH2 GPIO506(26)
ETH3 GPIO507(27)
ETH4 GPIO508(28)
USB GPIO490(10)
WLAN controlled by BCM43225
WPS GPIO489(09)
TEL GPIO511(31)
Key RESET GPIO503(23)
Key WPS GPIO504(24)
Key unnamed GPIO492(12)Noterete che sia l'AGTWI che il Technicolor TG582n unbranded dispongono di molti GPIO inutilizzati sul PCB. La cosa si presta a tantissimi hardware mods senza rinunciare ai LED tra cui:
-Aggiungere un lettore SD card al router (
https://openwrt.org/docs/guide-user/hardware/mmc_over_gpio)
-Aggiungere un display LCD al router (
https://forum.openwrt.org/t/how-to-add-20x4-lcd-hd44780-to-a-openwrt-router-via-i2c/28722)
-Creare un robot (
https://www.jbprojects.net/projects/wifirobot/)
-Aggiungere uno o più relè al router per controllare il frigorifero, la lavatrice, il microonde, le persiane o la saracinesca del garage! (chi non ha mai desiderato di controllare il frigorifero?!)
-e tantissimi altri mods, potete sbizzarrirvi ed usare il router come un Raspberry pi o un arduino.
Nel caso abbiate deciso di controllare fino a 8 frigoriferi con l'AGTWI, ecco qui uno script bash che dimostra come controllare i GPIO inutilizzati:
#!/bin/sh
gpio_set() {
gpio=$1
val=$2
echo $gpio > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio$gpio/direction
echo "[GPIO$gpio] Trying value "$val
echo $val > /sys/class/gpio/gpio$gpio/value
echo $gpio > /sys/class/gpio/unexport
}
#all GPIOs on
gpio_set 486 0
gpio_set 482 0
gpio_set 483 0
gpio_set 490 0
gpio_set 489 0
gpio_set 495 0
gpio_set 493 0
gpio_set 492 0
read -p "Press enter"
#all GPIOs off
gpio_set 486 1
gpio_set 482 1
gpio_set 483 1
gpio_set 490 1
gpio_set 489 1
gpio_set 495 1
gpio_set 493 1
gpio_set 492 1Se non volete perdere troppo tempo col saldatore potete comprare dei relè già pronti all'uso come questi:
https://it.aliexpress.com/wholesale?catId=0&initiative_id=SB_20201207075609&SearchText=relay+module+3vSe volete controllare ancora più frigoriferi potete attaccare ai GPIO uno o più shift register in cascata, un I/O expander o dissaldare qualche LED:
https://it.aliexpress.com/wholesale?catId=0&initiative_id=SB_20201207075654&SearchText=shift+register+3vQui, invece, uno script per accendere tutti i LED sul Technicolor TG582n no brand:
#!/bin/sh
# Technicolor TG582n all LEDs test
echo 1 > /sys/class/leds/red\:power/brightness
read -p "Press enter /red\:power"
echo 0 > /sys/class/leds/red\:power/brightness
read -p "Press enter /red\:power"
echo 1 > /sys/class/leds/green\:power/brightness
read -p "Press enter green\:power"
echo 0 > /sys/class/leds/green\:power/brightness
read -p "Press enter green\:power"
echo 1 > /sys/class/leds/red\:internet/brightness
read -p "Press enter /red\:internet"
echo 0 > /sys/class/leds/red\:internet/brightness
read -p "Press enter /red\:internet"
echo 1 > /sys/class/leds/green\:internet/brightness
read -p "Press enter green\:internet"
echo 0 > /sys/class/leds/green\:internet/brightness
read -p "Press enter green\:internet"
echo 1 > /sys/class/leds/red\:wifi/brightness
read -p "Press enter red\:wifi"
echo 0 > /sys/class/leds/red\:wifi/brightness
read -p "Press enter red\:wifi"
echo 1 > /sys/class/leds/green\:wifi/brightness
read -p "Press enter green\:wifi"
echo 0 > /sys/class/leds/green\:wifi/brightness
read -p "Press enter green\:wifi"
echo 1 > /sys/class/leds/red\:wps/brightness
read -p "Press enter red\:wps"
echo 0 > /sys/class/leds/red\:wps/brightness
read -p "Press enter red\:wps"
echo 1 > /sys/class/leds/green\:wps/brightness
read -p "Press enter green\:wps"
echo 0 > /sys/class/leds/green\:wps/brightness
read -p "Press enter green\:wps"
echo 1 > /sys/class/leds/green\:broadband/brightness
read -p "Press enter green\:broadband"
echo 0 > /sys/class/leds/green\:broadband/brightness
read -p "Press enter green\:broadband"
echo 1 > /sys/class/leds/green\:ethernet/brightness
read -p "Press enter green\:ethernet"
echo 0 > /sys/class/leds/green\:ethernet/brightness
read -p "Press enter green\:ethernet"