Jump to content
IGNORED

Using 'tcpser' to your TI online and XFER files by SHIFT838


Shift838

Recommended Posts

Using 'tcpser' to get your TI online and XFER files by SHIFT838



As many of you know I have been experimenting with the Raspberry Pi. So I got to thinking since I had my MiST machine hooked up to the Pi accessing telnet based BBS' if I could do that with the TI as well and to transfer files between the TI and PC.


So I started down the rabbit hole.


Items needed:


- Raspberry Pi 1,2 or 3 (i know you can do this with a PC too)

- 1 x DB9 Female

- 1 x DB25 Male


The connectors I use are similar to these: HERE


I prefer to get the DB9 Female to RJ45 and DB25 Male to RJ45 connectors from the same manufacture to make sure the color coding is accurate. I have used connectors from 2 manufactures and they wiring was not the same.


- Length of cable with 7 wires for DB connectors (I use a CAT5 cable since I use the DBx to RJ45 connectors.)

- USB to serial cable for the PI (these are cheap)


My OS I am using is the standard Raspbian Jesse from the Raspberry site.


I snagged me a Raspberry Pi3 and come to realize it was just too fast. Yea I know, how can it be too fast. Well the processor is too fast for the UART chip so the baudrates were not accurate and all I received was garbage. Now this is not the case for Raspberry Pi 1 or 2's.


There is a couple of ways to fix this and both require you to edit your config.txt file in the /boot directory


Remember all commands on a linux based system are case sensitive.


1. Login to Pi3 via SSH

2. issue commands 'sudo su'

3. issue command 'nano /boot/config.txt'


Depending on the option you want to do (please read both with my summary below before making your decision):


Option #1 : Will slow the Pi3 down to 600 mhz in order to process accurate baud rates, but I have only been able to successfully transfer files at 19200 bps.

add the below line and save the config file (CTRL-X to exit and save) and reboot the Pi3


core_freq=250


Option #2 : Will change it accurately and place the Pi3 in Turbo mode. I have been able to successfully transfer at 38400 bps.

add the below line and save the config file and reboot the Pi3


force_turbo=1


Option Summary:

Although option 2 may sound like it is the best solution, please be aware that characters can be displayed if for some reason your Pi3 gets out of the temperature window that causes the clocks to shutdown. This is typically between 80C-85C.

I have not experienced this myself, but it is documented on some other threads I have read on the internet. I have seen some odd characters at 38400 with this though, but 19200 seems to be rock solid stable.


Setting core_freq to 250MHz does not limit the ARMs to 600MHz. Those clocks are all independent.


Next is to install 'tcpser modem emulation' software (assuming you are already logged via SSH and have issued the 'sudo su' command and issue the below commands:


4. issue command 'apt-get install tcpser'

5. issue command 'sudo reboot'


Now the cable that is required to be made is as follows:


I personally like to use the RJ45 to DB connectors so that I can easily make cables without soldering. Just need to mape the lines so that you know the wires associated with the CAT5 cable you are using are going to the correct pins. See my above link in the beginning of this article.


Cable Pinout:


PI (DB9 female) TI (DB25 Male)


1 ------------ 8

2 ------------ 3

3 ------------ 2

5 ------------ 7

6 ------------ 6

7 ------------ 4

8 ------------ 5


Now that we have the cable it's time to plug it all in!


6. Login to Pi via SSH and issue the 'sudo su' (I always do the sudo su just in case more rights are needed for something)


Below is just to verify your USB serial port has been recognized by the Pi. If you already know what it is then you can skip to Step #9.


7. issue command 'cd /dev'

8. issue command 'ls ttyUSB*'


You should see something like the below if the Pi has recognized your USB to serial device cable.


root@raspberrypi:/dev# ls ttyUSB*

ttyUSB0 ttyUSB1


I have two USB serial cables on my Pi so you see both ttyUSB0 and ttyUSB1


9. Issue one of the below commands and change the ttyUSBx in the command to your detected serial USB device cable.


If you chose Option #1 above then:


issue command:

'tcpser -d /dev/ttyUSBx -s 38400 -p9640&'

or

'tcpser -d /dev/ttyUSB1 -s 19200 -p9640&'


Either one can be used above, just depends on if you are seeing bad characters at 38400. If so then use the 19200.


If you chose Option #2 above then:


issue command:

'tcpser -d /dev/ttyUSB1 -s 19200 -p9640&'


what the above commands do are launches the 'tcpser' modem emulator with to map your serial USB device cable with a baudrate of 19200 or 38400 based on the command you entered and through port # 9640. The '&' at the end released the CLI (command line interface) for other commands.


If you need to kill the process you can simply issue a 'ps' command to list the processes and then take note of the process number for 'tcpser' (if you do not remember the process # when you issued the original 'tcpser' command) and then issue a :


'kill PROCESS#HERE'


So now comes the part you have worked so hard to get to.


Testing and if you have done everything right then you should be online calling a telnet based BBS like FuSiON BBS or Heatwave!


10. Load up a terminal program on the PC that supports XMODEM and telnet connections like ZOC or SyncTerm

11. Load up a terminal program that will support the baud rate you selected, oh wait there is only one. Super Mass Transfer or otherwise known as TIMXT


Note: you can use a slower baud rate and other terminal programs for the TI


12. From the TI in the terminal mode of the terminal type 'AT' to verify you are seeing commands.

13. If yes to #12 then you are ready!

14. In the TI terminal issue the 'ATDT fusionbbs.ddns.net:9640' command and press ENTER


You should connect, well if no one is already connected. the ATDT is NOT case sensitive. But with tcpser it will access your DNS from your ISP so you don't have to remember IP addresses.


Now if you want to transfer files with this method from your PC to the TI or vice versa then it's fairly simple. Below is how I did it once i had got to step #13.


- Issue ATS0=1 on the TI terminal (this sets the tcpser to automatically answer an incoming call when a RING is detected - just like an auto answer modem)

- From the PC connect from the terminal program via telnet on port 9640 or whatever you assigned it to the IP address of the Raspberry Pi.

- Start your download or upload process on the TI

- Start your download or upload process on the PC

- Wait for transfer to complete. Will not be too long at 19200 or 38400!


Hope this helps, if anyone has any questions send me a PM.

Edited by Cschneider
  • Like 1
Link to comment
Share on other sites

So I have figured out that although I can upload/download files from a PC to the TI and vice versa with a terminal program on each works great.

 

But..

 

I cannot upload or download files from my BBS or Heatwave as it errors out after about sector 4 every time. No matter what baud rate I am at. So I need to dig a bit deeper to see if I can figure that out.

 

It's probably a setting as I have seen this when I switched ports from 23 to 9640. I'm not sure if it's a UDS thing yet, but since I have seen it with UDS devices, that is where I am leaning toward.

Link to comment
Share on other sites

So I have figured out that although I can upload/download files from a PC to the TI and vice versa with a terminal program on each works great.

 

But..

 

I cannot upload or download files from my BBS or Heatwave as it errors out after about sector 4 every time. No matter what baud rate I am at. So I need to dig a bit deeper to see if I can figure that out.

 

It's probably a setting as I have seen this when I switched ports from 23 to 9640. I'm not sure if it's a UDS thing yet, but since I have seen it with UDS devices, that is where I am leaning toward.

 

Telnet usually is an ascii connection, you usally need 8bit binary to get transfers to work no?

 

Link to comment
Share on other sites

 

you can try thekeep.net

 

Great idea!

 

I logged in and was able to download with no issues from your thekeep.net using tcpser.

 

So this leads me to believe it maybe be something with a UDS setting. I will try to figure that out.

  • Like 1
Link to comment
Share on other sites

I was able to do some more testing today with Greg's help. So I ran the 'tcpser' on the Pi3 and connected to The Keep via port 23.

 

From there I issued the /Go Telnet command then I issued 'telnet fusionbbs.ddns.net 9640' (without the quotes).

 

The Keep immediately connected over to my BBS. I logged it and was able to transfer a files! I then tested the transferred file and had no issues loading it up.

 

So now the next step is to find someone that is willing to do a test with TCPSER and a null modem cable connected to the TI to access my BBS to see if they experience the same issue.

 

I will also need to know who the testers Internet Service Provider is. If it's different ISP and they have success then I can narrow it down to AT&T. But I don't think that's the case as I can XFER files going through tcpser using terminal programs on either end.

 

If you want to help test, PM me.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...