Project

General

Profile

DFL-200 » History » Version 68

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