I got Compaq Presario M2000 in July 2005, with Windows XP Home preinstalled. I installed Fedora Core 4 from the CDs. A number of WWW pages provided useful hints for the installation, the wireless and the sound.
The bottomline: This laptop works reasonably well with Linux FC4. Later, I upgraded to FC5 and FC6 without a problem.
Processor | Intel™ Celeron™ M processor 1.50GHz |
Memory | 256 MB DDR SDRAM (two slots, 1 GB max.) |
Harddisk | 40 GB (4200 rpm) |
Display | 15.0" TFT XGA (1024x768) |
Graphics Card | Intel™ Extreme Graphics 2 |
CD | DVD/CD-RW Combo Drive |
Network Interfaces | built-in V92 modem, built-in 10/100 LAN Ethernet, built-in Wireless Broadcom BCM4306 802.11b/g |
Here is the output of lspci -v.
I made a double boot machine. In order to shrink the XP partition I used Partition Magic.
I copied the iso images and wrote them to CD-s on a somewhat old burner. Whatever I tried with the cdrecord parameters, the installation checksum check was giving a fault. I used the recommended way to bypass is: start installation with a parameter: linux ide=nodma . After installing the system I removed the boot parameter ide=nodma in grub.conf. Another problem I met was when I selected a lot of packages, the installation was getting stuck after installing quite a lot. Perhaps, the last records on the CD-s were somehow corrupted. I used the "Manual Installation" and partitioned the disk as follows:
Disk /dev/hda: 40.0 GB, 40007761920 bytes 255 heads, 63 sectors/track, 4864 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 1275 10241406 7 HPFS/NTFS /dev/hda2 1276 1288 104422+ 83 Linux /dev/hda3 1289 1670 3068415 83 Linux /dev/hda4 1671 4864 25655805 5 Extended /dev/hda5 1671 2307 5116671 83 Linux /dev/hda6 2308 2817 4096543+ 83 Linux /dev/hda7 2818 3072 2048256 82 Linux swap / Solaris /dev/hda8 3073 3199 1020096 83 Linux /dev/hda9 3200 4864 13374081 83 Linux
I upgraded all FC4 packages including the kernel.
Subsystem | Status | Efforts | |
---|---|---|---|
Display | 3 | 0 | |
Ethernet | 3 | 0 | |
built-in WLAN | 3 | 1 | |
PCMCIA WLAN Orinoco | 3 | 0 | |
Sound | 3 | 2 | |
Sound buttons | 0 | 0 | |
USB | 3 | 0 | |
Modem | 0 | 2 |
Here is the file m2000_xorg.conf.
Broadcom is (was!) not supported in Linux, therefore I used ndiswrapper. I untared the tar-ball, and ran make and make install. The kernel structure (see the ndsiwrapper installation guide) had been already in place. This structure is normally installed with kernel-devel-VERSION.rpm. The program gave a warning that the kernel was compiled with a 4k stack and the Windows driver may fail (hang up the system). It was suggested to recompile the kernel. Fortunately, it turned out that the driver I used did not overfill the stack. Using lspci -n -v I found the PCI device number - 14e4:4320. I downloaded a driver for the BCM4306 with this number (for a different laptop). It did not work. I booted into XP, found the driver files for the WLAN, copied them on a USB stick and transferred to Linux (to, say, ~/xp-drivers/):
-r--r--r-- 1 root root 1207982 Jul 28 01:48 bcmwl5.inf -r--r--r-- 1 root root 704008 Jul 28 01:48 bcmwl5.pnf -r--r--r-- 1 root root 341760 Jul 28 01:48 bcmwl5.sys
In the directory with these files (~/xp-drivers/) I typed: ndiswrapper -i bcmwl5.inf and then modprobe ndiswrapper. Later, I used the command ndiswrapper -m to update the file /etc/modprobe.conf.
The ifcfg-wlan0 file looks as:IPV6INIT=no ONBOOT=no USERCTL=yes PEERDNS=yes GATEWAY= TYPE=Wireless DEVICE=wlan0 BOOTPROTO=dhcp NETMASK= DHCP_HOSTNAME= IPADDR= DOMAIN= ESSID= CHANNEL=1 MODE=Managed HWADDR=The result of iwconfig wlan0 is here:
wlan0 IEEE 802.11g ESSID:"XXXXX" Nickname:"localhost.localdomain" Mode:Managed Frequency:2.442 GHz Access Point: 00:0X:XX:00:XX:XX Bit Rate=54 Mb/s Tx-Power:25 dBm RTS thr=2347 B Fragment thr=2346 B Power Management:off Link Quality:100/100 Signal level:-59 dBm Noise level:-256 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:3 Invalid misc:1002 Missed beacon:0Command ifup wlan0 brings the interface up. There is a ON/OFF wireless button. After turning the button OFF and ON, the interface seems to get stuck and I have to restart it: ifdown wlan0; ifup wlan0.
After installing new kernel versions one may need to recompile ndiswrapper
> cd ndiswrapper-VERSION > make distclean > make > make install > cd ~/xp-drivers > ndiswrapper -i bcmwl5.inf
> yum install cabextract (if it is missing, of course) > yum install bcm43xx-fwcutter (if it is missing, of course) > cd ~/Downloads/; mkdir sp30381 ; cd sp30381; cabextract ../sp030381.exe (unpacking the driver) > bcm43xx-fwcutter -w /lib/firmware/ bcmwl5.sys (extracting the firmware and installing it)Running:
> ifup eth1 (yes, it is mapped to eth1, not to wlan0)There is no need for ndiswrapper anymore, and hopefully no need to adjust for new kernel versions.
rmmod snd_intel8x0 modprobe snd_intel8x0The /etc/modprobe.conf files looks as:
alias eth0 8139too # start of new hack alias snd-card-0 snd-intel8x0 alias snd-slot-0 snd-intel8x0 options snd-card-0 index=0 # Emulation OSS alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss # end of new hack #alias snd-card-0 snd-intel8x0 #options snd-card-0 index=0 #options snd-intel8x0 index=0 #remove snd-intel8x0 { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-intel8x0 alias usb-controller ehci-hcd alias usb-controller1 uhci-hcd alias ieee1394-controller ohci1394 alias wlan0 ndiswrapper
slamr: Unknown symbol get_device slamr: Unknown symbol put_device slamr: Unknown symbol device_release_driverI gave up for the moment...