Tuesday, June 17, 2014

Accessing the serial interface on the Intenso Memory 2 Move

Accessing the serial interface on the Intenso Memory 2 Move

Similar to many other comparable devices, the Ralink RT5350 SoC has an almost ready-to-use serial port, which is always powered on and is supposed to be used for debugging purposes, even if not directly accessible from the outside. This could be inferred from the stock firmware too: a look at running services (see a previous post) shows in fact that after booting the device in standalone mode, a Linux "getty" terminal is always running and ready to offer serial console access.

Lacking an external socket to connect to, access to this feature of the device requires opening the case. The plastic shell is tightly held together only by 6 plastic clips, three on each elongated side, and the two halves can be separated after carefully applying force along the seams, possibly with a flat screwdriver, not-too-sharp blade or similar piece of equipment. One needs attention not to break the relatively tiny clips.

A review of the device, and additional pictures of its components.

Once inside, the first thing to stand out is the hard-disk. It is a Seagate .... "advanced format" model, as speculated from looking at the firmware; and it can be indeed replaced with other 2.5'' ones, to increase for instance capacity.

Underneath it lies the Li -based rechargable battery, and the circuit board. The latter is fully covered by an adhesive, insulating plastic sheet, easy to peel away. Aluminium foil on the plastic case provides instead a measure of Faraday cage insulation against electrical noise, while allowing the WiFi signal out.

The power plug to the battery pack can then be removed (note the polarity in order to reconnect it correctly later), and the circuit board detached from the lower part of the case, to which it clings via 3 standard screws.

Underneath the plastic sheet one finds the serial port pads, close to the battery side of the board.
Top of the SoC circuit board, after peeling off the black, insulating adhesive.
On the left, from the bottom: RJ45 Ethernet socket; reset button, USB 3.0 socket, power button.
On the board, under a barcode sticker: SATA socket for the hard-disk.
On the right side, close to the battery pack: notice the 4 aligned pads for the serial port. The top, square corners one is +Vcc, then Txc, then Rxc, then Gnd.
Access to the port requires soldering some pins, as no header has been left in the final assembly. I've done this on the bottom side:
Bottom of the SoC circuit board, with insulating adhesive sticker still attached. On the right, notice the 4 pins manually soldered to the UART port, for serial access through an external TTL-to-serial voltage level adaptor.

The device in operation, powered by its battery pack, and connected to the USB port of a laptop through a CP2102 serial adaptor that furthermore converts TTL levels to the serial standard. Hard disk not connected for clarity.

Notice that simple connection to the GND and Vcc of the adaptor is sufficient to power up the SoC circuit board, which would then start the boot process, but would produce half-gibberish on the serial port due to insufficient power. Strangely enough, it is the lowercase half of the ASCII spectrum which gets corrupted, while uppercase letters seem to come out fine ;p

To overcome this, simply connect the battery pack first, and switch on the board by pressing its power button, before completing the serial connection to the laptop.

SoC circuit board in function, powered by the battery pack and connected to a USB-to-TTL-serial CP2102 adaptor, itself plugged to a laptop USB port running Minicom.
Communication parameters are: /dev/ttyUSB0, software flow control, 57600 8N1.

Captured serial port log upon booting.

After boot is complete, it is possible to simply log on through the default root account.

1 comment: