Archiv:Magicbox
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.