Difference between revisions of "Dell Inspiron 6400"

From ArchWiki
Jump to: navigation, search
m (Installation)
m
Line 2: Line 2:
 
[[Category:HOWTOs (English)]]
 
[[Category:HOWTOs (English)]]
  
=Introduction=
+
==Introduction==
==Summary==
+
===Summary===
 
The goal of this wiki is to provide a comprehensive guide for Dell Inspiron 6400 owners seeking to install Arch Linux.  It will attempt to cover all facets of hardware management, including wireless networking and hotkey support. Although this guide has been written specifically for the Inspiron 6400, many of the sub-sections can be applied to other Dell Inspiron models, including:  
 
The goal of this wiki is to provide a comprehensive guide for Dell Inspiron 6400 owners seeking to install Arch Linux.  It will attempt to cover all facets of hardware management, including wireless networking and hotkey support. Although this guide has been written specifically for the Inspiron 6400, many of the sub-sections can be applied to other Dell Inspiron models, including:  
 
* Dell Inspiron 640m
 
* Dell Inspiron 640m
Line 10: Line 10:
 
* Dell Inspiron e1705
 
* Dell Inspiron e1705
  
==From the original contributor==
+
===From the original contributor===
 
I will attempt to cover as much as possible, however please feel free to contribute to this guide as you feel necessary.  I will be happy to answer any questions, but I am by no means a Linux expert so there's a good chance I won't know the answer either!    ~[[User:Thayer|Thayer]] (thayerw(at)gmail(dot)com)
 
I will attempt to cover as much as possible, however please feel free to contribute to this guide as you feel necessary.  I will be happy to answer any questions, but I am by no means a Linux expert so there's a good chance I won't know the answer either!    ~[[User:Thayer|Thayer]] (thayerw(at)gmail(dot)com)
  
=Hardware Specifications=
+
==Hardware Specifications==
 
The 6400 series laptop is currently available in a number of configurations and this guide will attempt to cover them all. Refer to the list below to determine whether your configuration has been documented.
 
The 6400 series laptop is currently available in a number of configurations and this guide will attempt to cover them all. Refer to the list below to determine whether your configuration has been documented.
  
Line 58: Line 58:
 
* <span style="color:green;">Dell Wireless 355 Bluetooth Module</span>
 
* <span style="color:green;">Dell Wireless 355 Bluetooth Module</span>
  
=Arch Installation=
+
==Arch Installation==
 
There are plenty of resources available to help new users install and configure a basic Arch Linux installation, including the [[Official_Arch_Linux_Install_Guide|Official Installation Guide]] and the [[Beginners_Guide|Beginners Guide]].
 
There are plenty of resources available to help new users install and configure a basic Arch Linux installation, including the [[Official_Arch_Linux_Install_Guide|Official Installation Guide]] and the [[Beginners_Guide|Beginners Guide]].
  
Line 67: Line 67:
 
The following steps assume you are connected to the Internet with a wired Ethernet connection, as opposed to a wireless connection.
 
The following steps assume you are connected to the Internet with a wired Ethernet connection, as opposed to a wireless connection.
  
==Boot the Arch Setup CD==
+
===Boot the Arch Setup CD===
 
If the laptop does not boot from the CD, reboot and press F12 at the DELL BIOS splash screen to access the boot menu.  From there you can choose to boot from the CD/DVD drive.
 
If the laptop does not boot from the CD, reboot and press F12 at the DELL BIOS splash screen to access the boot menu.  From there you can choose to boot from the CD/DVD drive.
  
==Setup==
+
===Setup===
 
For the most part, the default settings should be fine, however the following notes may be of assistance.
 
For the most part, the default settings should be fine, however the following notes may be of assistance.
  
===0 - Configure===
+
====0 - Configure====
 
Just follow the prompts, choosing the defaults when asked. Make sure you allow the setup to detect your basic hardware automatically when asked.
 
Just follow the prompts, choosing the defaults when asked. Make sure you allow the setup to detect your basic hardware automatically when asked.
  
===1 - Prepare Hard Disks===
+
====1 - Prepare Hard Disks====
 
The following is an example partition table.  The example hard drive is 100GB and is configured to run only Arch Linux.  Your settings will vary depending on the size of your hard drive and the number of operating systems you plan to run.
 
The following is an example partition table.  The example hard drive is 100GB and is configured to run only Arch Linux.  Your settings will vary depending on the size of your hard drive and the number of operating systems you plan to run.
  
Line 86: Line 86:
 
''Note: The last partition is actually less than 96GB because ext3 filesystems reserve space to avoid capacity problems, but you get the point.''
 
''Note: The last partition is actually less than 96GB because ext3 filesystems reserve space to avoid capacity problems, but you get the point.''
  
===2 - Select Packages===
+
====2 - Select Packages====
 
*Choose a mirror
 
*Choose a mirror
 
*Choose ''only'' the base packages
 
*Choose ''only'' the base packages
 
*Select ''all'' packages by default
 
*Select ''all'' packages by default
  
===3 - Install Packages===
+
====3 - Install Packages====
 
*Answer ''yes'' to cache packages (default)
 
*Answer ''yes'' to cache packages (default)
 
*Grab a coffee, it's going to take a while to fetch 100MB of packages
 
*Grab a coffee, it's going to take a while to fetch 100MB of packages
  
===4 - Configure System===
+
====4 - Configure System====
 
Choose your preferred editor; either vim or nano.  
 
Choose your preferred editor; either vim or nano.  
  
 
A few files can be left alone, but there are some changes worth mentioning:
 
A few files can be left alone, but there are some changes worth mentioning:
  
====rc.conf====
+
=====rc.conf=====
 
*Change your locale if necessary, for example Canadians will want to use ''en_CA'':
 
*Change your locale if necessary, for example Canadians will want to use ''en_CA'':
 
  LOCALE="en_CA.utf8"
 
  LOCALE="en_CA.utf8"
Line 112: Line 112:
 
  '''eth0="dhcp"'''
 
  '''eth0="dhcp"'''
  
====hosts====
+
=====hosts=====
 
Append your unique hostname (the same hostname you chose in rc.conf) to the end of the loopback alias line, for example:
 
Append your unique hostname (the same hostname you chose in rc.conf) to the end of the loopback alias line, for example:
 
  127.0.0.1  localhost.localdomain    localhost  '''dublin'''
 
  127.0.0.1  localhost.localdomain    localhost  '''dublin'''
  
====fstab====
+
=====fstab=====
 
No changes should be necessary.
 
No changes should be necessary.
  
====mkinitcpio.conf====
+
=====mkinitcpio.conf=====
 
No changes should be necessary.
 
No changes should be necessary.
  
====modprobe.conf====
+
=====modprobe.conf=====
 
No changes should be necessary.
 
No changes should be necessary.
  
====resolv.conf====
+
=====resolv.conf=====
 
No changes should be necessary.
 
No changes should be necessary.
  
====locale.gen====
+
=====locale.gen=====
 
Uncomment the languages files you wish to use, including the one you configured under LOCALE in the rc.conf:
 
Uncomment the languages files you wish to use, including the one you configured under LOCALE in the rc.conf:
 
  #en_BW.UTF-8 UTF-8
 
  #en_BW.UTF-8 UTF-8
Line 139: Line 139:
 
Canadians should probably uncomment ''en_US, en_CA and en_GB''.
 
Canadians should probably uncomment ''en_US, en_CA and en_GB''.
  
====root password====
+
=====root password=====
 
Set a root password.
 
Set a root password.
  
====pacman mirrors====
+
=====pacman mirrors=====
 
You can either use the same mirror you used to install the base packages, or you can choose a different one at this time.  The mirror you select at this stage will be your default repository after installation is complete.
 
You can either use the same mirror you used to install the base packages, or you can choose a different one at this time.  The mirror you select at this stage will be your default repository after installation is complete.
  
===5 - Install Kernel===
+
====5 - Install Kernel====
 
The default choices should be fine.
 
The default choices should be fine.
  
===6 - Install Boot Loader===
+
====6 - Install Boot Loader====
 
If you are installing Arch as the sole operating system on the notebook, just go with the default settings.  If you are dual-booting with another OS, choose the options carefully to avoid problems with your existing settings.
 
If you are installing Arch as the sole operating system on the notebook, just go with the default settings.  If you are dual-booting with another OS, choose the options carefully to avoid problems with your existing settings.
  
Line 154: Line 154:
 
  kernel /vmlinuz26 root=/dev/sda3 ro '''vga=791'''
 
  kernel /vmlinuz26 root=/dev/sda3 ro '''vga=791'''
  
===7 - Exit===
+
====7 - Exit====
 
Reboot, eject the CD and log into your new Arch Linux installation.
 
Reboot, eject the CD and log into your new Arch Linux installation.
  
==Synchronize Repositories and Update==
+
===Synchronize Repositories and Update===
 
When logging into Arch for the first time, it is a good idea to make sure the local package database is synchronized with the Arch software repositories and that all of your software is up to date.  From the console, type:
 
When logging into Arch for the first time, it is a good idea to make sure the local package database is synchronized with the Arch software repositories and that all of your software is up to date.  From the console, type:
 
  # pacman -Syu
 
  # pacman -Syu
  
=Add Users=
+
==Add Users==
 
At this point you can add a local user account by typing:
 
At this point you can add a local user account by typing:
 
  # useradd -m johndoe
 
  # useradd -m johndoe
Line 170: Line 170:
 
Note, you will not be able to use the '''sudo''' command with this account until you [[Sudo|install and configure sudo]].
 
Note, you will not be able to use the '''sudo''' command with this account until you [[Sudo|install and configure sudo]].
  
=Xorg=
+
==Xorg==
 
If you plan to install a desktop environment (e.g. GNOME, KDE, etc.) you must install and configure Xorg.
 
If you plan to install a desktop environment (e.g. GNOME, KDE, etc.) you must install and configure Xorg.
  
Line 207: Line 207:
 
'''awesome:''' [[awesome|awesome Wiki]]
 
'''awesome:''' [[awesome|awesome Wiki]]
  
=Hardware=
+
==Hardware==
  
==Audio==
+
===Audio===
===Sigmatel/Intel Chipset===
+
====Sigmatel/Intel Chipset====
 
The Sigmatel audio chipset should be detected automatically during installation, requiring no input from the user.  For example, the following kernel modules are configured in ''/etc/rc.conf'' by default:
 
The Sigmatel audio chipset should be detected automatically during installation, requiring no input from the user.  For example, the following kernel modules are configured in ''/etc/rc.conf'' by default:
 
  snd-mixer-oss snd-pcm-oss snd-page-alloc snd-pcm snd-timer snd snd-hda-intel soundcore
 
  snd-mixer-oss snd-pcm-oss snd-page-alloc snd-pcm snd-timer snd snd-hda-intel soundcore
  
====ALSA Audio Drivers====
+
=====ALSA Audio Drivers=====
 
Refer to the [[ALSA]] wiki for general assistance with volume settings, group permissions, etc.
 
Refer to the [[ALSA]] wiki for general assistance with volume settings, group permissions, etc.
  
====OSS Audio Drivers====
+
=====OSS Audio Drivers=====
 
See the [[OSS]] wiki for more information.
 
See the [[OSS]] wiki for more information.
  
==Video==
+
===Video===
===ATI X1300/X1400 Radeon Mobility===
+
====ATI X1300/X1400 Radeon Mobility====
====Proprietary Driver (catalyst/fglrx)====
+
=====Proprietary Driver (catalyst/fglrx)=====
 
'''''Note''': ATI has rebranded the fglrx driver to be known as 'catalyst'; at this time '''only the package name has changed'''.''
 
'''''Note''': ATI has rebranded the fglrx driver to be known as 'catalyst'; at this time '''only the package name has changed'''.''
  
Line 239: Line 239:
 
Further information can be found at the [[ATI]] wiki.
 
Further information can be found at the [[ATI]] wiki.
  
====Open Source ATI Driver====
+
=====Open Source ATI Driver=====
  
 
Please refer to the [[ATI]] wiki for more information.
 
Please refer to the [[ATI]] wiki for more information.
  
===Intel Graphics Media Accelerator 950===
+
====Intel Graphics Media Accelerator 950====
====Open Source Intel Driver====
+
=====Open Source Intel Driver=====
  
 
Install the driver:
 
Install the driver:
Line 263: Line 263:
 
  Driver      "intel"
 
  Driver      "intel"
  
====Intel 945GM Batch Speed Boost====
+
=====Intel 945GM Batch Speed Boost=====
  
 
In some cases the 945GMs do not run as fast as possible. To test this first install the mesa pacakge then run:
 
In some cases the 945GMs do not run as fast as possible. To test this first install the mesa pacakge then run:
Line 280: Line 280:
 
Logout then Login.
 
Logout then Login.
  
===nVidia GeForce Go 7300===
+
====nVidia GeForce Go 7300====
 
The [[NVIDIA|NVIDIA Driver Wiki]] works fine.  A side note:  When running Beryl/Compiz-Fusion, while opening multiple instances of FireFox, the entire window went black.  Forcing AIGLX solved this.
 
The [[NVIDIA|NVIDIA Driver Wiki]] works fine.  A side note:  When running Beryl/Compiz-Fusion, while opening multiple instances of FireFox, the entire window went black.  Forcing AIGLX solved this.
  
==Networking==
+
===Networking===
  
===Broadcom 440x 10/100 Ethernet===
+
====Broadcom 440x 10/100 Ethernet====
 
The Broadcom Ethernet card should have out-of-the-box support.  No configuration necessary.
 
The Broadcom Ethernet card should have out-of-the-box support.  No configuration necessary.
  
===Dell Wireless 1390===
+
====Dell Wireless 1390====
  
==New Native b43 Driver==
+
===New Native b43 Driver===
  
 
''Works from Kernel 2.6.25''
 
''Works from Kernel 2.6.25''
Line 308: Line 308:
  
  
==Old Lame ndiswrapper Way==
+
===Old Lame ndiswrapper Way===
  
 
Dell does not offer native Linux drivers for the 1390 wireless card.  Fortunately, '''ndiswrapper''' can be used to install the Windows driver:
 
Dell does not offer native Linux drivers for the 1390 wireless card.  Fortunately, '''ndiswrapper''' can be used to install the Windows driver:
Line 337: Line 337:
 
  $ rm -rf ~/Dell1390
 
  $ rm -rf ~/Dell1390
  
===Dell Wireless 1500 Draft 802.11n Wireless (Intel 4965AGN)===
+
====Dell Wireless 1500 Draft 802.11n Wireless (Intel 4965AGN)====
 
Grab the driver packages:
 
Grab the driver packages:
 
  # pacman -S iwlwifi iwlwifi-4965-ucode
 
  # pacman -S iwlwifi iwlwifi-4965-ucode
Line 348: Line 348:
 
  INTERFACES=(lo !eth0 '''''!wlan0''''')
 
  INTERFACES=(lo !eth0 '''''!wlan0''''')
  
===Dell Wireless 350 Bluetooth Module===
+
====Dell Wireless 350 Bluetooth Module====
 
Install the bluetooth libraries and basic utilties:
 
Install the bluetooth libraries and basic utilties:
 
  # pacman -S bluez-libs bluez-utils
 
  # pacman -S bluez-libs bluez-utils
Line 360: Line 360:
 
  # pacman -S kdebluetooth
 
  # pacman -S kdebluetooth
  
===Dell Wireless 355 Bluetooth Module===
+
====Dell Wireless 355 Bluetooth Module====
 
The steps described above for Dell Wireless 350 Bluetooth Module work with Dell Wireless 355 Bluetooth Module too.
 
The steps described above for Dell Wireless 350 Bluetooth Module work with Dell Wireless 355 Bluetooth Module too.
  
===Intel PRO/Wireless 3945ABG===
+
====Intel PRO/Wireless 3945ABG====
 
With the release of Intel's open source [http://intellinuxwireless.org/ iwlwifi driver], 3945 owners now have two choices for wireless drivers. As the iwlwifi project matures, the ipw3945 driver will become obsolete, however until that time it will remain below as a second alternative.
 
With the release of Intel's open source [http://intellinuxwireless.org/ iwlwifi driver], 3945 owners now have two choices for wireless drivers. As the iwlwifi project matures, the ipw3945 driver will become obsolete, however until that time it will remain below as a second alternative.
  
 
Refer to the [[Wireless Setup]] wiki for more information.
 
Refer to the [[Wireless Setup]] wiki for more information.
  
====Method 1: iwlwifi driver====
+
=====Method 1: iwlwifi driver=====
 
Grab the driver packages:
 
Grab the driver packages:
 
  # pacman -S iwlwifi-3945-ucode
 
  # pacman -S iwlwifi-3945-ucode
Line 379: Line 379:
 
  INTERFACES=(lo !eth0 '''''!wlan0''''')
 
  INTERFACES=(lo !eth0 '''''!wlan0''''')
  
====Method 2: ipw3945 driver====
+
=====Method 2: ipw3945 driver=====
 
<span style="color:#f00">'''This method is now deprecated. You should be able to use Method 1 without difficulties.'''</span>
 
<span style="color:#f00">'''This method is now deprecated. You should be able to use Method 1 without difficulties.'''</span>
  
Line 394: Line 394:
 
  DAEMONS=(syslog-ng '''''ipw3945d''''' dhcdbd networkmanager alsa ...)
 
  DAEMONS=(syslog-ng '''''ipw3945d''''' dhcdbd networkmanager alsa ...)
  
==Conexant HDA D110 MDC V.92 modem (winmodem)==
+
===Conexant HDA D110 MDC V.92 modem (winmodem)===
 
The Conexant modem requires the proprietary '''hsfmodem''' driver.
 
The Conexant modem requires the proprietary '''hsfmodem''' driver.
 
Dell offers a debian package  [http://support.dell.com/support/downloads/download.aspx?c=us&l=en&s=gen&releaseid=R155004&SystemID=INSPIRONI6400/E1505&servicetag=&os=UBLN&osl=en&deviceid=8593&devlib=0&typecnt=0&vercnt=1&catid=-1&impid=-1&formatcnt=1&libid=20&fileid=206745 hsfmodem_7.60.00.06oem_i386.deb] at their [http://support.dell.com/ support site] that works at '''full speed''' unlike the trial version from [http://www.linuxant.com/ Linuxant] which works at 14.4kbps.
 
Dell offers a debian package  [http://support.dell.com/support/downloads/download.aspx?c=us&l=en&s=gen&releaseid=R155004&SystemID=INSPIRONI6400/E1505&servicetag=&os=UBLN&osl=en&deviceid=8593&devlib=0&typecnt=0&vercnt=1&catid=-1&impid=-1&formatcnt=1&libid=20&fileid=206745 hsfmodem_7.60.00.06oem_i386.deb] at their [http://support.dell.com/ support site] that works at '''full speed''' unlike the trial version from [http://www.linuxant.com/ Linuxant] which works at 14.4kbps.
Line 420: Line 420:
 
#The modules are automatically loaded and a <code>/dev/modem</code> symlink is setup for use with the modem. Now use wvdial or other dialer programs to connect to the internet.
 
#The modules are automatically loaded and a <code>/dev/modem</code> symlink is setup for use with the modem. Now use wvdial or other dialer programs to connect to the internet.
  
==Ricoh R5C822 SD/SDIO/MMC/MS/MSPro Card Reader==
+
===Ricoh R5C822 SD/SDIO/MMC/MS/MSPro Card Reader===
 
The Ricoh card reader should work out of the box, as long as '''MOD_AUTOLOAD''' is set to '''yes''' in ''/etc/rc.conf''. Assuming you use a HAL-aware desktop (GNOME, KDE, etc.), when a memory card is inserted, the kernel should automatically load the '''mmc_core/mmc_block''' modules and mount the new filesystem according to your desktop's automount settings.  
 
The Ricoh card reader should work out of the box, as long as '''MOD_AUTOLOAD''' is set to '''yes''' in ''/etc/rc.conf''. Assuming you use a HAL-aware desktop (GNOME, KDE, etc.), when a memory card is inserted, the kernel should automatically load the '''mmc_core/mmc_block''' modules and mount the new filesystem according to your desktop's automount settings.  
  
Line 426: Line 426:
 
* SD Card
 
* SD Card
  
==Synaptics Touchpad==
+
===Synaptics Touchpad===
 
The Synaptics touchpad should provide basic functions out-of-the-box, however if you would like to use the scroll zones and enable other advanced features, please refer to the [[Touchpad_Synaptics | Synaptics Touchpad]] wiki.
 
The Synaptics touchpad should provide basic functions out-of-the-box, however if you would like to use the scroll zones and enable other advanced features, please refer to the [[Touchpad_Synaptics | Synaptics Touchpad]] wiki.
  
=Power Management=
+
==Power Management==
  
==ACPI Hibernation/Suspend with pm-utils==
+
===ACPI Hibernation/Suspend with pm-utils===
 
The powersave scripts have been officially replaced by [http://www.archlinux.org/packages/search/?q=pm-utils pm-utils]. Refer to the [[Pm-utils]] wiki for detailed instructions.
 
The powersave scripts have been officially replaced by [http://www.archlinux.org/packages/search/?q=pm-utils pm-utils]. Refer to the [[Pm-utils]] wiki for detailed instructions.
  
Line 444: Line 444:
 
This behavior seems to change from version to version of catalyst, so your mileage may vary.  Try it without vga=0 first, and if it doesn't work ''then'' add it.
 
This behavior seems to change from version to version of catalyst, so your mileage may vary.  Try it without vga=0 first, and if it doesn't work ''then'' add it.
  
==CPU Frequency Scaling with cpufrequtils==
+
===CPU Frequency Scaling with cpufrequtils===
  
 
Refer to the [[Cpufrequtils]] wiki for step-by-step instructions.
 
Refer to the [[Cpufrequtils]] wiki for step-by-step instructions.
  
= Multimedia Buttons & Fn Hotkeys =
+
== Multimedia Buttons & Fn Hotkeys ==
 
Unfortunately, configuring multimedia buttons and function keys on your laptop can be complicated process. Factors that must be taken into consideration include your choice of Desktop Environment (or lack thereof) and the actions you wish to bind to the special buttons or keys. For a detailed explanation of what is required, please refer to the [[Hotkeys]] wiki.
 
Unfortunately, configuring multimedia buttons and function keys on your laptop can be complicated process. Factors that must be taken into consideration include your choice of Desktop Environment (or lack thereof) and the actions you wish to bind to the special buttons or keys. For a detailed explanation of what is required, please refer to the [[Hotkeys]] wiki.
  
 
The following tips may offer some assistance in getting started.
 
The following tips may offer some assistance in getting started.
  
== Multimedia Buttons ==
+
=== Multimedia Buttons ===
 
For the most part, the Volume and Playback buttons should be recognized as an unassigned key by the Linux kernel.  In which case, all that is necessary is to bind the button to an action.   
 
For the most part, the Volume and Playback buttons should be recognized as an unassigned key by the Linux kernel.  In which case, all that is necessary is to bind the button to an action.   
  
 
It is also worth noting that the multimedia buttons and equivalent Fn key shortcut (e.g. Fn+PgUp = Vol Up) will produce the same keycode, so if you configure the button, the Fn hotkey combo will execute the same action.
 
It is also worth noting that the multimedia buttons and equivalent Fn key shortcut (e.g. Fn+PgUp = Vol Up) will produce the same keycode, so if you configure the button, the Fn hotkey combo will execute the same action.
  
=== GNOME ===
+
==== GNOME ====
 
The GNOME desktop provides an easy method for binding multimedia keys to their appropriate action.   
 
The GNOME desktop provides an easy method for binding multimedia keys to their appropriate action.   
  
Line 467: Line 467:
 
The volume buttons should now work system-wide, and the playback buttons will now work in media players such as Rhythmbox and Exaile.
 
The volume buttons should now work system-wide, and the playback buttons will now work in media players such as Rhythmbox and Exaile.
  
=== Openbox and other Window Managers ===
+
==== Openbox and other Window Managers ====
 
The <tt>xbindkeys</tt> utility is highly recommended for lightweight desktops such as Openbox--refer to the [[Hotkeys]] wiki for information.   
 
The <tt>xbindkeys</tt> utility is highly recommended for lightweight desktops such as Openbox--refer to the [[Hotkeys]] wiki for information.   
  
Line 495: Line 495:
 
</pre>
 
</pre>
  
== Function (Fn) Hotkeys ==
+
=== Function (Fn) Hotkeys ===
 
Function keys seem to be less standardized than the Volume/Playback buttons, and therefore it can be difficult to get all of them working properly. For example, the Standby shortcut (Fn+ESC) may be recognized while at the same time the Hibernate shortcut (Fn+F1) is not. To make matters more confusing, it appears that some Fn keys such as those that adjust the LCD brightness are controlled by the BIOS, independent of the Operating System.  Again, the [[Hotkeys]] wiki is highly recommended reading.
 
Function keys seem to be less standardized than the Volume/Playback buttons, and therefore it can be difficult to get all of them working properly. For example, the Standby shortcut (Fn+ESC) may be recognized while at the same time the Hibernate shortcut (Fn+F1) is not. To make matters more confusing, it appears that some Fn keys such as those that adjust the LCD brightness are controlled by the BIOS, independent of the Operating System.  Again, the [[Hotkeys]] wiki is highly recommended reading.
  
Line 530: Line 530:
 
As stated previously, it can be a complicated process involving lots of trial & error troubleshooting, but hopefully this will help you get started.
 
As stated previously, it can be a complicated process involving lots of trial & error troubleshooting, but hopefully this will help you get started.
  
=Resources=
+
==Other Resources==
 
TuxMobil: [http://tuxmobil.org/mylaptops.html Linux Laptop & Notebook Installation Guides]
 
TuxMobil: [http://tuxmobil.org/mylaptops.html Linux Laptop & Notebook Installation Guides]
  

Revision as of 17:17, 23 November 2008


Contents

Introduction

Summary

The goal of this wiki is to provide a comprehensive guide for Dell Inspiron 6400 owners seeking to install Arch Linux. It will attempt to cover all facets of hardware management, including wireless networking and hotkey support. Although this guide has been written specifically for the Inspiron 6400, many of the sub-sections can be applied to other Dell Inspiron models, including:

  • Dell Inspiron 640m
  • Dell Inspiron e1405
  • Dell Inspiron e1505
  • Dell Inspiron e1705

From the original contributor

I will attempt to cover as much as possible, however please feel free to contribute to this guide as you feel necessary. I will be happy to answer any questions, but I am by no means a Linux expert so there's a good chance I won't know the answer either! ~Thayer (thayerw(at)gmail(dot)com)

Hardware Specifications

The 6400 series laptop is currently available in a number of configurations and this guide will attempt to cover them all. Refer to the list below to determine whether your configuration has been documented.

  • Green items are confirmed to work
  • Red items have yet to be confirmed and require a Wiki entry

Base Components

  • Intel Core Duo and Core 2 Duo processors
    • T2500 (2GHz/667MHz FSB/2MB Cache)
    • T5600 (1.83GHz/667MHz FSB/2MB Cache)
    • T2050 (1.66GHz/667MHz FSB/2MB Cache)
    • T1350 (1.66GHz/667MHz FSB/2MB Cache)
    • T5200 (1.60GHz/667MHz FSB/2MB Cache)
  • 512MB/1GB/2GB 533MHz/667MHz DDR2 SDRAM Memory
  • 15.4" Widescreen Display
    • WXGA (1280 x 800)
    • WSXGA 1280x800 with TrueLife™
    • WSXGA+ 1680x1050 with TrueLife™
  • 80GB/100GB/120GB/160GB 5400/7200 RPM SATA Hard Drive
  • 8x CD/DVD+/-RW/DL+R
  • Broadcom 440x 10/100 Ethernet
  • Conexant HDA D110 MDC V.92 modem (winmodem)
  • Sigmatel STAC 92xx Audio
  • Ricoh R5C822 SD/SDIO/MMC/MS/MSPro Card Reader
  • 4 USB 2.0 Ports
  • Firewire port (IEEE 1394)
  • 1 ExpressCard Slot
  • Synaptics touchpad with scroll zones

Video Options

  • 128MB ATI Mobility Radeon X1300 with HyperMemory
  • 256MB ATI Mobility Radeon X1400 with Hypermemory
  • 256MB nVidia GeForce Go 7300 with TurboCache
  • 128MB Intel Graphics Media Accelerator 950

Wireless Options

  • Intel Pro/Wireless 3945ABG (802.11a/b/g)
  • Dell Wireless 1390
  • Dell Wireless 1500 Draft 802.11n Wireless (Intel 4965AGN)
  • Dell Wireless 350 Bluetooth Module
  • Dell Wireless 355 Bluetooth Module

Arch Installation

There are plenty of resources available to help new users install and configure a basic Arch Linux installation, including the Official Installation Guide and the Beginners Guide.

That being said, the following tips are specific to the Dell Inspiron 6400 and may be of some help during installation.

If an Ethernet (wired land-line) broadband internet connection is available it is highly recommended that Arch be installed with the smaller FTP ISO. If you plan to have a desktop environment (KDE, GNOME, etc) then the majority of the packages you require will come from the internet repositories and not the Arch CD itself. This method will get you up and running in the shortest amount of time. Simply download the FTP ISO, burn it to a CD and restart your computer.

The following steps assume you are connected to the Internet with a wired Ethernet connection, as opposed to a wireless connection.

Boot the Arch Setup CD

If the laptop does not boot from the CD, reboot and press F12 at the DELL BIOS splash screen to access the boot menu. From there you can choose to boot from the CD/DVD drive.

Setup

For the most part, the default settings should be fine, however the following notes may be of assistance.

0 - Configure

Just follow the prompts, choosing the defaults when asked. Make sure you allow the setup to detect your basic hardware automatically when asked.

1 - Prepare Hard Disks

The following is an example partition table. The example hard drive is 100GB and is configured to run only Arch Linux. Your settings will vary depending on the size of your hard drive and the number of operating systems you plan to run.

sda (100GB)
 sda1	ext2	100MB	/boot	(the boot loader files and kernel images will be installed here)
 sda2	swap	2.1GB	swap	(this example notebook has 2GB of RAM and we want to leave room for suspend2disk (hibernation) functions)
 sda3	ext3	96GB	/	(root--everything else will go here except for the files in /boot)

Note: The last partition is actually less than 96GB because ext3 filesystems reserve space to avoid capacity problems, but you get the point.

2 - Select Packages

  • Choose a mirror
  • Choose only the base packages
  • Select all packages by default

3 - Install Packages

  • Answer yes to cache packages (default)
  • Grab a coffee, it's going to take a while to fetch 100MB of packages

4 - Configure System

Choose your preferred editor; either vim or nano.

A few files can be left alone, but there are some changes worth mentioning:

rc.conf
  • Change your locale if necessary, for example Canadians will want to use en_CA:
LOCALE="en_CA.utf8"
  • Change the timezone if necessary, for example:
TIMEZONE="Canada/Pacific"
  • To get rid of that ever-so-annoying system beep, blacklist the PC speaker modules:
MODULES=(... !pcspkr !snd_pcsp ...)
  • Change the hostname if you desire a unique name, for example:
HOSTNAME="dublin"
  • If your Internet Service Provider assigns your IP address automatically (and most do), make sure eth0 is set to dhcp:
eth0="dhcp"
hosts

Append your unique hostname (the same hostname you chose in rc.conf) to the end of the loopback alias line, for example:

127.0.0.1   localhost.localdomain     localhost  dublin
fstab

No changes should be necessary.

mkinitcpio.conf

No changes should be necessary.

modprobe.conf

No changes should be necessary.

resolv.conf

No changes should be necessary.

locale.gen

Uncomment the languages files you wish to use, including the one you configured under LOCALE in the rc.conf:

#en_BW.UTF-8	UTF-8
#en_BW		ISO-8859-1
en_CA.UTF-8	UTF-8
en_CA		ISO-8859-1
#en_DK.UTF-8	UTF-8
#en_DK		ISO-8859-1

Canadians should probably uncomment en_US, en_CA and en_GB.

root password

Set a root password.

pacman mirrors

You can either use the same mirror you used to install the base packages, or you can choose a different one at this time. The mirror you select at this stage will be your default repository after installation is complete.

5 - Install Kernel

The default choices should be fine.

6 - Install Boot Loader

If you are installing Arch as the sole operating system on the notebook, just go with the default settings. If you are dual-booting with another OS, choose the options carefully to avoid problems with your existing settings.

  • When installing GRUB, you can also append vga=791 to the kernel option to set your terminal (framebuffer) resolution to 1024x768, for example:
kernel /vmlinuz26 root=/dev/sda3 ro vga=791

7 - Exit

Reboot, eject the CD and log into your new Arch Linux installation.

Synchronize Repositories and Update

When logging into Arch for the first time, it is a good idea to make sure the local package database is synchronized with the Arch software repositories and that all of your software is up to date. From the console, type:

# pacman -Syu

Add Users

At this point you can add a local user account by typing:

# useradd -m johndoe
# passwd johndoe

The -m flag creates the user's /home directory and copies the default configuration files to it (from /etc/skel)

Note, you will not be able to use the sudo command with this account until you install and configure sudo.

Xorg

If you plan to install a desktop environment (e.g. GNOME, KDE, etc.) you must install and configure Xorg.

Installation

Install the necessary packages:

# pacman -S xorg hwd

Configuration

The hwd program (Hardware Detect) will examine your hardware and create a default configuration file for Xorg (/etc/X11/xorg.conf):

# hwd -xa

You should now have a working X setup, however the default configuration uses the generic VESA graphics driver. If you want to run your desktop at its native resolution (e.g. 1680x1050) and enable 3D acceleration, you'll need to install the appropriate driver for your video card. See the Video section below for detailed instructions.

Desktop Environments

Arch Linux supports a variety of desktop environments and window managers, all of which must be installed manually. Refer to the following list for more information:

Openbox: Openbox Wiki

GNOME: GNOME Wiki

Xfce: Xfce Wiki

KDE: KDE Wiki

KDEmod: Visit the KDEmod website at http://kdemod.ath.cx/ or see the KDEmod Wiki for more information.

E17: E17 Wiki

Fluxbox: Fluxbox Wiki

Xmonad: Xmonad Wiki

wmii: wmii Wiki

dwm: dwm Wiki

awesome: awesome Wiki

Hardware

Audio

Sigmatel/Intel Chipset

The Sigmatel audio chipset should be detected automatically during installation, requiring no input from the user. For example, the following kernel modules are configured in /etc/rc.conf by default:

snd-mixer-oss snd-pcm-oss snd-page-alloc snd-pcm snd-timer snd snd-hda-intel soundcore
ALSA Audio Drivers

Refer to the ALSA wiki for general assistance with volume settings, group permissions, etc.

OSS Audio Drivers

See the OSS wiki for more information.

Video

ATI X1300/X1400 Radeon Mobility

Proprietary Driver (catalyst/fglrx)

Note: ATI has rebranded the fglrx driver to be known as 'catalyst'; at this time only the package name has changed.

The catalyst ATI proprietary driver is available from the standard Arch repositories and is the simplest way to get full 3D acceleration and native resolutions on your notebook:

# pacman -S catalyst

Run the aticonfig tool to automatically add the appropriate settings to /etc/X11/xorg.conf:

# aticonfig --initial

Lastly, we need to modify /etc/rc.conf and add the fglrx kernel driver to the MODULES section, for example:

MODULES=(fglrx b44 mii snd-mixer-oss ...)

Reboot and confirm that the ATI driver is working by typing fglrxinfo in a terminal. The results should look something like this:

display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Mobility Radeon X1400
OpenGL version string: 2.1.7979 Release

Further information can be found at the ATI wiki.

Open Source ATI Driver

Please refer to the ATI wiki for more information.

Intel Graphics Media Accelerator 950

Open Source Intel Driver

Install the driver:

# pacman -S xf86-video-intel

Use gft to generate the Xorg Modeline values and then edit /etc/X11/xorg.conf and add these values to the Monitor section, for example:

Section "Monitor"
 Identifier "Monitor0"
 VendorName "unknown"
 Modeline "800x600" 40.12 800 848 968 1056 600 601 605 628 #60Hz
EndSection

Lastly, add the following to the "Device" section, replacing the existing Driver value if present:

VideoRam       229376
Option "CacheLines" "1980"
Driver      "intel"
Intel 945GM Batch Speed Boost

In some cases the 945GMs do not run as fast as possible. To test this first install the mesa pacakge then run:

glxgears

And note the average FPS Next export the variable for INTEL_BATCH

export INTEL_BATCH=1

Now rerun glxgears. Do you get more FPS? If so edit your /etc/environment file adding the line

INTEL_BATCH=1

Logout then Login.

nVidia GeForce Go 7300

The NVIDIA Driver Wiki works fine. A side note: When running Beryl/Compiz-Fusion, while opening multiple instances of FireFox, the entire window went black. Forcing AIGLX solved this.

Networking

Broadcom 440x 10/100 Ethernet

The Broadcom Ethernet card should have out-of-the-box support. No configuration necessary.

Dell Wireless 1390

New Native b43 Driver

Works from Kernel 2.6.25 From Linux Wireless

wget http://bu3sch.de/b43/fwcutter/b43-fwcutter-011.tar.bz2
tar xjf b43-fwcutter-011.tar.bz2
cd b43-fwcutter-011
make
cd ..
export FIRMWARE_INSTALL_DIR="/lib/firmware"
wget http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2
tar xjf broadcom-wl-4.150.10.5.tar.bz2
cd broadcom-wl-4.150.10.5/driver
sudo ../../b43-fwcutter-011/b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" wl_apsta_mimo.o


Old Lame ndiswrapper Way

Dell does not offer native Linux drivers for the 1390 wireless card. Fortunately, ndiswrapper can be used to install the Windows driver:

# pacman -S ndiswrapper

Download the 1390 driver from the Dell website:

$ wget http://ftp.us.dell.com/network/R140747.EXE

Create a temp folder and extract the driver:

$ mkdir ~/Dell1390
$ mv R14070747.EXE ~/Dell1390 
$ cd ~/Dell1390 
$ unzip -a R14070747.EXE
$ cd ~/Dell1390/DRIVER

Configure ndiswrapper to use the Windows driver (do this as root):

# ndiswrapper -i bcmwl5.inf
# ndiswrapper -l
# ndiswrapper -m
# modprobe ndiswrapper

Test the new driver by typing iwlist scanning in a terminal.

To load the driver automatically at each boot, add ndiswrapper to the MODULES array in /etc/rc.conf, for example:

MODULES=(fglrx ndiswrapper b44 mii ...)

Finally, remove the temp folder used during installation:

$ rm -rf ~/Dell1390

Dell Wireless 1500 Draft 802.11n Wireless (Intel 4965AGN)

Grab the driver packages:

# pacman -S iwlwifi iwlwifi-4965-ucode

Edit /etc/rc.conf as root and add iwl4965 to the MODULES list:

MODULES=(fglrx iwl4965 b44 mii ...)

Add wlan0="dhcp" to the NETWORKING section:

eth0="dhcp"
wlan0="dhcp"

If wlan0 is listed in the INTERFACES section, make sure it is disabled:

INTERFACES=(lo !eth0 !wlan0)

Dell Wireless 350 Bluetooth Module

Install the bluetooth libraries and basic utilties:

# pacman -S bluez-libs bluez-utils

Add bluetooth to the DAEMONS list in /etc/rc.conf, for example:

DAEMONS=(syslog-ng powersaved bluetooth ipw3945d ...)

Now, depending on your desktop environment, install the appropriate tools:

For GNOME:

# pacman -S gnome-bluetooth bluez-gnome

For KDE:

# pacman -S kdebluetooth

Dell Wireless 355 Bluetooth Module

The steps described above for Dell Wireless 350 Bluetooth Module work with Dell Wireless 355 Bluetooth Module too.

Intel PRO/Wireless 3945ABG

With the release of Intel's open source iwlwifi driver, 3945 owners now have two choices for wireless drivers. As the iwlwifi project matures, the ipw3945 driver will become obsolete, however until that time it will remain below as a second alternative.

Refer to the Wireless Setup wiki for more information.

Method 1: iwlwifi driver

Grab the driver packages:

# pacman -S iwlwifi-3945-ucode

Edit /etc/rc.conf as root and add iwl3945 to the MODULES list:

MODULES=(fglrx iwl3945 b44 mii ...)

Add wlan0="dhcp" to the NETWORKING section:

eth0="dhcp"
wlan0="dhcp"

If wlan0 is listed in the INTERFACES section, make sure it is disabled:

INTERFACES=(lo !eth0 !wlan0)
Method 2: ipw3945 driver

This method is now deprecated. You should be able to use Method 1 without difficulties.

Grab the Intel 3945 driver packages:

# pacman -S ipw3945

Edit /etc/rc.conf as root and add ipw3945 to the MODULES list:

MODULES=(fglrx ipw3945 b44 mii ...)

Add eth1="dhcp" to the NETWORKING section (Note: It is sometimes detected as eth2 instead of eth1, use ifconfig to verify yours and, if necessary add eth2="dhcp" instead):

eth0="dhcp"
eth1="dhcp"

If eth1 (or eth2) is listed in the INTERFACES section, make sure it is disabled:

INTERFACES=(lo !eth0 !eth1)

Add ipw3945d to the DAEMONS list before the dhcdbd and networkmanager daemons:

DAEMONS=(syslog-ng ipw3945d dhcdbd networkmanager alsa ...)

Conexant HDA D110 MDC V.92 modem (winmodem)

The Conexant modem requires the proprietary hsfmodem driver. Dell offers a debian package hsfmodem_7.60.00.06oem_i386.deb at their support site that works at full speed unlike the trial version from Linuxant which works at 14.4kbps.

The following PKGBUILD can be used to create an archlinux hsfmodem package from the debian package:

pkgname=hsfmodem
pkgver=7.60.00.06oem
pkgrel=1
pkgdesc="Conexant modem driver by Dell"
url="http://support.dell.com/"
license=("unknown")
arch=('i686')
source=(${pkgname}_${pkgver}_i386.deb)
md5sums=('80d38fccab347638fa7a2237b458b428')

build() {
  cd $startdir/src/
  ar x ${pkgname}_${pkgver}_i386.deb
  tar xzf data.tar.gz
  cp -a usr etc $startdir/pkg/
}
  1. Download and place hsfmodem_7.60.00.06oem_i386.deb and the PKGBUILD in a new folder, and run makepkg to create the package. See ABS for details on building packages.
  2. Run hsfconfig as root to build the module and initialise the modem. A reboot is required before the modem can be initialised. Run hsfconfig again after reboot.
  3. The modules are automatically loaded and a /dev/modem symlink is setup for use with the modem. Now use wvdial or other dialer programs to connect to the internet.

Ricoh R5C822 SD/SDIO/MMC/MS/MSPro Card Reader

The Ricoh card reader should work out of the box, as long as MOD_AUTOLOAD is set to yes in /etc/rc.conf. Assuming you use a HAL-aware desktop (GNOME, KDE, etc.), when a memory card is inserted, the kernel should automatically load the mmc_core/mmc_block modules and mount the new filesystem according to your desktop's automount settings.

This has been confirmed with the following card types:

  • SD Card

Synaptics Touchpad

The Synaptics touchpad should provide basic functions out-of-the-box, however if you would like to use the scroll zones and enable other advanced features, please refer to the Synaptics Touchpad wiki.

Power Management

ACPI Hibernation/Suspend with pm-utils

The powersave scripts have been officially replaced by pm-utils. Refer to the Pm-utils wiki for detailed instructions.

Note: ATI video card owners might need to add vga=0 to the kernel options in /boot/grub/menu.lst in order to resume from suspend2ram. For exmaple:

# (0) Arch Linux
title  Arch Linux
root   (hd0,0)
kernel /vmlinuz26 root=/dev/sda3 resume=/dev/sda2 ro vga=0
initrd /kernel26.img

This behavior seems to change from version to version of catalyst, so your mileage may vary. Try it without vga=0 first, and if it doesn't work then add it.

CPU Frequency Scaling with cpufrequtils

Refer to the Cpufrequtils wiki for step-by-step instructions.

Multimedia Buttons & Fn Hotkeys

Unfortunately, configuring multimedia buttons and function keys on your laptop can be complicated process. Factors that must be taken into consideration include your choice of Desktop Environment (or lack thereof) and the actions you wish to bind to the special buttons or keys. For a detailed explanation of what is required, please refer to the Hotkeys wiki.

The following tips may offer some assistance in getting started.

Multimedia Buttons

For the most part, the Volume and Playback buttons should be recognized as an unassigned key by the Linux kernel. In which case, all that is necessary is to bind the button to an action.

It is also worth noting that the multimedia buttons and equivalent Fn key shortcut (e.g. Fn+PgUp = Vol Up) will produce the same keycode, so if you configure the button, the Fn hotkey combo will execute the same action.

GNOME

The GNOME desktop provides an easy method for binding multimedia keys to their appropriate action.

  1. Browse to System -> Preferences -> Keyboard Shortcuts and scroll down to the Sound section.
  2. Click on an item (e.g. Mute) and then press the corresponding multimedia button
  3. Repeat this process for all of the multimedia buttons

The volume buttons should now work system-wide, and the playback buttons will now work in media players such as Rhythmbox and Exaile.

Openbox and other Window Managers

The xbindkeys utility is highly recommended for lightweight desktops such as Openbox--refer to the Hotkeys wiki for information.

The following is an example ~/.xbindkeysrc config file, making use of the multimedia buttons:

# vol up
"amixer set Master 2dB+ unmute"
  m:0x10 + c:176
# vol dn
"amixer set Master 2dB- unmute"
  m:0x10 + c:174
# vol mute
"amixer set Master mute"
  m:0x10 + c:160
# play/pause
"audacious -t"
  m:0x10 + c:162
# back
"audacious -r"
  m:0x10 + c:144
# forward
"audacious -f"
  m:0x10 + c:153
# stop
"audacious -s"
  m:0x10 + c:164

Function (Fn) Hotkeys

Function keys seem to be less standardized than the Volume/Playback buttons, and therefore it can be difficult to get all of them working properly. For example, the Standby shortcut (Fn+ESC) may be recognized while at the same time the Hibernate shortcut (Fn+F1) is not. To make matters more confusing, it appears that some Fn keys such as those that adjust the LCD brightness are controlled by the BIOS, independent of the Operating System. Again, the Hotkeys wiki is highly recommended reading.

The following example shows how one can configure the Dell Media Direct button, Eject (Fn+F10) and Hibernate (Fn+F1) hotkeys to execute specific commands:

First, assign kernel keycodes to the Media Direct button and Fn hotkeys, using the /etc/rc.local script (which is executed before X loads):

#!/bin/bash
#
# /etc/rc.local: Local multi-user startup script.
#
setkeycodes e009 122	# e009 eject fn
setkeycodes e012 130	# e012 mediadirect
setkeycodes e00a 123	# e00a hibernate fn

Then use the xbindkeys utility to bind the newly recognized keys to a custom action. Here's an ~/.xbindkeysrc config file:

# media direct button
"streamtuner"
  m:0x10 + c:134
# eject function hotkey
"eject"
  m:0x10 + c:210 
# hibernate function hotkey
"sudo /usr/sbin/pm-hibernate"
  m:0x10 + c:209

Finally, execute xbindkeys at startup by placing it in your .xinitrc (or appropriate startup file for your environment):

xscreensaver -no-splash &
eval `cat $HOME/.fehbg` &
xbindkeys &
pypanel &
exec openbox-session

As stated previously, it can be a complicated process involving lots of trial & error troubleshooting, but hopefully this will help you get started.

Other Resources

TuxMobil: Linux Laptop & Notebook Installation Guides

TuxMobil: DELL Notebooks

Gentoo Wiki: HARDWARE Dell Inspiron 6400

Gentoo Wiki: HARDWARE Dell Inspiron 6400 Fixes for common problems