Dell Inspiron 6400
From Gentoo Linux Wiki
| Laptops • TV Tuner Cards • Wireless • Servers • Storage • Other Hardware • Motherboards • Related |
Recently I purchased a Dell Inspiron 6400, and I figured since I had spent time setting this up under gentoo, I would make it easier to help others set this laptop up as well.
Contents |
[edit] Hardware
[edit] General List
- Intel Core 2 Duo 7200
- 2 GB RAM
- DVD-+R/RW Drive
- 15.4" display @ 1680x1050
- Dell Wireless 1390
- Broadcom 440 10/100 ethernet
- ATI Radeon Mobility x1400
- Build in MMC/SD-Card Reader
- 1394/Firewire port
[edit] lspci output
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03) 00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express PCI Express Root Port (rev 03) 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01) 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01) 00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 01) 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 01) 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 01) 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 01) 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 01) 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e1) 00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 01) 00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 01) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01) 01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility X1400 03:00.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02) 03:01.0 FireWire (IEEE 1394): Ricoh Co Ltd Unknown device 0832 03:01.1 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19) 03:01.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 01) 03:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a) 03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 05) 0b:00.0 Network controller: Broadcom Corporation Unknown device 4311 (rev 01)
[edit] cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz
stepping : 6
cpu MHz : 2000.000
cache size : 4096 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr \
sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm
bogomips : 3995.29
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz
stepping : 6
cpu MHz : 2000.000
cache size : 4096 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr \
sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm
bogomips : 3990.18
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
[edit] Preface
[edit] About This Document
During setup of this laptop, I used google and the Gentoo Wiki to find a lot of the information collected here. Unfortunately, I don't have those links bookmarked. If you'd like to see me reference a particular link, please let me know. I apologize if I've missed crediting any specific individuals.
I wanted to publish this information to help out anyone else that wants to install gentoo on this laptop model.
Here is another page that might be helpful, specifically if you're using the default intel video chip: HARDWARE Dell Inspiron 6400 Fixes for common problems
[edit] Base Installation
Initially I follow the gentoo handbook to install using an amd64 profile since I wanted to make use of the em64t extensions supported by the Intel Core 2 Duo processor. Most information that I was able to find during my research of this laptop before I purchased it was x86 based, but at the moment, everything works great.
[edit] Installation Settings
[edit] BIOS Settings
The one change I would recommend to you at this point is to disable the BIOS setting for the wireless button (Fn-F2). If you disable this now, then testing and debugging your wireless settings later will be much easier. At one point I had accidentally pressed it, so when I first tested wireless everything worked great. Hours later I rebooted and suddenly wireless didn't work.
Either disable the button (leaving radio always on), or make a note that the special Fn-F2 wireless key must be pressed before you bring up the interface for testing.
[edit] make.profile
# ls -l /etc/make.profile lrwxrwxrwx 1 root root 50 Mar 20 13:45 /etc/make.profile -> ../usr/portage/profiles/default-linux/amd64/2006.1
I chose to stick with the default profile for amd64, since I figured I would wind up needing some 32-bit only applications.
[edit] make.conf
| File: make.conf |
CFLAGS="-O2 -pipe -march=nocona "
CHOST="x86_64-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j3"
USE="X a52 aac ac3 acpi alsa apache2 asf audiofile bash-completion berkdb bluetooth \
bonobo branding browserplugin cddb cdparanoia cdr chardet clamav cups dbus \
divx dlloader dri dts dvd dvdr dvdread ets encode evo exif flac ffmpeg firefox \
footmaticdb ftp gif gimpprint gmedia gnome gphoto2 gtk gtk2 gtkhtml gstreamer \
hal imagemagick ipod java javascript jpeg -kde live mad mmx mmxext modplug mp3 \
mpeg mplayer msn musepack nls -nowwebdav nptl nptlonly nsplugin offensive ogg \
opengl pcmcia pda pdf png ppds qt3support qt4 quicktime rdesktop real realmedia \
rss samba scanner sdk ssl sndfile sourceview subversion sse sse2 tcl tcltk tiff \
timidity tk unicode urandom usb vorbis wifi win32codecs wma wmp wxwindows x264 \
xml -xmms xv xvid"
LINGUAS="en"
INPUT_DEVICES="mouse keyboard evdev synaptics"
VIDEO_CARDS="radeon fglrx vesa"
|
[edit] Partitioning
Here is my sfdisk output:
| Code: Partition Map |
sfdisk -l /dev/sda Disk /dev/sda: 9729 cylinders, 255 heads, 63 sectors/track Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0 Device Boot Start End #cyls #blocks Id System /dev/sda1 * 0+ 8 9- 72261 83 Linux /dev/sda2 9 276 268 2152710 82 Linux swap / Solaris /dev/sda3 277 2709 2433 19543072+ 83 Linux /dev/sda4 2710 9728 7019 56380117+ 83 Linux |
| File: /etc/fstab |
/dev/sda1 /boot ext2 noauto,noatime 1 2, /dev/sda3 / reiserfs noatime 0 1, /dev/sda4 /home reiserfs noatime 0 1, /dev/sda2 none swap sw 0 0, /dev/cdrom /mnt/cdrom iso9660 noauto,ro,user,exec 0 0, /dev/mmcblk0p1 /mnt/sdcard vfat noauto,rw,user,exec 0 0, proc /proc proc defaults 0 0, shm /dev/shm tmpfs nodev,nosuid,noexec 0 0 |
[edit] Kernel Config
Usually I use the vanilla sources directly from kernel.org with the exception that I apply the vesafb-tng patch (vesafb-tng-1.0-rc2-2.6.20-rc2.patch), however this patch does not work on x86-64 at the time of writing this guide.
The patch can be downloaded here: http://dev.gentoo.org/~spock/projects/vesafb-tng/
The following outlines the options used for Kernel 2.6.22.1
[edit] CPU
See this HowTo.
[edit] Compatibility
Executable file formats / Emulations ---> [*] Kernel support for ELF binaries <*> Kernel support for MISC binaries [*] IA32 Emulation <*> IA32 a.out support
[edit] ACPI
Power management options
[*] Driver model /sys/devices/.../power/state files (DEPRECATED)
[*] Software Suspend (Hibernation)
(/dev/sda2) Default resume partition
ACPI (Advanced Configuration and Power Interface) Support --->
--- ACPI Support
[*] Sleep States
[*] /proc/acpi/sleep (deprecated)
<*> AC Adapter
<*> Battery
<*> Button
<*> Video
<*> Generic Hotkey (EXPERIMENTAL)
<*> Fan
< > Dock
<*> Processor
<*> Thermal Zone
CPU Frequency scaling --->
[*] CPU Frequency scaling
Default CPUFreq governor (performance) --->
--- 'performance' governor
<*> 'userspace' governor for userspace frequency scaling
<*> 'ondemand' cpufreq policy governor
<*> Intel Enhanced SpeedStep (deprecated)
<*> ACPI Processor P-States driver
[*] /proc/acpi/processor/../performance interface (deprecated)
[edit] Networking
| Linux Kernel Configuration: Network device options |
Device Drivers
Network device support
Ethernet (10 or 100Mbit)
[*] Ethernet (10 or 100Mbit)
[*] EISA, VLB, PCI and on board controllers
<*> Broadcom 4400 ethernet support
|
[edit] Bluetooth
I use a separate bluetooth dongle for bluetooth support.
Networking
--- Networking support
<*> Bluetooth subsystem support --->
--- Bluetooth subsystem support
<*> L2CAP protocol support
<*> SCO links support
<*> RFCOMM protocol support
[*] RFCOMM TTY support
<*> BNEP protocol support
<*> HIDP protocol support
Bluetooth device drivers --->
<M> HCI USB driver
[ ] SCO (voice) support
<M> HCI UART driver
[ ] UART (H4) protocol support
[ ] BCSP protocol support
<M> HCI BCM203x USB driver
<M> HCI BPA10x USB driver
<M> HCI BlueFRITZ! USB driver
<M> HCI DTL1 (PC Card) driver
<M> HCI BT3C (PC Card) driver
<M> HCI BlueCard (PC Card) driver
<M> HCI UART (PC Card) device driver
<M> HCI VHCI (Virtual HCI device) driver
[edit] ATA/SATA
Device Drivers
ATA/ATAPI/MFM/RLL support
<*> ATA/ATAPI/MFM/RLL support
<*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
<*> Include IDE/ATA-2 DISK support
[*] Use multi-mode by default
<*> Include IDE/ATAPI CDROM support
Serial ATA (prod) and Parallel ATA (experimental) drivers
<*> Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support
[edit] Firewire/USB
Device Drivers
IEEE 1394 (FireWire) support
<*> IEEE 1394 (FireWire) support
<*> OHCI-1394 support
<*> SBP-2 support (Harddisks etc.)
<*> Ethernet over 1394
<*> Raw IEEE1394 I/O support
USB support
[*] USB selective suspend/resume and wakeup (EXPERIMENTAL)
<*> EHCI HCD (USB 2.0) support
<*> OHCI HCD support
<*> USB Mass Storage support
[*] The shared table of common (or usual) storage devices
<*> USB Human Interface Device (full HID) support
[edit] MMC Card Slot
Device Drivers
MMC/SD Card support
<*> MMC block device driver
<*> Winbond W83L51xD SD/MMC Card Interface support
[edit] Sound
Device Drivers
Sound
<*> Sound card support
Advanced Linux Sound Architecture
<*> Advanced Linux Sound Architecture
<*> Sequencer support
<*> OSS Mixer API
<*> OSS PCM (digital audio) API
[*] OSS PCM (digital audio) API - Include plugin system
[*] OSS Sequencer API
[*] Support old ALSA API
[*] Verbose procfs contents
PCI Devices
<*> Intel HD Audio
Everything else, including filesystems, is up to you though.
[edit] Post Base Install
After getting my Inspiron 6400 to boot for the first time, I made wireless a priority. Others may want to skip this step and come back to it later.
[edit] Wireless Setup
See the Broadcom 43xx article.
[edit] Configuring X
As I mentioned when I listed my make.conf file, the radeon open source driver doesn't support my x1400 radeon adapter. Even the vesa driver didn't work as desired, I sometimes had artifacts show up on the screen, and the display was choppy. As a result, I had no choice but to use the closed source ati driver. Personally, I don't use 3D, and I have no interest in using proprietary drivers. This was an oversight when I purchased the laptop.
[edit] fglrx Driver Installation
The latest proprietary radeon driver is masked, so I added the following to /etc/portage/package.keywords
| File: /etc/portage/package.keywords |
net-wireless/bcm43xx-fwcutter ~amd64 x11-drivers/ati-drivers ~amd64 |
Then I installed the ati driver using portage:
emerge x11-drivers/ati-drivers
The one other thing I had to do was add a symbolic link for fglrx_dri.so to enable direct rendering support:
cd /usr/X11R6/lib64/modules/dri ln -s /usr/lib64/dri/fglrx_dri.so fglrx_dri.so
[edit] Configuring X with DRI/GLX support
Here is my xorg.conf. X runs at 1680x1050 on the 15.4 inch display perfectly.
| File: /etc/X11/xorg.conf |
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
FontPath "/usr/share/fonts/misc/"
FontPath "/usr/share/fonts/TTF/"
FontPath "/usr/share/fonts/Type1/"
FontPath "/usr/share/fonts/CID/"
FontPath "/usr/share/fonts/75dpi/"
FontPath "/usr/share/fonts/100dpi/"
EndSection
Section "Module"
Load "record"
Load "extmod"
Load "dbe"
Load "dri"
Load "glx"
Load "xtrap"
Load "freetype"
Load "type1"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
EndSection
Section "Modes"
Identifier "16:10"
ModeLine "1280x800" 83.5 1280 1344 1480 1680 800 801 804 828
ModeLine "1680x1050" 214.51 1680 1800 1984 2288 1050 1051 1054 1103
ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630
ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
Option "FlatPanelProperties" "Scaling=Centered"
UseModes "16:10"
EndSection
Section "Device"
Identifier "Card0"
Driver "fglrx"
VendorName "ATI Corp."
BoardName "X1400"
Option "VideoOverlay" "on"
Option "no_accel" "no"
Option "no_dri" "no"
Option "OpenGLOverlay" "off"
Option "UseInternalAGPGART" "no"
Option "RenderAccel" "on"
Option "UseFastTLS" "2"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 16
Modes "1680x1050"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1680x1050"
EndSubSection
EndSection
|
For the most part, I use a USB optical mouse, nothing special, just 3 button with scroll, so I haven't bothered setting up the synaptics touchpad yet to use the scroll functionality it has. As a result, my xorg.conf is very basic. See the section Where to Go From Here below.
One thing that you might notice immediately is that the display stays lit when you close the laptop. Provided you have acpid and dbus set to start at boot, you can go into System->Preferences->Power Management and set the screen to blank when the lid is closed.
[edit] Results
After setting this, I now get good results from glxinfo. Prior to adding the symlink for fglrx_dri.so, I had no direct rendering support.
[edit] glxinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_OML_swap_method,
GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_hyperpipe,
GLX_SGIX_swap_barrier, GLX_SGIX_fbconfig
client glx vendor string: ATI
client glx version string: 1.3
client glx extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context,
GLX_ARB_get_proc_address, GLX_SGI_video_sync, GLX_ARB_multisample,
GLX_ATI_pixel_format_float, GLX_ATI_render_texture
GLX version: 1.2
GLX extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context,
GLX_ARB_multisample
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Mobility Radeon X1400
OpenGL version string: 2.0.6400 (8.35.5)
[edit] Hotkeys
This was a very important part for me. I wanted the special keys on the front of the laptop to work perfectly with audacious. I also didn't want to use an external program such as lineak this time around. I've used it before and it worked great, but I wanted to see if there was a better way.
[edit] Volume Keys
Setting the volume keys was simple using gnome. First I set the keyboard mapping in System->Preferences->Keyboard. Under the tab 'Layouts', select the keyboard model 'Laptop/notebook Dell Inspiron 6xxx/8xxx'. After that I opened System->Preferences->Keyboard Shortcuts and set the mute, volume up, and volume down buttons through there. The Fn-* keys for volume and brightness worked immediately. As well as the Fn-ESC key (Stand By) which I mapped to Sleep in the Keyboard Shortcuts settings.
[edit] Multimedia Keys
Unfortunately, the play/pause, prev, next, and stop buttons required a little more work.
I followed the guide HOWTO Use Multimedia Keys for the most part, but to speed the process for others, here's what was needed:
First install xbindkeys
emerge xbindkeys
Then create the file ~/.xbindkeysrc with the following content:
| File: ~/.xbindkeysrc |
"audacious --play-pause" m:0x0 + c:162 XF86AudioPlay "audacious --stop" m:0x0 + c:164 XF86AudioStop "audacious --rew" m:0x0 + c:144 XF86AudioPrev "audacious --fwd" m:0x0 + c:153 XF86AudioNext |
Then go into System->Preferences->Sessions and select the startup programs tab. If you add the following, xbindkeys will be started when you log in:
xbindkeys
Now, when you log out, then log back into X, pressing the play button will start audacious, and the other buttons will let you control playback.
[edit] Other Keys
Just as a side note, I mapped the MediaDirect key in System->Preferences->Keyboard Shortcuts to open a terminal window (Yes, I see the irony in a 'MediaDirect' key opening a terminal window).
[edit] Where to Go From Here
The following things are outstanding issues that I'm looking into at the moment:
- Wireless is being started after I resume from suspend-to-ram or suspend-to-disk when it shouldn't be running
- The synaptics touchpad hasn't been completely configured yet, but more information is available here: HARDWARE Synaptics Touchpad. I just haven't gotten around to it.
- The following Fn-? hotkeys don't work, but I don't use them:
- Fn-F1 - Hibernate
- Fn-F2 - Wireless
- Fn-F3 - Battery
- Fn-F8 - CRT/LCD (untested, I have no external display)
- Fn-F10 - Eject
- Friendly USER Submission:
- Fn-F1 - setkeycode e00a 123
- Fn-F2 - works with no problem as long it is enabled in bios
- Fn-F8 - works
- Fn-10 - setkeycode e009 165
- Media Direct Key - setkeycode e012 130
