Project

General

Profile

DFL-200 » History » Version 38

Gordon Shumway, 09/18/2012 05:17 PM

1 1 Gordon Shumway
h1. DFL-200
2 1 Gordon Shumway
3 35 Gordon Shumway
%{color:red;font-size:1.5em}This page is a work in progress and changes as the hardware is mapped out.%
4 1 Gordon Shumway
5 35 Gordon Shumway
{{toc}}
6 35 Gordon Shumway
7 35 Gordon Shumway
h2. Parts
8 35 Gordon Shumway
9 18 Gordon Shumway
|SoC|266MHz|Intel IXP422BB|
10 17 Gordon Shumway
|RAM|64M|Hynix HY57V281620ETP-H|
11 17 Gordon Shumway
|Flash|4M|Intel JS28F320|
12 17 Gordon Shumway
|Ethernet controller|1|Realtek RTL8100B|
13 17 Gordon Shumway
||2|IXP422 Built-in MAC|
14 17 Gordon Shumway
|Switch|1|Realtek RTL8305SB|
15 1 Gordon Shumway
|IDE controller|1|Promise PDC20275|
16 1 Gordon Shumway
|RTC||Ricoh RS5C372A|
17 21 Gordon Shumway
18 35 Gordon Shumway
h2. Features
19 35 Gordon Shumway
20 17 Gordon Shumway
|10/100 Eth|6|1 on the RTL8100B (WAN)
21 13 Gordon Shumway
          1 on NPE-C connected to the switch (DMZ)
22 22 Gordon Shumway
          4 on NPE-B connected to the switch, PHY 32 (LAN)|
23 9 Gordon Shumway
|LEDs|1|GPIO-controlled Status LED (LED20)
24 2 Gordon Shumway
        (plus Ethernet port LEDs controlled by the switch)|
25 25 Gordon Shumway
|Buttons|2|GPIO, Reset button on the rear panel (RSW1), active low
26 25 Gordon Shumway
           Hardware reset button (RSW2) inside the case|
27 1 Gordon Shumway
|GPIO|4|On GPIOA1; 2 of these are the IIC bus|
28 1 Gordon Shumway
|CF|1|On the IDE controller|
29 1 Gordon Shumway
|RTC|1|With battery backup; on the IIC bus|
30 25 Gordon Shumway
|JTAG|3|1 standard 20-pin ARM JTAG (JB1)
31 25 Gordon Shumway
        1 that appears to be a minimal version of a standard JTAG (JC1)
32 9 Gordon Shumway
        1 unknown (DEBUG2), possibly the DSP engine|
33 1 Gordon Shumway
|Serial|1|RS-232 on the rear panel|
34 1 Gordon Shumway
35 1 Gordon Shumway
The board has unpopulated space for two more SDRAMs and a Mini-PCI Type III connector (some supporting parts may be missing).
36 1 Gordon Shumway
37 8 Gordon Shumway
The board comes with RedBoot custom-tailored to run Clavister's second-stage loader and OS from the CF card.
38 8 Gordon Shumway
39 8 Gordon Shumway
RedBoot is scattered over a total of 512K of the 4M flash.
40 1 Gordon Shumway
41 1 Gordon Shumway
h2. GPIO setup
42 1 Gordon Shumway
43 1 Gordon Shumway
|*GPIO*|*Function*|*Note*|
44 1 Gordon Shumway
|0|||
45 1 Gordon Shumway
|1|||
46 1 Gordon Shumway
|2|||
47 1 Gordon Shumway
|3|||
48 1 Gordon Shumway
|4|||
49 1 Gordon Shumway
|5|GPIO5|On GPIOA1|
50 1 Gordon Shumway
|6|IIC SCL|Also on GPIOA1|
51 1 Gordon Shumway
|7|IIC SDA|Also on GPIOA1|
52 1 Gordon Shumway
|8|||
53 15 Gordon Shumway
|9|PCI INTA|PDC20275 _%{color:red}verify me!%_|
54 15 Gordon Shumway
|10|PCI INTB|RTL8100B _%{color:red}verify me!%_|
55 1 Gordon Shumway
|11||
56 9 Gordon Shumway
|12|Rear-panel Reset button (RSW1)|Active low|
57 7 Gordon Shumway
|13|IO reset|probably;
58 7 Gordon Shumway
             connected to switch #RESET pin
59 7 Gordon Shumway
             also resets the PCI bus|
60 16 Gordon Shumway
|14|GPIO14|On GPIOA1|
61 9 Gordon Shumway
|15|Status LED (LED20)|(probably? Supposed to be the PCI clock?)|
62 1 Gordon Shumway
63 23 Gordon Shumway
h2. Headers and connectors
64 1 Gordon Shumway
65 23 Gordon Shumway
h3. GPIOA1 header
66 23 Gordon Shumway
67 1 Gordon Shumway
|*Pin*|*Function*|
68 1 Gordon Shumway
|1|GPIO14|
69 1 Gordon Shumway
|3|IIC SDA|
70 1 Gordon Shumway
|5|IIC SCL|
71 1 Gordon Shumway
|7|GPIO5|
72 1 Gordon Shumway
|2, 4, 6, 8|GND|
73 1 Gordon Shumway
74 19 Gordon Shumway
75 25 Gordon Shumway
h3. JC1 header
76 19 Gordon Shumway
77 19 Gordon Shumway
Apparently a simplified JTAG header. _%{color:red}verify me!%_
78 19 Gordon Shumway
79 19 Gordon Shumway
|*Pin*|*Function*|
80 19 Gordon Shumway
|2|TCK|
81 19 Gordon Shumway
|4|TMS|
82 19 Gordon Shumway
|6|TDI|
83 1 Gordon Shumway
|8|TDO|
84 19 Gordon Shumway
|1, 3, 5, 7|GND|
85 19 Gordon Shumway
86 23 Gordon Shumway
h3. PS4S1 4-pin Berg- (Mini-Molex-) type power supply connector
87 20 Gordon Shumway
88 20 Gordon Shumway
|*Pin*|*Function*|
89 20 Gordon Shumway
|1|+5V|
90 20 Gordon Shumway
|2|GND|
91 20 Gordon Shumway
|3|GND|
92 20 Gordon Shumway
|4|N/C|
93 20 Gordon Shumway
94 20 Gordon Shumway
Of note, there is no +12V.
95 19 Gordon Shumway
96 1 Gordon Shumway
h2. RedBoot
97 1 Gordon Shumway
98 1 Gordon Shumway
Console is 9600,8N1.
99 1 Gordon Shumway
100 1 Gordon Shumway
Flash layout:
101 1 Gordon Shumway
102 1 Gordon Shumway
|*Name*|*FLASH addr*|*Mem addr*|*Length*|*Entry point*|
103 1 Gordon Shumway
|RedBoot|0x50000000|0x50000000|0x00040000|0x00000000|
104 1 Gordon Shumway
|mac|0x50040000|0x10000000|0x00020000|0x10000000|
105 1 Gordon Shumway
|FIS directory|0x503E0000|0x503E0000|0x0001F000|0x00000000|
106 1 Gordon Shumway
|RedBoot config|0x503FF000|0x503FF000|0x00001000|0x00000000|
107 1 Gordon Shumway
108 1 Gordon Shumway
RedBoot comes up with a default menu that allows selecting between booting the Clavister OS (this is done automatically after a timeout) or enter the RedBoot command line.
109 1 Gordon Shumway
110 26 Gordon Shumway
Although RedBoot is able to write configuration to flash memory, it ignores (at least some of the) settings contained there (console_baud_rate). The flash config doesn't contain the NPE MAC addresses either. *Make note of your MAC addresses from the original OS*. They may also be printed on stickers on the Ethernet jacks. The bottom sticker also has the MAC address of the WAN port -- add 0x01 for the DMZ MAC, another 0x01 for the LAN MAC.
111 1 Gordon Shumway
112 1 Gordon Shumway
h3. Automatic booting
113 1 Gordon Shumway
114 1 Gordon Shumway
Booting the Clavister OS is done by the following command sequence:
115 1 Gordon Shumway
116 1 Gordon Shumway
<pre>
117 1 Gordon Shumway
load -m disk -b 0x100000 hda1:FWLOADER.CFX
118 1 Gordon Shumway
go -c 0x101028
119 1 Gordon Shumway
</pre>
120 1 Gordon Shumway
121 1 Gordon Shumway
This will load FWLOADER.CFX from the first CF partition, which must be either FAT (16?) or ext2fs. Any file named FWLOADER.CFX can be loaded as long as it satisfies the following (known) constraints:
122 1 Gordon Shumway
123 11 Gordon Shumway
* Begins with a 4136-byte long DOS/PE stub (it _must_ be a proper DOS/PE stub, at least to some as-of-yet-unknown extent)
124 1 Gordon Shumway
* The payload after the stub _must_ be a tagged image (ie. ELF)
125 1 Gordon Shumway
126 37 Gordon Shumway
h3. Automatic booting of a custom kernel
127 37 Gordon Shumway
128 37 Gordon Shumway
By default, RedBoot starts up with a menu:
129 37 Gordon Shumway
130 37 Gordon Shumway
<pre>
131 37 Gordon Shumway
Found EXT2 file system
132 37 Gordon Shumway
Ethernet eth0: MAC address 22:11:44:33:66:55
133 37 Gordon Shumway
IP: 192.168.1.1/255.255.255.0, Gateway: 192.168.1.12
134 37 Gordon Shumway
Default server: 192.168.1.12
135 37 Gordon Shumway
136 37 Gordon Shumway
EM-436 Ver.AB 2004-08-31
137 37 Gordon Shumway
138 37 Gordon Shumway
139 37 Gordon Shumway
Booting Menu: Default Start D-Link firewall
140 37 Gordon Shumway
1. Start D-Link firewall
141 37 Gordon Shumway
2. Redboot command line
142 37 Gordon Shumway
Please select:
143 37 Gordon Shumway
</pre>
144 37 Gordon Shumway
145 37 Gordon Shumway
If no interaction is made, (1) will be executed with the above-mentioned boot sequence.
146 37 Gordon Shumway
147 37 Gordon Shumway
Booting any custom image involves selecting (2) and issuing the necessary RedBoot commands. Automating this selection is done by a RedBoot script that has a bare _*2*_ as its first line, then the commands necessary to load and boot the custom image.
148 37 Gordon Shumway
149 37 Gordon Shumway
<pre>
150 37 Gordon Shumway
RedBoot> fconfig
151 37 Gordon Shumway
Run script at boot: true
152 37 Gordon Shumway
Boot script: 
153 37 Gordon Shumway
Enter script, terminate with empty line
154 37 Gordon Shumway
>> 2
155 37 Gordon Shumway
>> load -r -b 0x01600000 -m disk hda1:/boot/openwrt-dfl200-zImage
156 37 Gordon Shumway
>> go -n 0x01600000
157 37 Gordon Shumway
>> 
158 37 Gordon Shumway
Boot script timeout (1000ms resolution): 5 
159 37 Gordon Shumway
Use BOOTP for network configuration: false
160 37 Gordon Shumway
Gateway IP address: 192.168.1.12
161 37 Gordon Shumway
Local IP address: 192.168.1.1
162 37 Gordon Shumway
Local IP address mask: 255.255.255.0
163 37 Gordon Shumway
Default server IP address: 192.168.1.12
164 37 Gordon Shumway
console_baud_rate: 9600
165 37 Gordon Shumway
GDB connection port: 0
166 37 Gordon Shumway
Force console for special debug messages: false
167 37 Gordon Shumway
Network debug at boot time: false
168 37 Gordon Shumway
Update RedBoot non-volatile configuration - continue (y/n)? y
169 37 Gordon Shumway
... Unlock from 0x503e0000-0x50400000: .
170 37 Gordon Shumway
... Erase from 0x503e0000-0x50400000: .
171 37 Gordon Shumway
... Program from 0x0ffe0000-0x10000000 at 0x503e0000: .
172 37 Gordon Shumway
... Lock from 0x503e0000-0x50400000: .
173 37 Gordon Shumway
RedBoot> 
174 37 Gordon Shumway
</pre>
175 37 Gordon Shumway
176 37 Gordon Shumway
This will automatically load and boot /boot/openwrt-dfl200-zImage from the first partition on the Compact Flash card (which must still be FAT or ext2 for RedBoot to be able to handle it).
177 37 Gordon Shumway
178 38 Gordon Shumway
<pre>
179 38 Gordon Shumway
Found EXT2 file system
180 38 Gordon Shumway
Ethernet eth0: MAC address 22:11:44:33:66:55
181 38 Gordon Shumway
IP: 192.168.1.1/255.255.255.0, Gateway: 192.168.1.12
182 38 Gordon Shumway
Default server: 192.168.1.12
183 38 Gordon Shumway
184 38 Gordon Shumway
EM-436 Ver.AB 2004-08-31
185 38 Gordon Shumway
186 38 Gordon Shumway
187 38 Gordon Shumway
Booting Menu: Default Start D-Link firewall
188 38 Gordon Shumway
1. Start D-Link firewall
189 38 Gordon Shumway
2. Redboot command line
190 38 Gordon Shumway
Please select:2
191 38 Gordon Shumway
192 38 Gordon Shumway
== Executing boot script in 5.000 seconds - enter ^C to abort
193 38 Gordon Shumway
RedBoot> load -r -b 0x01600000 -m disk hda1:/boot/openwrt-dfl200-zImage
194 38 Gordon Shumway
Raw file loaded 0x01600000-0x016ee4f7, assumed entry at 0x01600000
195 38 Gordon Shumway
RedBoot> go -n 0x01600000
196 38 Gordon Shumway
Uncompressing Linux... done, booting the kernel.
197 38 Gordon Shumway
[    0.000000] Booting Linux on physical CPU 0
198 38 Gordon Shumway
...
199 38 Gordon Shumway
</pre>
200 38 Gordon Shumway
201 1 Gordon Shumway
h2. Miscellaneous notes
202 1 Gordon Shumway
203 23 Gordon Shumway
If GPIO5 is grounded when power is applied, the board enters some sort of a simple self-test routine.
204 17 Gordon Shumway
205 17 Gordon Shumway
RTCK (pin 11) on JB1 (JTAG) is pulled to ground.
206 27 Gordon Shumway
207 36 Gordon Shumway
There are abundant supplies of ground pins on GPIOA1 and JC1; no need to wrestle with (de-)soldering this pin on JB1 if you have troubles with that.
208 28 Gordon Shumway
209 33 Gordon Shumway
h2. Board revisions
210 33 Gordon Shumway
211 33 Gordon Shumway
Two known, EM-436A V1.1 and EM-436A V2.0. The only observable difference between the two are slightly different component use (flash, SDRAMs) and minor differences in the PCB silk.
212 33 Gordon Shumway
213 28 Gordon Shumway
h2. Annotated board image
214 29 Gordon Shumway
215 30 Gordon Shumway
!DFL200_annotated.jpg!
216 30 Gordon Shumway
217 1 Gordon Shumway
|1|PS4S1 power connector||11|RTL8100B Ethernet controller|
218 33 Gordon Shumway
|2|JP2 Mystery jumper No. 1||12|RTL8305SB Ethernet switch|
219 30 Gordon Shumway
|3|JC1 mini-JTAG||13|RS5C372A RTC|
220 31 Gordon Shumway
|4|JB1 ARM JTAG||14|SDRAM banks|
221 30 Gordon Shumway
|5|GPIOA1 header||15|Mini-PCI Type III connector|
222 1 Gordon Shumway
|6|DEBUG2 header||16|IXP422BB SoC|
223 30 Gordon Shumway
|7|LED20 Status LED||17|JS28F320 flash|
224 33 Gordon Shumway
|8|IMP1 Mystery connector No. 2||18|Compact Flash card|
225 30 Gordon Shumway
|9|MAC address stickers||19|RSW1 Reset button|
226 30 Gordon Shumway
|10|PDC20275 IDE controller|||