Linux on the Dell Inspiron 7000 laptop

by Rick Moen, rick@linuxmafia.com




Table of Contents




Introduction

I've been running Linux on my Dell Inspiron 7000 laptop since forever (and never ran anything else but Linux on it), so this can't be your typical "Behold my struggles getting Linux distribution [foo] running" account. Instead, I'll give tips for other Inspiron 7000 owners, aiming at usability with any Linux or *BSD.

Likewise, I'm hoping to illustrate key points, generally: how to identify any laptop's hardware chipsets and find / configure drivers for them. When you reach the latter step, my help-resources link farm lists all the main Linux hardware-info sites.

If you're looking for a punch line about the Inspiron 7000: Linux supports everything perfectly. No problems.




Inspiron 7000 on the Surface

Let's say someone gives you a Dell Inspiron 7000 laptop and you want to put Linux on it. You know little about it, except it's heavy (massing 4 kg, or about 8.8 lb), reasonably fast for its age (it being about a 1998 model: PII/366 w/128 MB SDRAM), and has a nice, bright, large (380 mm diagonal measure, or about 15") display.

This laptop was actually manufactured by Compal Electronics of Taiwan: People who purchased a Sceptre SoundX 6500 or ARM Armnote TS30i2 acquired the exact same machine, rebranded (in some cases with a slight difference in screens or other options).

It sports a CD-ROM and floppy drive subassembly. Data I/O ports are two PCMCIA sockets, S-Video out (either NTSC or PAL, BIOS-switchable), VGA out, Centronics DB25 parallel, RS-232C DB9 serial, proprietary docking connector, USB, and PS/2. Sound connectors (all mini jacks): headphone (with a volume knob), microphone, and line in. The floppy / CD-ROM assembly can unplug and be replaced with a second lithium ion battery for longer runtime, or with a floppy / DVD-ROM assembly. There are top-deck LED indicators for Number Lock, Scroll Lock, and Capslock. There are front-panel LEDs for power-on, for HD activity, and for battery charge or discharge mode. On the floppy / CD assembly, there are activity lights for each. There are doors on the bottom for access to a (I guess replaceable) VGA subboard, the two outside-accessible SDRAM slots, and the swappable hard drive.

There is a security cable slot (right side, near rear) to attach antitheft devices.

The Inspiron product line is targeted generally at home users, as opposed to the Dimension series intended for business use. So, I've always assumed this to be less-rugged laptop and treated it gently — but it's held up quite well, the major weakness being the unit's slightly cheesy and flimsy plastic keyboard, which is is also a key entry point for dirt, cat hairs, or (God forbid) spilled drinks into the machine's innards. Keep the top deck clean, and the unit will last longer. (Obstructing airflow with debris will tend to cause the unit to overheat and die. Once I realised this problem, I had mine professionally disassembled and cleaned.)

Note that there's a fan exhaust port in the right rear, and an intake port on the middle right side. Make sure these are never blocked, in operation! This rather hot-running unit is best used in contact with a heat-conducting surface in contact with the hard drive area in the bottom centre, the warmest region: Although I use the laptop on my lap (thus the name), I'm aware this worsens the heat-buildup problem. Avoid the error of leaving it running on a blanket-shrouded bed.

There's a built-in condenser microphone behind the keyboard in the middle of the upper deck, speakers on both sides near the front, and an automatic standby-mode / video-blanking switch near the microphone. In addition to the speaker volume control knob, Fn PageDown lowers volume, and Fn PageUp increases volume. Fn End is a toggle that enables/disables both the microphone and the speakers.

It should be noted that the speakers are also cut-rate and almost inaudible. You'll want to use headphones.

The power-on/off switch in the middle front also serves to kick the machine out of either suspend or standby modes — about which more below.

All that having been said, I don't want to damn this unit with faint praise: It's been a well-rounded, capable machine through many years of service. It's my main console for computing operations.




Software-Level Inspection

I bought my Inspiron 7000 used with no manual, no Dell-issued "System Utilities Diskette", no "Dell Inspiron 7000 Series System Software CD", and no OS load. So, I figured things out from there. Although I no longer remember details, here's how one might do it today:

By booting a Knoppix, LNX-BBC, Tom's Root-Boot, or similar Linux standalone maintenance disk (see Resources), you can use Linux to inspect the hardware (without having to install Linux to the hard drive). "lspci" gives you an overview of key devices assigned identities and hardware resources:

guido:~# lspci
00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)
00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)
00:04.0 CardBus bridge: Texas Instruments PCI1220 (rev 02)
00:04.1 CardBus bridge: Texas Instruments PCI1220 (rev 02)
00:07.0 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02)
00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01)
00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02)
00:08.0 Multimedia audio controller: ESS Technology ES1968 Maestro 2
01:00.0 VGA compatible controller: ATI Technologies Inc 3D Rage LT Pro AGP-133 (rev dc)

Running "lspci" with the "-v" or "-vv" reveals increasingly gruesome amounts of hardware detail about PCI devices. A word about how this works: At manufacture, each new type of PCI device is encoded with a unique PCI ID number.

The same command run with "-n" (show numeric PCI IDs instead of names) reveals:

guido:~# lspci -n
00:00.0 Class 0600: 8086:7190 (rev 03)
00:01.0 Class 0604: 8086:7191 (rev 03)
00:04.0 Class 0607: 104c:ac17 (rev 02)
00:04.1 Class 0607: 104c:ac17 (rev 02)
00:07.0 Class 0680: 8086:7110 (rev 02)
00:07.1 Class 0101: 8086:7111 (rev 01)
00:07.2 Class 0c03: 8086:7112 (rev 01)
00:07.3 Class 0680: 8086:7113 (rev 02)
00:08.0 Class 0401: 125d:1968
01:00.0 Class 0300: 1002:4c42 (rev dc)

Thus, the laptop's video device, PCI ID #1002 subclass 4d42, is an ATI Technologies, Inc. Rage LT Pro AGP 2X AGP-133 (revision dc). The latter information gets derived from a lookup table, /usr/share/misc/pci.ids , maintained by hardware expert volunteer Martin Mares at http://pciids.sf.net/. If your "lspci" output is revealing too many "Unknown device" entries, you can get the latest pci.ids version from there.

Not surprisingly, "lspnp" and "pnpdump" display no hardware information. In other words, as expected, there are no ISA Plug and Play devices: Because I have the only ISA devices (serial port, infrared port, and parallel port) set to "Customize" instead of "Auto", the ISA Plug and Play controller chip is switched off and doesn't manage hardware resources.




Detailed Examination of the Chipsets using Linux Diagnostic Software




Motherboard

Lilla Slater's page (see Resources) says the motherboard chipset is Intel's very successful 82440BX (aka "440BX", for Pentium II class CPUs) configured to run a 66 MHz front-side bus (although that chipset can support 100 MHz). It uses standard 144-pin 66 MHz non-parity SDRAM SO-DIMMs available from most RAM vendors (e.g., Kingston model KTD-INSP/128), maxing out at 384 MB if upgraded. (You would need to resize the suspend-to-disk file, which is big enough only for the default 128 MB configuration + 2 MB to handle video memory and additional system requirements — which default RAM complement is enough for me, so I've never upgraded.) There's said to be a hidden "factory-access-only" memory slot with 64 MB in it (accessible only by removing the keyboard and some other internal parts), plus two user-accessible slots reachable from the bottom, one equipped with a 64MB stick, the other open. Thus, putting an 128 MB stick in each socket yields 128 x 3 = 384 MB.

There's a main BIOS chip (on my machine, revision A08) and a keyboard BIOS. The former is flashable; the latter is not.




Examining /proc

Entries in the "/proc" abstract/informational filesystem can tell you a great deal about the hardware in an unfamiliar system. Remember, all you need to carry out such an examination is a standard, downloadable Linux maintanence floppy or CDR.

/proc/cpuinfo reveals: One Intel Mobile Pentium II stepping 10 CPU running at 366 MHz with 256 kB cache. /proc/meminfo shows 128 MB. /proc/devices claims among other things an ataraid device!

/proc/interrupts shows IRQ (hardware interrupt) assignments as follows:

           CPU0       
  0:      48849          XT-PIC  timer
  1:       1871          XT-PIC  keyboard
  2:          0          XT-PIC  cascade
  3:        107          XT-PIC  orinoco_cs
  5:          0          XT-PIC  ESS Maestro 2
  8:          4          XT-PIC  rtc
 11:          8          XT-PIC  i82365, usb-uhci
 12:       2849          XT-PIC  PS/2 Mouse
 14:     105413          XT-PIC  ide0
 15:          2          XT-PIC  ide1
NMI:          0 
LOC:          0 
ERR:          0
MIS:          0

The above doesn't include the hardware-level assignment of IRQs 4, 3, and 7 to the infrared port, serial port, and parallel port, respectively. (In other words, don't assume that the PCI controller chip, from which this information comes, knows all and sees all.)

Also, if you're puzzled by references to "orinoco_cs" in the above listing and in other places below, it reflects the presence of my PCMCIA-type Lucent WaveLAN Gold "ORiNOCO" 802.11b wireless ethernet card. ("_cs" is for "Card Services", the Linux system-software layer supporting PCMCIA devices.)

/proc/ioports shows assignments of I/O base addresses:

0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0100-013f : orinoco_cs
0170-0177 : ide1
01f0-01f7 : ide0
02e8-02ef : serial(set)
02f8-02ff : serial(auto)
0376-0376 : ide1
0378-037a : parport0
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial(set)
0cf8-0cff : PCI conf1
2180-219f : Intel Corp. 82371AB PIIX4 ACPI
8000-803f : Intel Corp. 82371AB PIIX4 ACPI
e000-efff : PCI Bus #01
  e800-e8ff : ATI Technologies Inc 3D Rage LT Pro AGP-133
f800-f8ff : ESS Technology ES1968 Maestro 2
  f800-f8ff : ESS Maestro 2
fcd0-fcdf : Intel Corp. 82371AB PIIX4 IDE
  fcd0-fcd7 : ide0
  fcd8-fcdf : ide1
fce0-fcff : Intel Corp. 82371AB PIIX4 USB
  fce0-fcff : usb-uhci

/proc/modules on my completed system gives us a preview of the Linux drivers required:

nls_iso8859-1           2880   0 (autoclean)
orinoco_cs              4680   2
orinoco                29568   0 [orinoco_cs]
hermes                  3296   0 [orinoco_cs orinoco]
ds                      6624   2 [orinoco_cs]
i82365                 22384   2
pcmcia_core            41376   0 [orinoco_cs ds i82365]
apm                     9116   2 (autoclean)
usb-uhci               20676   0 (unused)
maestro                27456   0
soundcore               3204   2 [maestro]
ide-scsi                7456   0
agpgart                29792   0 (unused)
parport_pc             25672   1 (autoclean)
lp                      6880   0 (autoclean)
parport                21696   1 (autoclean) [parport_pc lp]
usb-storage            97120   0 (unused)
usbcore                48000   1 [usb-uhci usb-storage]

The left column gives the names of kernel modules (kernel-level drivers) that are currently loaded in the running kernel. I think the second column is some sort of size indicator, in bytes. The third column is reference count — how many other modules, if any, are relying on and using the indicated module. The fourth (right) column lists the names of those other modules, if any.

For the benefit of Linux newcomers: Note that I distinguish, here, kernel-level drivers from non-kernel drivers. Most hardware's support in Linux operates at the kernel level, but notable exceptions — hardware support operating in "userspace" — include printer "drivers" (more properly called filters in that context) and X11 server binaries (graphics engine software) for your video hardware.

/proc/pci has:

PCI devices found:
  Bus  0, device   0, function  0:
    Host bridge: Intel Corp. 440BX/ZX - 82443BX/ZX Host bridge (rev 3).
      Master Capable.  Latency=64.  
      Prefetchable 32 bit memory at 0xe0000000 [0xe3ffffff].
  Bus  0, device   1, function  0:
    PCI bridge: Intel Corp. 440BX/ZX - 82443BX/ZX AGP bridge (rev 3).
      Master Capable.  Latency=128.  Min Gnt=140.
  Bus  0, device   4, function  0:
    CardBus bridge: Texas Instruments PCI1220 (rev 2).
      IRQ 11.
      Master Capable.  Latency=168.  Min Gnt=192.Max Lat=7.
      Non-prefetchable 32 bit memory at 0x10000000 [0x10000fff].
  Bus  0, device   4, function  1:
    CardBus bridge: Texas Instruments PCI1220 (#2) (rev 2).
      IRQ 11.
      Master Capable.  Latency=168.  Min Gnt=192.Max Lat=7.
      Non-prefetchable 32 bit memory at 0x10001000 [0x10001fff].
  Bus  0, device   7, function  0:
    Bridge: Intel Corp. 82371AB PIIX4 ISA (rev 2).
  Bus  0, device   7, function  1:
    IDE interface: Intel Corp. 82371AB PIIX4 IDE (rev 1).
      Master Capable.  Latency=64.  
      I/O at 0xfcd0 [0xfcdf].
  Bus  0, device   7, function  2:
    USB Controller: Intel Corp. 82371AB PIIX4 USB (rev 1).
      IRQ 11.
      Master Capable.  Latency=64.  
      I/O at 0xfce0 [0xfcff].
  Bus  0, device   7, function  3:
    Bridge: Intel Corp. 82371AB PIIX4 ACPI (rev 2).
      IRQ 9.
  Bus  0, device   8, function  0:
    Multimedia audio controller: ESS Technology ES1968 Maestro 2 (rev 0).
      IRQ 5.
      Master Capable.  Latency=64.  Min Gnt=2.Max Lat=24.
      I/O at 0xf800 [0xf8ff].
  Bus  1, device   0, function  0:
    VGA compatible controller: ATI Technologies Inc 3D Rage LT Pro AGP-133 (rev 220).
      IRQ 11.
      Master Capable.  Latency=66.  Min Gnt=8.
      Non-prefetchable 32 bit memory at 0xfd000000 [0xfdffffff].
      I/O at 0xe800 [0xe8ff].
      Non-prefetchable 32 bit memory at 0xfedfe000 [0xfedfefff].

Notice that there are two PCI buses (00 and 01) and that the second bus has only the ATI Rage LT Pro 2X AGP-133 video device on it.

/proc/bus/usb/devices has (with nothing plugged into the USB port):

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 0.00
S:  Product=USB UHCI Root Hub
S:  SerialNumber=fce0
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms

Notice that the USB controller chip, elsewhere revealed to be an Intel Corp. 82371AB chip (part of the 440BX motherboard's PIIX4 South Bridge chip collection), is specifically listed as a "UCHI"-type chip. There are two classes of USB chips requiring different drivers: UHCI (Intel) or OHCI-class (Compaq and others), requiring the Linux usb-uhci or usb-ohci kernel driver, respectively.

/proc/ide/piix is interesting:

                                Intel PIIX4 Ultra 33 Chipset.
--------------- Primary Channel ---------------- Secondary Channel -------------
                 enabled                          enabled
--------------- drive0 --------- drive1 -------- drive0 ---------- drive1 ------
DMA enabled:    no               no              no                no 
UDMA enabled:   yes              no              no                no 
UDMA enabled:   2                X               X                 X
UDMA
DMA
PIO

So, the Intel Corp. 82371AB chip, part of the motherboard's PIIX4 South Bridge chip cluster, is rated for ATA/33 / UltraDMA operation, and drives two ATA ("IDE") drive chains. Looking at the rest of the /proc/ide entries:

rick@guido:/proc/ide$ ls -al
total 0
dr-xr-xr-x    4 root     root            0 Jul 31 15:15 .
dr-xr-xr-x   67 root     root            0 Jul 15 00:37 ..
-r--r--r--    1 root     root            0 Jul 31 15:15 drivers
lrwxrwxrwx    1 root     root            8 Jul 31 15:15 hda -> ide0/hda
lrwxrwxrwx    1 root     root            8 Jul 31 15:15 hdc -> ide1/hdc
dr-xr-xr-x    3 root     root            0 Jul 31 15:15 ide0
dr-xr-xr-x    3 root     root            0 Jul 31 15:15 ide1
-r--r--r--    1 root     root            0 Jul 31 15:15 piix

...it's obvious that the hard drive is /dev/hda and the CD is /dev/hdc.

/proc/ide/ide0/hda/model says "IBM-DYLA-28100" (a bog-standard IBM ATA = IDE hard drive), and /proc/ide/ide0/hda/settings produces a voluminous report of ATA settings that amount to "very conservative, no DMA, not souped up".

/proc/ide/ide1/hdc/model says "CD-ROM CDR_U241" (a Torisan ATAPI CD and floppy combo drive for laptops). /proc/ide/ide0/hda/settings has the very same conservative defaults.




Video

The video chip is: ATI Technologies, Inc. Rage LT Pro AGP 2X AGP-133 (revision dc) . It sports 8MB of SGRAM (fast!). Specs say the combo of chipset + LCD screen is good for 1024x768 at 32-bit colour, at 85 Hz vertical refresh — which is exactly what I use.

X11 support for the chipset hasn't been a problem for a long time. At the moment, I'm using XFree86 Version 4.2.1.1 using the ati_drv driver and some of its submodules. Selected comments from the X11 startup log:

(--) ATI(0): 1024x768 panel (ID 4) detected.
(--) ATI(0): Panel model LG LP141X2-A.
(--) ATI(0): Panel clock is 65.146 MHz.
(II) ATI(0): Using digital flat panel interface.
(II) ATI(0): Storing hardware cursor image at 0xFD7FFC00.
(II) ATI(0): Using 8 MB linear aperture at 0xFD000000.
(!!) ATI(0): Virtual resolutions will be limited to 8191 kB
 due to linear aperture size and/or placement of hardware cursor image area.
(--) ATI(0): 8192 kB of SGRAM (1:1) detected (using 8191 kB).



External video

Fn F8 toggles among external monitor only, internal LCD panel only, and both.




S-Video

I've never had occasion to use the S-Video (analogue) output jack, but am told that the GATOS Project's add-on drivers for X11 probably enable support for it. Note: If you can't make this work, my sympathies but I can't help you, having no relevant knowledge.

Unfortunately, legal pressure from litigious and overbearing Hollywood studios (possible DMCA threats), and resulting contractual restrictions on ATI (imposed on them by Macrovision, Inc.), preventing ATI from giving out useful specifications for the TV-out programing interface, has made this a difficult issue.




Sound

ESS Maestro-2 wavetable sound system chip, requiring the kernel's standard "maestro" driver. You might need the following in /etc/pcmcia/config.opts:

   exclude port 0x200-0x27f, port 0x300-0x3ff
   exclude irq 5



Hard Disk

8 GB ATA ("IDE"). Want a bigger hard drive? You can. Basically any 63.5 mm (2.5") -platter PATA ("IDE") notebook hard drive will be plug-compatible.

You can safely improve HD performance by enabling UltraDMA mode 2 (ATA/66), 32-bit I/O mode 3, unmasking other interrupts during processing of disk interrupts enabled, number of sectors fetched during each I/O interrupt equal to 16, and enable use of DMA, as follows, during each boot-up:

hdparm -X66 -d1 -u1 -m16 -c3 /dev/hda

Please note that these and other performance improvements are disabled by default in practically all Linux distributions because of the existence of particular buggy ATA chipsets (within other motherboards, not the 440BX) on which hdparm tweaking causes seize-ups or (worse) random data corruption. Be careful.

I suppose you could similarly attempt to soup up CD-ROM performance, but I haven't bothered trying.




USB

As noted, the Intel 82371AB chip is a "UCHI"-type chip, requiring the Linux usb-uhci driver. You'll probably also want to mount the USB device filesystem (an abstract informational filesystem, somewhat like /proc) onto /proc/bus/usb, e.g., with this line in /etc/fstab:

none            /proc/bus/usb   usbdevfs defaults       0      0

That and the usb-uhci driver give you basic USB support. Further functionality, such as mounting USB flash drives as mass storage, for example, would require additional kernel drivers (such as usb-storage for mass-storage devices).

If you think driver support for your device ought to work, but the kernel just doesn't seem to recognise it, and especially if your USB device is new to the market, you may need to add its USB major and minor numbers to the kernel USB layer's "Unusual Device" file and recompile. (See Resources.)

There is no boot support in the model 7000's BIOS for USB devices.




PCMCIA

Both slots are 32-bit ("CardBus"), type II. Bottom one (slot 0) is said to be "ZV-capable" (Zoomed Video, a way for PCMCIA cards to write video data directly to the system VGA controller). Chipset is a Texas Instruments PCI1220, which is supported by pcmcia-cs (PCMCIA Card Services) version 3.0.6 or later, easily satisfied by any recent Linux distribution. There is no boot support in the model 7000's BIOS for PCMCIA-attached devices.




Touchpad

It's a Synaptics PS/2 two-button touchpad, about the least challenging piece of hardware on earth to support. Don't forget to emulate the (absent) third button for X11.

The main problem with the touchpad, aside from getting used to it and not making the pointer skitter with accidental finger contact, is moist fingers: If you use the touchpad with wet fingers, expect it to misbehave until it completely dries of its own accord.




Keyboard

From the software perspective, it's a standard PS/2 keyboard, and thus no trouble at all. As a matter of mechanics, the keyboard will occasionally give you trouble: Either some object will jam under a key, impairing its functioning, or a keycap will come partially or completely loose. Either way, you'll have to learn the fine art of key reattachment.

The underside of each key has two sets of plastic prongs that engage wire holders on the computer's upper deck. Be very gentle: If you break a prong, it may become a dead key. Tweezers and/or a jeweler's screwdriver may be your best tools.




Serial port, infrared port, internal winmodem, and parallel port

I set all of these ISA ports (except the winmodem, omitted from my system) to "Customized" in the BIOS, and thus specify their IRQs, I/O base addresses, and (where applicable) DMA channels manually. My assumption is that the alternative "Auto" setting puts those resource assignments under the control of an ISA Plug and Plug controller chip. It's been my experience that ISA PnP never worked properly, so I disable it out of habit.

/proc/tty/driver/serial suggests there are two serial devices:

  0: uart:16550A port:3F8 irq:4 baud:9600 tx:3 rx:0 
  1: uart:16550A port:2F8 irq:3 baud:9600 tx:3 rx:0 

The first of those (/dev/ttyS0 aka COM1) is the infrared (IR) network port; the second (/dev/ttyS1 aka COM2) is the DB9 serial port.

Some Inspiron 7000 units also have an ActionTec-branded, internal, Agere Systems / Lucent LT-chipset winmodem, with the connector on the middle of the right side. Mine doesn't, and so has a plastic cover over where the winmodem's RJ-11 jack would be.

Many people in on-line commentary believe (and claim) that the infrared port (left rear), when used, conflicts with either the /dev/ttyS0 serial port, the /dev/lp0 parallel port, or both, over hardware resources. That appears to be not the case; people got confused by IRQ shortages, or by autoshifting of hardware resources if you leave the BIOS settings at the factory-default "Auto" setting.

I see in Dell's tech notes (see Resources) that the IR port is IrDA 1.1-compliant. Devices you point at it should ideally be within a 30 degree cone.

You might need the following in /etc/pcmcia/config.opts:

   exclude port 0x3f8-0x3ff, port 0x2f8-0x2ff
   exclude irq 4
   exclude irq 3
   

I have not yet tried IrDA-port communication, but will revise this page when I do. Online notes suggest trying the Standard Infrared = SIR mode in the BIOS first, before Fast Infrared = FIR. In FIR mode (but not SIR), one picks a DMA channel: DMA3 appears to be available and suitable. (Note that you shouldn't pick DMA2, because that's used for the floppy drive.)

The parallel port, configurable in the BIOS, is ECP/EPP-capable. I leave that set to ECP.

You might need the following in /etc/pcmcia/config.opts:

   exclude port 0x378-0x37a
   exclude irq 7
   

The BIOS setttings include a DMA channel: DMA0 appears to be available and suitable. (Note that you shouldn't pick DMA2, because that's used for the floppy drive.)




PS/2 port

I'm told that the 7000's PS/2 port does support Y-adapter cables to connect both external mice and external keyboards simultaneously, even though earlier Dell models didn't. The Dell's built-in keyboard and touchpad are good enough for me.




ACPI and APM

The BIOS is supposed to support Advanced Configuration and Power Interface (ACPI) for management of power and other hardware resources, but I'd be surprised if it worked well, because only in very new (2004) machines and kernels is ACPI starting to work properly. Lately, I've been cautiously relying on the older Advanced Power Management (APM) to conserve power. It seems to work well. (I set the BIOS to Power Management = on, and select "Maximum Battery Life".)

Your best shot at ACPI support, if interested, would start with reflashing the BIOS with the latest version, A15. (See Resources.)




Suspend / resume

The factory software preload includes some sort of proprietary-formatted suspend-to-disk partition, big enough to accept the default 128MB memory configuration's runtime contents, swapped out for APM "suspend" mode. My unit's original HD contents had been blown away, and I never bothered to recreate the suspend partition. If you ever need to do so (because you reformatted, or changed your amount of RAM, or got a new HD), you can use one of two rather buggy and partition-risking DOS programs in the Dell Inspiron 7000 Series System Software CD's "utility" directory, "phdisk.exe", or "mks2d.exe". For Dell models where it's appropriate, use phdisk.exe as follows: "phdisk /create /file". It will automatically write a "suspend file" (actually a partition). The "ph" in "phdisk.exe" stands for Phoenix, makers of the Phoenix NoteBIOS code and designer of the format. (It's claimed that one should use mks2d for the Inspiron line, except for the model 8000, for which one uses phdisk. Try both, and see which one works.)

Better yet, however, fortuately for those who care, there's Patrick D. Ashmore's Linux open-source reimplementation of that utility, as "lphdisk", at http://www.procyon.com/~pda/lphdisk/ . Next time I rebuild my system, I might actually use it.

To do so, run "lphdisk --probeonly" to determine a suitable size, use fdisk/cfdisk to create a type a0 (IBM ThinkPad) primary partition that big, then run "lphdisk /dev/hda" to format it.

If your Dell doesn't seem to like the suspend partition, use /sbin/fdisk to change its partition type number to 84, described there as a "OS/2 hidden C:" partition: The proprietary phdisk.exe and mks2d.exe utilities are said (in on-line discussion) to default to filesystem types 84 and a0, respectively. (If the foregoing sounds a little vague, my apologies, but I've not worked with any of the tools described.)




Standby mode

The 7000 also supports automatically a sleep mode called "standby", in which the hard drive spins down, the LCD panel switches off, and the system draws just enough power to maintain state without performing processing. (Closing the clamshell depresses a momentary-on electrical switch that triggers this sleep mode immediately.) The only fly in the ointment is that, if the machine's been asleep for more than about five minutes, SSH connections drop (but network connections are otherwise OK).




Port Replicator (dock)

This is the Dell Port Replicator II, which I have but have never used. It gives you two USB ports (versus one), two PS/2 ports (versus one), 1 parallel, 1 serial, the three sound ports, VGA out, no S-Video out, no infrared (and use of the replicator blocks the main unit's IR port). The replicator has its own AC power adapter.

In itself, the port replicator raises no Linux issues. It doesn't require drivers, being purely a conduit.




Battery

My unit's Lithium Ion (Li-Ion) battery gave out in mid-August, 2004, which means it cranked away for about five years. Impressive. If you're still using your original battery, it's definitely due. So, you'll want to know:

Make/model: Dell BAT-30IL, aka Hewlett-Packard BAT-30IL. Compatible Dell part numbers: 8823E, 2941E, 6171R, 7491, 8649R, 9943E, 312-0508.

Used in: Dell Inspiron 7000 and 7500 series. Hewlett-Packard Omnibook 7100, 7150. Compaq TS30I, TS30I3. Piones TS30I, Quantex I-1410, I-1401. SoundX S. SoundX S5500T.

Specifications: Li-Ion, 14.4V DC. Capacity: 5400 milliAmp-Hours (mAh). (Some replacement cells hold up to 6000 mAh of charge. Be sure to check.)

This cell is an "intelligent" battery, meaning that it includes self-monitoring circuitry that reports to a panel of 5 LEDs on the back of the battery, when you press a "status" push-button: Each lit LED represents about 20% of the possible total charge level.

I was able to find a pair of new replacement batteries for US $75 each. (You can run the unit with dual batteries by unplugging the CD/floppy "combo module" drive assembly and plugging in the second battery in its place.) Check on Froogle, eBay, and half.com, among other places.




Resources




Mirroring this Page

This page is Copyright (C) Rick Moen 2004. It may be mirrored, reproduced, or archived by anyone for any purpose, provided its substantive contents (text, as opposed to markup and presentation) are reproduced unaltered and in their entirety, including this pointer to the master copy:
http://linuxmafia.com/~rick/inspiron7000.html
You are welcome to change markup / presentation to suit yourself. If for any reason you need broader permissions, please ask.

Last updated: Sun Nov 7 20:37:50 PST 2004