LPN-Text


LPN-Logo
Navigation
News
GUI Programming
"man of the month"
Bookreviews
Projects
Languages
Tutorials/Howtos
Tools
Crew
My hardware
Old project page at SF
My blog!
SourceForge Logo

Hi! I'm Robos.

I recently aquired an IBM Thinkpad R31 (Model Nr. 2656-1DG) (link in german, pdf info). I thought I did quite a thorough job of figuring out if the hardware of the thing would be supported under linux before I got it. It seemed so, but here are my impressions of the thing so far _after_ I really have it. BTW, I installed debian testing (aka SARGE) on it.
For the latest UPDATES see bottom or join the MAILING-LIST
Hardware overview: Other things:
  • powermanagement [ Working (with tricks) ]
    • apm [ A little buggy ]
    • acpi [ Working (untested) ]
    • battery [ Working ]
    • noise [ N/A ]

DOWNLOADS: patches, drivers, kernel etc. I will now describe my findings to each of the list items above.

Intel Celeron with 1133MHz

This is the mobile version. If your machine has a Pentium III instead you can "speed manage" it from the bios (in the power section there is a menu item "speed management". For Celerons this is grayed out and so diabled. They simply have no management capabilities...
Also, there is an effort (as a patch for 2.4.x kernels and included in 2.5.x) which lets you control the speed of mobile processors. cpufreq.
This is what dmesg spits out about the cpu:
CPU: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 256K
CPU: After vendor init, caps: 0383fbff 00000000 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU: After generic, caps: 0383fbff 00000000 00000000 00000000
CPU: Common caps: 0383fbff 00000000 00000000 00000000
CPU: Intel(R) Celeron(TM) CPU 1133MHz stepping 01

Update:This is the relevant part in the dmidecode file (i.e. what the bios has to say about this)     top

14,1'' TFT screen with 1024x768

The screen is quite solid and connected to the body quite stiff so that it doesn't shake much. The brightness of the screen is fine for me. It's quite sensitive when it comes to viewing angles. Two persons sitting beside each other will see quite some different pictures. And also if you go below the normal viewing angle the colors change quite a lot. Black gets negated and such.
For adjusting of the brightness look below in the keyboard section.     top

128MB PC133 SDRAM

I upgraded to 256 straight away. They changed the 128 to a 256 so that only one of the 2 slots is taken. This seems to be an easy endeavour since it took the person in the shop I'd say 2 mins. Can't say much about the memory, haven't seen what brand it is but they wrote that it is an Infinion (Siemens) thing, which should be good quality.
Update:This is the relevant part in the dmidecode file (i.e. what the bios has to say about this)     top

20GB harddrive

The harddrive is a ATA-100 E-IDE capable drive, most probably from IBM itself. With hdparm -c 1 -d 1 /dev/hda you can set 32bit I/O support flag and dma to on. The drive it pretty quiet and can be monitored with either ide-smart or with smartsuite even for it's temperature.
The initial layout of the drive was something like this:
  1. hda1: nearly all of the 20GB (minus hda3) in, listen and wonder, FAT32!
  2. hda2: dunno if it existed, can't recall
  3. hda3: Hidden Win95 FAT32 (LBA)
Strange that hda1 was FAT32 since XP Ho(m|p)e Edition was installed and that normally uses the new NTFS which linux can read and only experimentally write. I didn't even boot into win, I inserted a bootable cd with gnu parted on it and partitioned the drive to something like this:
fdisk -l /dev/hda

Disk /dev/hda: 240 heads, 63 sectors, 2584 cylinders
Units = cylinders of 15120 * 512 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 654 4944208+ 7 HPFS/NTFS
/dev/hda2 695 2430 13124160 5 Extended
/dev/hda3 2431 2584 1164240 1c Hidden Win95 FAT32 (LBA)
/dev/hda4 655 694 302400 a0 IBM Thinkpad hibernation
/dev/hda5 695 2017 10001848+ 83 Linux
/dev/hda6 2018 2083 498928+ 82 Linux swap
/dev/hda7 2084 2430 2623288+ 83 Linux
Well, this isn't that good now in retrospective: the IBM hibernation partition is quite a good idea, BUT it needs to be within the first 8GB (or maybe even the first 2 GB) and the partition type should be FAT32.Size should be something like System Ram (256MB in my case) + Video Ram (16MB taken from the system ram but add it anyway, 1MB assorted :) and then some ... Then the hibernation tool from IBM (for Win98) might have made the hibernation partition there. If someone tries this please mail to r31@rnbhq.org! Thx!
You might wonder because it says now NTFS on hda1. No, I wasn't so foolish and converted it to that. Noo, on the third or fourth boot of win (yes, I did it, shame on me) some info popped up during bootup to inform me that XP had found that it was booting off of FAT32 and that it would change it to NTFS. Without asking me it did right that, even ESC didn't block it. These times I wish I would have studied law, then I would have fricking sued their ass off.
Update: I just found a nice tool to resize ntfs partitions. Is part of the linux-ntfs project. The relevant page with a statically linked version is here.

Initially I didn't have hda4, the hibernation partition. More infos about that see the powermanagement section.
hda5 is my root, in ext2. I tried ext3 at first both with hda5 and 7, a data partition. I thought a journalling filesystem would be nice (I have it already on my desktop and like it) because of no e2fsck during bootup if I had to reset. But this had one major drawback: first of all something would write to the drive every 5 secs or so. This keeps the drive from spinning down during idle time and thus saving energy. This is the journal being kept up-to-date most probably. But that wasn't the problem.
Whenever I used the stick to move the mouse, apm was enabled and this writing occured the cursor jumped around the screen and mouse buttons got pressed. The cursor mostly ended up in the upper right corner of the screen, toggling my virtual desktop switch. THAT SUCKED MAYOR LEAGUE! When I tried to remove the journal some strange things happened which I can't recall nor explain which resulted in a wiping of both partitions. Anyway, I installed new and use ext2 now. Now I can also use the noflushd-demon to collect things that would normally write to disk straight away and write them to disk only when the user requests read/write (i.e. the platter spins up from sleep).
Update:Jens Axboe obviously also had enough of his laptops hdd running all the time and he made this:laptop-patch. I tested it and it seems to work really nice, even with my ext3 root system!     top

cdrom drive

This is a normal LG cdrom (dmesg: hdc: LG CD-ROM CRN-8245B, ATAPI CD/DVD-ROM drive) drive, 24times from the website. In the bios you can adjust the noise level of the drive in three steps, quiet, normal and fast (IIRC). In normal (default) it's already pretty quiet. In normal mode, with paranoia on, it maxed out in grip (cd ripping) with something like 3 times. Thats ok with me. The drive is mounted (not in the linux sense, but in the hardware sense) in an ultra-bay. See next point.     top

NO floppy

There is no floppy in this machine, although it is quite large in its dimensions. You can get a floppy for the ultra-bay which normally houses the cd drive. But it's kinda pricy for a floppy with 119 Euros (IIRC! Look on the IBM page for more infos). The ultra-bay is supposed to be hot-swapable, I can't confirm that since I have nothing to swap and frankly I don't intent to test it just for fun.
Not having any write medium (like floppy or cd-r) is sometimes a pain, but what shall I do? I thought about a usb-external hdd, but later maybe. I got myself a 128MB usb memory stick     top

Intel i830MG onboard graphic controller with shared memory

Yeah, right, the cheapest thing they could find. The i830 exists in 3 variants: i830, i830M and i830MG. And now guess which is the weakest. Before I bought it I was told that everything would be supported under linux of this thing. Intels site concerning this chip and linux is here. The most relevant site I think is this one here: http://www.xfree86.org/~dawes/845driver.html. Normal graphics is supported through the i810 driver, but if you want to have dri you need to get xfree4.2.1 (maybe only 4.2) and the newest dri snapshot (i810) from here. In order to build this you need the kernel source either at /usr/src/linux or use make TREE=/path/to/kernel/source v(IIRC). I used branden's prerelease package for debian from this place
Or better, edit /etc/apt/sources.list and include this:
# add this line to your /etc/apt/sources.list to use this repository
deb http://people.debian.org/~branden/ sid/i386/

# add this line to your /etc/apt/sources.list to use this source repository
deb-src http://people.debian.org/~branden/ sid/source/
Then go into dselect and update and look for new packages of xfree with 4.2.1 as version number.
After this you compile the i830 (i810) stuff from dri (according to readme) and BE SURE to edit /etc/X11/XF86Config-4 (for debian, other distros might keep the file in another place) and increase the amount of ram dedicated to the graphics chip. Something like this:
VideoRam 16384 My whole XF86Config-4 file is here, might not be perfect yet but works pretty good.
In order to get opengl acceleration don't forget to download the snippets provided here (lower, lower, yes, these) and put them to the places mentioned there. The opengl acceleration is nothing to cheer about (241 fps in gears with the i830MG, 440 with my Geforce 256 with 32 MB normal SDRAM) and not that many arb extensions (glxinfo) (yes, I dunno exactly what I talk about but I list it nevertheless) but better'n nothing I say. And, after that you have XVideo support (xv, right?). This is important for e.g. mplayer since X11 output is usually quite slow and takes a lot of cpu power (for software scaling) whereas xv output is fast and doesn't take much power.
UPDATE: There is a new dri driver available from dri.sf.net that has quite some nice opengl capabilities. I installed quake 3 and gave it a spin at 640x480x16bbp, min. textures and details (rather low profile huh?). I got something between 15-50fps. But playing with the stick is a real pain in the ass ;-). Here is the new output of glxinfo.
If I read this line correctly "If two display channels are enabled for the 830" (from http://www.xfree86.org/~dawes/845driver.html, pretty low) this means dualhead, right? Win can do it, but how to enable it under linux I haven't yet figured out. If somebody knows, please let me know!
UPDATE: I asked David Dawes about xinerama|dualhead. This is the mail     top

one pcmcia slot

There is 1 type II or 1 type III slot in the machine. The slot is rather large, as if 2 slots where there. Actually, when you look into the slot you see that there are 2 slides for 2 cards but only one of the sockets at the end has plugs. The upper one hasn't and is also blocked at the very entrance by some plastik pins.
Whats also weird is the fact that pcip_probe (a tool in the pcmcia-cs package) spits out this
PCI bridge probe: Texas Instruments PCI1410 found, 2 sockets.
Yeah right, I _love_ crippleware. There are 2 slots, 2 sockets on the controller but only one is actually connected. Great...
But, at least that one works pretty good. Dunno exactly what I did, cardmgr found the 2 cards I tested and they worked fine.
Update:In order for the pcmcia to work properly (with both 2.4.x and 2.6.x kernels) you need to enable ISA support in the kernel. This comes right from the mailing-list...
Update:This is the relevant part in the dmidecode file (i.e. what the bios has to say about this)     top

10/100 mbit ethernet

This is a Intel Ether Express 100 (kernel module eepro100 or e100 in newer (patched 2.4 and 2.5) kernels) integrated into the chipset. Works, nothing more to be said. It even survives suspend but only because it doesn't get deactivated as far as I can see (link leds blinking and stuff). This things is wake-on-lan capable so if you send a magic packet ?the laptop will wake up?. Have to test that some time..
The tool for that is called etherwake and you can get it here (seems to come out of the ethernet-diag package)
Update: Malte Doersam tells me that etherwake works fine with his machine. Mine hung when I tried it but thats maybe because I use a boot-up password. Try yourself!
Update:This is the relevant part in the dmidecode file (i.e. what the bios has to say about this)     top

internal softmodem

Well, frankly I dunno what this thing is precisely. I think it is a Lucent Softmodem (in other words winmodem). Update: A. Mavric wrote me to say that the folks over at smlink have created a linux driver for their ac97 chip modem. This gets used by a lot of hardware makers and is also in our baby. I got confirmation that slmdm-2.7.8_debug works with 2.4.19 from Stephan, but this page here has an even newer version (local mirror). The modem seems to work fine with the 2.7.9 version, yielding 52kbit (or something)
Update: According to Piotr Ksiazek the slmdm-2.7.10 (local mirror) version works too. Older or beta version can be found here and normal versions here     top

s-video out

I toyed with it _very_rudimentary_ up to now. I soldered a cable myself (the commercial on in some shop costed 20 Euros (equals $)). The layout seems to be like this (I had color): s-video plug pic
s-video pinout pic
S-Video Cable for Scart S-Video Input
S-Video OutTV, Scart (Input)
PinDescriptionImpedanceLevelPinDescription
3Intensity (Luminance Y)75 Ohms1V incl. Sync.20Luminance In
4Chrominance Out (C)75 Ohms0.3V Burst 15 Chrominance In
1Ground (Y)4+17GND
2Ground (C)4+17GND
Audio Out L2Audio In L
Audio Out R6Audio In L
scart pinout pic
But, I only got s-video going under - shudder - WinXP. But a working linux program is __very__ close. nvtv is the program and the problem lies with the correct register values. Here an email from the nvtv-author Dirk Thierbach which explains something about the register values (for someone who knows a little bit about this stuff - so not me..). In order to use it you need a cvs checkout.     top

vga out

Thats rather easy. Simply toggle Fn+F7 to switch through - only external monitor - ext. and internal- normal.     top

parallel port

I *think* this is a pretty standard parallel port. It has to be enabled in the bios. I have mine disabled since this way one IRQ gets freed.     top

infra red port

Update:Paul Sladenhas some infos too about irda. Update: This device is a NSC PC87392 chip (I think). There is a tool called findchip (in debian in irda-common) which *should* tell you what chip you have. Doesn't work for me though.
We got it going (see description below) but only with slow speed, like 9600 baud or something. I will be working on this shortly I hope.
Update: The IRDA port works now. I've been struggling hard with this, even though Marcin Gozdalik made a really detailed description how he got it working.
I've now managed to get it going like this:
The normal kernel module nsc-ircc works for the internal IRDA chip in 2.4.21, but for 2.4.19 the check in the nsc-ircc for some ID the chip should provide makes it fail. So, these checks have to be disabled.
2.4.19 users look here for fixes.
Now, edit /etc/modules.conf and insert this here:
options nsc-ircc dongle_id=0x09
alias irda0 nsc-ircc


The normal serial driver of the kernel should not have it's thumb on the serial port, therefore the serial driver should either be not made or made as a module and then unloaded like this: rmmod serial
run ldconfig and then you can modprobe it like this:
modprobe nsc-ircc irq=4 dma=3 io=0x03f8 dongle_id=0x09
(this might be modprobe nsc-ircc irq=3 dma=3 io=0x02f8 dongle_id=0x09 if you let it at the default in the bios, but I suggest that you change it since the pcmcia port seems to run on irq 3 too)
Then you need to attach the thing to the driver like this: irattach irda0 -s 1
After that you can search for any IRDA devices (like my Siemens ME45 cell phone) with irdadump. It should then spit out lines and among them something like this:
16:06:34.153009 xid:rsp d6267b12 03629851 S=6 s=5 SIEMENS ME45 hint=b124 [ PnP Modem Fax IrCOMM IrOBEX ] (29)
Yeeha!

In case something doesn't work you can enable the debug output if you do this: echo 2 > /proc/sys/net/irda/debug AFTER you have loaded the irda module. Then this will come up in syslog
Mar 5 00:44:56 wopr kernel: irda_init()
Mar 5 00:44:56 wopr kernel: nsc-ircc, Found chip at base=0x02e
Mar 5 00:44:56 wopr kernel: nsc-ircc, driver loaded (Dag Brattli)
Mar 5 00:44:56 wopr kernel: IrDA: Registered device irda0
Mar 5 00:44:56 wopr kernel: nsc-ircc, Using dongle: IBM31T1100 or Temic TFDS6000/TFDS6500

For general info on irda, see here this     top

Intel i810 onboard audio

This device is supported IIRC both in OSS and in ALSA. I choose the one in the normal kernel conf. This means OSS in 2.4 if I'm not mistaken and ALSA in 2.5. Update: sebastian sauer wrote me that he uses his beloved alsa over the (his words) crappy OSS. His (extremly short) "description" is this and he made also this remark: "and before suspend let the apmd do...
$ /usr/sbin/alsactl power off

...and after suspend...
$ /usr/sbin/alsactl power on "
I have a problem when I play e.g. vids with audio sample rates different than 44000Hz. Not all others mind you, but some get played back at a faster speed. Dunno if this is device or driver or application specific. Mplayer at least does it with some vids with the i810_audio kernel driver.
On the left side of the keyboard there is an audio out and a microphone in jack. The quality of the audio out is quite good (nothing for hifi fans probably but good enough for me). For the integrated speakers see below and for the volume keys on the keyboard see the keyboard section.     top

stereo speakers

The integrated stereo speakers are positioned quite nicely. They are integrated in the front facing the user, but since this surface is tilted towards the table sound waves get reflected off the table. The result is quite ok. The speakers even try to get some bass across but given their size this is a bit hard.     top

2 usb slots

On the left side, adjacent to the audio jacks, there is one of the two usb 1.1 slots. No usb 2 unfortunately. The other one is right beside the ethernet RJ45 plug on the back side. I use the uhci kernel module and it works quite nicely. I got myself a Netgear MA101 wireless lan usb adapter and the driver for that doesn't play nicely with usb-uhci which I had before (in other words system freeze resulting in hard boot).
I got myself a 128MB usb memory stick which plays really nicely (sort of) with the machine. Now I have a small compact read-write removable device at last. In order to use the thing as a normal harddrive scsi-support has to be enabled in the kernel and usb-storage has to be either included or made as a module. The parts that get loaded then are:
sd_mod and usb-storage.
It should then show up upon insertion in dmesg and cat /proc/scsi/usb-storage-0/0 like this:
Host scsi0: usb-storage
Vendor: Unknown
Product: Unknown
Serial Number: None
Protocol: Transparent SCSI
Transport: Bulk
GUID: 0c7600050000000000000000
Attached: Yes

The hotplug scripts need to be adjusted (dunno when I did this, worked quite nice from the beginning), maybe I post them here too. If you want them mail me.
You can mount the thing then via mount -t vfat /dev/sda1 /mnt/usbstick and it should work. Remeber, unmount the thing before you unplug it since the kernel doesn't write stuff there as soon as you say cp but rather when it thinks it has time for it. Or when you force it with a unmount request.     top

very good keyboard

I _really_ like the keyboard on this baby. I have a 17 year old IBM "footbreaker" keyboard on my desktop machine which has a very strong pressure point. I have typed a little on some apple iBook and Powerbook keyboards and find them hideous. Also the keyboard of a fujitsu lifebook wasn't to my liking. But the keyboard on the R31 has some really nice points. Good pressure point, quite large travel way and rather normal sized keycaps. Really nice, I like typing on them (did type all of this one them).
There are some special keys on the keyboard as well. The Fn key lower left corner is clear I guess. Above the F2-F5 keys are 4 special keys. The thinkpad button is - under windows - to call some app to get to ibm's homepage right into the correct category for the notebook model or something (have not been to windows land that often with this machine). Under linux I bound it to xlock, a screen locking program with screen saver. This way I just hit this button and the machine is locked when I have to go some other place for instance. Nice. Beside that button are volume keys: vol down, up and mute. These buttons aren't hardwired to some mixer app in the sound device since the sound device has no mixer (but had in some older models AFAIK). In order to address them and use them and the thinkpad button use this tool: tpb (short for thinkpad buttons). I call it something like this:
tpb --mixer=on --osd=on --thinkpad="xlock -timeelapsed" Since this is a userspace program that doesn't need priviliges I put it into ~/.xinitrc so that it gets started up at every X startup. The osd (on screen display) shows with some bars and text on the lower left corner of the screen the status. This status also gets displayed when I change the brightness of the screen with Fn-Pos1/End. Above the cursor right/left keys are two more special keys. I have been told that these are for going back/forward in the history of a web browser. In other words they are freely configurable. They are, but how, don't know yet, haven't looked at that yet. For functions like suspend and screen off see powermanagement.     top

Trackpoint

The trackpoint is that red knob in between g, h and b which functions like a joystick and is used to move the mouse. No trackpad like on other notebooks.
I really like this thing. You cross the screen pretty fast with this thing without rushing over some pad with your finger wildly as you do with a pad. You simply push it and hold it till you are there. And since it is pretty close to the normal typing position of a ten-finger typer you reach it pretty fast with your pointing finger. You don't have to move your hands to reach for the mouse or the pad to move the mouse. That's great.
It also has pressing sensitivity. This means it can be used as a mouse button. In order to get this to work you need The Linux Trackpoint Utilities. I start this up in a bootup script (appended tp4d to bootmisc.sh). Together with some XF86Config-4 modification you get the IMHO great functionality of:
  • left mouse button = select (normal left mouse button behaviour)
  • right mouse button = special menu (normal right mouse button behaviour)
  • middle mouse button = in conjunction with trackpoint you can scroll pages! This works something like a mouse wheel then
  • right + left mouse button together = paste (normally middle mouse button behaviour)
What needs to be adjusted in XF86Config is this:
Option "Emulate3Buttons" "true"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"

Again, my whole XF86Config-4 file is here.
This way the trackpoint really kicks ass! Great!     top

Think-Light

Yes, that is (is it?) the appropriate name for this gadget. Someone had a really nice idea: he put a white led in the center of the top frame of the tft that shines down on the keyboard and illuminates only that (for instance in some dark lecture or so). It is activated also quite intelligently: you press the lowest-left (Fn) and topmost-right (Screen up) key together. You can't miss it this way. A really nice idea and way more elegant than the usb flexible light I saw the other day...     top

bios

The bios. Hmm. Well, I was told before that the tpctl program would work with the bios which would give great functionality. Unfortunately it seems as if the bios in this machine is no SMAPI bios anymore (dunno what SMAPI means but that would have been the good thing). Without that next to nothing of tpctl works. In the bios itself you can do some nice things which normal pc bioses don't have (at least mine). You can flash it from network for example. Not that useful for normal folks but features are nice ;-) You can block access to the bios, hard drive and the system in general with passwords. But strangely you can't adjust the speed of the cpu because this option has been grayed out. You can read it but not change it. What's the sense behind this is beyond me. Neverthess the speed might be adjustable. See the processor part.
In the bios also such things can be specified: the brightness of the screen gets reduced if you switch to battery mode. Quite useful to save some battery time.
Update:I found a nice tool to read the bios. Look here: devbios on OpenBios
A nice program called dmidecode makes dumps like this where you can find out so interesting things like there is something related to IEEE1394 (aka Firewire or iLink) in the R31...     top

powermanagement

Yes, powermanagement. I count apm and acpi things to this section.
Since the battery is not that longlasting these things are important. I'm a little astonished why the battery only lasts roughly 2 hours with medium usage and a little more in "only reader mode". This is a mobile cpu. I read today that a desktop p4 cpu built into some notebook lasts roughly 2 hours in normal mode too! So why can't this battery last longer? That's somewhat beyond me.
Anyway, not changable if you don't spend roughly 250 Euros (IIRC again, look for yourself for newer/more accurate prices) on another battery in the ultrabay (and loose the cd drive).
Update: Malte Doersam wrote to tell that his query for a ultrabay battery has been answered like this by IBM Germany (dunno exactly where he asked):
für Ihre freundliche Anfrage und Ihr damit verbundenes Interesse an unseren
Produkten
möchten wir uns bedanken und freuen uns, Ihnen nachfolgende Informationen
übersenden zu können.
Das Modell TP R31 ist leider nicht in der Lage
einen UltraBay Akku aufzunhemen.
Es fehlt im dazu ein Anschlußpin.

Englisch: marketing bla bla and then: no, the R31 can't take a battery in the UltraBay since one (!) connector pin isn't there...
Without words
What I find a little confusing is the fact that the boss of the place where I got my R31 tried to sell me a battery for the UltraBay...

ACPI support in 2.4.x kernels is not that strong. They do something about it in the 2.5.x kernels and also the alan cox versions of 2.4 (-ac) contain some more ACPI stuff. Nevertheless I haven't been too successful with it. In other words it didn't work with me. Either I made something terribly wrong or it simply didn't work. If it works for you please write me how!
Update: Malte Doersam jumps in again and says that he got it working. His howto is here

Update: The development of acpi goes on and there are some quite interesting posts in the mailing-list
With ACPI out APM (advanced power management, the older one of the two) is left. This works quite ok, as long as you only try to suspend or blank the screen. That works flawlessly. The only problem that persists up till now with apm enabled is that you can't use battery monitor programs. With one of these running the mouse jumps around the screen as described above in the hdd section. But not that bad since the laptop will switch to suspend mode if it runs low on power.
Update:Alternatively, some people on the mailing-list made some scripts that should put the current battery state overlay-style on the screen. The one from Dean Jones (local copy), Paul Sladen's duracell.sh script and mine. Take which suits you...
Suspend means that the current state gets written to RAM and that all other parts go to sleep (therefore the moon in the status lamps). The platter spins down, the cpu gets switched off and such. This saves quite a lot of energy so the notebook should survive much longer in this state on battery. Only RAM, the network controller and the system fan are kept running. OK, thats nice already but I would like the thing also to hibernate. This means that the state of the machine gets written to harddrive and the system gets shut down completely. Off. Like in no power. This saves energy ! ;-). And then, when you switch it on again the bios realizes that there is this image of the state and simply loads that and you are running again.

Update: After long and hard tries I managed to get it working by installing Win98 and then use the sleep manager. Then Fn-F12 works: the screen goes weird for a sec and then a progress bar tells you how much of the data (RAM 262208kB, Video-Ram 8192kB, SMRAM 64kB, Other 1024kB = 271488kB) is already written. The writing takes roughly 1min with my 256MB RAM (4.2MB/s) - both ways. The nice part is: after you have suspended and come back 3D through dri still works. One small problem stays though: the backlight is turned off after hibernation, but a short Fn-F4 (suspend to ram) and wake up fixes this.
Update: Paul Sladen has this comment on how to switch on the backlight again:
Power-button (come out of hibernate)
[wait 2minutes]
Touch a key
Press Fn-F3
Put right thumb on front of laptop to stop lid closing fully
Shut + Re-open lid (thumb stops it latching)
Finally (!) :-)

Regarding the development stuff below, he has also some comments and a somewhat working program (!!) on his site too:
Infos about the bios and the header therein and the __TOOL__ acrdisk . Below is my old stuff.

Development: I tried to figure out what the sleep manager does and used this tool (source)to read the cmos settings while toggling hib on and off.What I found out is this:
0x000000: 0x52
0x000002: 0x54
0x000004: 0x17
This is the time, in some obscure format (0x means hex but 0x000000 runs from 0x00 till 0x59 in second tiks)

0x000054: 0x00 -> 0xb3
0x000055: 0x00 -> 0x4b
0x000056: 0x00 -> 0x50
0x000058: 0xaa -> 0x00
0x000059: 0x00 -> 0x08
This means that from without hib file to hib file these places changed. The interesting ones are 54 till 56 and 59. 54-56 denote the block address of the file on the hdd if I'm not too much mistaken and the 59 might mean there is or is no hib file.
If someone can tell me how to figure out what the address might mean I can create a new blank file somewhere on the fat32 partition and insert the 54-56 and 59 values accordingly.
Then I tried some other things to get hibernation. There is something called soft hibernation where the linux kernel itself does this writing to disk and reload at bootup. The thing is called swsusp. You are meant to toggle it via Sysreq-d. What I could figure out this means Alt+Print+d. Works but only with X off in my tries. And some modules have problems being reloaded after the swsusp. I *think* this might works if someone figures out how not to crash the keyboard input (this was my problem with X) and how to load i830 again.

Regarding NOISE: The notebook is really quiet. The fan is temperature controlled and is off most of the time so no noise at all. When the fan gets switched on it spins up to max for 2 secs and then spins down to something pretty quiet, so no problem then too. The cd drive is pretty quiet in normal mode already and there is even the mode "silent" on the bios to get it even more quiet. The harddrive is also quiet. I don't know if it has been tuned to do that (performace management they call it IIRC, there are some tools on ibm's page, the platter section I think) or if this is normal. Anyway, the machine produces __way__ less noise than my desktop machine which is the reason why I wrote all of this on the notebook.     top

DOWNLOADS

Well, here will be the place for the collected download links. For now only my 2.4.21 kernel(5MB bz2) and the sources of my 2.4.21 kernel(40MB bz2, compiled stuff still in there) I have running on my r31. Derived from a knoppix config file, it has the laptop-mode patch in it plus pcmcia-cs-3.2.4 and linux-wlan-ng. This is for testing here, if you have a problem don't hesitate to email r31@rnbhq.org. Instructions are in the tar-ball.
- glxinfo.txt: infos from the graphic card section
- slmdm-2.7.8_debug and slmdm-2.7.9, the modem drivers from the modem section
-XF86Config-4 from the graphic card section

Linux-2.6.x kernel stuff

This will be the place where I will put my preliminary 2.6 results (kernels, configs, etc).
First thing: config-2.6.0
Here is Axel's .config: config-2.6.1-axel
For dri, here is i830-20031109-linux.i386.tar.bz2 (last known to work as I have been told) although I managed to get direct rendering without this by only using the in-kernel i830 and the intel-agp. Therefore I dunno if this is necessary - but here it is :)
    top

Conclusion

I informed myself before I bought this thing. I thought everything would work under linux. OK, that was a little blue eyed of me, but hey, one can dream, can't I? Some glitches are still there (which work under win naturally) but overall this thing works really really well with linux. The usability is really high with it, only minor things make some trouble, but these might be attributable to my stupidity or might gotten out of the way in the future. The machine is solid, has a very good keyboard, the stick works really well and the sound also sounds nice. And black is beautiful! A good buy for linux! Send comments to me, robos, I'll integrate them here then.

Updates
10. Jan. 2004: Added another 2.6.1 .config and mirrored i830-dri package
10. Jan. 2004: Added a 2.6.x section in the download part
25. Nov. 2003: Also slmdm-2.7.10 seems to work
9. Nov. 2003: Paul Sladen also has some comments about irda
9. Nov. 2003: Paul Sladen had some comments on hibernation and links to his site with his tools and infos
7. Nov. 2003: battery state showing scripts added
7. Nov. 2003: some info about pcmcia added
4. Oct. 2003: Added some infos regarding the irda chip to the top of the irda section
24. Aug. 2003: Added download of my 2.4.21 kernel sources
1. July 2003: Added download section where I put up my 2.4.21 kernel
28.6.2003: Some cleanup and news to the svideo doku
26.5.2003: Development ideas for the creation of hib files under linux
26.5.2003: Update about how to spin down the hdd to save some energy
26.5.2003: dmidecode: Program to decode some infos present in the bios
26.5.2003: Update concerning hibernation with the help of Win98 (*shudder*)
26.5.2003: New program which might be helpful
26.5.2003: Update from the mailing list concerning acpi
28.3.2003: Even more Info about how to get s-video working with nvtv with some hints.
10.3.2003: Update about how to get s-video working (if you manage...) with nvtv
10.3.2003: New program found with which you can resize ntfs partition (pretty save).
4.3.2003: Update how to get the irda to work! Yay!
26.2.2003: Update that the modem works nicely
25.2.2003: Info about how to use a usb memory stick, an Update about not being able to use a ultrabay battery, another Update that apci can now (weirdly) work (including Howto) and yet another Update that Etherwake seems to work after all.
5.2.2003: Info about how to use alsa instead of OSS.
3.2.2003: Update about the internal softmodem. THERE IS A DRIVER!
23.12.2002: Update about s-video output
23.12.2002: Update about xinerama|dualhead capabilities
29.11.2002: update about the celeron NOT supporting SpeedStep.
14.11.2002: some update to the i830 chip and the opengl capabilities.
28.10.2002: added some more infos about the pcmcia-slots and the text about the think-light.
22.10.2002: added battery monitor behaviour and clarification regarding pcmcia and ext3 with apm. Thanks Stephan!
21.10.2002: first release top


Last update: Monday, 08-Mar-2004 09:12:56 CET
 
Links

Gnu-Logo
Home

german page for the R31

Stephan's Page

Alex's R31 page

R31 description

R31 user who details a kernel config

intels page on i830MG and linux

xfrees page on i830MG

debian xfree 4.2.1

dri and opengl driver

glx and opengl info

my XF86Config-4

etherwake to send magic packets

new bios

hibernation manager (Win98)

config of irda

thinkpad buttons

trackpoint utility

Partially working
swsusp, linux kernel hibernation

For my TP wrong
cpufrequency control

tpctl for bios fiddling

lphdisk for hibernation partition

IBM driver matrix

Comments, Errata? Contact robos!
Page counter: 81707