MediaTek USB-UART on Gemini-PDA 
Kernel development for any device without having a serial console, in my experience, is a real pain, and makes life extremely hard. Chances the device won't boot at one point are pretty high, so without a serial console you're pretty much in the dark in those cases.

I got the Gemini-PDA from the Indiegogo campaign. I used to have the Psion in the old days, where I used the Psion 3c as well as the Psion Series 5. The idea of having a device with that same Psion form factor, the same quality keyboard and up-to-date software sounded like a geek dream, so I backed the project.

Soldering a serial console on the mainboard can be done, but that did not seem such a good idea to me, since I want to actually use the Gemini as my primary phone at one point.

I wanted a more non-intrusive way of having a serial console and found this interesting blog. This article describes an UART over USB functionality that apparently most MediaTek devices have.

Here is the list of materials I used to get UART over USB working on the Gemini-PDA:
Make sure you use a USB cable that has 4 wires. The (cheap) charging cables will only have 2 wires, which obviously won't work. I cut the USB-A on one side, stripped the 4 wires and connected the dupont plugs to the wires.

Usually an USB cable is wired as follows:
  • Red - VCC
  • White - Data-
  • Green - Data+
  • Black - GND
To be on the safe side, check which wires are GND and VCC using a multimeter.

When connecting the UART directly on the mainboard the absolute maximum power for the data lines would have been 1.8V, but since we're using plain USB, the data lines are powered at 3.3V max, and VCC is powered at 5v.

The VCC connection is needed for the MediaTek preloader to detect the cable. Once detected, the USB port will be automatically switched into UART mode.

Finally connect the FTDI cable and the USB-A cable, where you link Data- (white) to TX (green), Data+ (green) to RX (white), and of course VCC and GND.

Here are the steps to make it all work:
  • Switch off the Gemini-PDA
  • Connect the USB-C adapter and the USB-A to FTDI cable
  • Plug in the FTDI cable in your desktop PC
  • Start any terminal emulator, and connect to the FTDI at 921600 baud. I use miniterm like this:
    # miniterm.py /dev/ttyUSB0 921600 -f direct
  • Plug in the USB-C adapter in the left USB port of your Gemini-PDA
After plugging in the cable in your Gemini-PDA you should immediately see output on your terminal, indicating that the preloader started, and detected the cable successfully.


[ 1 comment ] ( 72 views )   |  permalink  |   ( 3 / 15383 )

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Next> Last>>