command-snippets/rs232-nullmodem-ppp-interne...

244 lines
7.8 KiB
Markdown

https://totalizator.wordpress.com/2012/10/03/connect-windows-95-to-the-internet-using-linux-box-and-rs-232-serial-port-null-modem-cable/
How about connecting an old PC or laptop running Windows 95 to the Internet. No need for a NIC adapter or modem. All you need is a machine running Linux to share the connection, Point-to-Point Protocol daemon (PPPD) and a null modem serial cable.
Configuring pppd:
Edit your /etc/ppp/options to contain:
```
nodetach
debug
dump
noauth
netmask 255.255.255.0
proxyarp
192.168.1.201:192.168.1.200
ms-dns 192.168.1.1
lock
passive
lcp-echo-interval 8
lcp-echo-failure 6
nologfd
crtscts
local
connect 'chat TIMEOUT 20000 CLIENT CLIENTSERVER'
115200
/dev/ttyS0
```
Select a proper ms-dns and /dev/ttySx values depending on your network and hardware configuration. All the options can be also passed in command line if you prefer.
Enable ip_forwarding:
1
```
echo 1 > /proc/sys/net/ipv4/ip_forward
```
Start pppd by simply invoking it. Keep in mind that it will terminate every time the client disconnects. You can use the following script to restart it automatically:
```
#!/bin/sh
until pppd; do
echo "Respawning.." >&2
sleep 1
done
```
You may need root permissions for all the above commands.
Configuring Windows 95 is as simple as opening Direct Cable Connection, choosing the Guest mode and a COM port. Click Next and connection should be established immediately. You can even browse Samba shares right away. The solution should work in Windows 98 as well but I havent tested it. Happy browsing!
--------------------
https://unix.stackexchange.com/questions/474687/ppp-between-two-machines-over-serial-without-a-modem
After messing around for sometime I managed to get it working. Here is the command for Fedora machine
```sudo pppd -detach local debug noauth passive lock 192.168.10.100:192.168.10.1 /dev/ttyUSB0 9600```
And here is the command for a Linux 4.14.0-xilinx-v2018.2 machine
```pppd -detach persist debug local noauth passive lock 192.168.10.1:192.168.10.100 /dev/ttyS0 9600```
I've been struggling with the problem for the past 2 months. Not sure why this question was initially downgraded. I imagine there are other people who had the same issue.
---------------------
working config for me
```
nodetach
local
debug
noauth
passive
lock
proxyarp
defaultroute
192.168.0.10:192.168.0.201
# yourlanip:clientlanip
ms-dns 192.168.254.1
/dev/ttyUSB0
115200
```
how to add win 95 null modem serial internet connection http://fpga-site.com/publications/supportcenter/How%20Do%20I%20install%20a%20NULL%20Modem%20Device%20in%20Windows%2095.htm
mdmcisco.inf
```
[Version]
Signature="$CHICAGO$"
Class=Modem
ClassGUID={4D36E96D-E325-11CE-BFC1-08002BE10318}
Provider=%MC%
LayoutFile=LAYOUT.INF
[Manufacturer]
%Man% = Null
[Null]
%MC00% = MC00, RAS-SERIAL
%MC01% = MC01, RAS-PARALLEL
%MC02% = MC02, RAS-GENERIC
[MC00]
AddReg=All, Common, MC00Reg, 115200, EXTERNAL
[MC01]
AddReg=All, Common, MC00Reg, PARALLEL
[MC02]
AddReg=All, Common, MC02Reg, 115200, EXTERNAL
[All]
HKR,,FriendlyDriver,,Unimodem.vxd
HKR,,DevLoader,,*VCOMM
HKR,,PortSubClass,1,02
HKR,,ConfigDialog,,modemui.dll
HKR,,EnumPropPages,,"modemui.dll,EnumPropPages"
[EXTERNAL]
HKR,, DeviceType, 1, 01
[PARALLEL]
HKR,, DeviceType, 1, 04
HKR,,Override,,Paralink.vxd
HKR,, DCB, 1, 1C,00,00,00, 00,00,06,00, 15,20,00,00, 00,00, 0a,00, 0a,00, 08, 00, 00, 11,
13, 00, 00, 00
!--- Note: The line of code above is displayed over two lines due to space limitations.
[Common]
HKR, Answer, 1,,""
HKR, Hangup, 1,, "Bye"
HKR, Hangup, 2,, "NoResponse"
HKR, Settings, DialSuffix,, ""
; DCB's - dwords and words are byte reversed
; ByteSize
(Number of bits/byte, 4-8)
!--- Note: The line of code above is displayed over two lines due to space limitations.
; Parity
(0-4=None,Odd,Even,Mark,Space)
!--- Note: The line of code above is displayed over two lines due to space limitations.
; StopBits
(0,1,2 = 1, 1.5, 2)
!--- Note: The line of code above is displayed over two lines due to space limitations.
; |DCBLength |BaudRate |Bit Mask |Rsvd |XonLim|XofLim| | | |Xon
|Xof|Err|Eof|Evt
!--- Note: The line of code above is displayed over two lines due to space limitations.
[115200]
HKR,, DCB, 1, 1C,00,00,00, 00,c2,01,00, 15,20,00,00, 00,00, 0a,00, 0a,00, 08, 00, 00, 11,
13, 00, 00, 00
!--- Note: The line of code above is displayed over two lines due to space limitations.
[MC00Reg] ; RAS Null-Modem
HKR, Init, 1,, "<cr>"
HKR, Init, 2,, "NoResponse"
HKR, Settings, Prefix,,""
HKR, Settings, DialPrefix,, "CLIENT<cr>"
HKR, Settings, Terminator,, "<cr>"
HKR, Monitor, 1,, "None"
HKR, Answer, 1,, "CLIENTSERVER"
HKR, Answer, 2,, "NoResponse"
; Properties - dwords and words are byte reversed
; |Dial Options |InactivityTimeout |Speaker Mode
|Max DTE Rate
!--- Note: The line of code above is displayed over two lines due to space limitations.
; |CallSetupFailTimeout |Speaker Volume
|Modem Options
!--- Note: The line of code above is displayed over two lines due to space limitations.
|Max DCE Rate
!--- Note: The line of code above is displayed over two lines due to space limitations.
HKR,, Properties, 1, 00,00,00,00, 00,00,00,00, 00,00,00,00, 00,00,00,00, 00,00,00,00,
30,00,00,00, 00,c2,01,00, 00,c2,01,00
!--- Note: The line of code above is displayed over two lines due to space limitations.
HKR, Responses, "CLIENT", 1, 08, 00, 00, 00, 00, 00, 00,00,00,00 ; Server side -
the client is requesting a connection
HKR, Responses, "<h00>CLIENT", 1, 08, 00, 00, 00, 00, 00, 00,00,00,00 ; Server side -
the client is requesting a connection
HKR, Responses, "CLIENTSERVER", 1, 02, 00, 00, 00, 00, 00, 00,00,00,00 ; Client side -
the server has acknowledged and the connection is completed
!--- Note: The lines of code above are each displayed over two lines due to !--- space limitations.
[MC02Reg] ; Null-Modem
HKR, Init, 1,, "<cr><cr>"
HKR, Init, 2,, "NoResponse"
HKR, Settings, Prefix,,""
HKR, Settings, DialPrefix,, "HELLO<cr>"
HKR, Settings, Terminator,, "<cr>"
HKR, Monitor, 1,, "None"
HKR, Answer, 1,, "HELLO"
HKR, Answer, 2,, "NoResponse"
; Properties - dwords and words are byte reversed
; |Dial Options |InactivityTimeout |Speaker Mode
|Max DTE Rate
!--- Note: The line of code above is displayed over two lines due to space limitations.
; |CallSetupFailTimeout |Speaker Volume
|Modem Options |Max DCE Rate
!--- Note: The line of code above is displayed over two lines due to space limitations.
HKR,, Properties, 1, 00,00,00,00, 00,00,00,00, 00,00,00,00, 00,00,00,00, 00,00,00,00,
30,00,00,00, 00,c2,01,00, 00,c2,01,00
!--- Note: The line of code above is displayed over two lines due to space limitations.
HKR, Responses, "<h00>", 1, 02, 00, 00, 00, 00, 00, 00,00,00,00 ; Accept any recvd data
as CONNECTED.
HKR, Responses, "<hff>", 1, 02, 00, 00, 00, 00, 00, 00,00,00,00 ; Accept any recvd data
as CONNECTED.
HKR, Responses, "<cr>", 1, 02, 00, 00, 00, 00, 00, 00,00,00,00 ; Accept any recvd data
as CONNECTED.
HKR, Responses, "<lf>", 1, 02, 00, 00, 00, 00, 00, 00,00,00,00 ; Accept any recvd data
as CONNECTED.
HKR, Responses, "<cr><lf>", 1, 02, 00, 00, 00, 00, 00, 00,00,00,00 ; Accept any recvd data
as CONNECTED.
!--- Note: The lines of code above are each displayed over two lines !--- due to space limitations.
[Strings]
MC = "Mark Crossley"
Man = "(NULL Modem Types)"
MC00 = "RAS Serial Cable between 2 PCs"
MC01 = "RAS Parallel Cable between 2 PCs"
MC02 = "Generic NULL Modem"
```