Project

General

Profile

DFL-200 » History » Version 61

Gordon Shumway, 09/18/2012 08:42 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 58 Gordon Shumway
|/3. 10/100 Eth|/3. 6|1 on the RTL8100B (WAN)|
21 58 Gordon Shumway
                     |1 on NPE-C connected to the switch (DMZ)|
22 58 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 58 Gordon Shumway
|/2. Buttons|/2. 2|GPIO, Reset button on the rear panel (RSW1), active low|
26 58 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 57 Gordon Shumway
|Comact Flash|1|On the IDE controller|
29 1 Gordon Shumway
|RTC|1|With battery backup; on the IIC bus|
30 58 Gordon Shumway
|/3. JTAG|/3. 3|1 standard 20-pin ARM JTAG (JB1)|
31 58 Gordon Shumway
               |1 that appears to be a minimal version of a standard JTAG (JC1)|
32 58 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 47 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 52 Gordon Shumway
|9|PCI INTA|PDC20275|
54 52 Gordon Shumway
|10|PCI INTB|RTL8100B|
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 60 Gordon Shumway
|_. Pin|_. Function||_. Pin|_. Function|
68 60 Gordon Shumway
|1|GPIO14||2|/4. GND|
69 60 Gordon Shumway
|3|IIC SDA||4|
70 60 Gordon Shumway
|5|IIC SCL||6|
71 60 Gordon Shumway
|7|GPIO5||8|
72 60 Gordon Shumway
73 44 Gordon Shumway
h3. JB1 header
74 1 Gordon Shumway
75 56 Gordon Shumway
Standard 20-pin ARM JTAG.
76 44 Gordon Shumway
77 54 Gordon Shumway
|_. Pin |_. Function||_. Pin |_. Function|
78 1 Gordon Shumway
|1|Vref||2|Vsupply|
79 61 Gordon Shumway
|3|nTRST||4|/9. GND|
80 61 Gordon Shumway
|5|TDI||6|
81 61 Gordon Shumway
|7|TMS||8|
82 61 Gordon Shumway
|9|TCK||10|
83 61 Gordon Shumway
|11|RTCK||12|
84 61 Gordon Shumway
|13|TDO||14|
85 61 Gordon Shumway
|15|nSRST||16|
86 61 Gordon Shumway
|17|DBGRQ||18|
87 61 Gordon Shumway
|19|DBGACK||20|
88 44 Gordon Shumway
89 19 Gordon Shumway
h3. JC1 header
90 19 Gordon Shumway
91 55 Gordon Shumway
A simplified JTAG header.
92 19 Gordon Shumway
93 59 Gordon Shumway
|_. Pin|_. Function||_. Pin|_. Function|
94 59 Gordon Shumway
|1|/4. GND||2|TCK|
95 59 Gordon Shumway
|2|        |4|TMS|
96 59 Gordon Shumway
|3|        |6|TDI|
97 59 Gordon Shumway
|4|        |8|TDO|
98 59 Gordon Shumway
99 1 Gordon Shumway
100 23 Gordon Shumway
h3. PS4S1 4-pin Berg- (Mini-Molex-) type power supply connector
101 20 Gordon Shumway
102 44 Gordon Shumway
|_. Pin|_. Function|
103 20 Gordon Shumway
|1|+5V|
104 20 Gordon Shumway
|2|GND|
105 20 Gordon Shumway
|3|GND|
106 20 Gordon Shumway
|4|N/C|
107 20 Gordon Shumway
108 20 Gordon Shumway
Of note, there is no +12V.
109 19 Gordon Shumway
110 1 Gordon Shumway
h2. RedBoot
111 1 Gordon Shumway
112 1 Gordon Shumway
Console is 9600,8N1.
113 1 Gordon Shumway
114 1 Gordon Shumway
Flash layout:
115 1 Gordon Shumway
116 49 Gordon Shumway
|_. Name|_. FLASH addr|_. Mem addr|_. Length|_. Entry point|
117 1 Gordon Shumway
|RedBoot|0x50000000|0x50000000|0x00040000|0x00000000|
118 1 Gordon Shumway
|mac|0x50040000|0x10000000|0x00020000|0x10000000|
119 1 Gordon Shumway
|FIS directory|0x503E0000|0x503E0000|0x0001F000|0x00000000|
120 1 Gordon Shumway
|RedBoot config|0x503FF000|0x503FF000|0x00001000|0x00000000|
121 1 Gordon Shumway
122 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.
123 1 Gordon Shumway
124 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.
125 1 Gordon Shumway
126 1 Gordon Shumway
h3. Automatic booting
127 1 Gordon Shumway
128 1 Gordon Shumway
Booting the Clavister OS is done by the following command sequence:
129 1 Gordon Shumway
130 1 Gordon Shumway
<pre>
131 1 Gordon Shumway
load -m disk -b 0x100000 hda1:FWLOADER.CFX
132 1 Gordon Shumway
go -c 0x101028
133 1 Gordon Shumway
</pre>
134 1 Gordon Shumway
135 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:
136 1 Gordon Shumway
137 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)
138 1 Gordon Shumway
* The payload after the stub _must_ be a tagged image (ie. ELF)
139 1 Gordon Shumway
140 37 Gordon Shumway
h3. Automatic booting of a custom kernel
141 37 Gordon Shumway
142 37 Gordon Shumway
By default, RedBoot starts up with a menu:
143 37 Gordon Shumway
144 37 Gordon Shumway
<pre>
145 37 Gordon Shumway
Found EXT2 file system
146 37 Gordon Shumway
Ethernet eth0: MAC address 22:11:44:33:66:55
147 37 Gordon Shumway
IP: 192.168.1.1/255.255.255.0, Gateway: 192.168.1.12
148 37 Gordon Shumway
Default server: 192.168.1.12
149 37 Gordon Shumway
150 37 Gordon Shumway
EM-436 Ver.AB 2004-08-31
151 37 Gordon Shumway
152 37 Gordon Shumway
153 37 Gordon Shumway
Booting Menu: Default Start D-Link firewall
154 37 Gordon Shumway
1. Start D-Link firewall
155 37 Gordon Shumway
2. Redboot command line
156 37 Gordon Shumway
Please select:
157 37 Gordon Shumway
</pre>
158 37 Gordon Shumway
159 37 Gordon Shumway
If no interaction is made, (1) will be executed with the above-mentioned boot sequence.
160 37 Gordon Shumway
161 50 Gordon Shumway
Booting any custom image involves selecting (2) and issuing the necessary RedBoot commands. Automating this selection is done by a boot script that has a bare _*2*_ as its first line, then the commands necessary to load and boot the custom image.
162 37 Gordon Shumway
163 37 Gordon Shumway
<pre>
164 37 Gordon Shumway
RedBoot> fconfig
165 37 Gordon Shumway
Run script at boot: true
166 37 Gordon Shumway
Boot script: 
167 37 Gordon Shumway
Enter script, terminate with empty line
168 37 Gordon Shumway
>> 2
169 37 Gordon Shumway
>> load -r -b 0x01600000 -m disk hda1:/boot/openwrt-dfl200-zImage
170 37 Gordon Shumway
>> go -n 0x01600000
171 37 Gordon Shumway
>> 
172 37 Gordon Shumway
Boot script timeout (1000ms resolution): 5 
173 37 Gordon Shumway
Use BOOTP for network configuration: false
174 37 Gordon Shumway
Gateway IP address: 192.168.1.12
175 37 Gordon Shumway
Local IP address: 192.168.1.1
176 37 Gordon Shumway
Local IP address mask: 255.255.255.0
177 37 Gordon Shumway
Default server IP address: 192.168.1.12
178 37 Gordon Shumway
console_baud_rate: 9600
179 37 Gordon Shumway
GDB connection port: 0
180 37 Gordon Shumway
Force console for special debug messages: false
181 37 Gordon Shumway
Network debug at boot time: false
182 37 Gordon Shumway
Update RedBoot non-volatile configuration - continue (y/n)? y
183 37 Gordon Shumway
... Unlock from 0x503e0000-0x50400000: .
184 37 Gordon Shumway
... Erase from 0x503e0000-0x50400000: .
185 37 Gordon Shumway
... Program from 0x0ffe0000-0x10000000 at 0x503e0000: .
186 37 Gordon Shumway
... Lock from 0x503e0000-0x50400000: .
187 37 Gordon Shumway
RedBoot> 
188 37 Gordon Shumway
</pre>
189 37 Gordon Shumway
190 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).
191 37 Gordon Shumway
192 38 Gordon Shumway
<pre>
193 38 Gordon Shumway
Found EXT2 file system
194 38 Gordon Shumway
Ethernet eth0: MAC address 22:11:44:33:66:55
195 38 Gordon Shumway
IP: 192.168.1.1/255.255.255.0, Gateway: 192.168.1.12
196 38 Gordon Shumway
Default server: 192.168.1.12
197 38 Gordon Shumway
198 38 Gordon Shumway
EM-436 Ver.AB 2004-08-31
199 38 Gordon Shumway
200 38 Gordon Shumway
201 38 Gordon Shumway
Booting Menu: Default Start D-Link firewall
202 38 Gordon Shumway
1. Start D-Link firewall
203 38 Gordon Shumway
2. Redboot command line
204 38 Gordon Shumway
Please select:2
205 38 Gordon Shumway
206 38 Gordon Shumway
== Executing boot script in 5.000 seconds - enter ^C to abort
207 38 Gordon Shumway
RedBoot> load -r -b 0x01600000 -m disk hda1:/boot/openwrt-dfl200-zImage
208 38 Gordon Shumway
Raw file loaded 0x01600000-0x016ee4f7, assumed entry at 0x01600000
209 38 Gordon Shumway
RedBoot> go -n 0x01600000
210 38 Gordon Shumway
Uncompressing Linux... done, booting the kernel.
211 38 Gordon Shumway
[    0.000000] Booting Linux on physical CPU 0
212 38 Gordon Shumway
...
213 38 Gordon Shumway
</pre>
214 38 Gordon Shumway
215 1 Gordon Shumway
h2. Miscellaneous notes
216 1 Gordon Shumway
217 23 Gordon Shumway
If GPIO5 is grounded when power is applied, the board enters some sort of a simple self-test routine.
218 17 Gordon Shumway
219 17 Gordon Shumway
RTCK (pin 11) on JB1 (JTAG) is pulled to ground.
220 27 Gordon Shumway
221 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.
222 28 Gordon Shumway
223 33 Gordon Shumway
h2. Board revisions
224 33 Gordon Shumway
225 43 Gordon Shumway
Two known, EM-436A V1.1 and EM-436A V2.0. The only observable differences between the two are slightly different component use (flash, SDRAMs) and minor differences in the PCB silk.
226 33 Gordon Shumway
227 28 Gordon Shumway
h2. Annotated board image
228 29 Gordon Shumway
229 30 Gordon Shumway
!DFL200_annotated.jpg!
230 30 Gordon Shumway
231 39 Gordon Shumway
|1|[[DFL-200#PS4S1-4-pin-Berg--Mini-Molex--type-power-supply-connector|PS4S1 power connector]]||11|RTL8100B Ethernet controller|
232 33 Gordon Shumway
|2|JP2 Mystery jumper No. 1||12|RTL8305SB Ethernet switch|
233 40 Gordon Shumway
|3|[[DFL-200#JC1-header|JC1 mini-JTAG]]||13|RS5C372A RTC|
234 31 Gordon Shumway
|4|JB1 ARM JTAG||14|SDRAM banks|
235 40 Gordon Shumway
|5|[[DFL-200#GPIOA1-header|GPIOA1 header]]||15|Mini-PCI Type III connector|
236 1 Gordon Shumway
|6|DEBUG2 header||16|IXP422BB SoC|
237 30 Gordon Shumway
|7|LED20 Status LED||17|JS28F320 flash|
238 33 Gordon Shumway
|8|IMP1 Mystery connector No. 2||18|Compact Flash card|
239 42 Gordon Shumway
|9|MAC address stickers||19|RSW1 software reset button|
240 42 Gordon Shumway
|10|PDC20275 IDE controller||20|RSW2 hardware reset button|