Alcuni anni fà ho comperato due schede dalla Omnima Limited per i miei progetti embedded … è arrivato il momento di farle funzionare!!!

Basato su il system on chip Infineon ADM5120 un piattaforma MIPS con ethernet e porte USB (utili solo per il filesystem su pendrive USB …), possiede 16MB di RAM più 2 MB di FLASH (per questo serve avere il filesystem di root su di un device USB). Maggiori informazioni e dettagli si possono trovare sul blog di Kevin http://www.kelvinsthunderstorm.com/omnima-embedded-controller-and-openwrt/. La lunga strada per la scelta del sistema operativo si è rivelata moltoooo lungaaaaaa (e piena di cacti 🙁 ), i principali sistemi operativi per questa piattaforma sono:
- Midge http://midge.vlad.org.ua – Basato su una distribuzione OpenWRT-like e non più disponibile gratuitamente.
- AMiLDA http://www.amilda.org/ – Una vecchia distribuzione non più aggiornata dal 2007.
- Squidge http://squidge.sourceforge.net/ – Una serie di script e patch per OpenWRT (attualmente non funzionante)
- OpenWrt http://dev.openwrt.org – Basata su Linux-2.6 necessita per questa piattaforma di essere configurata e compilata
- NetBSD http://linux-adm5120.sourceforge.net/netbsd/ – Oh … Non la ho provata … 🙂
E’ arrivata l’ora di compilare OpenWRT!!! Per compilare la distribuzione puoi seguire il tutorial scritto da Kevin http://www.kelvinsthunderstorm.com/omnima-embedded-controller-and-openwrt/ e tutti i suggerimenti scritti da Heruan https://forum.openwrt.org/viewtopic.php?id=18570&p=1. Se poi sei molto pigro e vuoi far funzionare OpenWRT sulla tua scheda puoi scaricare i binari compilati da me (ma ..ehi … devi usarli a tuo rischio!!!)
- Scarica l’immagine del filesystem di root http://www.valeriovaccaro.it/adm5120/openwrt-adm5120-router_le-rootfs.tar.gz
- Scarica lo script http://www.valeriovaccaro.it/adm5120/prepare_usb.sh
1234567#!/bin/shmkfs.ext3 /dev/sdb1mount /dev/sdb1 targetcd targettar -xzf ../openwrt-adm5120-router_le-rootfs.tar.gzcp -rf ../packages ./cd ..umount /dev/sdb1
e rendilo eseguibile. Correggi /dev/sdb1 con il device della pendrive USB e crea una directory di nome target. - Prepara la pendrive USB usando lo script prepare_usb.sh
- Scarica l’immagine del kernel per la tua scheda http://www.valeriovaccaro.it/adm5120/openwrt-adm5120-router_le-br-6104kp-squashfs-xmodem.bin
- Scarica lo script http://www.valeriovaccaro.it/adm5120/xmodem-upload
123456#!/usr/bin/expect -fset dev "/dev/ttyUSB0"set file "openwrt-adm5120-router_le-br-6104kp-squashfs-xmodem.bin"system "stty 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke < $dev" spawn -open [ open $dev r+ ] send_user "* Waiting for the prompt, please turn on the router\n" expect "ADM5120 Boot:" send_user "\n* Got prompt, waiting for the second prompt\n" send " " expect "Please enter your key : " send_user "\n* Got second prompt, uploading firmware $dev\n" send "a" close system "sx -vv $file > $dev < $dev"spawn -open [ open $dev r+ ]expect "Please enter your key : "send_user "\n* Got second prompt, booting\n"send "c"
e rendilo eseguibile - Carica il nuovo kernel sulla tua scheda usando lo script xmodem-upload
1./xmodem-upload
- Bevi una birra e segui le istruzioni sul terminale
- Loggati su openwrt usando telnet
1telnet 192.168.1.189
- Aggiorna i repository
1opkg update
- Installa tutto il software di cui hai bisogno con opkg
1opkg install python
Segui questi semplici passo ed avrai OpenWRT funzionante sulla tua scheda Omnima.
UPDATE: il repository ufficiale ha aggiornato la versione del kernel, se vuoi installare i moduli per la versione del kernel installata april il file /etc/opkg.conf e sostituisci la prima linea con
1 |
src/gz snapshot http://www.valeriovaccaro.it/adm5120/packages |
Permalink
Ciao,
che versione di OpenWRT hai utilizzato, Kamikaze o Backfire?
Permalink
Backfire!
Permalink
Bene! Proprio quello che mi serviva 😀
Avrei una richiesta però…
Ho visto che i packages non sono più disponibili a questo indirizzo:
http://www.valeriovaccaro.it/adm5120/packages
e questi
http://downloads.openwrt.org/backfire/10.03.1/adm5120_router_le/packages/
non me li fa installare perché la versione del kernel è diversa…
Non è che, per caso, li hai ancora ed hai modo di farmeli scaricare?
Grazie mille!
Bel lavoro! 😀
Permalink
Ehi ehi … i pacchetti ci sono!!!
Il listing della directory è disabilitato quindi non puoi vedere l’elenco dei files, puoi però scaricare l’elenco dei pacchetti dal file
http://www.valeriovaccaro.it/adm5120/packages/Packages
Sostituisci all’interno del file di configurazione di opkg la stringa http://downloads.openwrt.org/backfire/10.03.1/adm5120_router_le/packages/ con http://www.valeriovaccaro.it/adm5120/packages, effettua l’update e vedrai che tutto magicamente inizia a funzionare 🙂