After receiving any new hardware, its setup on Linux is often painful because of new driver, new tools and their configuration files. Even if you are comfortable with Linux as a simple user, the hardware support may require you to spend time in trial-and-failure process and searches on internet. So here is the result of my work on my brand new DELL Inspiron 1521 laptop, dedicated to Mandriva Linux 2008.0 distribution. To sum up, this hardware is really well supported by Linux now.
As Vista installation and setup is not a job I am interested in, I have preferred to resize the system delivered by DELL – you may follow these instructions. I have decided to remove DELL MediaDirect partition and replace DELL specific bootloader by GRUB. So I have first set up a classical dual-boot system, with the hope to use the MediaDirect button to boot or resume Linux.
Installation
After partioning, the installation process goes normally. SATA disk is detected and I install GRUB directly on /dev/sda. For video, I advise you to use the generic vesa driver first, before configuring ATI driver manually.
Sound
The first contact with Linux on DELL Inspiron is really noisy. After installation, disk activity seems to be converted into sound signal. I advise you to connect something in the headset output to let you open any mixer application (alsamixer on console or gnome mixer) and switch the analog loopback off to restore silence.
Video
Mandriva drakx11 tool is not yet able to configure ATI fglrx driver properly, the generated xorg.conf file results in the well-known black screen.
- First take care to have the
kernel-laptop-devel-latestpackage installed before installing the ATI proprietary driverx11-driver-video-fglrx. - Use
drakx11to generate a configuration file for generic VESA driver. - Then use
aticonfig --initialto have thefglrxdriver setup.
This initial setup should work. To go further, DRI should be enabled for performance. Check your xorg.conf:
Section "Extensions"
# DRI with fglrx
Option "Composite" "Disable"
EndSection
Section "DRI"
Mode 0666
EndSection
- Install and run
driconftool to create a configuration file~/.drircand copy it as/etc/drirc. - Control DRI is really available with
LIBGL_DEBUG=verbose fglrxinfo. - To test, you may run LinDVD which displays nothing if DRI is disabled.
Wireless network
At installation, the Broadcom BCM94311MCG wireless card is configured as eth0 with the Linux kernel module bcm43xx and the Broadcom BCM4401-B0 ethernet card eth1 with the b44 module.
As the module bcm43xx does not support this card model yet, it is necessary to use the windows XP driver with NDISwrapper.
- Download
sp33008.exeand use cabextract to get thebcmwl5.infto use with ndiswrapper. - Replace
alias eth0 bcm43xxbyalias eth0 ndiswrapperin/etc/modprobe.conf. - Add a file
/etc/modprobe.d/blacklist-bcm43xxwith contentblacklist bcm43xxto prevent the Linux module to be loaded.
According to Mandriva 2008 Errata, the ssb module may conflict with ndiswrapper Broadcom driver. On the other hand, this module is required by the b44 module for the ethernet card. I think the condition to get both working at the same time is to load and configure wireless before ethernet in the Linux kernel.
At startup or after hibernation resume, it happens (often) that the wireless network is broken. To get it back again, apply the following sequence:
- Run as root
ifdown eth0 - Kill
ifplugdorwpa_supplicantassociated witheth0 rmmod b44 ssb ndiswrapper- Run
ifup eth0and it should work again.
Storage
SATA disk is detected as sda and works properly. On battery, it goes often to sleep state.
The DVD reader/writer is detected as hda and works out of the box.
Hibernation
For a laptop, this is a must-have feature. The Mandriva installer may not include the required resume=/dev/sdaX parameter with swap device if the swap size is considered too small compared to the installed RAM.
So check for this kernel option in the GRUB configuration file /boot/grub/menu.lst. The suspend/resume process is not fast but it works.
Multimedia keys
You can use the Mandriva control center to change the keyboard model to DELL inspiron. The Xorg configuration is then updated with Option "XkbModel" "inspiron".
The volume keys are working in any environment that supports the specific XF86 events. Other control keys may work depending on the specific application support. For instance, Amarok handles properly these keys, as long as the application has the focus.
Webcam
Mandriva packages the uvcvideo driver in version 0.1.0 as third party sources in Linux kernel. This driver detects the OmniVision integrated Webcam but fails to initialize it, according to dmesg:
uvcvideo: Found UVC 1.00 device Laptop Integrated Webcam (05a9:2640) uvcvideo: Failed to query (135) UVC control 1 (unit 0) : -32 (exp. 26). uvcvideo: Failed to initialize the device (-5).
Information about the webcam are returned by lsusb -v:
Bus 005 Device 004: ID 05a9:2640 OmniVision Technologies, Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 Common Class bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 idVendor 0x05a9 OmniVision Technologies, Inc. idProduct 0x2640 bcdDevice 1.00 iManufacturer 1 OmniVision Technologies, Inc. -2640-07.07.20.3 iProduct 2 Laptop Integrated Webcam
That is really a bad point that a webcam cannot be declared in the uvcvideo module without patching and compiling. So here are the detailed steps to get it work, a simple copy of what I have found on internet:
- First install the kernel devel package corresponding to your running kernel version returned by
uname -a, at the moment of writing:kernel-laptop-devel-2.6.22.12-1mdv-1-1mdv2008.0or elsekernel-laptop-devel-latest-2.6.22.12-1mdv2008.0and alsosubversionandgccif not already installed. - Then get latest UVC driver sources with
svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk uvcvideo-src - Edit the
uvc_driver.cfile and add a section to declare the OminiVision integrated webcam support around lines 1700:/* OmniVision OEM Dell Notebook */ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_INT_INFO, .idVendor = 0x05a9, .idProduct = 0x2640, .bInterfaceClass = USB_CLASS_VIDEO, .bInterfaceSubClass = 1, .bInterfaceProtocol = 0, .driver_info = UVC_QUIRK_PROBE_MINMAX }, - Run
maketo compile and replace the module in/lib/modules/KernelVersion/kernel/3rdparty/uvc/ - Run the following commands to load the modified version of the driver:
rmmod uvcvideo depmod -ae modprobe uvcvideo
- When loading the module, the webcam flashs. You can now use your favorite video conferencing application supporting V4L2 devices.
Connectivity
- No problem with USB,
- The multi-card reader works well (
sdhciandmmc0supports Ricoh R5C822 hardware), tested with a SD card, - Firewire ieee1394 detected (
ohci1394supports Ricoh R5C832 hardware) but not tested yet, - Bluetooth card seems detected but not tested yet.
- Forget the Connexant WinModem. It is even invisible in
lspsi.
Improvements to do
- Use hotkeys to handle multimedia keys, for any application even without focus.
- Handle the wireless switch button, with keycodes
e008ande011. - Handle the LCD brightness events, with keycodes
e005ande006. - Handle specific keys, MediaDirect
e012, Sleepe00a, Batterye007, Screen switche00b. - Configure properly suspension to ram. When on battery and panel closed, it often hangs and do not resume.
- Configure Xorg to support different layouts: single screen with another output, dual-head, TV output.
- Use
s2diskfor hibernation to take benefits from image compression. - Configure Linux framebuffer console with a 1440×900 resolution instead of 800×600.
[...] advice at the moment of writing is to keep on working with 2008.1. You can read the following installation tips for details. Catégorie : Linux | Commentaire (RSS) [...]