Difference between revisions of "Dell Vostro 3360"

From ArchWiki
Jump to: navigation, search
(Hibernation)
m (Corrected a typo.)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
[[Category:Dell]]
 
[[Category:Dell]]
 
+
[[ru:Dell Vostro 3360]]
= Specifications =
+
== Specifications ==
  
 
On manufacturer site: [http://www.dell.com/ru/business/p/vostro-3360/pd]
 
On manufacturer site: [http://www.dell.com/ru/business/p/vostro-3360/pd]
Line 7: Line 7:
 
lspci output:
 
lspci output:
  
<pre>
+
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
+
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
+
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
+
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
+
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
+
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
+
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
+
00:1c.4 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 5 (rev c4)
00:1c.4 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 5 (rev c4)
+
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
+
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)
+
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
+
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
+
01:00.0 Network controller: Atheros Communications Inc. AR9485 Wireless Network Adapter (rev 01)
01:00.0 Network controller: Atheros Communications Inc. AR9485 Wireless Network Adapter (rev 01)
+
02:00.0 Ethernet controller: Atheros Communications Inc. AR8161 Gigabit Ethernet (rev 10)
02:00.0 Ethernet controller: Atheros Communications Inc. AR8161 Gigabit Ethernet (rev 10)
+
</pre>
+
  
 
lsusb output:
 
lsusb output:
  
<pre>
+
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
+
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
+
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
+
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
+
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
+
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
+
Bus 001 Device 003: ID 138a:0011 Validity Sensors, Inc. VFS5011 Fingerprint Reader
Bus 001 Device 003: ID 138a:0011 Validity Sensors, Inc. VFS5011 Fingerprint Reader
+
Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp.  
Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp.  
+
Bus 001 Device 005: ID 0c45:648b Microdia  
Bus 001 Device 005: ID 0c45:648b Microdia  
+
Bus 002 Device 004: ID 0cf3:e004 Atheros Communications, Inc.
Bus 002 Device 004: ID 0cf3:e004 Atheros Communications, Inc.
+
</pre>
+
  
= Devices =
+
== Hardware ==
  
== Wi-Fi ==
+
=== Wi-Fi ===
  
 
Works out-of-the-box.
 
Works out-of-the-box.
  
== Ethernet ==
+
=== Ethernet ===
  
There's no card support at the moment (3.9 branch). However 3rd-party driver exists, and it's on the way to merging into mainline. As we want to use it right now, we'll use AUR:
+
Works out-of-the-box on current 3.19 kernel. alx driver got upstreamed somewhere around kernel version 3.10.
  
<pre>
+
=== Touchpad ===
yaourt dkms-alx
+
</pre>
+
  
To load driver, type '''sudo modprobe alx'''. dmesg will indicate something like this:
+
Touchpad now works out-of-the-box starting from kernel 3.14.
  
<pre>
+
Touchpad LED also works (out-of-the-box). To turn LED on:
[75367.300725] Compat-drivers backport release: compat-drivers-v3.9-rc4-2-su
+
[75367.300728] Backport based on linux-stable.git v3.9-rc4
+
[75367.300730] compat.git: linux-stable.git
+
[75367.301040] Qualcomm Atheros(R) AR816x/AR817x PCI-E Ethernet Network Driver
+
[75367.314351] alx 0000:02:00.0: alx(84:8f:69:d3:a6:09): Qualcomm Atheros Ethernet Network Connection
+
</pre>
+
  
Then configure network as usual.
+
echo 255 >/sys/class/leds/dell-laptop::touchpad/brightness
== Touchpad ==
+
 
+
Original Ubuntu provides 3rd-party unknown daemon for touchpad, and control utility is written in Java. That is unknown crap, moreover it's unavailable for non-Ubuntu system. The worst is that currently (3.9 kernel) touchpad is not supported by kernel. It's detected as common PS/2 mouse, but recently 3rd-party driver appeared:
+
 
+
<pre>
+
yaourt psmouse-alps-driver
+
</pre>
+
 
+
After compiling and installing it would be nice to reload '''psmouse''' module:
+
 
+
<pre>
+
sudo rmmod psmouse
+
sudo modprobe psmouse
+
</pre>
+
 
+
Voilà — touchpad works as it must: you may use two-fingers scroll in any direction, control it via gsynaptics etc. Touchpad LED also works (out-of-the-box). To turn LED on:
+
 
+
<pre>
+
echo 255 >/sys/class/leds/dell-laptop::touchpad/brightness
+
</pre>
+
  
 
and off:
 
and off:
  
<pre>
+
echo 0 >/sys/class/leds/dell-laptop::touchpad/brightness
echo 0 >/sys/class/leds/dell-laptop::touchpad/brightness
+
</pre>
+
  
== Webcam ==
+
=== Webcam ===
  
 
Works out-of-the-box. You don't need GSPCA for that.
 
Works out-of-the-box. You don't need GSPCA for that.
  
== Card reader ==
+
=== Card reader ===
  
 
Works out-of-the-box. Notice that rts5139 driver is in staging, so be ready to complain on bugs.
 
Works out-of-the-box. Notice that rts5139 driver is in staging, so be ready to complain on bugs.
  
== Video ==
+
=== Video ===
  
 
Intel HD4000 works OK since 3.4 kernel, use earlier kernels at one's own risk.
 
Intel HD4000 works OK since 3.4 kernel, use earlier kernels at one's own risk.
  
== Sound ==
+
=== Sound ===
  
 
Works out-of-the-box:
 
Works out-of-the-box:
  
<pre>
+
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_INTEL=m
+
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_PREALLOC_SIZE=4096
+
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_HWDEP=y
+
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_RECONFIG=y
+
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP=y
+
CONFIG_SND_HDA_INPUT_BEEP_MODE=1
CONFIG_SND_HDA_INPUT_BEEP_MODE=1
+
CONFIG_SND_HDA_INPUT_JACK=y
CONFIG_SND_HDA_INPUT_JACK=y
+
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_PATCH_LOADER=y
+
CONFIG_SND_HDA_CODEC_HDMI=y
CONFIG_SND_HDA_CODEC_HDMI=y
+
CONFIG_SND_HDA_CODEC_CIRRUS=y
CONFIG_SND_HDA_CODEC_CIRRUS=y
+
CONFIG_SND_HDA_GENERIC=y
CONFIG_SND_HDA_GENERIC=y
+
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+
</pre>
+
  
 
Other HDA codecs are unnecessary.
 
Other HDA codecs are unnecessary.
  
 
Note that full sound support including internal mic support appeared in 3.9 kernel, do consider using it. PulseAudio works OK as well.
 
Note that full sound support including internal mic support appeared in 3.9 kernel, do consider using it. PulseAudio works OK as well.
== Multimedia keys ==
+
=== Multimedia keys ===
  
 
No way to make hardware ones work. Brightness, volume and mediaplayer keys work OK. For touchpad toggling consider using my desktop-scripts: [https://github.com/pfactum/desktop-scripts]
 
No way to make hardware ones work. Brightness, volume and mediaplayer keys work OK. For touchpad toggling consider using my desktop-scripts: [https://github.com/pfactum/desktop-scripts]
  
== Fingerprint Reader ==
+
=== Fingerprint Reader ===
  
 
Test libfprintd version with VFS5011 Fingerprint Reader support is available here: [https://github.com/ars3niy/fprint_vfs5011]. Work OK.
 
Test libfprintd version with VFS5011 Fingerprint Reader support is available here: [https://github.com/ars3niy/fprint_vfs5011]. Work OK.
  
= Actions =
+
== Actions ==
  
== Brightness adjustment ==
+
=== Brightness adjustment ===
  
 
It's OK to pass the following options to kernel via bootloader:
 
It's OK to pass the following options to kernel via bootloader:
  
<pre>
+
acpi_osi=Linux acpi_backlight=vendor
acpi_osi=Linux acpi_backlight=vendor
+
</pre>
+
  
 
to use native brightness control module. Otherwise it's level won't be stored. But if you use KDE, remove this one:
 
to use native brightness control module. Otherwise it's level won't be stored. But if you use KDE, remove this one:
  
<pre>
+
acpi_backlight=vendor
acpi_backlight=vendor
+
</pre>
+
  
 
otherwise KDE won't be able to adjust brightness.
 
otherwise KDE won't be able to adjust brightness.
== Hibernation ==
 
  
It works, but requires several tricks to take bugs away. Create tricks.sh file in /usr/lib/systemd/system-sleep/ folder with the following content:
+
=== Hibernation ===
  
<pre>
+
It works, but requires several tricks to take bugs away. Create tricks.sh file in /usr/lib/systemd/system-sleep/ folder with the following content:
#!/bin/sh
+
  
case $1/$2 in
+
#!/bin/sh
pre/hibernate)
+
        echo never >/sys/kernel/mm/transparent_hugepage/enabled
+
case $1/$2 in
        echo 1 >/sys/power/tuxonice/replace_swsusp
+
pre/hibernate)
        echo 1 >/sys/power/tuxonice/compression/enabled
+
        echo never >/sys/kernel/mm/transparent_hugepage/enabled
        echo 1 >/sys/power/tuxonice/user_interface/enable_escape
+
        echo 1 >/sys/power/tuxonice/replace_swsusp
        echo 1 >/sys/power/tuxonice/user_interface/default_console_level
+
        echo 1 >/sys/power/tuxonice/compression/enabled
        echo lzo >/sys/power/tuxonice/compression/algorithm
+
        echo 1 >/sys/power/tuxonice/user_interface/enable_escape
        echo shutdown >/sys/power/disk
+
        echo 1 >/sys/power/tuxonice/user_interface/default_console_level
        ifconfig wlan0 down
+
        echo lzo >/sys/power/tuxonice/compression/algorithm
        uksmctl -d
+
        echo shutdown >/sys/power/disk
        sync
+
        ifconfig wlan0 down
        ;;
+
        uksmctl -d
post/hibernate)
+
        sync
        hdparm -B 253 /dev/sda
+
        ;;
        uksmctl -a
+
post/hibernate)
        echo madvise >/sys/kernel/mm/transparent_hugepage/enabled
+
        hdparm -B 253 /dev/sda
        ;;
+
        uksmctl -a
pre/suspend)
+
        echo madvise >/sys/kernel/mm/transparent_hugepage/enabled
        uksmctl -d
+
        ;;
        sync
+
pre/suspend)
        ;;
+
        uksmctl -d
post/suspend)
+
        sync
        hdparm -B 253 /dev/sda
+
        ;;
        uksmctl -a
+
post/suspend)
        ;;
+
        hdparm -B 253 /dev/sda
esac
+
        uksmctl -a
</pre>
+
        ;;
 +
esac
  
 
and make it executable. It you don't use pf-kernel, remove all strings related to TuxOnIce, UKSM and Transparent Hugepages.
 
and make it executable. It you don't use pf-kernel, remove all strings related to TuxOnIce, UKSM and Transparent Hugepages.
Line 190: Line 149:
 
Also it's nice to pass the following option to kernel via bootloader:
 
Also it's nice to pass the following option to kernel via bootloader:
  
<pre>
+
i8042.nopnp
i8042.nopnp
+
</pre>
+
  
 
otherwise errors during hibernation may occur. They do not interrupt hibernation, just pollute the screen. Everything works without this option.
 
otherwise errors during hibernation may occur. They do not interrupt hibernation, just pollute the screen. Everything works without this option.
  
== Suspend-to-RAM ==
+
=== Suspend to RAM ===
  
 
Works out-of-the-box.
 
Works out-of-the-box.

Latest revision as of 21:34, 13 June 2015

Specifications

On manufacturer site: [1]

lspci output:

00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.4 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 5 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
01:00.0 Network controller: Atheros Communications Inc. AR9485 Wireless Network Adapter (rev 01)
02:00.0 Ethernet controller: Atheros Communications Inc. AR8161 Gigabit Ethernet (rev 10)

lsusb output:

Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 138a:0011 Validity Sensors, Inc. VFS5011 Fingerprint Reader
Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp. 
Bus 001 Device 005: ID 0c45:648b Microdia 
Bus 002 Device 004: ID 0cf3:e004 Atheros Communications, Inc.

Hardware

Wi-Fi

Works out-of-the-box.

Ethernet

Works out-of-the-box on current 3.19 kernel. alx driver got upstreamed somewhere around kernel version 3.10.

Touchpad

Touchpad now works out-of-the-box starting from kernel 3.14.

Touchpad LED also works (out-of-the-box). To turn LED on:

echo 255 >/sys/class/leds/dell-laptop::touchpad/brightness

and off:

echo 0 >/sys/class/leds/dell-laptop::touchpad/brightness

Webcam

Works out-of-the-box. You don't need GSPCA for that.

Card reader

Works out-of-the-box. Notice that rts5139 driver is in staging, so be ready to complain on bugs.

Video

Intel HD4000 works OK since 3.4 kernel, use earlier kernels at one's own risk.

Sound

Works out-of-the-box:

CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=1
CONFIG_SND_HDA_INPUT_JACK=y
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_CODEC_HDMI=y
CONFIG_SND_HDA_CODEC_CIRRUS=y
CONFIG_SND_HDA_GENERIC=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0

Other HDA codecs are unnecessary.

Note that full sound support including internal mic support appeared in 3.9 kernel, do consider using it. PulseAudio works OK as well.

Multimedia keys

No way to make hardware ones work. Brightness, volume and mediaplayer keys work OK. For touchpad toggling consider using my desktop-scripts: [2]

Fingerprint Reader

Test libfprintd version with VFS5011 Fingerprint Reader support is available here: [3]. Work OK.

Actions

Brightness adjustment

It's OK to pass the following options to kernel via bootloader:

acpi_osi=Linux acpi_backlight=vendor

to use native brightness control module. Otherwise it's level won't be stored. But if you use KDE, remove this one:

acpi_backlight=vendor

otherwise KDE won't be able to adjust brightness.

Hibernation

It works, but requires several tricks to take bugs away. Create tricks.sh file in /usr/lib/systemd/system-sleep/ folder with the following content:

#!/bin/sh

case $1/$2 in
pre/hibernate)
        echo never >/sys/kernel/mm/transparent_hugepage/enabled
        echo 1 >/sys/power/tuxonice/replace_swsusp
        echo 1 >/sys/power/tuxonice/compression/enabled
        echo 1 >/sys/power/tuxonice/user_interface/enable_escape
        echo 1 >/sys/power/tuxonice/user_interface/default_console_level
        echo lzo >/sys/power/tuxonice/compression/algorithm
        echo shutdown >/sys/power/disk
        ifconfig wlan0 down
        uksmctl -d
        sync
        ;;
post/hibernate)
        hdparm -B 253 /dev/sda
        uksmctl -a
        echo madvise >/sys/kernel/mm/transparent_hugepage/enabled
        ;;
pre/suspend)
        uksmctl -d
        sync
        ;;
post/suspend)
        hdparm -B 253 /dev/sda
        uksmctl -a
        ;;
esac

and make it executable. It you don't use pf-kernel, remove all strings related to TuxOnIce, UKSM and Transparent Hugepages.

Also it's nice to pass the following option to kernel via bootloader:

i8042.nopnp

otherwise errors during hibernation may occur. They do not interrupt hibernation, just pollute the screen. Everything works without this option.

Suspend to RAM

Works out-of-the-box.