| Frames | Modems | Help | Home Page | Chipsets | Search | No Frames |
Stylistic changes have been made to fit in with this site's layout, but the text remains unchanged.
There is already an excellent description of the machine in the SuSE support database:
therefore I restrict myself to a description of the two issues above.All the configuration steps below need root privilege: therefore, su to root in Linux.
Other links on Gericom Webboy and Linux:
The space allocated for the hibernation partition is the first chunk on your hard disk which is large enough to contain the image of your memory + the necessary overhead. If this is not at the end of the hard drive and you create some partitions starting at higher cylinder numbers, then fdisk will warn you that the partition table entries are not in disk order (the hibernation partition is the last entry, say /dev/hda4, as I said above). Don't worry, however: this is totally harmless. The hibernation partition can be located anywhere on the hard disk (no 1024 cylinder limit like e.g. for LILO).
NOTE: repartitioning your hard drive is DANGEROUS - you can lose your data! If you need to alter your partitions in order to create space, please to not forget to backup your data and read the Linux HOWTOs dealing with partitioning and install.
To activate suspend-to-disk, enter the BIOS setup by pressing Del during boot and choose Suspend Mode (STD) - suspend-to-disk.
First configure your Linux to start apmd at boot time. In SuSE, use YaST or some other tool to edit your rc.config. In YaST, choose "System Administration" then "Change configuration file".
Set the following values:
We shall use the svgalib utilities savetextmode and textmode, which save text mode video registers to files in /etc/vga and restore them from there. I use VESA framebuffer both for console and for X (both the Linux console SiS630 driver and the vendor supplied SiS630 X server is broken), see description in the SuSE support database. It turns out that it is enough to restore the text mode registers, together with redrawing the X screen with xrefresh. You have to force svgalib to use VESA by uncommenting the following line in /etc/vga/libvga.config:
Now we have to modify the script /usr/sbin/apmd_proxy to add the command savetextmode when going to standby/suspend and textmode + xrefresh when resuming. The settings for apmd to leave X before suspend/standby are important for the script to work properly. I also take care of the double resume events by creating a marker file /tmp/just_suspended when a suspend event happens and removing it after a resume event. Therefore the next resume event does not find the marker file and so just exits without performing any action.
My apmd_proxy script (was) here. Copy your /usr/sbin/apmd_proxy to apmd_proxy.orig and move my script in its place (Webmaster note: sorry, script not copied).
My script also takes care of restarting gpm after resume and logs all of its actions in /tmp/apmd_proxy.log for debugging. If we resume after a standby, a single xrefresh is enough; after suspend a second xrefresh is necessary. For some reason, if the first xrefresh (which comes before textmode) is not done, the second does not work properly. I have no idea what the reason is: this is just an observation.
xrefresh does not work if you have the xdm/kdm/gdm login window on your display because of permission problems. It's not hard to solve this, but is not really necessary: you can simply press the standard keysequence Ctrl+Alt+Backspace to restart the X server in this case (since you have no applications running, there's nothing to lose anyway).
Standby (suspend-to-memory) can be triggered by executing apm --standby from a shell (in KDE, you can also call it from a panel applet).
Here is what you should see:
You are going to need SuSE's 2.4.4 released kernel. For 7.2, this is one of the choices during installation. For 7.1, it can be found in the update directory
The drivers can be found here or here. (They were accessible from ftp://ftp.smlink.com/pub/linux, but have been removed from there. Thanks to Martin Kubisch for letting me know.) You need the package slmdm-2.03-01_linux_2.4.4.src.rpm (Webmaster note: source- & binary-RPMs are both available). Just download and run
The modules can be inserted by hand running /usr/lib/slmdm/load_slmdm. This script needs to modified, beacuse the drivers are compiled for 2.4.4, while SuSE kernel has version 2.4.4-4GB. Therefore, insmod must be forced to insert them. This can be achieved by changing the line
(-f forces insertion, -s sends the warnings to the system log instead of your screen).
After insertion, /dev/modem will be a symbolic link to the modem device /dev/slmdm. You can configure your applications to use /dev/modem (which is the default in many cases, so you actually do not have to do anything at all).
I wrote a little script slmdm to start/stop the drivers using init during booting and halting the system. You can copy it to /etc/init.d and then use the SySV init editor to configure start/stop at the appropriate runlevels.
Note: in my experience, the modem driver works well for dialing out. However, when used in connection with mgetty for dialing in, it hangs the machine (and then only the power button helps :-(). I am working on finding out the reason for that (it seems that mgetty does not initialize the modem properly). In any case, the driver is suitable to connect e.g. to your internet service provider (which is the most likely application anyway) or to send faxes. Please drop me a mail if you find a solution to this problem.