Project

General

Profile

DFL-200 » History » Version 59

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