Buon 2016!
Per cominciare bene l’anno ho deciso di invalidare la garanzia ad un altro dispositivo: il Seagate Goflex Net.
Da parecchio tempo cercavo un NAS da configurare in RAID 1 per salvare tutti i miei dati rimanendo più tranquillo.
I prodotti disponibili in commercio però per me hanno un grande problema: il costo, specialmente se si confrontano le loro specifiche con quelle di alcune ARM board. Infatti per un po’ di tempo ho pensato anche di usare una Odroid XU-4, sia come NAS che come media player, in modo da abbattere un po’ il costo dell’investimento, tuttavia ci ho rinunciato per diversi motivi.
Così, ricominciata ancora una volta la ricerca, è comparso il Seagate Goflex Net, una docking station per due dischi SATA con Gigabit Ethernet a meno di 25€.
Il Goflex Net
In realtà le specifiche del Goflex non sono così eccezionali, anche perché la PCB riporta una data risalente a Marzo 2010.
Ha una CPU della famiglia Marvell Kirkwood (armv5te) a 1,2GHz, 128MB di RAM, una NAND da 256MB, Gigabit Ethernet, 2 porte SATA e una porta USB 2.0.
Anche il firmware integrato non è molto buono, per non dire pessimo: l’intero funzionamento della macchina dipende da un servizio cloud chiamato Pogoplug. Da lì bisogna configurare tutte le funzionalità, comprese le impostazioni di sicurezza e accesso. E l’accesso ai file da LAN non può essere fatto tramite protocolli standard (SMB o FTP o altri), ma deve essere fatto con un software client rilasciato da Pogoplug.
Un altro problema è la forma dei dischi: Seagate ha pensato questo dispositivo per mettere in rete i dischi della linea Goflex. Però si può usare qualsiasi disco da 2.5”, purché si sia disposti a rinunciare alla stabilità massima del disco:
I dischi da 3.5” invece sono proprio inutilizzabili: non solo per una questione di forma, ma proprio per una questione di alimentazione: la linea da 12V non è collegata all’alimentazione SATA. I più volenterosi possono però utilizzare un’alimentazione esterna oppure collegare diretamente l’alimentazione del NAS ai dischi: l’alimentatore è da 12V 2A, quindi con dei dischi come i WD Green si dovrebbe riuscire.
Ma allora cosa c’è di buono in questo dispositivo?
La community del Goflex Net e dei dispositivi simili è molto attiva e provvede le ultime immagini di bootloader e kernel, rendendo possibile l’installazione di firmware alternativi, come OpenWRT o addirittura di Debian.
Io ho scelto il primo, perché i miei obiettivi sono modesti: lo voglio usare come macchina per condivisione dei file, non sono interessato al download di torrent o cose simili. Inoltre OpenWRT è estremamente leggero, cosa indispensabile viste le risorse estremamente limitate: solo 20MB di RAM utilizzata con l’installazione pulita. Questo significa che rimangono più di 100MB per le operazioni. Debian, per quanto leggera, penso non arrivi a questi numeri. Nulla poi impedisce di installare Debian sui dischi e OpenWRT sulla NAND da utilizzare in caso di problemi come ambiente recovery.
Per i dischi non ho ancora deciso come fare di preciso. Inizialmente pensavo di fare delle modifiche per usare i dischi da 3.5”, però ci sto ripensando, perché in realtà non ho bisogno di tenere il NAS attivo 24 ore al giorno 7 giorni su 7, ma solo quando serve, quindi potrei anche prendere tranquillamente dei dischi da 2.5”.
Ho deciso, in pratica, di affdare la sicurezza dei miei dati agli strumenti standard liberi e Open Source (mdadm, samba etc…) e alla mia capacità di configurarli.
Di seguito riporto una guida su come liberare il vostro Goflex Net.
Penso che in un’oretta si riesca a fare tutto, senza neanche aprire fisicamente la docking station, però non so dirvi con precisione, perché a me ne sono servite una decina, perché con Chaos Calmer OpenWRT ha deciso di usare il filesystem Ubifs al posto di JFFS2, quindi mi si era bloccato tutto. Tuttavia ho rifatto i passi tramite Netconsole e sono riusciti tranquillamente.
Attenzione: non mi assumo alcuna responsabilità dall’applicazione di questa guida da parte vostra. In ogni caso vi consiglio di leggere tutta la guida prima di fare qualsiasi cosa.
Aggiornamento di U-boot
Qualsiasi cosa vogliate fare, purtroppo, necessita dell’aggiornamento del bootloader.
È sempre un passo delicato, per cui vi consiglio di leggere attentamente.
Sembra comunque sia possibile ripristinare un bootloader corrotto anche tramite interfaccia TTL, senza dover usare la JTAG, e sapendo ciò mi sono sentito un po’ più sollevato nel completare la procedura.
Qualsiasi OS dovrebbe andare bene, ma in particolare su qualsiasi distribuzione Linux ci sono gli strumenti necessari, ovvero un client SSH e Netcat.
Inoltre serve un dispositivo di memorizzazione USB come hard disk o chiavetta, con almeno 40MB di spazio disponibile e un filesystem FAT o NTFS. Servirà per salvare i dump della NAND e caricare alcuni file.
La prima cosa che dobbiamo fare è ottenere una shell di root sul firmware originale.
Benché su alcuni siti ci sia scritto che se non si connette il dispositivo ad internet SSH sarà immediatamente attivo, nel mio caso non si è rivelato vero.
Le uniche porte aperte erano la 80 (header HTTP validi, ma corpo della risposta vuoto), la 443 (certificato invalido e risposta vuota) e la 3333 (che non ho testato, probabilmente usata da Pogoplug).
Quindi la registrazione su pogoplug.com è necessara, forse l’unico modo per evitarla sarebbe usare la consolle TTL. Invece quella sul sito Seagate non serve a niente.
Peraltro si può cogliere l’occasione per controllare che il dispositivo funzioni effettivamente, in modo da effettuare il reso prima di invalidare la garanzia se ci sono problemi.
Ho provato con il disco che avevo nel computer prima di mettere l’SSD, che è stato riconosciuto, sia con SATA che con USB; le partizioni NTFS venivano lette, invece Ext4 no. Inoltre, contrariamente a quanto mi aspettassi, la partition table GPT non ha causato alcun problema.
Tornando all’abilitazione di SSH, ci si collega al sito e sceglie settings sull’ingranaggio
Da lì si va su security e si mette la spunta su enable SSH e si immette la nuova password di root.
La connessione con OpenSSH richiede alcuni algoritmi considerati obsoleti e insicuri, quindi il comando da dare è questo:
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 root@pogoplug
A pogoplug
potrebbe essere necessario aggiungere il suffisso locale (quindi diventerebbe pogoplug.local
o pogoplug.lan
a seconda della vostra rete), oppure potrebbe essere proprio necessario sostituirlo con l’indirizzo IP (per esempio nel caso in cui non usiate come DNS il vostro router).
Una volta fatto l’accesso, si può apprezzare l’ultima versione di Bash: la 4.3.30, rilasciata nel novembre 2014 e a prova di Shellshock. Invece il Kernel Linux è una versione abbastanza vecchia: 2.6.22, build di Ottobre 2010.
I comandi a disposizione non sono molti e per completare la procedura dovremo procurarcene alcuni.
L’utente bodhi di doozan.com tiene aggiornate le immagini U-boot e Debian per questo dispositivo e ha scritto anche una guida per installarle.
Riporto i passi essenziali dalla guida, che in ogni caso consiglio di leggere integralmente.
Anche la pagina del Goflex del wiki di OpenWRT è molto valida e contiene risorse molto utili.
Scarichiamo questi file da inserire nella root della chiavetta: uboot.2015.10-tld-1.goflexnet.bodhi.tar (https://bitly.com/1MiTx8X) (l’ultima versione, nel momento in cui sto scrivendo l’articolo) e uboot.2014.07-tld-3.environment.bodhi.tar (https://bitly.com/1jH6MsQ). Dopo colleghiamola al Goflex.
Per capire dove è stata collegata bisogna dare il comando mount
:
rootfs on / type rootfs (rw) /dev/root on / type jffs2 (ro) none on /proc type proc (rw) none on /sys type sysfs (rw) none on /dev/pts type devpts (rw) none on /tmp type tmpfs (rw) none on /proc/bus/usb type usbfs (rw) /tmp/.cemnt/sda1 on /tmp/.cemnt/mnt_sda1 type vfat (rw,nosuid,nodev,noexec,noatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,utf8)
Da ciò si capisce che il percorso della chiavetta nel mio caso è /tmp/.cemnt/mnt_sda1
.
Dopodiché diamo questi comandi per procurarsi alcuni tool:
mount -o rw,remount / cd /tmp wget http://download.doozan.com/uboot/nanddump wget http://download.doozan.com/uboot/flash_erase wget http://download.doozan.com/uboot/fw_printenv chmod +x nanddump flash_erase fw_printenv ln -s fw_printenv fw_setenv wget http://download.doozan.com/uboot/fw_env.config -O /etc/fw_env.config
Io avevo scaricato anche gli altri tool consigliati da Doozan, ma fallivano, quindi ho fatto senza e sono riuscito lo stesso a fare tutto.
Non è possibile quindi fare il dump delle variabili di U-Boot del firmware del costruttore, da in caso di problemi, quindi dovremo fidarci della guida di OpenWRT. Da quanto ho capito sono quelle scritte sull’etichetta presente sul fondo del Goflex stesso.
Il prossimo passo è il backup del firmware stock.
Dobbiamo eseguire questi comandi:
cd /tmp/.cemnt/mnt_sda1 mkdir GoflexNet cd GoflexNet /tmp/nanddump -nof uboot-mtd0-dump /dev/mtd0 /tmp/nanddump -nof uboot-original -s 0 -l 0x80000 /dev/mtd0 /tmp/nanddump -nof uImage-mtd1-dump /dev/mtd1 /tmp/nanddump -nof rootfs-mtd2-dump /dev/mtd2 sync
Prima di eseguire l’aggiornamento effettivo di U-boot, è necessario controllare che tutti i blocchi della NAND su cui andremo a scrivere non siano danneggiati.
Diamo il comando dmesg | grep -i bad
.
Come output ci dovrebbe essere solo questa riga (i numeri tra le parentesi quadre possono cambiare):
[ 1.080000] Scanning device for bad blocks
In caso contrario non procedete oltre e provate a scrivere sul forum di Doozan. Altrimenti potete continuare.
È arivato il momento più critico: l’aggiornamento di U-boot. Qualora una di queste fasi dovesse fallire, è essenziale che non spegniate il dispositivo e cerchiate aiuto sul forum di Doozan.
I comandi da dare sono:
cd /tmp ./flash_erase /dev/mtd0 0 4
Output previsto:
Erase Total 4 Units Performing Flash Erase of length 131072 at offset 0x60000 done
I prossimi comandi sono:
tar -xvf /tmp/.cemnt/mnt_sda1/uboot.2015.10-tld-1.goflexnet.bodhi.tar nandwrite /dev/mtd0 uboot.2015.10-tld-1.goflexnet.mtd0.kwb
l’ultimo dà come output:
Writing data to block 0 Writing data to block 20000 Writing data to block 40000 Writing data to block 60000
Ora bisogna installare la nuova configurazione predefinita di U-boot. Prima si cancellano quelle già installate:
./flash_erase /dev/mtd0 0xc0000 1
che dà in output:
Erase Total 1 Units Performing Flash Erase of length 131072 at offset 0xc0000 done
dopo si mettono quelle di bodhi:
tar -xvf /tmp/.cemnt/mnt_sda1/uboot.2014.07-tld-3.environment.bodhi.tar nandwrite -s 786432 /dev/mtd0 uboot.2014.07-tld-3.environment.img
e l’output è:
Writing data to block c0000
Alcuni valori devono essere cambiati affinché siano consistenti col Goflex Net (il MAC Address lo trovate nell’etichetta inferiore oppure sulla vostra tabella ARP):
./fw_setenv arcNumber 3089 ./fw_setenv ethaddr 'xx:xx:xx:xx:xx:xx'
Fatto ciò dobbiamo fare il setup della netconsole, in modo da potersi interfacciare da U-boot senza il cavo seriale. Il rovescio della medaglia è che per cercare il PC con cui dialogare si allunga il tempo di boot di una decina di secondi.
Gli IP da inserire di seguito devono essere consistenti con la vostra rete (x.x.x.x
è quello del NAS, y.y.y.y
quello del computer).
./fw_setenv preboot_nc 'setenv nc_ready 0; for pingstat in 1 2 3 4 5; do; sleep 1; if run if_netconsole; then setenv nc_ready 1; fi; done; if test $nc_ready -eq 1; then run start_netconsole; fi' ./fw_setenv preboot 'run preboot_nc' ./fw_setenv ipaddr 'x.x.x.x' ./fw_setenv serverip 'y.y.y.y'
Adesso bisogna aprire un altro terminale su cui aprire netcat con questo comando (se avete altre versioni di Netcat potreste dover usare altri parametri):
nc -l -u -p 6666
A questo punto torniamo sul SSH e diamo il reboot.
Attenzione: dovete essere pronti anche a vedere i comandi sulla netconsole subito dopo aver dato il reboot e premere un tasto per fermare il boot automatico.
Il comando è:
/sbin/reboot
Trasferitevi quindi alla consolle. A me ci ha messo un po’ di tempo a venire fuori qualcosa, circa 10-20 secondi.
Comunque se fin qua avete fatto tutto correttamente dovreste avere quest’output:
U-Boot 2015.10-tld-1 (Nov 06 2015 - 15:49:48 -0800) Seagate GoFlex Net gcc (Debian 4.9.2-10) 4.9.2 GNU ld (GNU Binutils for Debian) 2.25 Hit any key to stop autoboot: 10
Come preannunciato e richiesto a video, premiamo un tasto per fermare l’autoboot.
Verrà fuori un prompt:
GoFlexNet>
È arrivato il momento di installare OpenWRT.
Per sicurezza rimuoviamo anche la chiavetta dal dispositivo.
Installazione di OpenWRT
Oltre ai requisiti di prima, ci serve un server TFTP nello stesso sitema della netconsole. Per l’installazione vi rimando a guide specifiche per il vostro SO.
Scarichiamo i file di OpenWRT e li mettiamo nella root: ci servono un kernel in formato uImage e un filesystem root in formato ubifs. Io ho usato la versione Chaos Calmer.
Usando una rete cablata si può guadagnare un bel po’ in velocità, io però ho fatto col computer in Wi-Fi e ha funzionato tutto lo stesso.
Riporto direttamente tutto, sia i comandi da eseguire (in grassetto) che l’output nel mio caso.
GoFlexNet> mw 0x6400000 0xffff 0x300000 GoFlexNet> tftpboot 0x6400000 openwrt-15.05-kirkwood-goflexnet-uImage tftpboot 0x6400000 openwrt-15.05-kirkwood-goflexnet-uImage TFTP from server 172.24.20.199; our IP address is 172.24.20.52 Filename 'openwrt-15.05-kirkwood-goflexnet-uImage'. Load address: 0x6400000 Loading: ################################################################# ############################################ 761.7 KiB/s done Bytes transferred = 1592281 (184bd9 hex) GoFlexNet> nand erase 0x100000 0x400000 nand erase 0x100000 0x400000 NAND erase: device 0 offset 0x100000, size 0x400000 Erasing at 0x4e0000 -- 100% complete. OK GoFlexNet> nand write.e 0x6400000 0x100000 0x400000 nand write.e 0x6400000 0x100000 0x400000 NAND write: device 0 offset 0x100000, size 0x400000 4194304 bytes written: OK GoFlexNet> mw 0x6400000 0xffff 0x200000 mw 0x6400000 0xffff 0x200000 GoFlexNet> tftpboot 0x6400000 openwrt-15.05-kirkwood-goflexnet-rootfs.ubifs tftpboot 0x6400000 openwrt-15.05-kirkwood-goflexnet-rootfs.ubifs Using egiga0 device TFTP from server 172.24.20.199; our IP address is 172.24.20.52 Filename 'openwrt-15.05-kirkwood-goflexnet-rootfs.ubifs'. Load address: 0x6400000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ######################################################### 809.6 KiB/s done Bytes transferred = 4644864 (46e000 hex) GoFlexNet> nand erase 0x500000 0xfb00000 nand erase 0x500000 0xfb00000 NAND erase: device 0 offset 0x500000, size 0xfb00000 Erasing at 0xffe0000 -- 100% complete. OK GoFlexNet> setenv mtdparts 'mtdparts=orion_nand:1M(u-boot),4M(uImage),-(root)' GoFlexNet> ubi part root ubi part root UBI: attaching mtd1 to ubi0 UBI: scanning is finished UBI: attached mtd1 (name "mtd=2", size 251 MiB) to ubi0 UBI: PEB size: 131072 bytes (128 KiB), LEB size: 129024 bytes UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 512 UBI: VID header offset: 512 (aligned 512), data offset: 2048 UBI: good PEBs: 2008, bad PEBs: 0, corrupted PEBs: 0 UBI: user volume: 0, internal volumes: 1, max. volumes count: 128 UBI: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 0 UBI: available PEBs: 1964, total reserved PEBs: 44, PEBs reserved for bad PEB handling: 40 GoFlexNet> ubi create rootfs 0xA00000 ubi create rootfs 0xA00000 Creating dynamic volume rootfs of size 10485760 GoFlexNet> ubi write 0x6400000 rootfs ${filesize} ubi write 0x6400000 rootfs ${filesize} 4644864 bytes written to volume rootfs GoFlexNet> ubi create rootfs_data ubi create rootfs_data No size specified -> Using max size (242823168) Creating dynamic volume rootfs_data of size 242823168 GoFlexNet> setenv bootcmd 'nand read 0x6400000 0x100000 0x400000; bootm 0x6400000;' setenv bootcmd 'nand read 0x6400000 0x100000 0x400000; bootm 0x6400000;' GoFlexNet> setenv bootargs 'console=ttyS0,115200n8 mtdparts=orion_nand:1M(u-boot),4M(uImage),-(root) ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs rw' setenv bootargs 'console=ttyS0,115200n8 mtdparts=orion_nand:1M(u-boot),4M(uImage),-(root) ubi.mto=i:ofrotpui ' GoFlexNet> saveenv saveenv Saving Environment to NAND... Erasing NAND... Erasing at 0xc0000 -- 100% complete. Writing to NAND... OK GoFlexNet> boot boot NAND read: device 0 offset 0x100000, size 0x400000 4194304 bytes read: OK ## Booting kernel from Legacy Image at 06400000 ... Image Name: ARM OpenWrt Linux-3.18.20 Created: 2015-09-11 16:53:27 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1592217 Bytes = 1.5 MiB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK Starting kernel ...
A questo punto possiamo anche interrompere netcat, perché OpenWRT non manda nulla in output.
In compenso in una ventina di secondi dovrebbe essere disponibile LuCI per configurare il tutto.
L’indirizzo IP viene acquisito con DHCP. Come al solito fate molta attenzione se volete passare ad una configurazione statica, perché in caso di errori potreste dover usare l’interfaccia seriale per recuperare il controllo del dispositivo.
Il primo test
Pur non avendo ancora i dischi da collegare in SATA con il RAID, ho voluto fare lo stesso un primo test per vedere come si comporta il nuovo giocattolino.
Non volevo aprire di nuovo l’unico disco SATA compatibile che ho, giacché l’avevo già messo nel suo box, così l’ho collegato con USB (2.0). Ho usato la partizione Ext4 e non ho avuto bisogno di installare moduli del kernel, né per il filesystem, né per l’interfaccia.
Non volevo neanche installare Samba ancora, dunque ho fatto due test: uno con SFTP e l’altro con Netcat.
SFTP è stato una delusione: mi ha permesso di andare a circa 4,5MB/s-5MB/s. Insomma, così poco che non ne valeva neanche la pena mediare. Non mi aspettavo tantissimo, ma neanche così poco. Forse si potrebbe sfruttare l’accelerazione hardware per la crittografia, ma non so ancora quanto ne valga la pena.
Con Netcat è andata meglio: speravo che il limite fosse USB 2.0, ma non è stato così. Infatti ho avuto sui 24MB/s di scrittura e sui 20MB/s di lettura, dei risultati comunque curiosi, visto che solitamente la scrittura è più bassa della lettura.
In ogni caso non ho fatto alcuna modifica alla configurazione. Ho trovato su internet una guida scritta da un ingegnere di sistemi il cui hobby è lavorare su macchine Linux embedded. Insomma, uno che ne sa a pacchi. Con una macchina peggiore della mia ha avuto risultati migliori. Vedrò se riuscirò a integrare la configurazione su OpenWRT, altrimenti potrei sempre passare a Debian 😊 .
Bibliografia e fonti
- Using OpenSSH with legacy SSH implementations
- 2015.10 U-Boot Kirkwood dal forum di doozan.com
- Seagate GoFlexNet sul wiki di OpenWRT
- Sandbox della pagina Dockstar del wiki di OpenWRT
- Seagate Dockstar sul wiki di OpenWRT
Poiché il materiale presentato si basa sulle guide del wiki di OpenWRT, l’articolo è rilasciato sotto licenza Creative Commons 3.0 By-Nc-Sa. L’elenco esatto dei contributori lo trovate direttamente sulle pagine.
35 commenti
Ottima guida,
sto avento però dei problemi ad attivare il servizio ssh.
In pratica non appare l'opzione nel sito pogoplug.
hai idea di come si possa risolvere?
Ciao, è molto strano!
Avevo letto che era abilitato di default se non connettevi mai il dispositivo su Internet, ma se l'hai anche registrato dovrebbe comparire.
Cosa appare nelle impostazioni di sicurezza allora?
Se il problema persiste magari puoi provare col client da scaricare o eventualmente provare a contattare Pogoplug.
La (brutta) alternativa è aprire fisicamente il GoFlex… La seriale è abbastanza semplice da raggiungere ed è anche già popolata, quindi non serve neanche saldare fili.
Inoltre non ci sono etichette che facciano vedere l'apertura, se ben ricordo, al massimo si vedono i segni dell'apertura sulla plastica.
Ciao,
anche io ho lo stesso problema di Andrea: non appare l’opzione nel sito pogoplug.
Facendo uno scan con portscan mi trova aperta la porta 80 e la 3333(?).
Questo <<CP2102 convertitore seriale USB 2.0 a uart TTL 6 pin modulo>> trovato su AMAZON (dicono che funzioni anche a 3.3v)
Non si trovano in giro i cavi DKU-5 and CA-42 data cables for Nokia.
Grazie per l'aiuto
Oscar
Ciao, alla fine va bene qualsiasi convertitore USB TTL, purché funzioni a 3,3V, che in realtà è la quasi totalità dei casi, perché USB eroga 5V, ma le linee D+ e D- sono a 3,3V.
Una volta ho anche provato con un Arduino che è a 5V con un router Alice senza avere problemi, non posso garantire lo stesso per il Goflex.
Se vuoi usare proprio Arduino o qualcosa a 5V meglio se fai un partitore di tensione per la linea Rx del goflexnet, con due resistenze una il doppio dell'altra, ma personalmente non ho mai provato questa strada. La linea TX del Goflex collegata alla RX del convertitore invece non dovrebbe avere problemi.
Infine volevo segnalare anche che tramite seriale si riesce ad accedere sicuramente al bootloader, ma non ho provato ad accedere alla shell del firmware originale. Solitamente funziona ma potrebbe anche chiedere una password. Su OpenWrt dicono sia stxadmin.
Fatemi sapere come va 😊 .
Grazie Piero per le sugest.
Alla fine ho deciso l'acquisto di questo cavetto ed lo aspetto : https://www.amazon.it/gp/product/B00K67X3KG/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1
Tornando all’abilitazione di SSH ho provato anche ad usare questo suggerimento trovato sul sito http://doncharisma.com/ :
“From any Linux computer (on same network as your Pogoplug) run the below curl command.
curl -k “https://root:ceadmin@[PogoplugIPAddress]/sqdiag/HBPlug?action=command&command=dropbear%20start”
Replace [IPAddress] (including brackets) with your PogoPlug’s IPAddress.
e-g curl -k “https://root:ceadmin@10.10.10.10/sqdiag/HBPlug?action=command&command=dropbear%20start”
That may spit out some strange looking text, that’s it you got it.
After that you can login to your Pogo plug device from any SSH client using
User Name: root
Password: stxadmin (if that don’t work try ceadmin)
Note that the backdoor method is not persistent (SSH access not available after a reboot).”
Purtroppo mi è tornato questo msg:
<<The requested URL /sqdiag/HBPlug?action=command&command=dropbear%20start was not found on this server.>>
Ne sai qualcosa del perchè non funge ?
Qualche errore ?
Grazie per l'aiuto
Ciao
Ciao, l'adattatore mi sembra vada bene.
Per la backdoor non sapevo che esistesse, magari è stata rimossa, visto che comunque il dispositivo è stato aggiornato (per esempio ha l'ultima versione di bash).
Inoltre https gira sulla porta 443, ma non è aperta stando al tuo port scanning.
Don Charisma lo conosco, avevo letto i suoi tutorial, ma lui se non sbaglio aveva installato Debian. Però è anche vero che lui lo aveva fatto qualche anno fa, magari hanno cambiato il firmware.
Forse a questo punto la via più sicura è la seriale…
Ciao, ho avuto un po' di tempo per smanettare con il goflex: ho tentato il collegamento con un adattatore usb seriale ma quello che vedo sul terminale sono caratteri incomprensibili, ho provato anche un pc fisso con seriale ma stesso risultato.
Misurata l'uscita dal convertitore era 6V, ho provato sia direttamente che tramite partitore di tensione ma sempre uguale.
Ho anche un arduino da provare, quale è il collegamento corretto con arduino? poi basta collegarsi in monitor?
Grazie
Ciao, probabilmente hai sbagliato il baudrate o qualche altra impostazione della seriale…
Prima magari riprova così…
Altrimenti con l'Arduino dipende, perché io avevo letto che bastava tenerlo in reset e collegarsi ai pin 0 e 1, però con un mega recente avevo avuto problemi.
Quindi bisogna provare, ma forse erano meglio i vecchi Arduino con FTDI.
ciao a tutti,
discussione interessante: ho voluto comprare anch'io l'oggetto con la ferma intenzione di modificarlo.
Primo errore: ho fatto la registrazione su pogoplug ☹️
Come dicono Andrea e Oscar, il sito non permette più l'attivazione di SSH
Secondo errore: ho contattato più volte il supporto e più volte mi hanno rimbalzato mandandomi alla knowledge base che, ovviamente, non da soluzioni.
A questo punto li ho mandati anch'io 😉
Rinunciando per il momento alla connessione SSH, mi resta solo l'uso della seriale ma anche qui trovo un vagoncino di difficoltà.
Se trovo il bandolo della matassa vi aggiorno
Ma quindi non funziona più il sistema per attivare l'SSH? Quello che riportano anche nella Knowledge Base? http://support.pogoplug.com/hc/en-us/articles/202307860-How-do-I-enable-SSH-
Esattamente.
Quello riportato nella Knowledge Base è quello che è anche riportato nei miei screenshot e che a dicembre aveva funzionato senza problemi.
Da quello che viene riportato su Dozan, sembra il problema sia legato a dei certificati scaduti o comunque certificati SSL non ritenuti validi dal firmware originale.
Con un update del firmware si potrebbe sistemare, ma non penso ce ne sarà mai uno.
Inoltre sempre su Dozan confermano che con la seriale è ancora possibile liberare il dispositivo, ma non c'è alcuna guida a tal proposito.
Salve a tutti,
comprato anche io GoFlex Net, e… solo adesso mi accorgo di questo problema della SSH ☹️
Ci sono novità?
Grazie mille!
Ciao a tutti..mi è arrivato il goflex ieri sera e l'ho preso principalmente per poter gestire uno spazio di memoria in cui tenere tutti i miei media(foto video musica) e raggiungerli da tutta la casa(TV PC Smartphone). Non mi interessa che ci sia un cloud online che mi tiene i miei files(anzi non mi piace proprio). Ho aperto il goflex ed ho cablato l'RX TX GND ad una femmina seriale ed ho poi collegato il tutto al pc tramite un “vecchio” adattatore usb-seriale. Quando utilizzo Putty il responso è una serie di geroglifici e caratteri. Mi ritrovo piantato qui e mi dispiace perche' oltre al fine mi piacerebbe, attraverso questa esperienza, imparare un po' di linguaggio dato che non sono molto esperto. Qualcuno ha qualche dritta?
Ovviamente l'SSH non riesco ad abilitarlo..
Che poi mi chiedo…com'è stato possibile (per chi c'è riuscito)raggiungere il GOFLEX NET tramite Pogoplug senza connessione internet?! 😊
Grazie in anticipo
Ciao a tutti,
io non ho novità, né ne ho trovate su Dozan, che è il principale forum per il modding dei pogoplug.
Dicevano però che dovrebbe essere possibile con la porta seriale riattivare la console.
A Mirko: il convertitore seriale con che livelli esce? Perché se esce con RS-232 non va bene, si parla di una tensione maggiore di quella che va usata con le schede normalmente, invece se esce con i livelli TTL va bene.
I simboli strani invece probabilmente sono il baudrate sbagliato, di solito troppo basso, dovresti assicurarti che sia 115200 baud per secondo, in configurazione 8N1, ovvero 8 data bits, no parity e 1 stop bit.
Purtroppo io non ho un dispositivo ancora con il bootloader originale per verificare il tutto, però una volta che si riesce ad avere la seriale dovresti perlomeno riuscire ad accedere alla console di uBoot, se non anche alla console di Linux, rendendo inutile quindi SSH, a meno che tu non lo voglia abilitare lo stesso.
Metodi senza connessione a Internet non so se esistano… L'unica cosa interessante di questo dispositivo è la possibilità di modifica.
Ciao a tutti,
dopo una lunga,forzosa pausa, rieccomi qui a condividere la mia esperienza con voi.
Confermo quanto detto nel mio precedente post: Non c'è mezzo di collegarsi con il Goflex in nessun modo via ethernet anche se non ha mai visto internet (provato su unità nuova di zecca).
Quindi rassegnamoci ad agire per via seriale.
Ecco come ho proceduto:
Materiale necessario:
- Un Convertitore USB a TTL esempio CP2102. (Vi consiglio di non ordinarlo dalla Cina perchè anche se il costo è modesto, correreste il rischio di riceverlo dopo una lunga attesa, se mai dovesse arrivare).
- Un cavetto di connessione convertitore-connettore per l'interfacciamento dei 3 pin (GND-RX-TX).
Quest'ultimo può essere realizzato recuperando il cavetto di connessione utilizzato in passato per collegare lettore CD-ROM alla scheda …SOUND Blaster!!!
Se non ve lo ritrovate (Ah! che vuol dire conservare…!!!) fatevi un giro per i laboratori che riparano elettronica: sicuramente troverete qualcosa che farà al caso vostro.
Provvedete a creare l'assemblamento dei cavetti necessari (tagliando, saldando, aggiuntando….).
RICORDATEVI DI COLLEGARE IL PIN TX DI GOFLEX AL PIN RX DEL CONVERTITORE E COSI PER QUELLO RX CHE VA AL TX !!!!!
Ora procediamo al suo collaudo:
N.B. durante le successive operazioni il convertitore non dovrà mai essere collegato al Goflex e quindi usato “stand alone”.
Connettiamolo ad una presa USB del nostro PC. Premetto che tutte le operazioni sono state fatte con un PC con Linux MINT 18 ( ma è anche possibile da Windows).
Si accenderà il led di alimentazione. Non è necessario installare alcun driver in quanto Linux lo riconosce subito. Infatti da console dando il seguente comando:
Bene, funziona!.
Ora abbiamo bisogno di un programma da usare come terminale con la porta seriale.
Ho scaricato ed installato il programma GtkTerm
Prima di lanciare il programma riapriamo la console (il convertitore è ancora collegato) e digitiamo il seguente comando:
Quindi in futuro se dovesse comparirvi:
dovrete procedere come sopra.
Lanciamo il programma subito si aprirà una finetra con l'avviso <Cannot open /dev/ttyS0: Permesso negato>;
NON si tratta della nostra porta ttyUSB0 quindi bypassiamo dando OK. (questo succede perchè il programma si apre sul profilo di default che è appunto quello della porta ttyS0).
Nella finestra di GtkTerm sulla barra di stato in basso a sinix noterete la scritta <No open port>. Per poter dialogare con la porta seriale dobbiamo creare una nuova configurazione cliccando su “Configuration”, aprendo <Port> e quindi dal menù a tendina di <Port> selezionando </dev/ttyUSB0>, Baud rate <115200>, lasciando tutto il resto di default quindi <Save>. Ora la barra di stato riporterà </dev/ttyUSB0 115200-8-N-1>. Salviamo questa configurazione in <Configuration> <save configuration> dandogli un nome( per esempio “Goflex”).
IL GtkTerm non dà la possibilità di visualizzare molte righe di output quindi vi consiglio di crearvi in una cartella di comodo un file di testo (es.Goflex_log.txt) da dare in pasto al menù <Log> -<to file…>.
Fino a questo punto il Goflex NON è mai stato collegato ne all'alimentazione e neanche alla rete. In futuro per evitare “sorprese” lavoreremo fuori INTERNET.
Se mi avete avete seguito fino a questo punto e non ci sono dubbi possiamo procedere … ad “aprire sesamo” e vedere cosa si nasconde dentro.
Prima però datemi qualche giornio di tempo….
Chiedo a Piero se questo blog consente di allegare file di testo (conterranno il log della console) che credo potrebbero essere interessanti.
In ultimo qualcuno è a conoscenza se Seagate ha fatto più versioni di questo modello e se l'etichetta verdina presente sul PCB consenta di ricavare informazioni utili sulla versione.
Ciao a presto
Ciao, ottimo da sapere, grazie per il commento 😊 .
Mi permetterò di aggiungere i tag code, spero che non ti dispiaccia.
Per evitare di dover dare il chmod, su molte distribuzioni, perlomeno quelle basate su Debian, quindi anche Ubuntu e Mint, potete aggiungere il vostro utente al gruppo dialout, dando da root:
Le modifiche saranno effettive al successivo login, ma dopo non servirà più usare chmod.
Purtroppo per diversi motivi non offro la possibilità di fare l'upload di file, però per i log c'è un ottimo servizio, chiamato Pastebin, dove puoi caricarlo, dopodiché qui puoi postare il link che ti viene fornito.
Per le versioni controllerò, intanto tu facci sapere se ottieni dei risultati.
Grazie e buona fortuna 😊
È un convertitore che avevo in casa(sicuramente rs232) perche i baud rate dopo che con l'115200 non andava li ho provati un po' tutti. Me lo ricordo benissimo quel cavettino di collegamento tra lettore cd e soundblaster(serviva x far sentire i cd audio)…quanti ricordi che mi hai fatto venire in mente.
Tornando a noi, secondo me dovrei avere uno di quei cavetti nokia del mio vecchio 6680, leggevo che dovrebbe funzionare. Proverò appena ho un attimo e vi aggiornerò. Grazie mille al momento.
Non vorrei essere snervante ma..in casa ho un cavetto nokia type ca-53..dite che funziona lo stesso?
Ciao, io usavo un CA-42 e andava alla grande 😊 .
@ Piero;
Ooops, è vero !!!
Mia grave lacuna (ho lungamente trascurato l'ambiente Linux).
Grazie per essere intervenuto e te ne sarò ancor più grato in avvenire.
Ok per Pastebin.
Stay tuned
Ciao
Allora è giunto il momento di “dar fuoco alle polveri!!!”:
- connesso GFN con il cavetto del convertitore (attenzione a rispettare le uscite seriali);
- inserito il convertitore nella presa USB - led OK;
- lanciato il programma GtkTerm;
- selezionata la configurazione x Goflex (/dev/ttyUSB0 115200-8-N-1);
- aperto il file di log;
- inserito il jack di alimentazione…. et voilà ! partito….
Ecco il file di log dell'intera sessione senza connessione LAN: http://pastebin.com/jdggK4k0
(Vi ricordo che questa è una macchina nuova che non ha mai visto internet)
Da notare subito:
Questo per iniziare.
Aspetto commenti, suggerimenti, osservazioni ecc…
E intanto mi faccio un giretto di perlustrazione.
Ciao a presto
Ciao, perdona la mia intrusione nell'aggiunta del code, ma altrimenti la lettura diventa veramente difficile.
Hai fatto un bel lavoro 😁 .
Arrivato a questo punto dovresti poter seguire completamente la mia guida tramite la seriale anziché SSH, tanto i privilegi di root li hai.
Casomai per non usare Internet, attacca Goflex e PC direttamente, casomai per servire i file puoi creare al volo un server HTTP Python:
La versione di Linux è la stessa super datata che ho trovato nel mio, invece come shell io avevo l'ultima di BASH.
Probabilmente è stato patchato per quello, però sai sicuro che sh nel tuo caso sia BASH e non un'altra shell inclusa con Busybox?
Se vuoi cercare se c'è un exploit per il bene degli altri utenti, potrebbero essere comodi intanto un
così avremmo a disposizione la lista di tutti i processi.
Magari becchiamo un qualche demone con una vulnerabilità nota…
Infine abbiamo avuto la conferma che la seriale comunque funziona come metodo, perlomeno su unità mai connesse a Internet.
ok, faccio parte anche io della tribù…ho appena acquistato per 16 euro (amazon) l'attrezzo…avevo tempo fa la versione bianca ma non la trovo più (flashata con linux) . Vi aggiornerò sull'evoluzione non appena ci metto le mani sopra
Piero, grazie mille per l'aiuto!
salve a tutti di nuovo. mi ritrovo ancora a giocare con questo giocattolino ma non riesco a tirare fuori il ragno dal buco:
Ho comprato il convertitore seriale quindi finalmente tramite putty ho iniziato a modificarlo.
Ho seguito la guida su openwrt wiki (quella tramite seriale), sono riuscito a fare tutta la pappardella e trasferimento file tramite tftp server e scritti sulla NAND…ma nella loro guida mostrano un log corretto in un cui parte bene il GFN mentre nel mio caso 'esplode' finendo il boot cosi':
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[ 1.023476] UBIFS error (pid 1): ubifs_mount: cannot open “ubi0:rootfs”, error -19
[ 1.031152] UBIFS error (pid 1): ubifs_mount: cannot open “/dev/root”, error -22
[ 1.038579] List of all partitions:
[ 1.042108] 1f00 1024 mtdblock0 (driver?)
[ 1.047189] 1f01 4096 mtdblock1 (driver?)
[ 1.052292] 1f02 32768 mtdblock2 (driver?)
[ 1.057368] No filesystem could mount root, tried: ubifs
[ 1.062816] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)
[ 1.071202] —[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)
[ 82.529060] random: nonblocking pool is initialized
Ho inserito solo la parte dell'errore, voi potete darmi qualche dritta? cosa potrebbe essere?
Rifatto la guida 2 volte (quando faccio i nand erase cancello anche tutti gl'env vero creati prima vero?)
Scusate ma adoro imparare sbagliando…pero' alla fine ci devo riuscire!! 😀
Ciao, che versione di OpenWRT hai usato? Nel wiki c'è scritto che la trunk attualmente non fa il boot.
Io invece sto usando Chaos Chalmer e non ha problemi.
Purtroppo non ho ben presente la guida allo stato attuale (io avevo usato una vecchia revisione, ancora), quindi non so di eventuali errori nella guida…
OpenWrt installato e funzionante sul mio GoflexNet, tramite seriale (TTL via PuTTy) 😉
Grazie a tutti per l'aiuto!
Una nota: durante l'installazione, per un problema di cratteri (ogni tanto avevo in console dei caratteri spuri) ho salvato male il MAC address del GoFlex. Questo dava errore, e il dispositivo rimaneva nel preboot (GoFlexNet>).
Sul forum di doozan (http://forum.doozan.com/read.php?4,19316,19334,quote=1) ho trovato una persona col mio stesso problema, che ha risolto così:
Staccate e riattaccate l'alimentazione, bloccate l'autoboot… e si è pronti per l'upload di OpenWrt tramite TFTP.
Saluti a tutti!
Ottimo, grazie del feedback 😊 .
Quindi il Goflexnet risulta ancora un buon acquisto per quello che lo si paga
Ciao a tutti,
dopo averlo lasciato nel cassetto per qualche mese x mancanza di tempo ho provato l'installazione.
Premesso che sto usando un sistema windows con putty, la connessione in seriale funziona, il goflex in rete si pinga, verificando con il report di Oscar le versioni di Uboot, Linux e Busybox sono le stesse (nonostante il mio goflex è stato connesso in rete e provato sul sito pogoplug).
Ma adesso viene il problema: vedo tutte le directory, anche della chiavetta usb collegata, ma non riesco ad operare sui file: se tento di copiare un file la risposta è negativa (impossibile rimuovere file “nomeFile” file o directory non esistente)
se tento di scaricare da tftp la risposta è Read only file system.
Ho provato anche a dare il comando “su” ma niente da fare.
Non ho provato a scaricare file direttamente nella posizione Nand come da procedura.
Secondo voi quale potrebbe essere il problema.
Grazie
Ciao, secondo me ti trovi nella directory sbagliata per la rimozione, invece per il read only system sinceramente non ricordo come fosse quello predefinito, io avevo lavorato da /tmp.
Prova a dare il comando mount: darà l'elenco di tutte le partizioni montate e le varie opzioni (compresi eventualmente i read only, segnalati come “ro”).
Installato con successo:
OpenWrt Chaos Calmer 15.05 / LuCI (git-15.248.30277-3836b45)
davvero un belo prodotto (pagato 16 euro su amazon)
grazie per tutte le dritte…quelle del sito openwrt creano un po' di confusione
Ciao a tutti,
volevo esporre un mio problema. Impostando la connessione seriale (sia da linux che da windows con putty) ho un problema di visualizzazione del log, vedo strani segni come se la baudrate non fosse corretta. utilizzo un convertitore USB-Seriale della Manhattan.
Grazie in anticipo.
Ciao, a volte è sintomo anche di massa non collegata…
Verifica il collegamento, magari è solo quello 😊 .
Salve ragazzi, anche io ho acquistato la Goflex Net per poi modificarla, ma leggo solo ora del cambiamento, quindi l'ho già connessa in rete..
Ho una chiavetta per collegarmi alla Goflex Net e, per dire le cose fuori dai denti, sono scarsissimo con queste cose e con linux, quindi vorrei utilizzare putty su windows, potete dirmi quali sono i comandi da inputare?
Grazie mille?
Ciao, i comandi da usare sono gli stessi identici della guida, solo che anziché darli tramite la rete, li darai tramite terminale seriale.
Ovvero anziché selezionare SSH, nei radio dovrai selezionare Serial, la COM non ricordo se sia automatica o se devi immetterla tu. La velocità è 115200, il resto dovrebbe essere corretto.