5

I'm working on repurposing old Minitel into a dumb terminal. But I came across a problem with the serial port connection. As I found out, the serial connection from the Minitel to the Raspberry Pi works quite well, but it doesn't work the other way around.

I am using a Bi-Directional Logic Level Converter (3.3V<–>5V) and a program called minicom on my Raspberry Pi console to test the connection. As I found out in the original French documentation the Tx and Rx connection on Minitel works at 300/1200/4800 baud 7 data bits and 1 even parity bit, so I set the Minitel to 4800 baud and minicom serial port is set to 4800 7E1. The serial device is set as /dev/ttyS0 (as I have Raspberry Pi Zero W). It seems like I have Minitel 2 (although mine was used in Ireland with a QWERTY keyboard and English layout).

While troubleshooting I found out which letters (characters) show up correctly/incorrectly. As I've said above, the connection from Minitel (5V) to Raspberry Pi (3.3V) works fine and all characters show up correctly, but when going from Raspberry Pi (3.3V) to Minitel (5V) only some letters show up as they should. Interesting thing is that if a lower case letter shows up correctly, its upper case counterpart is missing and vice-versa. I only tested this with letters.

In the picture link, there is a table of characters, the dot underneath the letter means it shows correctly. There is a connection scheme as well and a list of serial port settings that work/don't work (strikethrough means it doesn't) and a screenshot of the serial port settings.

Connection Scheme & Character Table

Edit: I must confess that I made a mistake while reading, the h/H aren't an exemption, I misread lower case "h". Plus I am adding a picture of the display displaying "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"

Display Image

| improve this question | | | | |
  • 1
    I have no idea how to solve this, but I wanted to say this is a wonderful question! Hope a solution comes your way. – JakeGould May 31 '19 at 2:11
  • 2
    Someone else has a whole Minitel BBS with schematics if that's relevant. – user1686 May 31 '19 at 4:47
  • Could you clarify how the letters show up "incorrectly"? Are they changed to a different letter, different case, etc.? There's probably a pattern to this change, and it usually helps a lot in finding the problem. – user1686 May 31 '19 at 4:48
  • 1
    Well, I just noticed a pattern in the letters themselves: the ones showing up correctly always have an odd number of 1 bits, while the bad ones have an even number. (Uppercase and lowercase of course differ by a single bit, so if one is odd the other is even, and vice versa.) Are you sure the Raspberry Pi has the correct parity settings? – user1686 May 31 '19 at 13:33
  • 2
    @paddy I’m happy this worked, but you should not edit your question to add a solution as you did here. Instead, all details of your solution should be posted as an answer. And this is a great answer to a great question! – JakeGould Jun 1 '19 at 19:08
4

Okay, thank you for all of your comments, one of you suggested an article creating a BBS on a Minitel, that lead me to another article on “Configuring The GPIO Serial Port On Raspbian Jessie and Stretch Including Pi 3” which says to add the following line to the /boot/config.txt

dtoverlay=pi3-miniuart-bt

Which basically switches the /dev/ttyS0 with /dev/ttyAMA0. From what I understand the new mini UART that is written to ttyS0 in RPi3/RPiWZ was put in place, because of the new Bluetooth functionality that required the original UART ttyAMA0 because of technical stuff I don't totally understand.

But the new ttyS0 had apparently some limitations which I don't understand what or why exactly. But just for fun—thinking I can't lose anything anyway—I tried and changed them around and changed the serial device in minicom serial port settings to the ttyAMA0 and now the characters show flawlessly.

I don't know how and why, but it works and I am not complaining! See picture below. Again thank all of you!

Proof

| improve this answer | | | | |
  • 1
    The specific limitation, according to raspberrypi.org/documentation/configuration/uart.md, is that the mini-UART simply does not support the parity bit and 7E1 just behaves as 7N1. So the original analysis was likely correct; the letters are rejected due to wrong parity. – user1686 Jul 1 '19 at 18:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.