Freesco
...From Scratch.
 


Troubleshooting FAQ's

  1. Why does my keyboard swap characters that I type around?
    (e.g. press # and $ is shown on screen)
  2. How do I switch between consoles / see the system log?
  3. How do I generate a report.txt file?
  4. Why do I get the log message "serial link is not 8-bit clean"?
  5. Why does my modem not get detected?
  6. Why does my network card not get detected?
  7. Why can't I boot past the messages "loading ramdisk....' or "loading kernel...."?
  8. Why does the screen going blank after "loading kernel...."?
  9. Why won't Freesco boot without a monitor / keyboard?
  10. Why do I get the log message "kernel: MASQ: failed TCP/UDP checksum from xxx.xxx.xxx.xxx!"?
  11. Why doesn't [such and such an Internet program] work anymore?
  12. I'm asked for a username or password but I haven't yet set one and don't know what to type?
  13. I've forgotten my password!
  14. Why does my router automatically dial my ISP when I log into my Windows machines on the network, even though I have not tried to access any internet resources?
  15. Why do I find the disk is suddenly read-only or get the message "mounting root filesystem as read-only" or similar?

1) Why does my keyboard swap characters that I type around?
(e.g. press # and $ is shown on screen)

This is invariably due to using a keyboard with a language other than US. Different language keyboards (among which even UK keyboards are included) have different symbols in different positions.

There is a quick and easy fix for this. Download the modules-027.zip file from the same place you downloaded Freesco. Extract it and inside the extracted directory you should find a /keymaps directory and a file called keymaps.txt which contains the instructions for installing a more suitable keymap to your Freesco floppy.

Briefly, installation of a new keymap involves copying the relevant .gz file from modules-027.zip to the /router/kbd directory on the floppy (accessible as /mnt/router/kbd from inside Freesco) and then rebooting the Freesco machine.

2) How do I switch between consoles / see the system log?

By default, Freesco loads four virtual consoles. Holding the ALT key and pressing F1, F2, F3 or F4 will switch between them. The first virtual console (ALT-F1) is used to show boot messages and after boot can be logged into and used to issue commands. ("Commands" include many standard Linux commands, the setup program, the package management commands as well as file management etc.).

The second virtual console (ALT-F2) is purely a login console used to log in and issue commands. The third (ALT-F3) is used as a system log and logs all messages (important or trivial) from bootup. It is constantly updated whenever something happens and is the primary source for information when something goes wrong.

The fourth virtual console (ALT-F4) displays select messages from individual programs configured to use it, such as logins and changes to ISP mode.

Programs in packages may add their own virtual consoles (e.g. the IPTraf package uses ALT-F5 to display statistics on the current network and Internet connections) and users may add more virtual consoles for login and other purposes themselves.

Virtual consoles can be switched between at any time (even when in the middle of running a program) and provide a way to keep lots of information easily at hand (e.g. edit a configuration file in one console while browsing an example file in another).

To add an extra serial console you can log into is easy. Log into a console and type:

daemon - "agetty 9600 tty6" &

This will give you a login/command console on ALT-F6. As mentioned before, tty1 (the first virtual console) through tty4 (the fourth) are already loaded with Freesco. Thus, you can use tty5 through tty8 (assuming they are not already used by packages etc.) for login consoles. The highest tty available with the default Freesco configuration is tty8.

If you want to always have extra consoles whenever you restart your machine, edit the file /rc/rc_init and under the line:

daemon - "agetty 9600 tty2" &

Add more commands of a similar syntax but using tty5, tty6, tty7 and / or tty8, then reboot. These new consoles will then be added every time your Freesco machine starts and can be accessed using ALT-F5 through ALT-F8.

3) How do I generate a report.txt file?

Sometimes a report file can be an invaluable resource for the Freesco team when a problem occurs and they will usually request it for any network-based problem. A report file contains details on your hardware and Freesco configuration. It does not contain any passwords or sensitive information but you should still check before sending it off.

To make a report file, log in at a console and type:

report

You will get a message telling you where the report file was saved and you can then e-mail that file or look through it yourself for any potential configuration problems.

4) Why do I get the log message "serial link is not 8-bit clean"?

According to the PPPD man page, there are variations on this error - such as "serial line looped back" etc.

The cause can be one of several things:

  • You are not sending the correct commands to start PPP on the server.

    Some PPP servers require you to enter a command and / or a RETURN character after completing the log in process. Find the chat script portion of the connect file (see below) and add the following line to the end of the chat script portion:

    ''      ''
    (That's apostrophe, apostrophe, space, apostrophe, apostrophe). Some ISP's (BT Internet, for example) require that you change the CONNECT line of the chat script to the following:

    CONNECT '\c'

    This does the exact opposite and supresses any line returns.

  • You are not correctly logging into the server.

    Fix this by carefully checking the connection details, including phone number, username and password.

  • There is no ppp server operating at the remote end.

    Panic! Or optionally, blame your ISP. Checking the connection with a Windows DUN connection might not be a bad idea.

  • The remote PPP process is slow to start.

    By default, pppd is compiled to send a maximum of ten LCP configuration requests. If the server is a bit slow to start up, then all ten such requests can be sent before the remote computer is ready to receive them.

    There are two ways round this scenario. Either add the line:
    lcp-max-configure 30
    to the file /etc/ppp/options and try again. If this fixes the problem, copy the changes into the file /ppp/options (accessible as /mnt/router/ppp/options inside Freesco) and it will keep the settings after a reboot. For a really slow server, you may need to increase the number to thirty or more.

    Alternatively, you can add a new line to the end of the chat script portion of the connect file. This would look like:

    \~         ''
    (That's slash, tilde, space, apostrophe, apostrophe)

To edit the "chat script portion of the connect file", as mentioned above, edit the file /etc/connect. Look for the lines similar to the following:

...
msg "Dialing [$ISPNAME] $LASTNUM" 
: >/tmp/connect 
chat -r /tmp/connect \ 
  REPORT CONNECT \
  TIMEOUT 45 \ 
  ABORT "NO CARRIER" \ 
  ABORT BUSY \ 
  ABORT "NO DIALTONE" \ 
  ABORT ERROR \ 
  "" "ATD$LASTNUM" \ 
  CONNECT ""
case $? in 
... 

The indented portion shown in this is the "chat script" that will be used to connect to your ISP. So, if you need to add to the end of the chat script, you would do so by inserting a line just above the "case $? in" line.

Note that only the very last line in the "chat script" should be missing a slash ( \ ) at the very end. Hence, if you were to add a line to the end, you would need to add a slash to the end of the CONNECT line and finish your new line without a slash.

Always backup this file before editing and test straight away. If this solves your problem you will have to also copy your fixed /etc/connect file into the /router/etc/ directory of your disk (accessible as mnt/router/etc from inside Freesco). Otherwise, when you reboot, your changes will not have been saved.

 

 

5) Why does my modem not get detected?

Things to check:

  • Make sure it's not a winmodem. Check the list at http://start.at/modem to see if your modem is compatible with Linux. Most cheap internal modems supplied with modern PC's are winmodems and so will not work. Most external serial port modems are not winmodems.

    If you can send AT commands to your modem without any initialisation or drivers necessary, then you shouldn't have a problem.

  • Make sure that the modem is plugged in, turned on and connected to a working serial port of your Freesco router (if it's external).

  • Make sure that there are no conflicts between IRQ's for your serial ports / internal modem. Making sure it works in another operating system is the easiest way.

  • Enter Freesco setup and let it autodetect your modem. If this fails, try to enter the settings manually.

6) Why does my network card not get detected?

Things to check:

  • Make sure it's compatible with Freesco. Read the list of supported cards inside the documentation that comes with freesco-027.zip and modules-027.zip.

  • Make sure it's correctly configured. Make sure it is not set to Plug and Play mode (or, if it is, that you are using the ISA Plug 'n' Play tools, as shown in our Plug 'n' Play HOWTO) and that you have entered the correct IRQ / port number into Freesco setup.

7) Why can't I boot past the messages "loading ramdisk....' or "loading kernel...."?

This is usually caused by an old, non-standard or buggy BIOS. You can try to get around this by re-inserting the Freesco disk into the computer you made it in and running safe_fd.bat (which comes with freesco-027.zip). This will rewrite the syslinux bootloader to an already created Freesco disk, but in "safe mode".

This may allow Freesco to boot on some machines that it couldn't before but it will, however, boot slower.

8) Why does the screen going blank after "loading kernel...."?

If you have problems with the screen going blank after the point "loading kernel...." which the above solution does not fix, your video card may not be compatible with the video mode Freesco uses.

Edit the following two lines in the file syslinux.cfg in the root directory of the Freesco disk:

append initrd=ramdisk bootdev=fd0 vga=4 no387 no-hlt panic=15 root=/dev/ram0

append initrd=ramdisk bootdev=fd0 vga=4 no387 no-hlt panic=15 root=/dev/ram0 start=setup

Change the vga entries of both lines to vga=0

If you require the vga=0 setting in order to boot and you later install Freesco to a hard drive you will need to make the same changes to the file router.bat on the hard drive.

In that case, the two lines will look similar to this:

c:\router\loadlin c:\router\kernel initrd=c:\router\ramdisk bootdev=hda1 root=/dev/ram0 vga=4 no387 no -hlt panic=15

c:\router\loadlin c:\router\kernel initrd=c:\router\ramdisk bootdev=hda1 root=/dev/ram0 vga=4 no387 no -hlt panic=15 start=setup

9) Why won't Freesco boot without a monitor / keyboard?

This is normally not a Freesco problem at all but a BIOS problem. Many BIOS's, by default, report an error if they do not have a keyboard connected (usually the idiosyncratic "Keyboard not found. Press F1 to continue"). If this is the case, you need to enter your BIOS and (very carefully) change the options to allow booting without a keyboard.

This should not be attempted by amateurs. The option is usually enabled by setting "Keyboard" to "None" or by setting "Halt on All Errors" to "Halt on All But Keyboard" or "Halt on None".

10) Why do I get the log message "kernel: MASQ: failed TCP/UDP checksum from xxx.xxx.xxx.xxx!"?

This is due to a damaged packet arriving at your machine. This packet didn't quite make it intact across the Internet / your network and the router sees this and tells you. There is nothing you can really do about it and it doesn't cause any problems. It is not a sign that someone is hacking your computer. If you frequently gets lots of these messages, it may mean that you have some bad network cabling or a bad Internet connection.

11) Why doesn't [such and such an Internet program] work anymore?

See the Applications FAQ.

12) I'm asked for a username or password but I haven't yet set one and don't know what to type?

Depending on where you are asked, it will be one of the two default passwords. If you are trying to access the web control panel, you need the admin account:

Username: admin
Default password: admin

If you are trying to log into a console or telnet, you need the root account:

Username: root
Default password: root

13) I've forgotten my password!

You can copy the default /router/etc/passwd file from a new Freesco floppy to your existing Freesco disk using DOS or Windows. This should overwrite the old passwords and you can then use the defaults, listed in the above question. Next time, don't forget them!

14) Why does my router automatically dial my ISP when I log into my Windows machines on the network, even though I have not tried to access any internet resources?

This is caused by the computers trying to use TCP/IP as the default protocol / file sharing protocol, which Freesco sees as Internet activity. Either:

  • use NetBEUI or IPX/SPX as the default protocol in your local network and use the TCP/IP protocol only for the Internet.

  • or manually configure a DNS server for all computers on local networks, either using the one within Freesco, or your own. This way, Freesco doesn't have to forward queries concerning local machines to your ISP's DNS server to find out that they're local.

If this doesn't fix your problem, enable Freesco's DNS server (with debugging turned on) and look at the logs when it does it. It should show which domain it is trying to connect to and you can locate the problem program / setting. If this domain is on your local network, you need to properly configure DNS for it. If this domain is something else (e.g. another program like Windows Update, Anti-virus updates etc. trying to connect to the Internet when you boot), you need to locate the program which is trying to connect to them and remove it, or filter out that domain somehow.

15) Why do I find the disk is suddenly read-only or get the message "mounting root filesystem as read-only" or similar?

First off, check the disk isn't read-only. If it's a floppy, make sure that one of the holes in the disk should be closed by the little black tab. Otherwise, this usually indicates a (possibly minor) problem with the underlying filesystem.

Freesco uses a filesystem called UMSDOS to let itself be used on DOS FAT-formatted disks. This allows you to use the complex and powerful Linux filing system (e.g. symbolic and hard links, long, case-sensitive filenames, many different permissions, and the file owners / groups concept) without having to reformat your hard drive. It works by letting UMSDOS "pretend" to be a Linux filesystem, and then instead of writing directly to the disk, UMSDOS writes everything down in "normal" files on a FAT disk (which is why, when you look at the Freesco directory in DOS, you see strange filenames and ---LINUX--.--- files everywhere).

If, when Freesco boots, it detects any problems with the underlying FAT filesystem or these files, it will automatically revert to read-only mode. This is a very sensible safety precaution. You can still retrieve all your important data but can do no further damage to the system.

In Freesco, where critical data shouldn't really be stored on the same disk, you can just boot into DOS or Windows and run SCANDISK to fix the FAT filesystem as you would normally. On the next boot into Freesco, the UMSDOS system will try it's best to repair itself and continue. Ninety-nine percent of the time, a SCANDISK will report only lost clusters and, once fixed, Freesco will continue without losing any data. There might also be a more serious problem with the disk, though.

This problem has been frequently reported by people who use packages on Freesco which are in danger of being in the middle of writing to the disk at the time the power is turned off, e.g. FTPD, Samba, Squid etc.

Prevention is almost certainly better than the cure, here. To stop these sorts of disk errors occurring, it is always advisable to properly shutdown the router before you switch off the power. Typing halt on a telnet connection or on the Freesco console (after logging in) will properly close all files, leaving it safe to shut off (the Linux equivalent of Windows' shutdown screen).

 


If you intend on leaving your Freesco router switched on when nobody is present to run SCANDISK in the event of such an occurence, it is often suggested that you add a line to your AUTOEXEC.BAT to run SCANDISK just before you run Freesco:

SCANDISK /AUTOFIX

This would mean that on every reboot, the filesystem will be checked and, if damaged, automatically repaired. From Scratch believe that this is slightly dangerous and could cause you to lose data, as you cannot see precisely what SCANDISK is supposed to be fixing.

The DOS command CHKDSK /F is slightly better as it will only fix certain minor problems on the specific drive you tell it, it is included in older versions of DOS and it can give an ERRORLEVEL depending on whether it had to fix anything . This can be easily used to, for example, copy a fresh version of Freesco to the hard disk or to rewrite the floppy from the disk image and reboot, or to make a "flag file" whose presence can be tested for from a remote location, to see if the check completed successfully. CHKDSK is not as reliable as SCANDISK, however.