This is an old revision of the document!

How to add a serial port

WARNING: attaching a serial port will certainly void your warranty and could destroy your unit.

Serial connector

  • The serial connector is at CON4, a white connector inbetween the two drive leds.
  • This is a 3.3V TTL serial port, common on many hardware devices.
  • You CAN NOT connect it directly to a PC serial port, you will need a

level shifter, a popular (and simple) chip for this is the MAX323.

Pinout on the NAS

  • Warning: Do not use 5v signals - you might damage the CPU
  • With the power botton facing you and component side up
  • Reading left to right

^Pin 1^Pin 2^Pin 3^Pin 4^ |3.3V|TX|RX|GND|

Correction 30 nov 2008

Pin 1Pin 2Pin 3Pin 4

Correction here is wrong. You should always use direction depending on device which You describe. First post was correct. Agree. Just to emphasize correct pinout: Pin 2 is serial data out from DNS-323, Pin 3 is Serial data in to DNS-323

Several pictures of serial port installation on the back of the unit can be found here:

Hardware Revision C1

If you own a dlink323 hardware revision C1, than the board layout looks a bit different. Take a look on this picture


A - J is the JTAG and 1- 4 is the serial panel.

Hardware Layout C1

Pin 1Pin 2Pin 3Pin 4

3.3V has to be connected to VCC, if you have a level converter. You see, it's the same :-)

Pin2→ PC RX - DNS TX, Pin3→ PC TX - DNS RX

Parts Used

  • I bought the connectors from Digikey
  • Digikey WM1722-ND female housing and WM1775-ND pins
  • Digikey MAX3232ECPE+-ND 16 pin dip part (note the odd +-ND suffix is correct)


  • TX is the outgoing 3.3 volt CMOS signal FROM the Marvell 88F5181 ARM CPU
  • RX is the ingoing signal TO the CPU.

Data Rate

  • Baud rate is 115200 baud - 8 bits, no parity and no flow control.

If properly connected, you will see several messages during boot time. You need to break into the shell to type commands, as you could do in a normal ssh or telnet session.

Breaking into a shell

  • Magic code to break into shell is 5784468 followed by the enter key
  • I looked at the ash.c source - see busybox-1.00-pre1/shell/ash.c - Look for is_interactive


Serial to TRS (mini stereo)

A very simple way of extending the serial port to an accessible position is to make a connector from the on-board header to a mini stereo (TRS) socket, then mount the socket behind the face plate of the DNS-323. This helps to preserve the original appearance of the unit, as the socket is only visible when the front face plate is removed as if to add a new drive.

You can then use an FTDI USB->Serial adapter to connect it to the PC. Of course, something like the Nokia CA-42 cable (or a cheap clone) can easily be retrofitted with a suitable mini-stereo plug as well, which is what I ended up doing.

Here are some shots of how I mounted mine:



Using bkamen's RS232->Logic adapter

Forum User 'bkamen' is an electronics designer and made some RS232 to logic board for his lab and some clients as well as anyone else who needs them. They come already assembled with a 3V-5.5V MAX3221, DE-9 connector and indication LED's – ready to solder to the board with some wire. In the image below, you can see the signals coming off the end of the board. Just solder to them. (_INV_ isn't used in this appplication)

 RS232->Logic PCB w/Test connection and DE-9 to PC

Using the Futurlec board

Futurlec makes a board at that can be used to perform the level conversion. This is one way to go. It can even be mounted in the center brace. Here is one way to go, if you really want a serial port. Note that the Futurlec board was shipped from Thailand for me and took about 4 weeks to get to me via post, so you may want to pick a more expedient shipping method.

  • Get the following items from Digi-Key (
    • WM1722-ND Conn Housing 4Pos 1.25MM. I'd get a few, in case you mess up.
    • DM1775-ND Conn Term Female 28-32AWG Tin. You need a few of these, I'd get plenty to mess up with. It's hard to get those connectors on right.
    • 621K-ND Bracket RT Ang Mont 4-40 Steel. This is used to mount the Futurlec board to the brace.
    • H342-ND Screw Machine Phillips 4-40×1/4. Screws for attaching the thing, these go into the angle bracket.
    • 3157K-ND Washer Flat #4 .120x.312 Nylon. Insulated washers are a good idea against the circuit board.

Some of them have large minimum orders, like 100, but the whole thing cost me $16.42 with shipping. You will also need:

  • 30AWG wire. This is a lot easier to get into the connectors than standard wire.
  • External 2 USB plate. These should be easy to find at a computer store. You want one that has the 4-connector flat connectors that plug into a motherboard. The connector should have a square location that you can use to press to remove the pins from the connector. These will plug into the Futurlec board.
  • RJ45 female connector that will hook onto the panel. I'm not sure what these are called, but I had some so I used them. Note that you can use an RJ11 or RJ12, if you like, but you need to buy everything else accordingly. The RJ11 might be better; I can't close the front with the RJ45.
  • Flat cable, 4, 6, or 8 conductor depending on which connector you choose, with the proper RJxx male connectors on each end.
  • A RJxx to 9-pin connector. You can find these at some computer stores. Fry's and Microcenter both have them.
  • Some shrink-wrap.

The procedure:

  • Cut the cables from each USB connect so you are left with the 4-pin flat connector and a length of wire. Cut the cable back

some and strip the wires.

  • Cut 4 small lengths of the 30AWG wire, strip one end of each and solder each of them on to the wires from one of the former USB cables.
  • Shrink-wrap the solder joints to avoid shorts.
  • Strip the other end of the 30AWG wire very short, perhaps 1mm.
  • Crimp a DM1775-ND onto each of the 30AWG wires. This is rather hard and detailed, make sure they are compact so they will go into the connector. Note that the 30AWG wire will not take being bent over and over, so take care especially when plugging it in.
  • You need to make sure you get the wiring right. These all go to the 6-pin connector on the Futurlec board. The TX from the DNS-323 (pin2) goes to TX, RX to RX, +3V to +3V, and GND to GND. Note that you will need to remove the GND wire from the 4-pin connector and put it on the GND pin (see pictures). The 4-pin connector will hang off the end a little.
  • Take the other former USB connector, and strip back the outer shield. Do not strip the wires. Instead, they will be pressed into the RJxx female connector.
  • You need to spend some time and figure out all the wiring. Then you can press the wires into the RJxx connector in the proper locations so they will match up with the output of the Futurlec board.
  • Ohm-out the cables to check for shorts and connectivity. This is important. Double-check your wiring.
  • Build the RJxx cable and converter to 9-pin. Again, wiring planning is a little tricky.
  • Now plug everything in and test it. Make sure to not put the board onto a metal surface.
  • It should work. If not, check wiring. Note that I had one unit that I burned the TX line on due to a short. So be careful and test the cables.
  • On the front plate, measure where the RJxx connector will go and use a chisel to break out a section. This is rather hard. I used a chisel, drilled some holes, and inserted a coping saw, and sawed around where the chisel made the impression. Note that the panel is aluminum, so it is very easy to bend. So be careful.
  • Drill holes in the front plate for the board to mount. Make sure there is room for it and the RJ45 and that it won't interfere with internal components. The spacing is a little tight, so measure.
  • Put the RJxx connector through, and mount the board. When mounting, use the nylon washers on both sides of the circuit board. Put it all back together and test again.

Here's two pictures of the panel

Here's a picture of the inside. Note that I have way too much wire, so don't do that :)

Here's the final product

Using a USB cable

If you do not have a serial port on your computer, FTDI sell a convenient USB cable that contains a serial chip and level converter in one, and has bare wires at the other end. The cable has drivers for all major operating systems, I am running it under linux with no problems. The datasheet is here. This is what i used:

  • DigiKey 768-1016-ND USB cable and logic converter (TTL232R3V3)
  • Digikey WM1722-ND female housing (Molex 51021-0400) and WM1775-ND pins (Molex 50058-8000)

Just solder the wires to the connector in this order:

Pin 1Pin 2Pin 3Pin 4

When using the USB to Serial adapter with the DNS-323, you may have to disconnect the red (power) lead from the connector. On the Rev. A1 of the board, once the USB connector is plugged into a computer, it may power up the DNS-323 mainboard and start the boot process without the powerbutton being pushed. Once the red lead was disconected, the DNS-323 wouldn't start until the powerbutton was pushed, thereby allowing the complete boot sequence to be viewed.


Personal Tools