Die Artikel im Archiv-Namespace sind veraltet und werden nur noch aus historischen Gründen aufbewahrt.

Archiv:Magicbox

Aus wiki.freifunk.net
Zur Navigation springenZur Suche springen

Hardware

Version 1.x

CPU                 IBM PowerPC 200MHz
RAM                 32 MB SDRAM
FLASH               4MB
ETHERNET            1x 10/100 Base-T Ethernet (RJ45) MDIX
ERWEITERUNGSSLOTS   1x MiniPCI
WATCHDOG            Software/Hardware
SPANNUNGSVERSORGUNG DC 12-28V
                    PoE 18-24V DC
TEMPERATURBEREICH   -25 bis +55

Version 2.0

CPU                 IBM PowerPC 200MHz (optional 266Mhz, 333Mhz)
RAM                 32 MB SDRAM (optional 64MB, 128MB)
FLASH               4MB
CompactFlash        Standard True IDE Compact Flash or TRUE IDE Drive
ETHERNET            2x 10/100 Base-T Ethernet (RJ45) MDIX
ERWEITERUNGSSLOTS   3x MiniPCI
WATCHDOG            Software/Hardware
SPANNUNGSVERSORGUNG DC 12-28V
                    PoE 18-24V DC
TEMPERATURBEREICH   -25 bis +55

Weitere Infos

http://www.magicbox.pl
http://www.minipci.biz

Software

Bootloader

Als Bootloader wird der OpenSource-Bootloader uboot verwendet. Dabei handelt es sich um einen sehr flexiblen und mächtigen Bootloader mit sehr vielen Einstellungsmöglichkeiten

Ausgeliefert wurden unsere Magicboxen mit einem DD-WRT welches eine RAM-Disk nutzt. Um ein OpenWrt/Kamikaze mit jffs2/squashfs zu booten ist es erst einmal notwendig den Bootloader entsprechend zu konfigurieren. Dazu benötigt man bei v2.0 ein Nullmodem-Kabel am linken (zur Mitte hin) COM-Port bzw. bei der v1.1 ein ungekreuztes serielles Kabel und die Software Minicom(Linux) oder das gute alte Hyperterminal(Windows) um eine serielle Console (115200/8n1) zu öffnen.

Der Bootloader muß wie folgt konfiguriert werden:

setenv openwrt setenv bootargs console=ttyS0,115200 root=/dev/mtdblock1 rootfstype=squashfs,jffs2 noinitrd init=/etc/preinit\;bootm \$(kernel_addr)
setenv bootcmd run openwrt
saveenv

Beachte!!! Alle Magicboxen haben auf dem LAN-Interfaces die gleiche MAC-Adresse. Das kann bei mehreren Boxen im gleichen Netzsegment zu Problemen führen (doppelte ARP-Einträge). Also gleich beim Konfigurieren des Bootloaders noch die MAC-Adresse änderen (zB. die einer alten, nicht mehr funktionierenden/verwendeten ISA/PCI-Netzwerkkarte geben):

=> printenv
bootdelay=3
baudrate=115200
ramargs=setenv bootargs console=ttyS0,115200 root=/dev/ram rw
flash_mem=run ramargs;bootm $(kernel_addr) $(ramdisk_addr)
kernel_addr=ffC00000
ethaddr=00:50:C9:1E:AF:01
filesize=3940ad
fileaddr=100000
netmask=255.255.255.0
openwrt=setenv bootargs console=ttyS0,115200 root=/dev/mtdblock1 rootfstype=squashfs,jffs2 noinitrd init=/etc/preinit;bootm $(kernel_addr)
bootcmd=run openwrt
bootargs=console=ttyS0,115200 root=/dev/mtdblock1 rootfstype=squashfs,jffs2 noinitrd init=/etc/preinit
ipaddr=192.168.1.1
serverip=192.168.1.2
stdin=serial
stdout=serial
stderr=serial
ver=U-Boot 1.1.2 (May  6 2005 - 17:08:03)

Environment size: 635/1788 bytes
=> setenv ethaddr XX:XX:XX:XX:XX:XX
=> saveenv
Saving Environment to EEPROM...

Der uboot-Bootloader ist prinzipiell auch in der Lage von einem NFS- oder TFTP-Server zu booten oder geflasht zu werden oder das rootfs von der CF-Karte zu laden. Doch dazu später mehr. ;)

Flashen

Zum flashen kann man entweder das Windows-Tool MBFlasher.exe verwenden oder unter Linux einen tftp-Server Starten und in der seriellen Console folgende Befehle eingeben:

erase 0xffc00000 0xfffbffff
setenv ipaddr [ip for the magicbox]
setenv serverip [tftp server ip]
tftp 0x100000 openwrt-magicbox-squashfs.img
cp.b 0x100000 0xffc00000 0x[size of the image in hex, the bootloader prints it after the tftp]
reset

Ist bereits ein OpenWrt installiert, kann man zum flashen der Images mtd:

# mtd -r write openwrt-magicbox-squashfs.img linux

OpenWrt updaten

cd /tmp
wget http://<server>/<foobar>/openwrt-magicbox-squashfs.img
mtd -r write <Pfad zum squashfs-Image> linux

sonstiges

root@OpenWrt:/proc/sys/dev/wifi1# cat /proc/meminfo
MemTotal:        30368 kB
root@OpenWrt:/proc/sys/dev/wifi1# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 003c0000 00010000 "linux"
mtd1: 002c0000 00010000 "rootfs"
mtd2: 00040000 00010000 "bootloader"
root@OpenWrt:/proc/sys/dev/wifi1# cat /proc/cpuinfo
processor       : 0
cpu             : 405EP
clock           : 200MHz
revision        : 9.80 (pvr 5121 0950)
bogomips        : 199.47
machine         : MagicBox
plb bus clock   : 100MHz
pci bus clock   : 25MHz

PowerPC (soll sich gut übertakten lassen (noch nicht ausprobiert))

OpenWrt Kamikaze läuft.

Einstellungsbesonderheiten

LEDs für Atheros Karten geht:

echo 1 > /proc/sys/dev/wifi0/softled
echo 1 > /proc/sys/dev/wifi0/ledpin

Merkwürdig, Atheros scheint probleme mit dem diversity haben, am besten ausschalten:

echo 0 > /proc/sys/dev/wifi0/diversity
echo [1|2] > /proc/sys/dev/wifi0/txantenna
echo [1|2] > /proc/sys/dev/wifi0/rxantenna 

1 oder 2 je nach antennenanschluss.