Tuesday, October 8, 2013

Pogoplug V2 and V3 Serial Connection - E02, P21/P22, Pro

This is a quick how to tutorial on setting up a serial console connection to the Pogoplug E02 (V2) or P21/P22 (V3 oxnas).

Instructions for the Pogoplug V4 here.

A serial console connection is useful for recovering from a corrupt uboot environment or for troubleshooting general boot up issues.

You should be able to add a serial connection to your Pogoplug for less than $10 and in under 30 minutes.

Requirements:

1) USB to TTL Converter - I have a couple cheap USB to TTL converters based on the PL-2303HX chipset. Note that this chipset is not supported under Windows 8 and most PL-2303HX being sold on Amazon and Ebay are using fake chips which are not supported by the official drivers on Prolific's website. I'm using the drivers found here. Personally, I use a Pogoplug running Arch/Debian to connect to my problematic Pogoplug, so the lack of Windows 8 support isn't a problem for me.

Ebay is another good source the the USB to TTL Converter.

Prolific PL-2303HX USB to TTL Converter

2) CD-ROM Audio Cable (Sound Blaster/MPC-2) - you need the one with a white connector (Sound Blaster plug) at one end and a black connector (MPC-2) at the other end. I got mine from a old computer. You can pick one up on Amazon for less than $5 otherwise Ebay is another good source.



3) Safety pin - used to modify the CD-ROM Audio Cable.


4) Small flat head screwdriver (optional)

Outline of Steps:

1) Opening up the Pogoplug
2) Modify CD-ROM Audio Cable
3) Connect the USB to TTL Converter to the Pogoplug
3) Install Drivers and Connect via Putty

Lets get started.

Opening up the Pogoplug

This part is pretty easy. You actually don't even need any tools, just a little force. 

Pull off the black feet, starting from the bottom. Clear plastic slides back.
The shell is held together by small plastic clips. This is where a small flat head screwdriver may be helpful. 

Modify CD-ROM Audio Cable

On the end with the black connector, use the safety pin to push out the the wires as shown below.
  


If you want a permanent serial connection, at this point (before reinserting the wires) you can drill a small hole on the back of your Pogoplug for the CD-ROM audio cable.

Now, reinsert the wires with the white wire on the edge, red in the middle and then yellow as shown below. Use electrical tape to tape up the black wire (not used). In the picture below, white will be GND.



Connect the USB to TTL Converter to Pogoplug

The CD-ROM Audio Cable that we modified will work for both Pogoplug V2 and Pogoplug V3.

Here is how everything should connect up. The white end of the CD-ROM audio cable can be plugged directly into the serial port of the Pogoplug. The black end of the CD-ROM audio cable can be plugged directly into the USB to TTL converter.

Pogoplug V2 (E02) Serial Console Connection

Pogoplug V3 Serial Console Connection
Make sure GND on the Pogoplug is connected to GND on the USB to TTL converter.
TXD on the Pogoplug should connect to RXD on the USB to TTL converter.
RXD on the Pogoplug should connect to TXD on the USB to TTL converter.
VCC and the 3.3v is not needed and should not be connected.


Install Drivers and Connect via Putty

Download drivers and install it. I'm using the drivers found here.

Plug in the USB to TTL converter and open up Device Manager and verify that Windows detected the USB to TTL converter correctly. Note the COM port number (COM4 in the example below).



Download putty from here and start it up.

Change the Connection type to Serial.



Under Category, click on Serial and change the serial line configuration settings to the following:

Speed: 115200
Data bits: 8
Stop bits: 1
Parity: None
Flow control: None

Change the COM port to the correct one found in Device Manager. Click Open.



Now power up your Pogoplug. You should see something like the following in your Putty Serial Console.


That's it.

Addendum (7/1/2014)

For some reason one of my Pogoplugs had a corrupted (or incorrect) uboot environment variable setting so I had a use a serial connection to recover it. The issue was, all my computers at home are now running Windows 8 and as mentioned above, the PL-2303HX USB TTL converter isn't compatible with Windows 8. What I ended up doing was using another Pogoplug which was already running Arch Linux ARM to connect to the problematic Pogoplug. These instructions will also work for other Linux systems.

On the working Pogoplug running ALARM:

1) Plug in USB to TTL adapter.
2) Install Screen

#For Arch Linux Arm
pacman -Sy screen

#For Debian
apt-get install screen

3) Start screen serial console session. The follow command will start the screen serial console with the appropriate settings for the Pogoplug (baud 115200, Data bits: 8, Stop bits: 1,Parity: None, Flow control: None).

screen /dev/ttyUSB0 115200 cs8 -cstopb -parenb

4) Some quick Screen commands:

Control + a and then ":quit" to exit
Control + a and then 'd' to detach

Picocom instead of Screen

Recently I discovered picocom and now it's my preferred serial console app.
#For Arch Linux Arm
pacman -Sy picocom

#For Debian
apt-get install picocom

picocom -b 115200 /dev/ttyUSB0

#Control+a+x to exit

A couple of good post on resetting the uboot env on your Pogoplug:

Help, Pogogplug E02 , No LED,serial cable connected ,what next?

7 comments :

  1. I'm assuming that the Yellow cable is not needed? Because in the pictures that are being sold it doesn't have the yellow cable and I received one without it.

    ReplyDelete
  2. Will a USB to Serial device like the Keyspan USA-19HS work as well? http://www.hhhh.org/wiml/proj/keyspan.html

    FWIW I tried with the above keyspan device with
    Speed: 115200
    Data bits: 8
    Stop bits: 1
    Parity: None
    Flow control: None, and get output looking like this:

    ¿!¿!¿=!;!!¿¿ïïïk¿ïïï{¿ïïï¿ïïïïïï«¿ïïïïïË¿ïïïÛ¿ïïïë¿ïïïû¿åëmUjË=UY{£££åëUV¯¶¿¿¿UV¯«½åµý75-95£££¿g«eíýw5-95¯­¿3!#7åë¿¿¿¿¿¿¿9=##-#1¿;¿3!!15¿75-95£££¿¿Y!15¿w5-95¯­¿3!#7åëµµÛõ7¿75-95¿;¿¿««åëµµÛõ7¿75-95¿;¿¿««åëQ¿m%=15¿s!¿3!;!!%¿9!%%=#7åëu[[a[¿9=#±¿15¿)5'¿-%=15½åëµµÛõ7¿75-95¿%%9¿¿««åëµµÛõ7¿75-95¿%%9¿¿««åëQ¿m%=15¿s!¿3!;!!%¿9!%%=#7åëu[[a[¿9=#±¿15¿)5'¿-%=15½åëy½«STº¿mwu¿KSS}-#-¿3=-'57åëµµÛõ7¿75-95¿-

    is there some terminal setting I can change?

    ReplyDelete
    Replies
    1. Sorry, I'm not familiar with the keyspan. I would recommend picking up the PL-2303HX since it's only a few dollars and been verified to work.

      Delete
  3. Qui,

    I followed your Picocom into the E02 (v2), but how do I fix the uboot env?

    -sh-3.2# printenv
    SHELL=/bin/sh
    TERM=vt102
    USER=root
    PATH=/sbin:/usr/sbin:/bin:/usr/bin
    PWD=/
    SHLVL=1
    HOME=/
    _=/bin/printenv

    -sh-3.2# setenv baudrate=115200
    -sh: setenv: command not found

    When I use "setenv" it said "command not found", can you help with more instructions? thanks

    ReplyDelete
    Replies
    1. It looks like you're in the Pogoplug OS and not uboot prompt. For the Pogoplug OS, the command is fw_printenv, fw_setenv (you'll also need to download the executables). If you're within the uboot, the command will be printenv/setenv.

      Delete
  4. It seems I'm unable to send with picocom. I can receive the uboot prompt and everything but I cannot send anything. Any ideas?

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete