Edimax PS-1208MFG

FIXME: please follow template_device to create new device pages; also please note, that content in this wiki is placed under the CC Attribution-Noncommercial-Share Alike 3.0 Unported. So if you simply copy something from somewhere else, the original author has to ok this!

informations came from this site

Introduction

Building OpenWrt

A thread on the OpenWrt forum is related to this board. If you have any bugs or problems then put them on it :

Currently there is some bugs with my previous patches. 
To make sure it will work once you get the full source, apply the following patches that fix a bug with 64 bit architecture and block-extroot: 
{{:patchesps.tar.gz|}} extract them at the root directory and run patch -p1 < patches

As the device only has 2MiB of NOR flash OpenWrt has to be stripped down to the strict miminum. First download the following file : filesps1208mfg.tar.gz and extract it at the root of the sources.

When building OpenWrt you have to launch make menuconfig:

In the menu go into

Target Profile (Broadcom BCM43xx WiFi)  ---> 
and in this menu select
Edimax PS-1208MFG
then go into
Global build settings  --->
And at the end select the two items. This will reduce the generated image size
Binary stripping method (sstrip)  ---> 
[*] Strip unnecessary exports from the kernel image 
[ ] Strip unnecessary functions from libraries 

Currently (when is currently? — orca 2011/08/12 14:15) there is a bug with stripping for library so don't select it, otherwise some mandatory functions will be removed from library and some programs will not work

Explore the configuration to see what is enabled and what is not (if not a bug seems to doesn't disable iptables)

Then you can type make

At the end of the compilation you should have a file ~/openwrt/trunk/bin/brcm47xx/OpenWrt-ps1208mfg-squashfs.bin

Installation

Preparation

As the device has too few flash to store everything we will want to install we will use an external usb-key. The device has to be formatted into the following partitions :

  1. sda1 : root partition in ext2
  2. sda2 : swap partition

for example if your key is 1Gb then make an ext2 partition of 930Mb and a swap one of 70Mb Finally plug the key into the print server.

Upload to the board

To flash the freshly built image to the server you will have to setup a TFTP server. For instance there is tftpd-hpa that is really simple to setup on ubuntu or any debian-based distro. There are a lot of good

tutorials for that on the net.

Now you'll have to plug your computer to the ps1208mfg (or at least be on the same network) and set you ip has 192.168.2.254. The bootloader expects to find a tftp server on this ip address containing a

file named upgrade.bin. For that you will have to copy the previous generated image into the tftp server directory and name it upgrade.bin

Once everything is setup plus the print server on the main power, and keep pressing the reset button using a pen. If everything goes fine (ie the print server find a tftpserver at 192.168.2.254 and succeed in downloading a file upgrade.bin) you will see the LAN led blinking fast for approximately 3 seconds (time to

download the firmware)

Then you will have to wait approximately 40 seconds. During boot you will see all leds lighting and then status and wifi will light off, this is normal.

Basic Configuration

Specific Configuration

Leds

Leds are referenced as wlan and status in /proc/diag

Buttons

hardware.button

Using the reset button is pretty straight forward First create a /etc/hotplug.d/button/ folder. Then create a handler script like the following one :

#!/bin/sh
# $BUTTON = button name : reset here since we have only one button...
# $ACTION can be either pressed or released
# $SEEN is the time in second since which a button was pressed or released
# this is pretty useful to detect a long or a short press
#
logger button handler: $BUTTON $ACTION $SEEN

then with logread -f you will see each time you press the button

Hardware

Info

Architecture: MIPS
Vendor: Broadcom
Bootloader: CFE
System-On-Chip: Broadcom BCM5354 KFBG rev3 (0x29029)
CPU/Speed Broadcom BCM3302 V2.9 240 Mhz
Flash-Chip: MX29LV160CBTC (2MB BotB NOR flash)
Flash size: 2MiB
RAM: 32 MiB
Wireless: Broadcom BCM4318 802.11 Wireless Controller 4.130.28.0
Ethernet: Broadcom BCM47xx 100/100 Mbps Ethernet Controller 4.130.25.0
USB: Yes 1 x USB 2.0 Host port (PCI ID: 14e4:471a)
Serial: Yes
JTAG: Yes

Bootloader

This device is using a modified version of the CFE bootloader. It search a (not so) special header which is a modified CSYS header :

P  S  1  6
50 53 31 36 | 02 B0 1A 00 | 00 00 50 80 
      |             |            | 
Signature           |       start address 
                    | 
        length in little endian

Length and start address aren't used…

Logs

CFE environment

BOOT_CONSOLE         uart0
CFE_VERSION          1.0.37
CFE_BOARDNAME        BCM947XX
CFE_MEMORYSIZE       32768
NET_DEVICE           eth0
NET_IPADDR           192.168.1.1
NET_NETMASK          255.255.255.0
NET_GATEWAY          0.0.0.0
NET_NAMESERVER       0.0.0.0
STARTUP              go;

Nvram

opo=12
il0macaddr=00:11:22:33:44:55
boardrev=0x11
et0macaddr=11:22:33:44:55:66
reg_domain=3
watchdog=3000
boot_wait=on
et0mdcport=0
bxa2g=1
reset_gpio=4
pmon_ver=CFE 4.131.25.0
lan_gateway=192.168.1.254
sromrev=3
boardtype=0x048e
lan_netmask=255.255.255.0
wl0id=0x4318
ag0=0
xtalfreq=25000
wl0gpio0=11
wl0gpio1=11
wl0gpio2=11
wl0gpio3=11
status_gpio=1
pa0itssit=62
rxpo2g=0xfff8
rssisav2g=2
wlan_gpio=0
cctl=0
pa0maxpwr=83
lan_ipaddr=192.168.1.1
clkfreq=240
aa0=3
sdram_config=0x0062
ccode=0
rssismf2g=0
boardflags=0x650
sdram_refresh=0
sdram_ncdl=0x10ff09
et0phyaddr=30
landevs=et0 wl0
pa0b0=0x15ed
pa0b1=0xfac2
pa0b2=0xfea0
sdram_init=0x054B
parefldovoltage=0x28
tri2g=78
et1phyaddr=0x1f
language=0
boardnum=01

Back to top

toh/edimax/ps-1208mfg.txt · Last modified: 2011/08/12 14:19 by orca