Introduction

This wiki is a spin off of Caboose885's Ubuntu Forum Thread. Some of the hardware doesn't work quite right but most functionality works. There will be more added as more progress is made. Migrating and restructuring the information from the forum format to a proper wiki format is a time consuming process so please be patient.

What Works

Headphone Port

Microphone

Multitouch (No software uses it)

Touchpad

Touchscreen Single Input

Webcam

Wireless/Bluetooth

What Doesn't Work

Accelerometer

General Procedures

A majority of the information on this wiki works across the many versions of Ubuntu. However special instructions for the different versions will be noted in the appropriate subsections.

Accelerometer

ls /lib/modules/$(uname -r)/kernel/drivers/iio/accel/

should at least show

st_accel.ko  st_accel_i2c.ko  st_accel_spi.ko

if it doesn't then you need at least kernel version 3.10 (it did work with backported drivers in 3.7 too). so if you have those required modules, do

modprobe i2c_i801

modprobe st_accel_i2c

echo lsm303dlh_accel 25 >/sys/class/i2c-adapter/i2c-6/new_device

Check dmesg if everything is ok. If the last line is not correct, you need to run the following command.

cat /sys/class/i2c-adapter/i2c-*/name

This will allow you to find the directory which has a name file that outputs SMBus I801 adapter at 5000 and then change the i2c-6 accordingly. If everything worked, there should be a new directory /sys/bus/iio/devices/iio\:device0 which you can explore with shell-commands like echo and cat. Unfortunetly there are no opensource program that makes use of this driver, so you'd have to write your own. Hence, it doesn't do anything yet.

Microphone and Headphone Jack

1. Edit the following file.

sudo vim /etc/modprobe.d/alsa-base.conf

2. Append to the very bottom of the file the following line and save the changes.

options snd-hda-intel model=ideapad

Tablet Mode Recognition

1. Add the following lines to /etc/rc.local using your favorite editor. Make sure you open it as root. These commands maps these keystrokes to XF86LAUNCH1 and XF86LAUNCH2.

setkeycodes e073 148 &
setkeycodes e074 149
exit 0

2. Reboot the computer for the changes to take effect.

3. When you flip the screen and close/open the lid, a keystroke is sent. Open "Keyboard Shortcuts" and add two new shortcuts, one for "Tablet Mode ON", "Tablet Mode OFF", and tell them to run your scripts for each mode. Click "New Shortcut" and then flip the screen and close the lid. The correct keystroke will be added. Reverse the process for the other shortcut.

As an example, we create a scrip to run an onscreen keyboard in tablet mode.

gksudo gedit /etc/acpi/duo-tabletmode.sh

Edit the file as follows:

 #!/bin/bash
 
 [ "$1" ] && [ "$1" = "0" -o "$1" = "1" ] && MODE=${MODE:=${1}}
 
 if [ "$MODE" = "1" ]; then
     onboard &
 else
     killall onboard
 fi

Make it executable:

sudo chmod +x /etc/acpi/duo-tabletmode.sh

The command bound to XF86Launch1 should then be

/etc/acpi/duo-tabletmode.sh 1

and when exitting the tablet mode bind the following command to XF86Launch2

/etc/acpi/duo-tabletmode.sh 0

Touchscreen

1. Download the drivers from eGalax Downloads

2. Extract the file from the archive and run the setup.sh script as root.

sudo sh setup.sh

Ubuntu 14.04

The method described in Tablet Mode Recognition may not fully function. When editing the custom keybindings by flipping the screen/lid, the keystrokes map to Launch1 and Launch2 rather than XF86Launch1 and XF86Lauch2. These values can be edited manually using "dconf Editor" and the function will work as expected.

Ubuntu 12.04


CategoryDocumentation

dell-duo/inspiron-1090 (last edited 2014-10-03 13:42:10 by li424-21)