Welcome! Log In Create A New Profile

Advanced

NSA320 mod for an additional usb port

Posted by pbg4 
NSA320 mod for an additional usb port
June 21, 2015 03:49AM
Hi,

since - with the aid of bodhis new uboot and kernel/rootfs - it is now possible
to boot the NSA320 from an usb port and have an internal software raid on the
two sata ports, only one problem arises, there are only two usb ports on
the back of the device left, although the data sheet of the usb hub on the main
pcb documents that there are 4 downstream ports,

the NSA320 has an internal GL850G USB 2.0 Low-Power HUB Controller
in a SSOP 28Pin IC soldered on the main pcb near to the serial port header,

if you boot from usb lsusb -t gives:


/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=orion-ehci/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 2: Dev 3, If 0, Class=Mass Storage, Driver=uas, 480M

so the front port is actually the second downstream port, the ports on the backside
are the third and fourth downstream ports, so port one is not connected,

fortunately the ports are at the edge of the SSOP chip with pin 28 = DP1 and pin 27 DM1,
next to the upstream port on pins 25 and 26 which are connected to the marvell SOC,

so it is possible to solder an usb 2.0 cable (e.g. on sale for the internal ports of HTPC's,.. ) which is cut to length to the
data + and data - pins 28 and 27,

plus soldering of the GND and 5V connections of the usb cable to the relevant pcb traces
found next to the GL850G chip, (be carefull when soldering especially pin 28 and NOT to connect with the
adjacent upstream pin 27), so you need professional soldering equipment and a good light, antistatic
wrest wrap and so on,..)

the colour code of these cables is normally:

RED = 5V
WHITE = pin 27 DM1 = Data -
GREEN = pin 28 DP1= Date +
BLACK = GND


the additional usb port has plenty of room to get soldered in a piggy back fashion with some stiff wires
below the metal case of the front usb with enough room between the two,

as my usb rootfs resides on a Sandisk SSD in an external usb enclosure
the connection for 5V was made before the fuse for the usb ports (the three ports share only one
fuse on the back of the pcb under the double rear usb port) to the main 5V rail,
since it is a shared fuse it is dimensioned for the accumulated power of three usb ports and the
small power consumption for the external usb enclosure does not diminish the power
budget of the three ports 5V supply attached behind the fuse,

the plastic front cover of the NSA320 is rather soft, so it is relatively easy to make a hole for the new
additional front usb port, below the original one,..

result; lusb -t:


/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=orion-ehci/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 480M
        |__ Port 2: Dev 3, If 0, Class=Mass Storage, Driver=uas, 480M


the rootfs now resides on port 1 and an usb stick plugged in the original front port is port 2,
perhaps there is even an internal mechanism stored in the rom of the GL850G which privileges
port1 , since the data rates measured with hdparm are better now when the Sandisk SSD in
the external usb enclosure is connected to the new front port:


hdparm -tT /dev/sda

/dev/sda:
 Timing cached reads:   596 MB in  2.01 seconds = 297.16 MB/sec
 Timing buffered disk reads:  98 MB in  3.04 seconds =  32.24 MB/sec

best wishes pbg4



Edited 3 time(s). Last edit at 06/21/2015 11:28AM by pbg4.
Re: NSA320 mod for an additional usb port
June 21, 2015 11:49AM
Thanks pbg4,

Great mod, it's well thought out and very informative!

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Author:

Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: