Modify the Linksys hardware
Contents
- 1 Summary
- 2 Before Starting
- 3 Steps to Modify the Hardware
- 3.1 Task One: Open the Router
- 3.2 Task Two: Attach the Serial Header
- 3.3 Task Three: Create the ADM202 Transceiver Circuit Board
- 3.4 Task Four: Attach Tranceiver Board to the Router
- 3.5 Task Five: Attach Transceiver Board to DB9 Serial Ports
- 3.6 Task Three: Wire Serial Header to MAX233A
- 3.7 Task Four: Wire the DB9 Connectors to the MAX233A
- 3.8 Task Five: Mount DB9 Connectors to the Router Faceplate
- 3.9 Task Six: Close the Router
- 3.10 Task Seven: Rejoice
- 4 What to do next?
Summary
This will walk through adding hardware to a Linksys WRT54GL wireless router that will take advantage of existing leads on the PCB for two UART connections, which will be exposed as DB9 serial port connectors mounted to the faceplate of the router. These connections can be used to communicate with the serial console for XINU and also to interact with the Common Firmware Environment's command line interface. Gaining direct access to CFE is a key step towards being able to run XINU on the router.
Before Starting
Parts List
Quantity | Part Name | Details | Part / Model Number | Price |
---|---|---|---|---|
1 | LinkSys WRT54GL Router | 802.11b/g wireless broadband router | Linksys WRT54GL | ~$65.00 |
1 | Ribbon cable | 28 AWG, 10 conductor, 25' | Jameco 643508CM | $4.99 |
2 | IDC socket connector | 0.1”, 10 conductor | Jameco 32491CM | $0.25 |
2 | IDC shrouded double header | 0.1”, 10 conductor | Jameco 67811CM | $0.33 |
1 | ADM202 Transceiver Chip | ????????????? | ????????????? | $?.?? |
2 | Capacitor 220 nF | ????????????? | ????????????? | $?.?? |
3 | Capacitor 100 nF | ????????????? | ????????????? | $?.?? |
1 | Transceiver Board | ????????????? | ????????????? | $?.?? |
1 | DB9 Female | 22AWG,SOLDER CUP | Jameco 15771CM | $0.59 |
1 | DB9 Male | 22AWG,SOLDER CUP | Jameco 15747CM | $0.59 |
(We provide this parts list as a data point; we offer no guarantees about current prices, and it is not our intent to endorse any particular vendor.)
Tools List
- Soldering Iron
- Dremel tool (for cutting holes in plastic case)
- Multimeter, or some other way of checking for proper connections
Steps to Modify the Hardware
Task One: Open the Router
There are no screws or tools needed to open the router, just pop open the front with your thumbs as shown in the picture. Some nice illustrated opening instructions can be found for a more detailed explanation of this step
DO NOTE: This is where the warranty on the router is voided!
Task Two: Attach the Serial Header
Once the PCB has been removed from the case, locate the serial header holes provided by LinkSys. This would be a grid of 10 holes (5x2) located on the bottom-right corner of the board when the antennae stubs are on top (see the top-down photo for clarification). These ten holes hold all of the input and output for the two serial interfaces--UART0, and UART1--on the device.
Now, we could just solder wires right onto these holes, but a by placing a nice 10-pin header on the board we can easily attach and detach a 10 connection cable. Here you will use your soldering iron to solder the IDC shrouded double header onto the board.
Task Three: Create the ADM202 Transceiver Circuit Board
The next step is to actually create the circuit board used to handle and bridge the input and output from the router and the two DB9 serial ports used to communicate between the backend router and frontend machine. Again, you'll need your soldering iron to secure the different pieces in the transceiver board.
Using the diagram on the left, solder the shrouded double header, the socket, and the capacitors into the board in the appropriate places. NOTE: the positions of the components on the physical board are not represented in the diagram, but the underside of the board shows the connections between each component.
The pictures to the right show the transceiver board in various stages of completion. The top one shows the blank board on which the other components will be added. The bottom one shows the shrouded double header, the socket, and the capcitors soldered in place. The next step is to insert the actual ADM202 chip into the socket. After that six wires from a chopped up piece of the ribbon cable (or any six spare wires) need to be soldered into place in the six holes (two sets of three) at the bottom of the transceiver board. The resulting completed transceiver board should look something like the picture below the diagram.
Task Four: Attach Tranceiver Board to the Router
First take a piece of ribbon cable and attach each end to one of your IDC socket connectors. Then attach one connector to the header we soldered into the router's board and the other connector to the header we soldered into the transceiver board. The result should look something like the picture to the left.
Task Five: Attach Transceiver Board to DB9 Serial Ports
Before soldering the wires from the transceiver board to the serial ports, it is a good idea to drill two holes in the front of the router's casing to use for the serial ports. The three pictures to the right show how to take off the front sticker and what the case should look like after you've drilled two holes in the front for the serial ports. It is also a good idea to cut the sticker and place the left part back on to cover up the remaining holes in the casing.
Task Three: Wire Serial Header to MAX233A
Using information on the diagram, make the connections from the IDC shrouded header to the MAX233A RS232 Transmitter/Receiver chip using your soldering iron. As you can see from the photos, we did this with the ribbon cable from our parts list. The IDC socket connector goes on one end of the cable, and the correct connections are made to the RS232 Transmitter/Receiver on the other. Because we will be mounting our DB9 connectors to the front of the case, this will allow for easy disconnection and opening of the case. In terms of cable length, try and decide where you are going to mount the MAX233A on the outer case so you can estimate correctly.
Be sure to test all of your connections thoroughly before proceeding.
Task Four: Wire the DB9 Connectors to the MAX233A
For the following connections, you are going to use the soldering iron and either chopped up portions of the ribbon cable or some other wire (which would probably be more convenient).
Checking the wiring diagram again, note that there are several loopback connections per DB9 connector in order to fake RS232 hardware flow control compliance. It would be a good idea to get these out of the way first. Then, make the connections required from the RS232 Transmitter/Receiver to the DB9 connectors, remembering to leave enough slack for where you plan on mounting the MAX233A and the connectors.
Again, before mounting anything, test that all connections correspond to the diagram.
Task Five: Mount DB9 Connectors to the Router Faceplate
Using your trusty dremel cut a few DB9 shaped holes in the plastic casing of the router. There are several options for placement; we chose the front so that multiple routers would still be stackable. The picture at right shows the placement of our connectors with wires attached. The fit is quite tight; you may wish to consider only installing one jack (you only need port 0 to communicate with the router, your plans may not call for using the second serial port) or installing them horizontally instead of vertically.
Using either epoxy or mounting screws (we used a combination of both, as one of our jacks could not fit a hole for a screw), secure the connectors to the case.
Following the theme, now would be a good time to do a final test on all connections, because next we are closing things up.
Task Six: Close the Router
This final task is best described in photos:
Task Seven: Rejoice
What to do next?
Connect UART0 to a computer and follow the next HOWTO on using a PC to connect to a modified router.