[ltp] Linux (Red Hat 9.0) on T40p (2373-G1G to be exact)

Frank Schaeckermann linux-thinkpad@linux-thinkpad.org
Thu, 17 Jul 2003 18:57:42 +0200


Hi everybody!

Here are my 5 cent worth of experience I gathered while getting RH 9.0 
running on my brand new T40p...

First things first: I am NOT using any 3D-games or otherwise 
graphic-heavy programs therefore THAT may be the reason why I am not 
seeing ANY of the mentioned XServer, Screen-blank, hang-on-resume etc. 
problems...

What did I do?

Well... being a newby to Linux (about a month ago ;-)) I got myself 7 
CDs burned from the iso images downloaded from Red Hat.

After some (light) reading I fed them into the ThinkPad and had a 
Linux-Installation that would at least boot without bigger problems.

Built-in Ethernet.and PCMCIA didn't work though. I didn't care to much 
(yet) about the wireless stuff since I don't have any possibility of 
using it anyway. The missing modem driver was a draw-back but than again 
I am havin ISDN at home and my Fritz PCMCIA ISDN card IS supported 
*hurra* The touchpad was disabled in BIOS to get the 3rd mouse button 
working - the synaptics driver was obviously too difficult to handle for 
my limited knowledge - maybe I'll give it another go some time - but the 
touchpad was more in the way than anything else anyway...

During my reading I also learned, that I would need a newer kernel (like 
2.4.21 instead of the one which RH 9.0 comes with) to get 
3D-accellaration and Ultra-DMA working. So - naive as I am - I went out 
and downloaded the 2.4.21-8 source which was supposed to be the 21 
final. Set it all up according to what I read in lots of helpful 
articles on the net and compiled it (the config is quite overwhelming if 
you don't REALLY know what you are doing *grin*). Nevertheless I got the 
kernel compiled and after screwing up LILO on the first try (and using 
the rescue CD to fix it again) it finally booted okay. *being really 
proud of myself here*

Now... Ultra-DMA was easily enabled and checked with hdparm... as for 3D 
accellaration I had no clue how to check if I got what I wanted but 
since I am not using any graphics-heavy programs at the moment it is 
pretty far down the priority list anyway.

The next thing was, that even with the new kernel neither my Ethernet 
nor the PCMCIA would work at all. If I enabled the Ethernet (eth0) my 
machine would start beeping like a car-alarm system... Also the PCMCIA 
support would fail with some cryptic messages (don't forget - my Linux 
knowledge was about 5 days worth of reading and trying things out at 
that point *wink*) suggesting to increase setup_delay. That triggered a 
lot of reading about PCMCIA support (HOWTOS and otherwise) and me trying 
all kinds of parameter changes all over the place. Unfortunately I 
NEEDED to get PCMCIA running since I need the TokenRing PCMCIA card to 
connect to our network at the office.

Close to the point where the frustration rises above the curiosity-level 
I was darn lucky... the enlightenment came in the form of an article 
(http://www.ussg.iu.edu/hypermail/linux/kernel/0306.3/0956.html) stating 
a solution to my exact problem with the PCMCIA!!!! Doing what the 
article suggested (removing one line of code from some source-file of 
the kernel and re-compile) actually made PCMCIA and Ethernet and thus 
Tokenring work like a charm! My life was saved! Finally I was able to 
get a full night sleep again! A little more reading - and trying - and I 
was able to configure the two network devices in a way that allowed me 
to use our company network over the tr0 and connect to my 'old' - to be 
replaced - ThinkPad via eth0 (I am not telling how long it took me to 
figure out that I had to do some tweaking of the ROUTING table to get 
this to work simultanously).

Now having a working Linux ThinkPad with a network connection I was able 
to start playing around with patches like laptop-mode 
(http://kerneltrap.org/node.php?id=653) and wine. I got both working 
okay to the point that I was able to run my Lotus Notes client without 
having to revert to my Windows installation on the 'old' ThinkPad.

At some point though I discovered, that cdrecord would consistently 
freeze the whole machine once it was done burning a CD... therefore I 
backed out of the laptop-mode patch went back to the 2.4.21-8 kernel 
with just my little delete-a-line-and-recompile-fix to see if I could 
get cdrecord working again. To no avail... I figured I must have done 
somehting to the configuration or otherwise since it had worked for me 
before - go figure.

Since humans have at least some pseudo-multi-tasking-abilities, I was - 
at the same time - chewing away on the challenge to get hibernation 
running. Here it was the IBM site giving the helping clue: 
http://www-1.ibm.com/support/docview.wss?uid=psg1MIGR-4PESMK This 
article contains a bootable floppy disk that allows to create a 
hibernation partition that can then be used by the Phoenix-Bios of my 
T40p to suspend to disk... not only a sufficient but also required 
pre-requisite. Now... the T40p doesn't have a floppy drive *sigh* but 
the Red Hat CD 1 was bootable therefore there would sure be a way to 
create an equivalent bootable CD from the floppy disk image. ISOLINUX 
was the solution for THAT (YES... my cdrecord still froze the machine 
every time I used it but the CDs got burned okay anyway). About half an 
hour later my drive had a IBM ThinkPad Hibernation Partition (type a0) 
which I actually created before I booted the CD to have control over the 
size and place on the disk. The hibernation boot CD then just formatted 
the partition and apparently stored the start-sector in some place in 
the system CMOS RAM thus enabling the bios to actually go into 
hibernation. After another re-boot suspend (Fn-F4) and resume as well as 
hibernation (Fn-F12) worked fine and as expected - even though I do a 
'service pcmcia stop' before I hit any of those two key combinations).

In the meantime I was getting arround to signing up on Red Hat Network 
and found out, that there was a long list of erratas to be applied. One 
of them being a 2.4.20-18.9 kernel. Since I didn't have anything to 
loose - and new which file I have to delete the line in to get my PCMCIA 
and eth0 working - I installed ALL of them. Thus I am basically running 
a vanilla Red Hat 9.0 with complete erratas and with the one-line-patch 
and everything works just fine (yes... cdrecord does not freeze the 
machine anymore). There is only one little cave-at... wine would not 
start anymore and consistently bails out with the message

'wine: chdir to /tmp/.wine-xxxx/server-302-154003: No such file or 
directory'

Something that doesn't happen if I boot into the 2.4.21-8 kernel (which 
then makes cdrecord... you know what I mean).

I guess I will have to do more reading to get this wine problem 
straightened out - as soon as I succeeded to get vmware running to do 
the unavoidable windows-stuff and then slowly migrating everything back 
to wine - I know... but I like lean systems - why else would I program 
Palm Pilots in assembler? *wink*

For the sake of completeness I am posting the relevant information of my 
.config file used to compile the 2.4.20-18.9 kernel here hoping that 
maybe some other newbie doesn't have to go through all those pitfalls I 
got wet in to get his new and shiny T40p up and running! Although I 
can't say, that I haven't done something really stupid in some place I 
just haven't discovered yet *grin*

But what is life worth if there isn't anything to learn anymore? 
Speaking of learning... maybe somebody can explain to me why wine and 
cdrecord would only work on disparate kernel versions? But I know... 
this is not a question for THIS mailing list!

Ciao, Frank


CONFIG_X86=y
CONFIG_UID16=y
CONFIG_EXPERIMENTAL=y
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y
CONFIG_MPENTIUM4=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_X86_HAS_TSC=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_PGE=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_F00F_WORKS_OK=y
CONFIG_X86_MCE=y
CONFIG_MICROCODE=y
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_HIGHMEM4G=y
CONFIG_HIGHMEM=y
CONFIG_HIGHPTE=y
CONFIG_HIGHIO=y
CONFIG_MTRR=y
CONFIG_SMP=y
CONFIG_X86_TSC=y
CONFIG_HAVE_DEC_LOCK=y
CONFIG_NET=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_PCI=y
CONFIG_PCI_GOBIOS=y
CONFIG_PCI_BIOS=y
CONFIG_ISA=y
CONFIG_PCI_NAMES=y
CONFIG_HOTPLUG=y
CONFIG_PCMCIA=m
CONFIG_CARDBUS=y
CONFIG_TCIC=y
CONFIG_I82092=y
CONFIG_I82365=y
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y
CONFIG_PM=y
CONFIG_APM=y
CONFIG_APM_DO_ENABLE=y
CONFIG_APM_CPU_IDLE=y
CONFIG_APM_DISPLAY_BLANK=y
CONFIG_APM_RTC_IS_GMT=y
CONFIG_APM_ALLOW_INTS=y
CONFIG_APM_REAL_MODE_POWER_OFF=y
CONFIG_MTD=m
CONFIG_MTD_PARTITIONS=m
CONFIG_MTD_CONCAT=m
CONFIG_MTD_REDBOOT_PARTS=m
CONFIG_MTD_CHAR=m
CONFIG_MTD_BLOCK=m
CONFIG_MTD_BLOCK_RO=m
CONFIG_FTL=m
CONFIG_NFTL=m
CONFIG_NFTL_RW=y
CONFIG_MTD_CFI=m
CONFIG_MTD_JEDECPROBE=m
CONFIG_MTD_GEN_PROBE=m
CONFIG_MTD_CFI_ADV_OPTIONS=y
CONFIG_MTD_CFI_NOSWAP=y
CONFIG_MTD_CFI_INTELEXT=m
CONFIG_MTD_CFI_AMDSTD=m
CONFIG_MTD_RAM=m
CONFIG_MTD_ROM=m
CONFIG_MTD_ABSENT=m
CONFIG_MTD_PCI=m
CONFIG_MTD_BLKMTD=m
CONFIG_MTD_NAND=m
CONFIG_MTD_NAND_ECC=y
CONFIG_MTD_NAND_VERIFY_WRITE=y
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
CONFIG_PARPORT_PC_CML1=y
CONFIG_PARPORT_SERIAL=m
CONFIG_PARPORT_1284=y
CONFIG_PNP=y
CONFIG_ISAPNP=y
CONFIG_BLK_DEV_FD=m
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
CONFIG_BLK_STATS=y
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_NETLINK_DEV=m
CONFIG_FILTER=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_TUX=m
CONFIG_TUX_EXTCGI=y
CONFIG_TUX_EXTENDED_LOG=y
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=m
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_IDEDISK_STROKE=y
CONFIG_BLK_DEV_IDECS=m
CONFIG_BLK_DEV_IDECD=m
CONFIG_BLK_DEV_IDEFLOPPY=m
CONFIG_BLK_DEV_IDESCSI=m
CONFIG_IDE_TASK_IOCTL=y
CONFIG_BLK_DEV_ISAPNP=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_BLK_DEV_PIIX=y
CONFIG_BLK_DEV_RZ1000=y
CONFIG_IDEDMA_AUTO=y
CONFIG_BLK_DEV_IDE_MODES=y
CONFIG_SCSI=m
CONFIG_BLK_DEV_SD=m
CONFIG_SD_EXTRA_DEVS=40
CONFIG_BLK_DEV_SR=m
CONFIG_SR_EXTRA_DEVS=2
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_DEBUG_QUEUES=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_TUN=m
CONFIG_NET_ETHERNET=y
CONFIG_E1000=m
CONFIG_PLIP=m
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_NET_RADIO=y
CONFIG_HERMES=m
CONFIG_NET_WIRELESS=y
CONFIG_TR=y
CONFIG_NET_PCMCIA=y
CONFIG_PCMCIA_IBMTR=m
CONFIG_IRDA=m
CONFIG_IRLAN=m
CONFIG_IRNET=m
CONFIG_IRCOMM=m
CONFIG_IRDA_ULTRA=y
CONFIG_IRDA_CACHE_LAST_LSAP=y
CONFIG_IRDA_FAST_RR=y
CONFIG_IRTTY_SIR=m
CONFIG_IRPORT_SIR=m
CONFIG_ISDN=m
CONFIG_ISDN_BOOL=y
CONFIG_ISDN_PPP=y
CONFIG_ISDN_PPP_VJ=y
CONFIG_ISDN_MPP=y
CONFIG_ISDN_PPP_BSDCOMP=m
CONFIG_ISDN_AUDIO=y
CONFIG_ISDN_TTY_FAX=y
CONFIG_ISDN_DRV_LOOP=m
CONFIG_ISDN_DRV_HISAX=m
CONFIG_ISDN_HISAX=y
CONFIG_HISAX_MAX_CARDS=8
CONFIG_HISAX_AVM_A1_PCMCIA=y
CONFIG_HISAX_AVM_A1_CS=m
CONFIG_ISDN_CAPI=m
CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
CONFIG_ISDN_CAPI_CAPI20=m
CONFIG_ISDN_CAPI_CAPIDRV=m
CONFIG_INPUT=m
CONFIG_INPUT_KEYBDEV=m
CONFIG_INPUT_MOUSEDEV=m
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_EVDEV=m
CONFIG_VT=y
CONFIG_ECC=m
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
CONFIG_PRINTER=y
CONFIG_PPDEV=m
CONFIG_TIPAR=m
CONFIG_MOUSE=m
CONFIG_PSMOUSE=y
CONFIG_NVRAM=m
CONFIG_RTC=m
CONFIG_AGP=y
CONFIG_DRM=y
CONFIG_DRM_NEW=y
CONFIG_DRM_RADEON=m
CONFIG_PCMCIA_SERIAL_CS=m
CONFIG_AUTOFS4_FS=m
CONFIG_REISERFS_FS=m
CONFIG_REISERFS_PROC_INFO=y
CONFIG_EXT3_FS=y
CONFIG_JBD=y
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_CRAMFS=m
CONFIG_TMPFS=y
CONFIG_RAMFS=y
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_NTFS_FS=m
CONFIG_PROC_FS=y
CONFIG_DEVPTS_FS=y
CONFIG_ROMFS_FS=m
CONFIG_EXT2_FS=y
CONFIG_UDF_FS=m
CONFIG_UDF_RW=y
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFSD=m
CONFIG_NFSD_V3=y
CONFIG_SUNRPC=m
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_SMB_FS=m
CONFIG_SMB_NLS_DEFAULT=y
CONFIG_SMB_NLS_REMOTE="cp850"
CONFIG_ZISOFS_FS=y
CONFIG_PARTITION_ADVANCED=y
CONFIG_MSDOS_PARTITION=y
CONFIG_LDM_PARTITION=y
CONFIG_SMB_NLS=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_UTF8=y
CONFIG_VGA_CONSOLE=y
CONFIG_VIDEO_SELECT=y
CONFIG_VIDEO_IGNORE_BAD_MODE=y
CONFIG_SOUND=m
CONFIG_SOUND_ICH=m
CONFIG_SOUND_OSS=m
CONFIG_SOUND_DMAP=y
CONFIG_SOUND_SB=m
CONFIG_USB=m
CONFIG_USB_DEVICEFS=y
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_UHCI=m
CONFIG_USB_STORAGE=m
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_DPCM=y
CONFIG_USB_HID=m
CONFIG_USB_HIDINPUT=y
CONFIG_USB_HIDDEV=y
CONFIG_USB_SCANNER=m
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_KLSI=m
CONFIG_BLUEZ=m
CONFIG_BLUEZ_L2CAP=m
CONFIG_BLUEZ_SCO=m
CONFIG_BLUEZ_RFCOMM=m
CONFIG_BLUEZ_RFCOMM_TTY=y
CONFIG_BLUEZ_BNEP=m
CONFIG_BLUEZ_BNEP_MC_FILTER=y
CONFIG_BLUEZ_BNEP_PROTO_FILTER=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m