243 lines
7.8 KiB
Markdown
243 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"
|
|
```
|
|
|
|
|