Introduction ------------ This is a package that implement slip for Minix 2.0.2/3/4 in 16 and 32 bits. Also can be used under Minix-VMD 1.7.0. For low memory systems, you can check the XT directory with the README.XT file, about special considerations and files. With this driver I used telnet, ftp, rlogin, and lynx. Also, you can link 2 Minix machines with this driver. Check the Minix-link file for details. The package have header compression, speed control, debugging or compress control online, using the script slcp. Also is included the utility chat so you can easy write scripts to connect the system to different ISP's. NOTICE ------ The driver is not danger for the Minix kernel. There are no need to modify the kernel, but you always shouldbe carefull with your information when you run foreign programs. Also, I believe that is a good practice to compile the all kernel image before modifying it, so this allow you to know the real state of the changes, and possible errors that can ocurr. Remember that you need to enable networking code. Check the /usr/include/minix/config.h for details. Installation ----------- Before any change, you should compile your kernel at all with network code enabled, and you should boot your new kernel. All the following information is ONLY for standard Minix, for Minix-VMD check the man pages (networking and serial port enabling). If you need to compile your kernel, you need to make some configurations in /usr/include/minix/config.h to enable the network code defining ENABLE_NETWORKING to 1. Under Minix 2.0.3 you need to enable the DP8390 code to enable networking, and recompile the inet server separatelly from kernel. You can open the tar file for example on /slip/src. I will use that path to explain the operation. For XT configurations, or systems with less than 1 Mbyte, you can follow the guide in the XT directory, and the recomendations in this file. You can create the slip driver, with the following commands cd /slip/src make <== make the slip.drv driver make install <== installs the driver, slcp and man page. The "make" command compile the driver. You can install it with the second command "make install", it installs it into /usr/local/bin with proper privileges, the slcp utility and the man page. The slcp utility lets you control the operation of the driver. It allows you to enable or disable compresion and debugging while working, and also end the conection and hang-up the modem via the chat program. It is simply a script so you can adapt it to your necessity. /**************************************************************************/ There is a patch to rs232.c needed to be applied if you like that the system stops driver when a hangup is detected. Check patch.txt for details. /**************************************************************************/ Configuration ------------- There are some tips for configuration. The most easy is to use the default network for SLIP. If you have no ethernet cards, you can use this configuration. If you like to have a local network and use SLIP as ocassionality connection, you need to configure routing. Check the add_route command and the routing papers in the documentation. # netdefault psip2 This will configure your network to use psip devices. in Minix 2.0.3 you need to a. Create or modify /etc/inet.conf with the following: psip2 { default; }; psip3; At reboot, inet creates the links. b. check at boot prompt that you have the variable servers = inet check it with the "set" command in the boot monitor prompt (access it before the "=" char using ESCAPE). This allows to start the inet server in the system at startup After this, you need to start the minimun net daemons, modifying the /etc/rc file as: echo -n "Starting network daemons: " # for daemon in rarpd nonamed irdpd talkd <<== starts only nonamed for daemon in nonamed do if [ -f /usr/bin/$daemon ] then echo -n " $daemon" $daemon & fi done echo . # Get the nodename from the DNS and set it. # hostaddr -a >/etc/hostname.file || echo noname >/etc/hostname.file ^ ########^ comment this line!!!!!!!!!!! The slip driver does not negotiate IP, so you need to set it. If you have assigned a fix IP, you can create the rc.net file with the ifconfig command setting the IP like ifconfig -h x.x.x.x -n 0.0.0.0 If your ISP assigns you dynamic IP, you need to get the information from the chat program, check the modem directory for examples. You can pass this IP value to the driver, so it will translate the IP from the machine to the ISP. The recomendations are: a) fix IP address: use the ifconfig into /etc/rc.net, and you can use a fixed mask with a default route (command add_route), of mask 0.0.0.0 so the packet will be routed to the default route by the network. b) dynamic ip (1): use an empty rc.net, and when you connect you assign it with ifconfig (the ip and the mask). c) dynamic ip (2): use ifconfig into rc.net with a non-internet IP like 10.1.1.1 and mask 0.0.0.0, and pass to the slip.drv the ip that the ISP assigns you with the -i flag. The driver will translate the ip address. Option c is better if you connect and disconnect from an ISP that gives you different IPs each time. For automatic logging and configuration, you can use the chat command, please check the chat and modem directory for explanations, examples of scripts and shell commands. For manual conection, you can use kermit, and have the following configuration on the .kermrc file set line /dev/tty01 set speed 38400 Other important command to connect is term. # term 8 38400 /dev/tty01 Check the term man page for details. It is important to have the modem on before booting Minix, because some modems with autobaud send strange caracters and could hangs the tty driver for slip. After dialing with kermit and logged into the ISP, you must get the ip asigned, with CTRL \ C returns to kermit and after use the "quit" command to avoid hang the telephone. After this, you must execute the slip driver to link the system with the ISP: # slip.drv -b 38400 -c /dev/tty01 & or if you like to translate ip # slip.drv -b 38400 -c -i /dev/tty01 & You can add the -v and -d switchs to have a lot of information about packet headers dump, etc, but is not necesary to normal operation. The debugging information is written to standard error, so you can redirect it with 2> to a file. The -v and -d switch combination will give you different levels of debugging, and both switchs are the full information possible. I recomended you to test previosly the COM port from DOS or Windows to have the rigth idea about how it is working. After this, you need to start the DNS daemon with: nonamed -n & or use the /etc/resolv.conf with a line as nameserver Check boot(8) about this configuration. After all this steps, you can telnet, ftp, ping or browse the Internet using address or names. The slcp script allows you to enable or disable compression, debug or kill the slip process. All the information is send to stderr. The kill section also use the chat command to hang the modem. The script can be called as: slcp c enable header compression slcp d enable debugging messages and verbose output slcp k kill the slip.drv process and hang-up modem with chat slcp h hang-up the modem using the chat program The chat section of slcp use standard Hayes commands to hang-up the modem, please check your modem manual to verify the commands. For the correct use of the slcp, you need a file /etc/modem.line that have your specific definitions of your machine. Also, remember to adapt the slcp script to your configuration if you like to use it. My file is the following: TTY=tty01 SPEED=38400 export TTY export SPEED So the scripts execute it, and it is very easy to reconfigure all the scripts with a main configuration file. In the example, tty01 is COM2 in my PC.