Encouraged by successful RAM modification I started consider extension of USB ports number in TP-Link device. Originally it contains only one USB2.0 port and if you are using extroot (file system on external storage), you effectively have no free USB port. I was thinking about print server to share USB printer at home (printers with network cards are more expensive). I planned to have external HDD permanently attached to router case and I did not like idea of having another box, USB hub, with dangling wires.
The idea of USB mod is about building USB hub PCB into the router box. Steering lines of original USB port are cut off and redirected to hub as input. One of outputs is wired back to original USB socket, while other outputs are exposed through additional holes made up in the case.
I found that original USB port is powerful enough to spin off external HDD. I knew that some USB hubs are incapable of handling 0.8-1A of initial current, so I decided to buy active USB hub – if the electronics of hub is not capable of starting up the HDD, I have backup plan to power the hub from additional source. I bougth Unitek Y-206P as it is very slim, and will not make any problems fitting inside the hub.
I tested this USB hub before dismantling all hardware elements using pendrive, everything seemed to be fine (falsely as you will find later!).
The best place to mount it is left side where inside elements do not interfere with additional PCB. The frame is made of tinny bars that form cooling crevices, and to make it stiff, these horizontal bars are connected in the middle with vertical bar. I did not want to rip off too big hole to mount additional USB ports and decided to expose only 2 ports on both sides o vertical bar. Cutting off one horizontal bar made a hole height of USB slot. Two additional silver wires worked as mounting racks stabilizing whole assembly when connecting/disconnecting USB plug.
As I mentioned earlier, I wanted original USB port working as if unmodified. To do so, I had to inject hub between original USB lines on motherboard and original USB socket. I decided to use all 4 lines to hub, and another 4 lines back to USB socket. TX and RX lines are wired on top side. I made the least intrusive line break as possible by unbridging two SMT resistors R460 and R461; they were left on PCB for any future rollback of the modification. I needed to solder freely dangling cables to signal lines but I afraid to torn of very delicate PCB tracks, so I soldered wires to diodes’ pads.
On the bottom side I unbridged resistor R462. To isolate power lines (red wire) I needed to cut the PCB track, the only irreversible intervention.
Actually I could use only 4 lines (RX and TX there and back again) leaving Vcc and ground line untouched. I did that because I was not sure about possible interference of powering active USB hub with main board. The 8-line band has junction made of golden pins to make possible moving frame apart of other elements (well trained software desing principle in action). Finally all elements were put together fitting perfectly in tinny case.
To my surprise it stopped to work. All I got in log messages were hardware errors with different numbers. Googling revealed potentially damaged hardware. I could not believe I burnt USB hub because last run, couple hours earlier, was perfectly OK. I had to step back to find out where the failure is. Original port, wired back on 8-lines junction worked fine, so I was sure the problem lies within the hub. I did not see any signs of burn or short circuit so I started checking wiring. I suspected misplaced wires, either wrong TX/RX order, or even worse, mess up with power/ground lines. Multimeter test revealed short circuit between TX/RX hub input lines.
Thanks to watchmaker’s lens I could spot a microscopic ball of soldering matter that stuck between pins of USB host chip. I am not sure how this could happen, but optical instruments proved their necessity, not only working on SMT level.
Once the ball was removed, device started to work. The setup with external 4GB pendrive was stable and I could enjoy my craftwork for couple weeks. Problems started when I migrated system into ultimate hardware platform – router device with HDD in external case.
Here comes a little digression. I have seen hdd mods where disks are placed within the case. It is possible quite easy with 1,8″ disk. These storages are neither popular nor cheap. What is more, stuffing tiny box with another source of heat would lead to stability problems under heavy load. I was more liberal here and decided to stay with 2.5″ notebook HDD.
Right after moving to HDD storage I noticed that host chip started to get quite hot, even without much disk operations. Since I could still touch and keep finger on the chip I was ok with that. Problems started to appear after I begun loading the system with storage operations – copying large files, like 10-12GB, using FTP or samba was still fine. But starting transmission, the torrent client, led to system crush within 10-30 minutes. Investigation was long – I played a lot with different configurations, software versions, trying additional external power for active hub etc. without success. I shared my experience with other modders and the only conclusion was troublemaking USB hub.
I started hunting over. I needed an active hub with similar size and layout of ports (I already made holes in the case). First shot was complete misunderstanding, I got “USB2.0 hub” made in china for 1 euro, which worked stable but with speed of … USB1.1. Next one was Hama hub, made in germany. I have polaroid filter to my SLR made by Hama so I decided follow the quality. I was lucky it worked fine whole night under heavy load, wired outside the box. After this test I managed to replace failing hub.
First problem was that PCB of Hama was twice higher than previous one, reaching further inside the case. To fit it well I had to saw off part of PCB, fortunatelly the area with ground tracks only. I had to double check proper placing of such a big PBC – if covers partially RTL network chip, which also is heating up one heavy data transfers. The placement of PCB of the hub lefe some place for airflow, visible on side view. This time I have also decided not to remove miniUSB socket and connect it to mutliwire tape. With previous hub I solder wires to dense tracks and I had to pin them down tighlty, not to accidenally tear off tracks from PCB with heavy cables. I have also left cooling radiator attached with adhesive thermoconductive tape.
With the hardware under tests I noticed that central unit is also heating a lot, when load was heavy and long. WordPress/mysql and other resource consuming service make this situation more typical, not only for stress tests. I decided to help here a bit too, sticking big fanless radiator from PC’s motherboard.
To summarize, my sweet spot configuration is as follows:
- Hama USB hub (based on GL850G controller)
- HDD Samsung HM320HI
- External HDD case “Carbon” with SPIF301-HL237 controller.
This setup is working for many weeks now, making no problems, and consuming two times less power than my PC in standby mode!