HARDWARE Gentoo on Dell Inspiron 9300
From Gentoo Linux Wiki
| Laptops • TV Tuner Cards • Wireless • Servers • Storage • Other Hardware • Motherboards • Related |
Contents |
[edit] Dell Inspiron 9300
This article is based on experiences with the LiveCD 2005.1 release, and following the Gentoo Handbook.
[edit] Using the LiveCD
Need to disable framebuffer to enable the network card, by loading the gentoo-nofb kernel. <--proven to be false. Framebuffer console and network card work harmoniously. Bear in mind that in the livecd environment for 2006.0 (unsure for 2005.1), net.eth0 is the firewire and net.eth1 is the Broadcom Ethernet Card.
[edit] Installation Notes
ifconfig -a revealed that eth0 was the firewire port and the Broadcom Corporation BCM4401-BO 100Base-TX was mapped to eth1. Solution was to:
| Code: Setup eth1 |
cd /etc/init.d ln -s net.lo net.eth1 rc-update add net.eth1 default rc-update del net.eth0 net.eth1 start |
[edit] Network
Configuration of the Intel Pro/Wireless 2200BG wireless card has two options:
* use the builtin kernel driver (this works only for kernel version >=2.6.14); * use the net-wireless/ipw2200 package
Tried the kernel driver (2.6.14) but didn't have any success, so I tried net-wireless/ipw2200 package and this worked. I installed net-wireless/wpa_supplicant following the Gentoo Wireless Networking guide.
For anyone who wants to try the kernel drivers, stumbling block was this error "ioctl[IPW_IOCTL_WPA_SUPPLICANT]: Operation not supported". Also you need to match the firmware and driver versions
[edit] X11 Installation
Need to follow the HARDWARE Synaptics Touchpad to make the touch pad work. Nice to note that it recognised the 1920x1200 screen!
[edit] Sound (ALSA)
No guides are necessary, the sound should work by default if you compile the Intel AC97 support into the kernel. (Using the gentoo-sources, or vserver sources, but I do believe vanilla, love, hardened, mm and suspend all work with it as well.)
[edit] Bluetooth Support
Need to follow the Gentoo Linux Bluetooth Guide. Chose to emerge firmware drivers
[edit] Keyboard / Multimedia Keys under X11
[edit] Introduction
First you have to determine if the keyboard model of the Inspiron 9300 is allready completely supported by your gentoo system. If the keyboard is allready fully supported it is easy to make the multimedia buttons to work. Otherwise you will have to add some stuff to some config files before you can use the multimedia keys.
[edit] Check if the multimedia keys are allready supported
If you have installed ''<=xorg-x11-6.x'', make sure that the following symlink exists ''/etc/X11/xkb -> /usr/lib/X11/xkb/''. If you have installed ''>=xorg-x11-7.x'', make sure that the following symlink exists ''/etc/X11/xkb -> /usr/share/X11/xkb/''. I think this symlinks are not mandatory, but they make things a lot easier.
If you have installed >=xorg-x11-7.0-r1 it is likely, that the multimedia keys of the Dell Inspiron 9300 are allready supported. To definitely check if the Inspiron 9300 keyboard model is supported, open the file /etc/X11/xkb/symbols.dir and look if the section xkb_symbols "inspiron" has at least the following entries:
| File: /etc/X11/xkb/symbols.dir |
// Laptop/notebook Dell Inspiron 8xxx
partial alphanumeric_keys
xkb_symbols "inspiron" {
<...>
key <I10> { [ XF86AudioPrev ] };
key <I19> { [ XF86AudioNext ] };
key <I20> { [ XF86AudioMute ] };
<...>
key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
key <I24> { [ XF86AudioStop ] };
key <I2E> { [ XF86AudioLowerVolume ] };
key <I30> { [ XF86AudioRaiseVolume ] };
<...>
};
|
If the file has at least this entries proceed with Tell the X Server to use the appropriate keyboard model, otherwise go to Define a new keyboard model
[edit] Define a new keyboard model
If a keyboard model is not completely supported, there are different solutions to make all of it's keys to work. One way is to use a ~/.Xmodmap file. If you want more info how this works, take a look at HOWTO_Use_Multimedia_Keys. The drawback when using an ~/.Xmodmap file is, that each time the X server gets started, the program xmodmap has to load the ~/.Xmodmap file. Another solution is to define a completely new keyboard model yourself. That's what we are going to do now.
The following guide is from Ruurd Pels post on the Planet KDE blog.
With the help of the program xev you can find out which key, generates which keycode, when pressed. xev is basically an event listener. The multimedia keys on the Dell Inspiron 9300 yield the following keycodes:
| pressed key | keycode |
|---|---|
| mute | 160 |
| lowerVolume | 174 |
| raiseVolume | 176 |
| play/pause | 162 |
| previous | 144 |
| next | 153 |
| stop | 164 |
The next step is to read the file /etc/X11/xkb/keycodes/xfree86 in the basic section and find out which symbol to use for which keycode. In this excerpt of the file, the keycode 49 has the symbol <TLDE> for instance.
| File: /etc/X11/xkb/keycodes/xfree86 |
<...>
xkb_keycodes "basic" {
minimum= 8;
maximum= 255;
<TLDE> = 49;
<AE01> = 10;
<..>
indicator 1 = "Caps Lock";
indicator 2 = "Num Lock";
indicator 3 = "Scroll Lock";
alias <ALGR> = <RALT>;
};
<...>
|
After you have found all of the desired keycode to symbol mappings in the file, you see, that the multimedia keys of the Dell Inspiron 9300 yield the following symbols (pressed key -> keycode -> symbol):
| pressed key | keycode | symbol |
|---|---|---|
| previous | 144 | <I10> |
| next | 153 | <I19> |
| mute | 160 | <I20> |
| play/pause | 162 | <I22> |
| stop | 164 | <I24> |
| lowerVolume | 174 | <I2E> |
| raiseVolume | 176 | <I30> |
Then we use the symbols we retrieved to alter the file /etc/X11/xkb/symbols/inet:
| File: /etc/X11/xkb/symbols/inet |
partial alphanumeric_keys
xkb_symbols "inspiron_9300" {
name[Group1]= "Laptop/notebook Dell Inspiron 9300";
key <I10> { [ XF86AudioPrev ] };
key <I19> { [ XF86AudioNext ] };
key <I20> { [ XF86AudioMute ] };
key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
key <I24> { [ XF86AudioStop ] };
key <I2E> { [ XF86AudioLowerVolume ] };
key <I30> { [ XF86AudioRaiseVolume ] };
};
|
After that add the following line in the specified file:
| File: /etc/X11/xkb/symbols.dir |
<...> --p----- a------- inet(inspiron_9300) <...> |
Another neccessary configuration entry:
| File: /etc/X11/xkb/rules/xorg.lst |
<...> ! model inspiron_9300 Laptop/notebook Dell Inspiron 9300 <...> ! layout <...> |
Add inspiron_9300. Don't forget the blackslash at the end of the line before inspiron_9300!
| File: /etc/X11/xkb/rules/xorg |
! $inetkbds = airkey acpi scorpius azonaRF2300 \
<...>
sven symplon toshiba_s3000 trust trustda yahoo \
inspiron_9300
! $specialkbds = ibm_space_saver
<...>
|
Another configuration entry:
| File: /etc/X11/xkb/rules/xorg.xml |
<...>
<xkbConfigRegistry>
<modelList>
<model>
<...>
<configItem>
<name>inspiron_9300</name>
<description>Laptop/notebook Dell Inspiron 9300</description>
</configItem>
</model>
<...>
</modelList>
</xkbConfigRegistry>
|
[edit] Tell the X Server to use the appropriate keyboard model
Modify the keyboard section in xorg.conf to use the inspiron, or your new inspiron_9300 keyboard model:
| File: /etc/X11/xorg.conf |
Section "InputDevice"
Identifier "internal_keyboard"
Driver "kbd"
# /etc/X11/xkb/rules/xorg.lst lists model, layout, variant and option
Option "XkbModel" "<inspiron|inspiron_9300>"
<...>
EndSection
|
Then restart X. From that moment on, you're able to use the softkeys in Amarok or other programs that let you modify keyboard shortcuts.
[edit] Screen
if you have an screen with 1900x1200 resolution, then add following to your Monitor Section in /etc/X11/xorg.conf
| File: /etc/X11/xorg.conf |
<...>
Section "Monitor"
Identifier "Monitor0"
DisplaySize 330 210
# DisplaySize 344.5 222.5
HorizSync 28-110
VertRefresh 43-90
Option "DPMS"
Modeline "1920x1200" 162 1920 1984 2176 2480 1200 1201 1204 1250 +hsync +vsync
EndSection
<...>
Section "Device"
Identifier "GF6800"
Driver "nvidia"
Option "NoLogo" "1"
Option "FlatPanelProperties" "aspect-scaled"
Option "UseEdidFreqs" "on"
Option "IgnoreEDID" "true"
Option "NoDCC" "true"
EndSection
<...>
Section "Screen"
Identifier "Panel"
Device "NVidia GeForce 6800"
Monitor "DELL Panel WUXGA"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1200" "1600x1200" "1680x1050" "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
EndSection
<...>
|
or for 1600x1050 Modells add this Modeline "1680x1050" 147.1 1680 1784 1968 2256 1050 1051 1054 1087
