https://wiki.archlinux.org/api.php?action=feedcontributions&user=DonVla&feedformat=atomArchWiki - User contributions [en]2024-03-29T10:15:54ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Samsung_N140&diff=163301Samsung N1402011-10-02T12:19:10Z<p>DonVla: /* Custom kernel: without initrd (AUR) */</p>
<hr />
<div>[[Category:Samsung (English)]]<br />
{{i18n|Samsung N140}}<br />
{{out of date}}<br />
This article provides information about installing and setting up Arch Linux on the Samsung N140. It is also relevant for the Samsung N130 which is identical except for the omission of Bluetooth and stereo speakers (and possibly a different battery capacity). There are versions of the N130 which include a 3G cellular modem, available from Vodafone and China Mobile. The [[Samsung NC10]] is similar but not identical to the N140, so you may or may not find useful information on that page.<br />
<br />
=Issues=<br />
<br />
==BIOS Issues==<br />
===No backlight setting via ACPI===<br />
<br />
A workaround is to use "setpci" as shown below.<br />
<br />
Alternatively there is a kernel patch (unrelated to the SATA freeze problem) available which changes the backlight brightness using SMI instead of poking PCI config space. It provides a kernel module called "samsung-laptop". Interestingly we see from a version of this patch which is included in OpenSUSE 11.1 that a special (as yet unreleased?) BIOS for the N130 can be informed that the OS is Linux. The effect of this hasn't been published. Suggestion: run the samsung-laptop module with its debug parameter set to 1 to check whether it does anything at all.<br />
<br />
===No key releases for some Fn keys===<br />
<br />
Some of the Fn keys give key press events but no key releases. This problem was also seen on the NC10 and NC20. A workaround is given below. For kernels 2.6.32 and later this can be done from userspace.<br />
<br />
==Software issues==<br />
<br />
===Frequent wireless disconnects===<br />
With kernel 2.6.31 ath9k wifi exhibits frequent disconnects and reconnects. See http://bugzilla.kernel.org/show_bug.cgi?id=14267. Earlier and later kernels are better.<br />
<br />
===Screen flickering and blackouts===<br />
Some problems have been reported with [[KMS]] enabled for some 2.6.32 kernels. This problem is not specific to the Samsung N130/N140 -- it also affects others using Intel graphics drivers. Until the software is fixed a workaround is to[[Samsung_N140#Kernel_Mode_Setting| disable powersave mode]]. It expected that this issue will be resolved in kernel 2.6.33.<br />
<br />
=Installation=<br />
<br />
Do the standard Arch installation procedure from the ARCH CD ISO using an external USB CDROM drive. Alternatively boot the Arch installer from a USB flash drive.<br />
<br />
The standard Arch kernel is recommended (2.6.34 or later).<br />
<br />
A number of users have used a custom kernel for the following reasons:<br />
* to boot with a minimal kernel containing just the required modules and without an initial ramdisk.<br />
<br />
==Custom kernel: without initrd (AUR)==<br />
<br />
An AUR package [https://aur.archlinux.org/packages.php?ID=52790 linux-n130] is available. In this kernel most drivers are compiled in and there is no initial ramdisk. The drivers for cpu frequency scaling (acpi-cpufreq), wifi (ath9k, rtl8192e) and webcam (uvcvideo) are compiled as modules (i.e. '''not''' compiled in) so they can be inserted or removed from the kernel to enable or disable those features. MODULES in /etc/rc.conf can be used to enable or disable loading at boot.<br />
<br />
Prepare the directory<br />
$ mkdir ~/builds<br />
$ mkdir ~/builds/linux-n130<br />
$ cd ~/builds/linux-n130<br />
Get the AUR package and untar it<br />
$ wget https://aur.archlinux.org/packages/li/linux-n130/linux-n130.tar.gz<br />
$ tar zxvf linux-n130.tar.gz<br />
$ cd linux-n130<br />
<br />
At this point you can edit the PKGBUILD file if you need to (i) change the name or version number,<br />
(ii) change options or (iii) add additional patches.<br />
<br />
Check the PKGBUILD. Don't experiment with the CK patchset at this point:<br />
_USE_CK_PATCHSET=0<br />
Compile it (this will take some time...):<br />
$ makepkg -s<br />
Install the kernel from the new .pkg.tar.gz file<br />
$ sudo pacman -U linux-n130-2.6.<xx.yy>-<rr>.pkg.tar.gz<br />
<br />
Then, assuming you are using [[GRUB]], insert a new item in your {{Filename|/boot/grub/menu.lst}} to boot the new kernel "linux-N130". Note that no initrd line is necessary for this kernel.<br />
<pre><br />
# (0) Arch Linux N130<br />
title Arch Linux Custom N130 Kernel<br />
root (hd0,YOURROOT-1)<br />
kernel /boot/vmlinuz-N130 root=/dev/sdaYOURROOT resume=/dev/sdaYOURSWAP ro quiet<br />
</pre><br />
And reboot. If you have problems the standard Arch kernel is still installed and selectable from the GRUB menu.<br />
<br />
For [[GRUB2]] {{Filename|/boot/grub/grub.cfg}} the syntax looks like this (sda1 = your root partition; sda2 = your swap partition)<br />
<br />
<pre><br />
menuentry "Arch Linux N130" {<br />
set root=(hd0,1)<br />
linux /boot/vmlinuz-N130 root=/dev/sda1 resume=/dev/sda2 ro quiet <br />
}<br />
</pre><br />
<br />
{{Note|The linux-n130 has the i915 module compiled in with KMS enabled by default. There is no need to set up KMS as described below unless you wish to disable it.}}<br />
<br />
=Configure your installation=<br />
<br />
==Ethernet==<br />
<br />
RTL8101e/8102e fast ethernet. Works out of the box.<br />
<br />
==Wifi==<br />
<br />
The supplied wifi device is either an Atheros AR9285 (PCI ID = 168c:002b) (European markets) or a Realtek RTL8192E (US and UK markets).<br />
<br />
===Atheros AR9285===<br />
02:00.0 Network controller [0280]: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) [168c:002b] (rev 01)<br />
<br />
The kernel module for this device is "ath9k" (AR9285 is supported since 2.6.29).<br />
<br />
Kernels 2.6.30 and 2.6.32-rcN release candidates seem to work fine.<br />
However with kernel 2.6.31 the wireless connection exhibits frequent<br />
disconnects and reattachments,<br />
resulting in periods of bad througput and periods of good throughput.<br />
There is no sign of any patches for 2.6.31.y to fix this regression.<br />
Complain to linux-wireless@vger.kernel.org. To get it working either<br />
downgrade to 2.6.30 or preferably upgrade to 2.6.32.<br />
<br />
The following patch was included in 2.6.32 just before the final release: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=54ab040d24904d1fa2c0a6a27936b7c56a4efb24 . It disables PS (power saving) mode by default, since this mode was found to have problems. See here http://bugzilla.kernel.org/show_bug.cgi?id=14267 . PS mode can also be disabled with the following command, which can be placed in {{Filename|/etc/rc.local}}:<br />
iwconfig wlan0 power off<br />
<br />
===Realtek RTL8192E===<br />
====Open source driver====<br />
The native Linux driver for this wireless device is still in preparation, but it is available as a kernel module "rtl8192e" in "staging" -- i.e. in preparation for inclusion in the kernel and available to try out, but likely to still have some problems. It has been reported as working [https://bbs.archlinux.org/viewtopic.php?id=86454&p=6]. Firmware is required. See <br />
http://lkml.org/lkml/2009/12/15/410<br />
and<br />
https://git.kernel.org/?p=linux/kernel/git/gregkh/firmware.git;a=summary{{Linkrot|2011|09|05}}.<br />
<br />
The firmware is available in the <code>linux-firmware</code> package:<br />
<br />
# pacman -S linux-firmware <br />
<br />
Then<br />
$ md5sum /lib/firmware/RTL8192E/*<br />
should return<br />
bb9f64de23939ec247d15dfbeb0ed91e /lib/firmware/RTL8192E/boot.img<br />
db83def0338769de1d4658a00b6f738d /lib/firmware/RTL8192E/data.img<br />
0034020e5a32571f486849aa90a389a7 /lib/firmware/RTL8192E/main.img<br />
<br />
On rebooting, the kernel messages (visible with "dmesg") should now indicate that rtl819xE finds the firmware for loading into the device.<br />
<br />
Note: [[wicd]] may cause excessive dropped connections with this driver, while [[NetworkManager]] appears to work better.<br />
<br />
====Ndiswrapper====<br />
It has been reported as working with [[Wireless_Setup#ndiswrapper|ndiswrapper]] which makes use of the closed source Windows driver under Linux.<br />
<br />
==Cellular 3G Modem==<br />
<br />
''Specifications required''<br />
<br />
==Graphics Adapter==<br />
<br />
The video controller is an Intel chipset that works with the xf86-video-intel driver.<br />
<br />
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 945GME Express Integrated Graphics Controller [8086:27ae] (rev 03)<br />
00:02.1 Display controller [0380]: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller [8086:27a6] (rev 03)<br />
<br />
===Kernel Mode Setting===<br />
<br />
See also [[Intel#KMS_.28Kernel_Mode_Setting.29]].<br />
<br />
[[KMS]] works providing real consoles at the native LCD resolution, 1024x600.<br />
There is a known problem with 2.6.32 kernels (later release candidates up to at least release 2.6.32.8),<br />
which results in screen flickering and blackouts about 5 minutes after resuming<br />
from suspend-to-RAM or suspend-to-disk.<br />
<br />
{{Note|If you encounter screen flickering or blackouts with KMS enabled, try setting '''i915.powersave&#61;0''' as a kernel boot option.}}<br />
<br />
{{Note|Since version 2.10.0 of xf86-video-intel, support for UMS has been removed from the intel driver. This means that KMS is a requirement now.}}<br />
<br />
====Method A====<br />
<br />
If you are using a kernel with no inital ramdisk and you can simply add the required options to the GRUB kernel line:h<br />
<br />
# (0) Arch Linux N130<br />
title Arch Linux Custom N130 Kernel<br />
root (hd0,YOURROOT-1)<br />
kernel /boot/vmlinuz26-N130 root=/dev/sdaYOURROOT resume=/dev/sdaYOURSWAP ro quiet '''i915.powersave=0 i915.modeset=1'''<br />
<br />
====Method B====<br />
<br />
If you are using an initial ramdisk (either the standard kernel or the custom kernel method B above) then do the following:<br />
<br />
Edit {{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options i915 powersave=0 <br />
options i915 modeset=1<br />
Edit {{Filename|/etc/mkinitcpio.conf}}:<br />
MODULES="intel_agp i915"<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
Put keymap early in {{Filename|/etc/mkinitcpio.conf}} HOOKS.<br />
Regenerate the init ramdisk for the kernel(s) you are running:<br />
$ mkinitcpio -p kernel26<br />
or <br />
$ mkinitcpio -p kernel26-n140<br />
Remove any vga= or video= from grub {{Filename|/boot/grub/menu.lst}} kernel line, and reboot.<br />
<br />
====KMS with KDE====<br />
<br />
With earlier versions of KDE, on logout it returned to the F1 real console instead of to [[KDM]].<br />
Uncommenting this entry in {{Filename|/usr/share/config/kdm/kdmrc}} solved the problem:<br />
TerminateServer=true<br />
This setting is now the default.<br />
<br />
===Backlight Brightness===<br />
xbacklight does not work currently.<br />
However the brightness can be set with the following command<br />
<br />
setpci -s 00:02.1 F4.B=hh<br />
<br />
where hh is the level of brightness, in the range 00 to FF. Don't set it to zero<br />
because your backlight will turn off!<br />
<br />
Note this does not require the samsung-laptop patch mentioned above.<br />
<br />
Use the following script to increase and decrease the brightness. Put it in<br />
/sbin/backlight for example. Use xbindkeys to bind commands to the backlight Fn keys.<br />
Obtain sudo permission for user to use those commands with visudo.<br />
<br />
#!/bin/bash<br />
# increase/decrease/set/get the backlight brightness (range 0-255) by 16<br />
#<br />
#get current brightness in hex and convert to decimal<br />
var1=`setpci -s 00:02.1 F4.B`<br />
var1d=$((0x$var1))<br />
case "$1" in<br />
up)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d+16);if (a<255) print a else print 255" | bc`<br />
echo "$0: increasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s 00:02.1 F4.B=$var2<br />
;;<br />
down)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d-16);if (a>15) print a else print 15" | bc`<br />
echo "$0: decreasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s 00:02.1 F4.B=$var2<br />
;;<br />
set)<br />
#n.b. this does allow "set 0" i.e. backlight off<br />
echo "$0: setting brightness to 0x$2"<br />
setpci -s 00:02.1 F4.B=$2<br />
;;<br />
get)<br />
echo "$0: current brightness is 0x$var1"<br />
;;<br />
toggle)<br />
if [ $var1d -eq 0 ] ; then<br />
echo "toggling up"<br />
setpci -s 00:02.1 F4.B=FF<br />
else<br />
echo "toggling down"<br />
setpci -s 00:02.1 F4.B=0<br />
fi<br />
;;<br />
*)<br />
echo "usage: $0 {up|down|set <val>|get|toggle}"<br />
;;<br />
esac<br />
exit 0<br />
<br />
===External VGA===<br />
<br />
External VGA works out of the box with xrandr / krandrtray. Tested at 1920x1080 resolution.<br />
<br />
==Audio==<br />
<br />
The audio device is an Intel HD.<br />
00:1b.0 Audio device [0403]: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller [8086:27d8] (rev 02)<br />
<br />
==Suspend and Hibernate==<br />
<br />
Suspend to RAM with pm-suspend works.<br />
<br />
It is most useful to trigger suspends using [[acpid]].<br />
<br />
To catch the "sleep" function key, edit {{Filename|/etc/acpi/handler.sh}} so that the button/sleep) event calls /usr/sbin/pm-suspend (instead of "echo mem > /sys/power/state" which may leave wifi down after resume):<br />
<pre><br />
button/sleep)<br />
case "$2" in<br />
SLPB) logger "Sleep button pressed, suspending to RAM"<br />
/usr/sbin/pm-suspend<br />
;;<br />
*) logger "ACPI action undefined: $2"<br />
;;<br />
esac<br />
;;<br />
</pre><br />
When catching the lid closure, the button/lid event will be seen twice -- once on suspend<br />
and again on resume. So use the lid state to distinguish between these so that pm-suspend<br />
is not triggered twice:<br />
<br />
Enter the following lines in {{Filename|/etc/acpi/handler.sh}}:<br />
button/lid)<br />
if [ `/bin/awk '{print $2}' /proc/acpi/button/lid/LID0/state` = closed ]; then<br />
/usr/sbin/pm-suspend<br />
fi<br />
;;<br />
<br />
Hibernate works correctly (see [[pm-utils|pm-utils article]]).<br />
<br />
If you are a KDE4 user you can take advantage of powerdevil (included in kdemod-core/kdemod-kdebase-workspace since release 4.2) to manipulate the screen brightness, cpu scaling and hibernate. Suspend<br />
from KDE works too, but if you are using handler.sh to suspend on the button/lid and button/sleep acpi<br />
events, then KDE only needs to lock the screen. Note that cpu scaling requires acpi-cpufreq module<br />
to be loaded in MODULES in /etc/rc.conf.<br />
<br />
==Fn Keys==<br />
<br />
Firstly edit {{Filename|/usr/share/hal/fdi/information/10freedesktop/30-keymap-misc.fdi}}<br />
and insert N140 into the list where you see NC10 already.<br />
<br />
Now in a real console<br />
showkey<br />
<br />
will show presses for the function keys, but ''no releases'' for some of them.<br />
<br />
This is a BIOS issue which was also found on the Samsung NC10. A workaround quirk was put in the<br />
kernel in atkbd.c for the NC10. Patching this routine to apply the same<br />
quirk also works for the N140, and is recommended for 2.6.31 and earlier.<br />
However for 2.6.32 and later (i.e. any current Arch installation) there is a much simpler solution because this quirk can now be applied from user space. Simply edit {{Filename|/etc/rc.local}} and add the following line:<br />
<br />
echo 130,131,132,134,136,137,179,247,249 > /sys/devices/platform/i8042/serio0/force_release<br />
<br />
After this is run, doing "showkey" in a real console will show key presses and releases.<br />
<br />
===Binding Fn keys with xbindkeys===<br />
<br />
The following has been tested with KDE, but should also work for other DEs.<br />
<br />
To bind the Fn keys to action, read [[Extra_Keyboard_Keys#The_quick_way]] and also [[Extra_Keyboard_Keys_in_Xorg#Using_your_Desktop_Environment_tools|Extra Keyboard Keys in Xorg]]. <br />
<br />
The suspend key (Fn+ESC) and disable touchpad (Fn+F10) keys, numlock, scroll lock,<br />
volume controls and mute work out of the box.<br />
<br />
Note, that suspend key is handled in {{Filename|/etc/acpi/handler.sh}} (see "button/sleep" case entry) as <br />
shown above.<br />
<br />
1) install ''xbindkeys''<br />
pacman -S xbindkeys<br />
<br />
2) check the key values with<br />
xbindkeys -mk<br />
<br />
3) edit .xbindkeysrc<br />
<br />
"sudo /sbin/backlight up"<br />
m:0x0 + c:233<br />
"sudo /sbin/backlight down"<br />
m:0x0 + c:232<br />
"/home/user/bin/systeminfo_battery"<br />
m:0x0 + c:244<br />
"sudo /sbin/backlight toggle"<br />
m:0x0 + c:156<br />
"/home/user/bin/systeminfo_disk"<br />
m:0x0 + c:157<br />
"/home/user/bin/systeminfo_cpu"<br />
m:0x0 + c:210<br />
"/home/user/bin/systeminfo_wifi"<br />
m:0x0 + c:246<br />
<br />
4) run xbindkeys, and try it out<br />
xbindkeys<br />
<br />
For KDE4 put a link to {{Filename|/usr/bin/xbindkeys}} in {{Filename|~/.kde4/Autostart}}<br />
ln -s /usr/bin/xbindkeys ~/.kde4/Autostart/xbindkeys.link<br />
<br />
The Fn+F3 ("Euro") key: here Samsung implemented what has been called<br />
an entertaingly hilarious hack:<br />
http://lists.freedesktop.org/archives/hal/2009-August/013536.html<br />
ROFL! Does anyone know a practical use for this key?<br />
Fortunately some (eurozone) models have a real Euro key as well.<br />
<br />
===Binding Fn keys in Openbox===<br />
<br />
In [[Openbox]] one can use the internal keybind setup instead of xbindkeys.<br />
Here is an excerpt from rc.xml:<br />
<br />
<pre><br />
<keybind key="XF86Battery"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/batteryDisplay</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Display"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/monitor</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch1"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/brightnessToggle</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch2"><br />
<action name="Execute"><br />
<command>nice python ~/.config/openbox/scripts/checkmail.py --update</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch3"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/powersaveToggle</command><br />
</action><br />
</keybind><br />
</keybind><br />
<keybind key="XF86AudioMute"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume mute</command><br />
</action><br />
</keybind><br />
<keybind key="XF86WLAN"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/wlanToggle</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioLowerVolume"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume -</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioRaiseVolume"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume +</command><br />
</action><br />
</keybind><br />
<keybind key="XF86MonBrightnessDown"><br />
<action name="PreviousWindow"><br />
<bar>no</bar><br />
<allDesktops>yes</allDesktops><br />
<finalactions><br />
<action name="Focus"/><br />
<action name="Raise"/><br />
</finalactions><br />
</action><br />
</keybind><br />
<keybind key="XF86MonBrightnessUp"><br />
<action name="NextWindow"><br />
<bar>no</bar><br />
<allDesktops>yes</allDesktops><br />
<finalactions><br />
<action name="Focus"/><br />
<action name="Raise"/><br />
</finalactions><br />
</action><br />
</keybind><br />
</pre><br />
<br />
==Saving Power==<br />
Read [[Laptop#Power_Management]]<br />
<br />
Read [[Lightweight Applications]]<br />
<br />
{{Note|Caution is advised here with hdparm settings because the issue with SATA freezing is<br />
related to power management and spindowns. Before you tune the Samsung N130/N140 to minimize power consumption it is strongly recommended that you resolve the SATA freezing issue as discussed above.}}<br />
<br />
The Samsung N130/N140 contains a 1.6 GHz Intel Atom ULV (ultra low voltage) N270 processor, designed for low power consumption. The power consumption of the netbook (not just the processor) can be as low as 6W on idle with HDD spun down, although a typical figure under normal usage would be considerably higher.<br />
<br />
Obviously the battery life depends on battery capacity as well as power consumption.<br />
The supplied battery varies in different markets. This list is a guideline only. Do not rely on this information before purchase -- check with YOUR vendor and update this wiki if it is incorrect:<br />
<pre><br />
Voltage 11.1V<br />
<br />
N130 = 4000mAh [44Wh] (most markets), 5200mAh [57Wh] (Sweden)<br />
N130 (Vodafone) = ? [?] (Spain)<br />
N130 (CMCC) = ? [?] (China)<br />
N140 = 5200mAh [57Wh] (US, Germany, France, Sweden), 5900mAh [65Wh] (UK)<br />
Extended battery = 7800mAh [86Wh]<br />
</pre><br />
Install [[powertop]] which is a very useful tool for measuring and tuning power consumption, and htop which is useful for checking the CPU and memory usage of running processes<br />
# pacman -S powertop htop<br />
<br />
Enable CPU frequency scaling (P-states) by loading the driver module "acpi-cpufreq". This is most conveniently done in {{Filename|/etc/rc.conf}}:<br />
MODULES=(acpi-cpufreq ... )<br />
Select the CPU frequency governor by adding the following lines to {{Filename|/etc/rc.local}}: <br />
# Set the CPU frequency scaling governor for each core<br />
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
<br />
{{Note|Contrary to the advice in many places "hdparm -B 255 /dev/sda" does NOT necessarily turn off advanced power management. What happens depends on the disk model. With the Samsung HM160HI disk 255 results in very frequent spindowns}}</div>DonVlahttps://wiki.archlinux.org/index.php?title=Samsung_N140&diff=163300Samsung N1402011-10-02T12:17:40Z<p>DonVla: </p>
<hr />
<div>[[Category:Samsung (English)]]<br />
{{i18n|Samsung N140}}<br />
{{out of date}}<br />
This article provides information about installing and setting up Arch Linux on the Samsung N140. It is also relevant for the Samsung N130 which is identical except for the omission of Bluetooth and stereo speakers (and possibly a different battery capacity). There are versions of the N130 which include a 3G cellular modem, available from Vodafone and China Mobile. The [[Samsung NC10]] is similar but not identical to the N140, so you may or may not find useful information on that page.<br />
<br />
=Issues=<br />
<br />
==BIOS Issues==<br />
===No backlight setting via ACPI===<br />
<br />
A workaround is to use "setpci" as shown below.<br />
<br />
Alternatively there is a kernel patch (unrelated to the SATA freeze problem) available which changes the backlight brightness using SMI instead of poking PCI config space. It provides a kernel module called "samsung-laptop". Interestingly we see from a version of this patch which is included in OpenSUSE 11.1 that a special (as yet unreleased?) BIOS for the N130 can be informed that the OS is Linux. The effect of this hasn't been published. Suggestion: run the samsung-laptop module with its debug parameter set to 1 to check whether it does anything at all.<br />
<br />
===No key releases for some Fn keys===<br />
<br />
Some of the Fn keys give key press events but no key releases. This problem was also seen on the NC10 and NC20. A workaround is given below. For kernels 2.6.32 and later this can be done from userspace.<br />
<br />
==Software issues==<br />
<br />
===Frequent wireless disconnects===<br />
With kernel 2.6.31 ath9k wifi exhibits frequent disconnects and reconnects. See http://bugzilla.kernel.org/show_bug.cgi?id=14267. Earlier and later kernels are better.<br />
<br />
===Screen flickering and blackouts===<br />
Some problems have been reported with [[KMS]] enabled for some 2.6.32 kernels. This problem is not specific to the Samsung N130/N140 -- it also affects others using Intel graphics drivers. Until the software is fixed a workaround is to[[Samsung_N140#Kernel_Mode_Setting| disable powersave mode]]. It expected that this issue will be resolved in kernel 2.6.33.<br />
<br />
=Installation=<br />
<br />
Do the standard Arch installation procedure from the ARCH CD ISO using an external USB CDROM drive. Alternatively boot the Arch installer from a USB flash drive.<br />
<br />
The standard Arch kernel is recommended (2.6.34 or later).<br />
<br />
A number of users have used a custom kernel for the following reasons:<br />
* to boot with a minimal kernel containing just the required modules and without an initial ramdisk.<br />
<br />
==Custom kernel: without initrd (AUR)==<br />
<br />
An AUR package [https://aur.archlinux.org/packages.php?ID=52790 linux-n130] is available. In this kernel most drivers are compiled in and there is no initial ramdisk. The drivers for cpu frequency scaling (acpi-cpufreq), wifi (ath9k, rtl8192e) and webcam (uvcvideo) are compiled as modules (i.e. '''not''' compiled in) so they can be inserted or removed from the kernel to enable or disable those features. MODULES in /etc/rc.conf can be used to enable or disable loading at boot.<br />
<br />
Prepare the directory<br />
$ mkdir ~/builds<br />
$ mkdir ~/builds/linux-n130<br />
$ cd ~/builds/linux-n130<br />
Get the AUR package and untar it<br />
$ wget https://aur.archlinux.org/packages/li/linux-n130/linux-n130.tar.gz<br />
$ tar zxvf linux-n130.tar.gz<br />
$ cd linux-n130<br />
<br />
At this point you can edit the PKGBUILD file if you need to (i) change the name or version number,<br />
(ii) change options or (iii) add additional patches.<br />
<br />
Check the PKGBUILD. Don't experiment with the CK patchset at this point:<br />
_USE_CK_PATCHSET=0<br />
Compile it (this will take some time...):<br />
$ makepkg -s<br />
Install the kernel from the new .pkg.tar.gz file<br />
$ sudo pacman -U linux-n130-2.6.<xx.yy>-<rr>.pkg.tar.gz<br />
<br />
Then, assuming you are using [[GRUB]], insert a new item in your {{Filename|/boot/grub/menu.lst}} to boot the new kernel "linux-N130". Note that no initrd line is necessary for this kernel.<br />
<pre><br />
# (0) Arch Linux N130<br />
title Arch Linux Custom N130 Kernel<br />
root (hd0,YOURROOT-1)<br />
kernel /boot/vmlinuz-N130 root=/dev/sdaYOURROOT resume=/dev/sdaYOURSWAP ro quiet<br />
</pre><br />
And reboot. If you have problems the standard Arch kernel is still installed and selectable from the GRUB menu.<br />
<br />
For [[GRUB2]] {{Filename|/boot/grub/grub.cfg}} the syntax looks like this (sda1 = your root partition; sda2 = your swap partition)<br />
<br />
<pre><br />
menuentry "Arch Linux N130" {<br />
set root=(hd0,1)<br />
linux /boot/vmlinuz-N130 root=/dev/sda1 resume=/dev/sda2 ro quiet <br />
}<br />
</pre><br />
<br />
{{Note|The kernel26-n130 has the i915 module compiled in with KMS enabled by default. There is no need to set up KMS as described below unless you wish to disable it.}}<br />
<br />
=Configure your installation=<br />
<br />
==Ethernet==<br />
<br />
RTL8101e/8102e fast ethernet. Works out of the box.<br />
<br />
==Wifi==<br />
<br />
The supplied wifi device is either an Atheros AR9285 (PCI ID = 168c:002b) (European markets) or a Realtek RTL8192E (US and UK markets).<br />
<br />
===Atheros AR9285===<br />
02:00.0 Network controller [0280]: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) [168c:002b] (rev 01)<br />
<br />
The kernel module for this device is "ath9k" (AR9285 is supported since 2.6.29).<br />
<br />
Kernels 2.6.30 and 2.6.32-rcN release candidates seem to work fine.<br />
However with kernel 2.6.31 the wireless connection exhibits frequent<br />
disconnects and reattachments,<br />
resulting in periods of bad througput and periods of good throughput.<br />
There is no sign of any patches for 2.6.31.y to fix this regression.<br />
Complain to linux-wireless@vger.kernel.org. To get it working either<br />
downgrade to 2.6.30 or preferably upgrade to 2.6.32.<br />
<br />
The following patch was included in 2.6.32 just before the final release: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=54ab040d24904d1fa2c0a6a27936b7c56a4efb24 . It disables PS (power saving) mode by default, since this mode was found to have problems. See here http://bugzilla.kernel.org/show_bug.cgi?id=14267 . PS mode can also be disabled with the following command, which can be placed in {{Filename|/etc/rc.local}}:<br />
iwconfig wlan0 power off<br />
<br />
===Realtek RTL8192E===<br />
====Open source driver====<br />
The native Linux driver for this wireless device is still in preparation, but it is available as a kernel module "rtl8192e" in "staging" -- i.e. in preparation for inclusion in the kernel and available to try out, but likely to still have some problems. It has been reported as working [https://bbs.archlinux.org/viewtopic.php?id=86454&p=6]. Firmware is required. See <br />
http://lkml.org/lkml/2009/12/15/410<br />
and<br />
https://git.kernel.org/?p=linux/kernel/git/gregkh/firmware.git;a=summary{{Linkrot|2011|09|05}}.<br />
<br />
The firmware is available in the <code>linux-firmware</code> package:<br />
<br />
# pacman -S linux-firmware <br />
<br />
Then<br />
$ md5sum /lib/firmware/RTL8192E/*<br />
should return<br />
bb9f64de23939ec247d15dfbeb0ed91e /lib/firmware/RTL8192E/boot.img<br />
db83def0338769de1d4658a00b6f738d /lib/firmware/RTL8192E/data.img<br />
0034020e5a32571f486849aa90a389a7 /lib/firmware/RTL8192E/main.img<br />
<br />
On rebooting, the kernel messages (visible with "dmesg") should now indicate that rtl819xE finds the firmware for loading into the device.<br />
<br />
Note: [[wicd]] may cause excessive dropped connections with this driver, while [[NetworkManager]] appears to work better.<br />
<br />
====Ndiswrapper====<br />
It has been reported as working with [[Wireless_Setup#ndiswrapper|ndiswrapper]] which makes use of the closed source Windows driver under Linux.<br />
<br />
==Cellular 3G Modem==<br />
<br />
''Specifications required''<br />
<br />
==Graphics Adapter==<br />
<br />
The video controller is an Intel chipset that works with the xf86-video-intel driver.<br />
<br />
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 945GME Express Integrated Graphics Controller [8086:27ae] (rev 03)<br />
00:02.1 Display controller [0380]: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller [8086:27a6] (rev 03)<br />
<br />
===Kernel Mode Setting===<br />
<br />
See also [[Intel#KMS_.28Kernel_Mode_Setting.29]].<br />
<br />
[[KMS]] works providing real consoles at the native LCD resolution, 1024x600.<br />
There is a known problem with 2.6.32 kernels (later release candidates up to at least release 2.6.32.8),<br />
which results in screen flickering and blackouts about 5 minutes after resuming<br />
from suspend-to-RAM or suspend-to-disk.<br />
<br />
{{Note|If you encounter screen flickering or blackouts with KMS enabled, try setting '''i915.powersave&#61;0''' as a kernel boot option.}}<br />
<br />
{{Note|Since version 2.10.0 of xf86-video-intel, support for UMS has been removed from the intel driver. This means that KMS is a requirement now.}}<br />
<br />
====Method A====<br />
<br />
If you are using a kernel with no inital ramdisk and you can simply add the required options to the GRUB kernel line:h<br />
<br />
# (0) Arch Linux N130<br />
title Arch Linux Custom N130 Kernel<br />
root (hd0,YOURROOT-1)<br />
kernel /boot/vmlinuz26-N130 root=/dev/sdaYOURROOT resume=/dev/sdaYOURSWAP ro quiet '''i915.powersave=0 i915.modeset=1'''<br />
<br />
====Method B====<br />
<br />
If you are using an initial ramdisk (either the standard kernel or the custom kernel method B above) then do the following:<br />
<br />
Edit {{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options i915 powersave=0 <br />
options i915 modeset=1<br />
Edit {{Filename|/etc/mkinitcpio.conf}}:<br />
MODULES="intel_agp i915"<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
Put keymap early in {{Filename|/etc/mkinitcpio.conf}} HOOKS.<br />
Regenerate the init ramdisk for the kernel(s) you are running:<br />
$ mkinitcpio -p kernel26<br />
or <br />
$ mkinitcpio -p kernel26-n140<br />
Remove any vga= or video= from grub {{Filename|/boot/grub/menu.lst}} kernel line, and reboot.<br />
<br />
====KMS with KDE====<br />
<br />
With earlier versions of KDE, on logout it returned to the F1 real console instead of to [[KDM]].<br />
Uncommenting this entry in {{Filename|/usr/share/config/kdm/kdmrc}} solved the problem:<br />
TerminateServer=true<br />
This setting is now the default.<br />
<br />
===Backlight Brightness===<br />
xbacklight does not work currently.<br />
However the brightness can be set with the following command<br />
<br />
setpci -s 00:02.1 F4.B=hh<br />
<br />
where hh is the level of brightness, in the range 00 to FF. Don't set it to zero<br />
because your backlight will turn off!<br />
<br />
Note this does not require the samsung-laptop patch mentioned above.<br />
<br />
Use the following script to increase and decrease the brightness. Put it in<br />
/sbin/backlight for example. Use xbindkeys to bind commands to the backlight Fn keys.<br />
Obtain sudo permission for user to use those commands with visudo.<br />
<br />
#!/bin/bash<br />
# increase/decrease/set/get the backlight brightness (range 0-255) by 16<br />
#<br />
#get current brightness in hex and convert to decimal<br />
var1=`setpci -s 00:02.1 F4.B`<br />
var1d=$((0x$var1))<br />
case "$1" in<br />
up)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d+16);if (a<255) print a else print 255" | bc`<br />
echo "$0: increasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s 00:02.1 F4.B=$var2<br />
;;<br />
down)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d-16);if (a>15) print a else print 15" | bc`<br />
echo "$0: decreasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s 00:02.1 F4.B=$var2<br />
;;<br />
set)<br />
#n.b. this does allow "set 0" i.e. backlight off<br />
echo "$0: setting brightness to 0x$2"<br />
setpci -s 00:02.1 F4.B=$2<br />
;;<br />
get)<br />
echo "$0: current brightness is 0x$var1"<br />
;;<br />
toggle)<br />
if [ $var1d -eq 0 ] ; then<br />
echo "toggling up"<br />
setpci -s 00:02.1 F4.B=FF<br />
else<br />
echo "toggling down"<br />
setpci -s 00:02.1 F4.B=0<br />
fi<br />
;;<br />
*)<br />
echo "usage: $0 {up|down|set <val>|get|toggle}"<br />
;;<br />
esac<br />
exit 0<br />
<br />
===External VGA===<br />
<br />
External VGA works out of the box with xrandr / krandrtray. Tested at 1920x1080 resolution.<br />
<br />
==Audio==<br />
<br />
The audio device is an Intel HD.<br />
00:1b.0 Audio device [0403]: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller [8086:27d8] (rev 02)<br />
<br />
==Suspend and Hibernate==<br />
<br />
Suspend to RAM with pm-suspend works.<br />
<br />
It is most useful to trigger suspends using [[acpid]].<br />
<br />
To catch the "sleep" function key, edit {{Filename|/etc/acpi/handler.sh}} so that the button/sleep) event calls /usr/sbin/pm-suspend (instead of "echo mem > /sys/power/state" which may leave wifi down after resume):<br />
<pre><br />
button/sleep)<br />
case "$2" in<br />
SLPB) logger "Sleep button pressed, suspending to RAM"<br />
/usr/sbin/pm-suspend<br />
;;<br />
*) logger "ACPI action undefined: $2"<br />
;;<br />
esac<br />
;;<br />
</pre><br />
When catching the lid closure, the button/lid event will be seen twice -- once on suspend<br />
and again on resume. So use the lid state to distinguish between these so that pm-suspend<br />
is not triggered twice:<br />
<br />
Enter the following lines in {{Filename|/etc/acpi/handler.sh}}:<br />
button/lid)<br />
if [ `/bin/awk '{print $2}' /proc/acpi/button/lid/LID0/state` = closed ]; then<br />
/usr/sbin/pm-suspend<br />
fi<br />
;;<br />
<br />
Hibernate works correctly (see [[pm-utils|pm-utils article]]).<br />
<br />
If you are a KDE4 user you can take advantage of powerdevil (included in kdemod-core/kdemod-kdebase-workspace since release 4.2) to manipulate the screen brightness, cpu scaling and hibernate. Suspend<br />
from KDE works too, but if you are using handler.sh to suspend on the button/lid and button/sleep acpi<br />
events, then KDE only needs to lock the screen. Note that cpu scaling requires acpi-cpufreq module<br />
to be loaded in MODULES in /etc/rc.conf.<br />
<br />
==Fn Keys==<br />
<br />
Firstly edit {{Filename|/usr/share/hal/fdi/information/10freedesktop/30-keymap-misc.fdi}}<br />
and insert N140 into the list where you see NC10 already.<br />
<br />
Now in a real console<br />
showkey<br />
<br />
will show presses for the function keys, but ''no releases'' for some of them.<br />
<br />
This is a BIOS issue which was also found on the Samsung NC10. A workaround quirk was put in the<br />
kernel in atkbd.c for the NC10. Patching this routine to apply the same<br />
quirk also works for the N140, and is recommended for 2.6.31 and earlier.<br />
However for 2.6.32 and later (i.e. any current Arch installation) there is a much simpler solution because this quirk can now be applied from user space. Simply edit {{Filename|/etc/rc.local}} and add the following line:<br />
<br />
echo 130,131,132,134,136,137,179,247,249 > /sys/devices/platform/i8042/serio0/force_release<br />
<br />
After this is run, doing "showkey" in a real console will show key presses and releases.<br />
<br />
===Binding Fn keys with xbindkeys===<br />
<br />
The following has been tested with KDE, but should also work for other DEs.<br />
<br />
To bind the Fn keys to action, read [[Extra_Keyboard_Keys#The_quick_way]] and also [[Extra_Keyboard_Keys_in_Xorg#Using_your_Desktop_Environment_tools|Extra Keyboard Keys in Xorg]]. <br />
<br />
The suspend key (Fn+ESC) and disable touchpad (Fn+F10) keys, numlock, scroll lock,<br />
volume controls and mute work out of the box.<br />
<br />
Note, that suspend key is handled in {{Filename|/etc/acpi/handler.sh}} (see "button/sleep" case entry) as <br />
shown above.<br />
<br />
1) install ''xbindkeys''<br />
pacman -S xbindkeys<br />
<br />
2) check the key values with<br />
xbindkeys -mk<br />
<br />
3) edit .xbindkeysrc<br />
<br />
"sudo /sbin/backlight up"<br />
m:0x0 + c:233<br />
"sudo /sbin/backlight down"<br />
m:0x0 + c:232<br />
"/home/user/bin/systeminfo_battery"<br />
m:0x0 + c:244<br />
"sudo /sbin/backlight toggle"<br />
m:0x0 + c:156<br />
"/home/user/bin/systeminfo_disk"<br />
m:0x0 + c:157<br />
"/home/user/bin/systeminfo_cpu"<br />
m:0x0 + c:210<br />
"/home/user/bin/systeminfo_wifi"<br />
m:0x0 + c:246<br />
<br />
4) run xbindkeys, and try it out<br />
xbindkeys<br />
<br />
For KDE4 put a link to {{Filename|/usr/bin/xbindkeys}} in {{Filename|~/.kde4/Autostart}}<br />
ln -s /usr/bin/xbindkeys ~/.kde4/Autostart/xbindkeys.link<br />
<br />
The Fn+F3 ("Euro") key: here Samsung implemented what has been called<br />
an entertaingly hilarious hack:<br />
http://lists.freedesktop.org/archives/hal/2009-August/013536.html<br />
ROFL! Does anyone know a practical use for this key?<br />
Fortunately some (eurozone) models have a real Euro key as well.<br />
<br />
===Binding Fn keys in Openbox===<br />
<br />
In [[Openbox]] one can use the internal keybind setup instead of xbindkeys.<br />
Here is an excerpt from rc.xml:<br />
<br />
<pre><br />
<keybind key="XF86Battery"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/batteryDisplay</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Display"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/monitor</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch1"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/brightnessToggle</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch2"><br />
<action name="Execute"><br />
<command>nice python ~/.config/openbox/scripts/checkmail.py --update</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch3"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/powersaveToggle</command><br />
</action><br />
</keybind><br />
</keybind><br />
<keybind key="XF86AudioMute"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume mute</command><br />
</action><br />
</keybind><br />
<keybind key="XF86WLAN"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/wlanToggle</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioLowerVolume"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume -</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioRaiseVolume"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume +</command><br />
</action><br />
</keybind><br />
<keybind key="XF86MonBrightnessDown"><br />
<action name="PreviousWindow"><br />
<bar>no</bar><br />
<allDesktops>yes</allDesktops><br />
<finalactions><br />
<action name="Focus"/><br />
<action name="Raise"/><br />
</finalactions><br />
</action><br />
</keybind><br />
<keybind key="XF86MonBrightnessUp"><br />
<action name="NextWindow"><br />
<bar>no</bar><br />
<allDesktops>yes</allDesktops><br />
<finalactions><br />
<action name="Focus"/><br />
<action name="Raise"/><br />
</finalactions><br />
</action><br />
</keybind><br />
</pre><br />
<br />
==Saving Power==<br />
Read [[Laptop#Power_Management]]<br />
<br />
Read [[Lightweight Applications]]<br />
<br />
{{Note|Caution is advised here with hdparm settings because the issue with SATA freezing is<br />
related to power management and spindowns. Before you tune the Samsung N130/N140 to minimize power consumption it is strongly recommended that you resolve the SATA freezing issue as discussed above.}}<br />
<br />
The Samsung N130/N140 contains a 1.6 GHz Intel Atom ULV (ultra low voltage) N270 processor, designed for low power consumption. The power consumption of the netbook (not just the processor) can be as low as 6W on idle with HDD spun down, although a typical figure under normal usage would be considerably higher.<br />
<br />
Obviously the battery life depends on battery capacity as well as power consumption.<br />
The supplied battery varies in different markets. This list is a guideline only. Do not rely on this information before purchase -- check with YOUR vendor and update this wiki if it is incorrect:<br />
<pre><br />
Voltage 11.1V<br />
<br />
N130 = 4000mAh [44Wh] (most markets), 5200mAh [57Wh] (Sweden)<br />
N130 (Vodafone) = ? [?] (Spain)<br />
N130 (CMCC) = ? [?] (China)<br />
N140 = 5200mAh [57Wh] (US, Germany, France, Sweden), 5900mAh [65Wh] (UK)<br />
Extended battery = 7800mAh [86Wh]<br />
</pre><br />
Install [[powertop]] which is a very useful tool for measuring and tuning power consumption, and htop which is useful for checking the CPU and memory usage of running processes<br />
# pacman -S powertop htop<br />
<br />
Enable CPU frequency scaling (P-states) by loading the driver module "acpi-cpufreq". This is most conveniently done in {{Filename|/etc/rc.conf}}:<br />
MODULES=(acpi-cpufreq ... )<br />
Select the CPU frequency governor by adding the following lines to {{Filename|/etc/rc.local}}: <br />
# Set the CPU frequency scaling governor for each core<br />
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
<br />
{{Note|Contrary to the advice in many places "hdparm -B 255 /dev/sda" does NOT necessarily turn off advanced power management. What happens depends on the disk model. With the Samsung HM160HI disk 255 results in very frequent spindowns}}</div>DonVlahttps://wiki.archlinux.org/index.php?title=Samsung_N140&diff=126950Samsung N1402011-01-05T18:55:14Z<p>DonVla: /* Installation */</p>
<hr />
<div>[[Category:Samsung (English)]]<br />
This article provides information about installing and setting up Arch Linux on the Samsung N140. It is also relevant for the Samsung N130 which is identical except for the omission of Bluetooth and stereo speakers (and possibly a different battery capacity). There are versions of the N130 which include a 3G cellular modem, available from Vodafone and China Mobile. The [[Samsung NC10]] is similar but not identical to the N140, so you may or may not find useful information on that page.<br />
<br />
=Issues=<br />
<br />
==BIOS Issues==<br />
===SATA exception, freeze, reset===<br />
<br />
{{Note|Patches addressing this problem have been included in the kernel since version <b>2.6.34rc1</b>. Please test and report.}}<br />
<br />
A BIOS problem causes a SATA hardreset shortly after boot. This is unresolved up to Samsung N140 BIOS 05CU, and Samsung N130 BIOS 06CM.<br />
See<br />
http://bugzilla.kernel.org/show_bug.cgi?id=14314, http://bugzilla.kernel.org/show_bug.cgi?id=13416,<br />
http://lkml.indiana.edu/hypermail/linux/kernel/0908.2/02809.html<br />
and<br />
http://lkml.indiana.edu/hypermail/linux/kernel/0911.3/01604.html .<br />
<br />
A summary of the status as currently understood:<br />
<br />
About 5 minutes after boot or resume, the BIOS switches on some power saving features which were not enabled at boot. It enables additional (sleepier) processor C-states, and sends power management instructions to the HDD. It does these behind the operating system's back -- not using ACPI, which would be handled correctly by Linux. Instead the sudden change results in a SATA exception at the first disk access following the switch.<br />
At that point the SATA driver resets the disk to resolve the problem. The result: the user sees a complete system freeze for about 30 seconds, after which operation of the machine continues normally. This can occur during the periodic fsck at boot if it is running at switch time. Either Samsung needs to be convinced to fix the BIOS, or the Linux kernel needs to be modified to behave more gracefully (Windows doesn't freeze noticeably if at all).<br />
<br />
It has been reported that some OpenSUSE kernels [http://download.opensuse.org/repositories/Moblin:/Base/openSUSE_11.1/src/kernel-source-2.6.31.7-37.1.src.rpm] do not freeze and testing is progress in the [http://bbs.archlinux.org/viewtopic.php?id=86454 Arch Forums]. The patch [http://marc.info/?l=linux-ide&m=122724081603679&w=2 libata-ata_piix-clear-spurious-IRQ] has been reported to resolve the freezing problem (Hint: to look at the rpm use [http://www.archlinux.org/packages/extra/i686/rpmextract/ rpmextract], and then untar config.tar.bz2 and patches.*.tar.bz2). Until a final kernel patch is created this patch offers an interim solution to the problem and details are given below on how to include it in a custom kernel.<br />
<br />
The N140 and N130 BIOSes have Phoenix FailSafe (you have been warned). It's not clear if the SATA problem has any relation to this.<br />
<br />
Version 01CM of the N130 BIOS has been reported to not cause freezes, unlike all later ones which do.<br />
<br />
Reports about the N130 02II and 02HI BIOSes (for the cellular modem versions) are not yet available.<br />
<br />
This problem is hazardous for your filesystem so take precautions. For example use ext3 (not ext4) with option data=journal and install backup software.<br />
<br />
===No backlight setting via ACPI===<br />
<br />
A workaround is to use "setpci" as shown below.<br />
<br />
Alternatively there is a kernel patch (unrelated to the SATA freeze problem) available which changes the backlight brightness using SMI instead of poking PCI config space. It provides a kernel module called "samsung-laptop". Interestingly we see from a version of this patch which is included in OpenSUSE 11.1 that a special (as yet unreleased?) BIOS for the N130 can be informed that the OS is Linux. The effect of this hasn't been published. Suggestion: run the samsung-laptop module with its debug parameter set to 1 to check whether it does anything at all.<br />
<br />
===No key releases for some Fn keys===<br />
<br />
Some of the Fn keys give key press events but no key releases. This problem was also seen on the NC10 and NC20. A workaround is given below. For kernels 2.6.32 and later this can be done from userspace.<br />
<br />
==Software issues==<br />
<br />
===Frequent wireless disconnects===<br />
With kernel 2.6.31 ath9k wifi exhibits frequent disconnects and reconnects. See http://bugzilla.kernel.org/show_bug.cgi?id=14267. Earlier and later kernels are better.<br />
<br />
===Screen flickering and blackouts===<br />
Some problems have been reported with [[KMS]] enabled for some 2.6.32 kernels. This problem is not specific to the Samsung N130/N140 -- it also affects others using Intel graphics drivers. Until the software is fixed a workaround is to[[Samsung_N140#Kernel_Mode_Setting| disable powersave mode]]. It expected that this issue will be resolved in kernel 2.6.33.<br />
<br />
=Installation=<br />
<br />
Do the standard Arch installation procedure from the ARCH CD ISO using an external USB CDROM drive. Alternatively boot the Arch installer from a USB flash drive.<br />
<br />
The standard Arch kernel is recommended (2.6.34 or later).<br />
<br />
A number of users have used a custom kernel for the following reasons:<br />
* to boot with a minimal kernel containing just the required modules and without an initial ramdisk.<br />
<br />
==Custom kernel: without initrd (AUR)==<br />
<br />
An AUR package [http://aur.archlinux.org/packages.php?ID=32042 kernel26-n130] is available. In this kernel most drivers are compiled in and there is no initial ramdisk. The drivers for cpu frequency scaling (acpi-cpufreq), wifi (ath9k, rtl8192e) and webcam (uvcvideo) are compiled as modules (i.e. '''not''' compiled in) so they can be inserted or removed from the kernel to enable or disable those features. MODULES in /etc/rc.conf can be used to enable or disable loading at boot.<br />
<br />
Prepare the directory<br />
$ mkdir ~/builds<br />
$ mkdir ~/builds/kernel26-n130<br />
$ cd ~/builds/kernel26-n130<br />
Get the AUR package and untar it<br />
$ wget http://aur.archlinux.org/packages/kernel26-n130/kernel26-n130.tar.gz<br />
$ tar zxvf kernel26-n130.tar.gz<br />
$ cd kernel26-n130<br />
<br />
At this point you can edit the PKGBUILD file if you need to (i) change the name or version number,<br />
(ii) change options or (iii) add additional patches.<br />
<br />
Check the PKGBUILD. Don't experiment with the CK patchset at this point:<br />
_USE_CK_PATCHSET=0<br />
Compile it (this will take some time...):<br />
$ makepkg -s<br />
Install the kernel from the new .pkg.tar.gz file<br />
$ sudo pacman -U kernel26-n130-2.6.<xx.yy>-<rr>.pkg.tar.gz<br />
<br />
Then, assuming you are using [[GRUB]], insert a new item in your {{Filename|/boot/grub/menu.lst}} to boot the new kernel "kernel26-N130". Note that no initrd line is necessary for this kernel.<br />
<pre><br />
# (0) Arch Linux N130<br />
title Arch Linux Custom N130 Kernel<br />
root (hd0,YOURROOT-1)<br />
kernel /boot/vmlinuz26-N130 root=/dev/sdaYOURROOT resume=/dev/sdaYOURSWAP ro quiet<br />
</pre><br />
And reboot. If you have problems the standard Arch kernel is still installed and selectable from the GRUB menu.<br />
<br />
For [[GRUB2]] {{Filename|/boot/grub/grub.cfg}} the syntax looks like this (sda1 = your root partition; sda2 = your swap partition)<br />
<br />
<pre><br />
menuentry "Arch Linux N130" {<br />
set root=(hd0,1)<br />
linux /boot/vmlinuz26-N130 root=/dev/sda1 resume=/dev/sda2 ro quiet <br />
}<br />
</pre><br />
<br />
{{Note|The kernel26-n130 has the i915 module compiled in with KMS enabled by default. There is no need to set up KMS as described below unless you wish to disable it.}}<br />
<br />
=Configure your installation=<br />
<br />
==Ethernet==<br />
<br />
RTL8101e/8102e fast ethernet. Works out of the box.<br />
<br />
==Wifi==<br />
<br />
The supplied wifi device is either an Atheros AR9285 (PCI ID = 168c:002b) (European markets) or a Realtek RTL8192E (US and UK markets).<br />
<br />
===Atheros AR9285===<br />
02:00.0 Network controller [0280]: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) [168c:002b] (rev 01)<br />
<br />
The kernel module for this device is "ath9k" (AR9285 is supported since 2.6.29).<br />
<br />
Kernels 2.6.30 and 2.6.32-rcN release candidates seem to work fine.<br />
However with kernel 2.6.31 the wireless connection exhibits frequent<br />
disconnects and reattachments,<br />
resulting in periods of bad througput and periods of good throughput.<br />
There is no sign of any patches for 2.6.31.y to fix this regression.<br />
Complain to linux-wireless@vger.kernel.org. To get it working either<br />
downgrade to 2.6.30 or preferably upgrade to 2.6.32.<br />
<br />
The following patch was included in 2.6.32 just before the final release: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=54ab040d24904d1fa2c0a6a27936b7c56a4efb24 . It disables PS (power saving) mode by default, since this mode was found to have problems. See here http://bugzilla.kernel.org/show_bug.cgi?id=14267 . PS mode can also be disabled with the following command, which can be placed in {{Filename|/etc/rc.local}}:<br />
iwconfig wlan0 power off<br />
<br />
===Realtek RTL8192E===<br />
====Open source driver====<br />
The native Linux driver for this wireless device is still in preparation, but it is available as a kernel module "rtl8192e" in "staging" -- i.e. in preparation for inclusion in the kernel and available to try out, but likely to still have some problems. It has been reported as working [https://bbs.archlinux.org/viewtopic.php?id=86454&p=6]. Firmware is required. See <br />
http://lkml.org/lkml/2009/12/15/410<br />
and<br />
https://git.kernel.org/?p=linux/kernel/git/gregkh/firmware.git;a=summary . <br />
<br />
The firmware is available in the <code>linux-firmware</code> package:<br />
<br />
# pacman -S linux-firmware <br />
<br />
Then<br />
$ md5sum /lib/firmware/RTL8192E/*<br />
should return<br />
bb9f64de23939ec247d15dfbeb0ed91e /lib/firmware/RTL8192E/boot.img<br />
db83def0338769de1d4658a00b6f738d /lib/firmware/RTL8192E/data.img<br />
0034020e5a32571f486849aa90a389a7 /lib/firmware/RTL8192E/main.img<br />
<br />
On rebooting, the kernel messages (visible with "dmesg") should now indicate that rtl819xE finds the firmware for loading into the device.<br />
<br />
====Ndiswrapper====<br />
It has been reported as working with [[Wireless_Setup#ndiswrapper|ndiswrapper]] which makes use of the closed source Windows driver under Linux.<br />
<br />
==Cellular 3G Modem==<br />
<br />
''Specifications required''<br />
<br />
==Graphics Adapter==<br />
<br />
The video controller is an Intel chipset that works with the xf86-video-intel driver.<br />
<br />
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 945GME Express Integrated Graphics Controller [8086:27ae] (rev 03)<br />
00:02.1 Display controller [0380]: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller [8086:27a6] (rev 03)<br />
<br />
===Kernel Mode Setting===<br />
<br />
See also [[Intel#KMS_.28Kernel_Mode_Setting.29]].<br />
<br />
[[KMS]] works providing real consoles at the native LCD resolution, 1024x600.<br />
There is a known problem with 2.6.32 kernels (later release candidates up to at least release 2.6.32.8),<br />
which results in screen flickering and blackouts about 5 minutes after resuming<br />
from suspend-to-RAM or suspend-to-disk.<br />
<br />
{{Note|If you encounter screen flickering or blackouts with KMS enabled, try setting '''i915.powersave&#61;0''' as a kernel boot option.}}<br />
<br />
{{Note|Since version 2.10.0 of xf86-video-intel, support for UMS has been removed from the intel driver. This means that KMS is a requirement now.}}<br />
<br />
====Method A====<br />
<br />
If you are using a kernel with no inital ramdisk and you can simply add the required options to the GRUB kernel line:h<br />
<br />
# (0) Arch Linux N130<br />
title Arch Linux Custom N130 Kernel<br />
root (hd0,YOURROOT-1)<br />
kernel /boot/vmlinuz26-N130 root=/dev/sdaYOURROOT resume=/dev/sdaYOURSWAP ro quiet '''i915.powersave=0 i915.modeset=1'''<br />
<br />
====Method B====<br />
<br />
If you are using an initial ramdisk (either the standard kernel or the custom kernel method B above) then do the following:<br />
<br />
Edit {{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options i915 powersave=0 <br />
options i915 modeset=1<br />
Edit {{Filename|/etc/mkinitcpio.conf}}:<br />
MODULES="intel_agp i915"<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
Put keymap early in {{Filename|/etc/mkinitcpio.conf}} HOOKS.<br />
Regenerate the init ramdisk for the kernel(s) you are running:<br />
$ mkinitcpio -p kernel26<br />
or <br />
$ mkinitcpio -p kernel26-n140<br />
Remove any vga= or video= from grub {{Filename|/boot/grub/menu.lst}} kernel line, and reboot.<br />
<br />
====KMS with KDE====<br />
<br />
With earlier versions of KDE, on logout it returned to the F1 real console instead of to [[KDM]].<br />
Uncommenting this entry in {{Filename|/usr/share/config/kdm/kdmrc}} solved the problem:<br />
TerminateServer=true<br />
This setting is now the default.<br />
<br />
===Backlight Brightness===<br />
xbacklight does not work currently.<br />
However the brightness can be set with the following command<br />
<br />
setpci -s 00:02.1 F4.B=hh<br />
<br />
where hh is the level of brightness, in the range 00 to FF. Don't set it to zero<br />
because your backlight will turn off!<br />
<br />
Note this does not require the samsung-laptop patch mentioned above.<br />
<br />
Use the following script to increase and decrease the brightness. Put it in<br />
/sbin/backlight for example. Use xbindkeys to bind commands to the backlight Fn keys.<br />
Obtain sudo permission for user to use those commands with visudo.<br />
<br />
#!/bin/bash<br />
# increase/decrease/set/get the backlight brightness (range 0-255) by 16<br />
#<br />
#get current brightness in hex and convert to decimal<br />
var1=`setpci -s 00:02.1 F4.B`<br />
var1d=$((0x$var1))<br />
case "$1" in<br />
up)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d+16);if (a<255) print a else print 255" | bc`<br />
echo "$0: increasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s 00:02.1 F4.B=$var2<br />
;;<br />
down)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d-16);if (a>15) print a else print 15" | bc`<br />
echo "$0: decreasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s 00:02.1 F4.B=$var2<br />
;;<br />
set)<br />
#n.b. this does allow "set 0" i.e. backlight off<br />
echo "$0: setting brightness to 0x$2"<br />
setpci -s 00:02.1 F4.B=$2<br />
;;<br />
get)<br />
echo "$0: current brightness is 0x$var1"<br />
;;<br />
toggle)<br />
if [ $var1d -eq 0 ] ; then<br />
echo "toggling up"<br />
setpci -s 00:02.1 F4.B=FF<br />
else<br />
echo "toggling down"<br />
setpci -s 00:02.1 F4.B=0<br />
fi<br />
;;<br />
*)<br />
echo "usage: $0 {up|down|set <val>|get|toggle}"<br />
;;<br />
esac<br />
exit 0<br />
<br />
===External VGA===<br />
<br />
External VGA works out of the box with xrandr / krandrtray. Tested at 1920x1080 resolution.<br />
<br />
==Audio==<br />
<br />
The audio device is an Intel HD.<br />
00:1b.0 Audio device [0403]: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller [8086:27d8] (rev 02)<br />
<br />
==Suspend and Hibernate==<br />
<br />
Suspend to RAM with pm-suspend works.<br />
<br />
It is most useful to trigger suspends using [[acpid]].<br />
<br />
To catch the "sleep" function key, edit {{Filename|/etc/acpi/handler.sh}} so that the button/sleep) event calls /usr/sbin/pm-suspend (instead of "echo mem > /sys/power/state" which may leave wifi down after resume):<br />
<pre><br />
button/sleep)<br />
case "$2" in<br />
SLPB) logger "Sleep button pressed, suspending to RAM"<br />
/usr/sbin/pm-suspend<br />
;;<br />
*) logger "ACPI action undefined: $2"<br />
;;<br />
esac<br />
;;<br />
</pre><br />
When catching the lid closure, the button/lid event will be seen twice -- once on suspend<br />
and again on resume. So use the lid state to distinguish between these so that pm-suspend<br />
is not triggered twice:<br />
<br />
Enter the following lines in {{Filename|/etc/acpi/handler.sh}}:<br />
button/lid)<br />
if [ `/bin/awk '{print $2}' /proc/acpi/button/lid/LID0/state` = closed ]; then<br />
/usr/sbin/pm-suspend<br />
fi<br />
;;<br />
<br />
Hibernate works correctly (see [[pm-utils|pm-utils article]]).<br />
<br />
If you are a KDE4 user you can take advantage of powerdevil (included in kdemod-core/kdemod-kdebase-workspace since release 4.2) to manipulate the screen brightness, cpu scaling and hibernate. Suspend<br />
from KDE works too, but if you are using handler.sh to suspend on the button/lid and button/sleep acpi<br />
events, then KDE only needs to lock the screen. Note that cpu scaling requires acpi-cpufreq module<br />
to be loaded in MODULES in /etc/rc.conf.<br />
<br />
==Fn Keys==<br />
<br />
Firstly edit {{Filename|/usr/share/hal/fdi/information/10freedesktop/30-keymap-misc.fdi}}<br />
and insert N140 into the list where you see NC10 already.<br />
<br />
Now in a real console<br />
showkey<br />
<br />
will show presses for the function keys, but ''no releases'' for some of them.<br />
<br />
This is a BIOS issue which was also found on the Samsung NC10. A workaround quirk was put in the<br />
kernel in atkbd.c for the NC10. Patching this routine to apply the same<br />
quirk also works for the N140, and is recommended for 2.6.31 and earlier.<br />
However for 2.6.32 and later (i.e. any current Arch installation) there is a much simpler solution because this quirk can now be applied from user space. Simply edit {{Filename|/etc/rc.local}} and add the following line:<br />
<br />
echo 130,131,132,134,136,137,179,247,249 > /sys/devices/platform/i8042/serio0/force_release<br />
<br />
After this is run, doing "showkey" in a real console will show key presses and releases.<br />
<br />
===Binding Fn keys with xbindkeys===<br />
<br />
The following has been tested with KDE, but should also work for other DEs.<br />
<br />
To bind the Fn keys to action, read [[Extra_Keyboard_Keys#The_quick_way]] and also [[Extra_Keyboard_Keys_in_Xorg#Using_your_Desktop_Environment_tools|Extra Keyboard Keys in Xorg]]. <br />
<br />
The suspend key (Fn+ESC) and disable touchpad (Fn+F10) keys, numlock, scroll lock,<br />
volume controls and mute work out of the box.<br />
<br />
Note, that suspend key is handled in {{Filename|/etc/acpi/handler.sh}} (see "button/sleep" case entry) as <br />
shown above.<br />
<br />
1) install ''xbindkeys''<br />
pacman -S xbindkeys<br />
<br />
2) check the key values with<br />
xbindkeys -mk<br />
<br />
3) edit .xbindkeysrc<br />
<br />
"sudo /sbin/backlight up"<br />
m:0x0 + c:233<br />
"sudo /sbin/backlight down"<br />
m:0x0 + c:232<br />
"/home/user/bin/systeminfo_battery"<br />
m:0x0 + c:244<br />
"sudo /sbin/backlight toggle"<br />
m:0x0 + c:156<br />
"/home/user/bin/systeminfo_disk"<br />
m:0x0 + c:157<br />
"/home/user/bin/systeminfo_cpu"<br />
m:0x0 + c:210<br />
"/home/user/bin/systeminfo_wifi"<br />
m:0x0 + c:246<br />
<br />
4) run xbindkeys, and try it out<br />
xbindkeys<br />
<br />
For KDE4 put a link to {{Filename|/usr/bin/xbindkeys}} in {{Filename|~/.kde4/Autostart}}<br />
ln -s /usr/bin/xbindkeys ~/.kde4/Autostart/xbindkeys.link<br />
<br />
The Fn+F3 ("Euro") key: here Samsung implemented what has been called<br />
an entertaingly hilarious hack:<br />
http://lists.freedesktop.org/archives/hal/2009-August/013536.html<br />
ROFL! Does anyone know a practical use for this key?<br />
Fortunately some (eurozone) models have a real Euro key as well.<br />
<br />
===Binding Fn keys in Openbox===<br />
<br />
In [[Openbox]] one can use the internal keybind setup instead of xbindkeys.<br />
Here is an excerpt from rc.xml:<br />
<br />
<pre><br />
<keybind key="XF86Battery"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/batteryDisplay</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Display"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/monitor</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch1"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/brightnessToggle</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch2"><br />
<action name="Execute"><br />
<command>nice python ~/.config/openbox/scripts/checkmail.py --update</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch3"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/powersaveToggle</command><br />
</action><br />
</keybind><br />
</keybind><br />
<keybind key="XF86AudioMute"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume mute</command><br />
</action><br />
</keybind><br />
<keybind key="XF86WLAN"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/wlanToggle</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioLowerVolume"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume -</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioRaiseVolume"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume +</command><br />
</action><br />
</keybind><br />
<keybind key="XF86MonBrightnessDown"><br />
<action name="PreviousWindow"><br />
<bar>no</bar><br />
<allDesktops>yes</allDesktops><br />
<finalactions><br />
<action name="Focus"/><br />
<action name="Raise"/><br />
</finalactions><br />
</action><br />
</keybind><br />
<keybind key="XF86MonBrightnessUp"><br />
<action name="NextWindow"><br />
<bar>no</bar><br />
<allDesktops>yes</allDesktops><br />
<finalactions><br />
<action name="Focus"/><br />
<action name="Raise"/><br />
</finalactions><br />
</action><br />
</keybind><br />
</pre><br />
<br />
==Saving Power==<br />
Read [[Laptop#Power_Management]]<br />
<br />
Read [[Lightweight Applications]]<br />
<br />
{{Note|Caution is advised here with hdparm settings because the issue with SATA freezing is<br />
related to power management and spindowns. Before you tune the Samsung N130/N140 to minimize power consumption it is strongly recommended that you resolve the SATA freezing issue as discussed above.}}<br />
<br />
The Samsung N130/N140 contains a 1.6 GHz Intel Atom ULV (ultra low voltage) N270 processor, designed for low power consumption. The power consumption of the netbook (not just the processor) can be as low as 6W on idle with HDD spun down, although a typical figure under normal usage would be considerably higher.<br />
<br />
Obviously the battery life depends on battery capacity as well as power consumption.<br />
The supplied battery varies in different markets. This list is a guideline only. Do not rely on this information before purchase -- check with YOUR vendor and update this wiki if it is incorrect:<br />
<pre><br />
Voltage 11.1V<br />
<br />
N130 = 4000mAh [44Wh] (most markets), 5200mAh [57Wh] (Sweden)<br />
N130 (Vodafone) = ? [?] (Spain)<br />
N130 (CMCC) = ? [?] (China)<br />
N140 = 5200mAh [57Wh] (US, Germany, France, Sweden), 5900mAh [65Wh] (UK)<br />
Extended battery = 7800mAh [86Wh]<br />
</pre><br />
Install powertop which is a very useful tool for measuring and tuning power consumption, and htop which is useful for checking the CPU and memory usage of running processes<br />
# pacman -S powertop htop<br />
<br />
Enable CPU frequency scaling (P-states) by loading the driver module "acpi-cpufreq". This is most conveniently done in {{Filename|/etc/rc.conf}}:<br />
MODULES=(acpi-cpufreq ... )<br />
Select the CPU frequency governor by adding the following lines to {{Filename|/etc/rc.local}}: <br />
# Set the CPU frequency scaling governor for each core<br />
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
<br />
{{Note|Contrary to the advice in many places "hdparm -B 255 /dev/sda" does NOT necessarily turn off advanced power management. What happens depends on the disk model. With the Samsung HM160HI disk 255 results in very frequent spindowns}}</div>DonVlahttps://wiki.archlinux.org/index.php?title=Talk:Samsung_N140&diff=126949Talk:Samsung N1402011-01-05T18:53:44Z<p>DonVla: /* Sata patch */ new section</p>
<hr />
<div>== wifi RTL8192E, x86_64 ==<br />
can anyone confirm if this device works with staging drivers and 64bit?<br />
: I confirm this driver works properly since the 2.6.32 kernel. but I've never heard about any 64bits driver ?? [[User:Bikepunk|Bikepunk]] 16:07, 27 May 2010 (EDT)<br />
<br />
== wifi RTL8192E confirmed ==<br />
I do confirm that on my N140 (US version), the wifi card is a realtek RTL8192E. --Bikepunk<br />
<br />
:Thanks Bikepunk. Do you have it working? Any info you can add to the wiki would be welcome. --Aedit<br />
:: I still did not try to install Arch, but I'll give a chance very soon. The realtek RTL8192E works using ndiswrapper and the windows xp driver. it seems that the linux driver is not out yet.<br />
[[User:Bikepunk|Bikepunk]] 18:36, 28 December 2009 (EST)<br />
<br />
== kernel26-n130 ==<br />
<br />
I'm thinking about my last edit about the optimised kernel, I'm not shure I'm right :S [[User:Bikepunk|Bikepunk]] 18:12, 28 January 2010 (EST)<br />
<br />
After installing Kernel 2.6.34 RC 2 I can not reproduce the SATA - exception anymore. The fix seems to work --[[User:Poggie|Poggie]] 15:11, 10 April 2010 (EDT)<br />
<br />
== Sata patch ==<br />
<br />
I removed the libsata patch part, because it isn't up-to-date anymore.<br />
Are there any objections?</div>DonVlahttps://wiki.archlinux.org/index.php?title=Samsung_N140&diff=126948Samsung N1402011-01-05T18:51:59Z<p>DonVla: /* Custom kernel: Arch standard plus libata patch */</p>
<hr />
<div>[[Category:Samsung (English)]]<br />
This article provides information about installing and setting up Arch Linux on the Samsung N140. It is also relevant for the Samsung N130 which is identical except for the omission of Bluetooth and stereo speakers (and possibly a different battery capacity). There are versions of the N130 which include a 3G cellular modem, available from Vodafone and China Mobile. The [[Samsung NC10]] is similar but not identical to the N140, so you may or may not find useful information on that page.<br />
<br />
=Issues=<br />
<br />
==BIOS Issues==<br />
===SATA exception, freeze, reset===<br />
<br />
{{Note|Patches addressing this problem have been included in the kernel since version <b>2.6.34rc1</b>. Please test and report.}}<br />
<br />
A BIOS problem causes a SATA hardreset shortly after boot. This is unresolved up to Samsung N140 BIOS 05CU, and Samsung N130 BIOS 06CM.<br />
See<br />
http://bugzilla.kernel.org/show_bug.cgi?id=14314, http://bugzilla.kernel.org/show_bug.cgi?id=13416,<br />
http://lkml.indiana.edu/hypermail/linux/kernel/0908.2/02809.html<br />
and<br />
http://lkml.indiana.edu/hypermail/linux/kernel/0911.3/01604.html .<br />
<br />
A summary of the status as currently understood:<br />
<br />
About 5 minutes after boot or resume, the BIOS switches on some power saving features which were not enabled at boot. It enables additional (sleepier) processor C-states, and sends power management instructions to the HDD. It does these behind the operating system's back -- not using ACPI, which would be handled correctly by Linux. Instead the sudden change results in a SATA exception at the first disk access following the switch.<br />
At that point the SATA driver resets the disk to resolve the problem. The result: the user sees a complete system freeze for about 30 seconds, after which operation of the machine continues normally. This can occur during the periodic fsck at boot if it is running at switch time. Either Samsung needs to be convinced to fix the BIOS, or the Linux kernel needs to be modified to behave more gracefully (Windows doesn't freeze noticeably if at all).<br />
<br />
It has been reported that some OpenSUSE kernels [http://download.opensuse.org/repositories/Moblin:/Base/openSUSE_11.1/src/kernel-source-2.6.31.7-37.1.src.rpm] do not freeze and testing is progress in the [http://bbs.archlinux.org/viewtopic.php?id=86454 Arch Forums]. The patch [http://marc.info/?l=linux-ide&m=122724081603679&w=2 libata-ata_piix-clear-spurious-IRQ] has been reported to resolve the freezing problem (Hint: to look at the rpm use [http://www.archlinux.org/packages/extra/i686/rpmextract/ rpmextract], and then untar config.tar.bz2 and patches.*.tar.bz2). Until a final kernel patch is created this patch offers an interim solution to the problem and details are given below on how to include it in a custom kernel.<br />
<br />
The N140 and N130 BIOSes have Phoenix FailSafe (you have been warned). It's not clear if the SATA problem has any relation to this.<br />
<br />
Version 01CM of the N130 BIOS has been reported to not cause freezes, unlike all later ones which do.<br />
<br />
Reports about the N130 02II and 02HI BIOSes (for the cellular modem versions) are not yet available.<br />
<br />
This problem is hazardous for your filesystem so take precautions. For example use ext3 (not ext4) with option data=journal and install backup software.<br />
<br />
===No backlight setting via ACPI===<br />
<br />
A workaround is to use "setpci" as shown below.<br />
<br />
Alternatively there is a kernel patch (unrelated to the SATA freeze problem) available which changes the backlight brightness using SMI instead of poking PCI config space. It provides a kernel module called "samsung-laptop". Interestingly we see from a version of this patch which is included in OpenSUSE 11.1 that a special (as yet unreleased?) BIOS for the N130 can be informed that the OS is Linux. The effect of this hasn't been published. Suggestion: run the samsung-laptop module with its debug parameter set to 1 to check whether it does anything at all.<br />
<br />
===No key releases for some Fn keys===<br />
<br />
Some of the Fn keys give key press events but no key releases. This problem was also seen on the NC10 and NC20. A workaround is given below. For kernels 2.6.32 and later this can be done from userspace.<br />
<br />
==Software issues==<br />
<br />
===Frequent wireless disconnects===<br />
With kernel 2.6.31 ath9k wifi exhibits frequent disconnects and reconnects. See http://bugzilla.kernel.org/show_bug.cgi?id=14267. Earlier and later kernels are better.<br />
<br />
===Screen flickering and blackouts===<br />
Some problems have been reported with [[KMS]] enabled for some 2.6.32 kernels. This problem is not specific to the Samsung N130/N140 -- it also affects others using Intel graphics drivers. Until the software is fixed a workaround is to[[Samsung_N140#Kernel_Mode_Setting| disable powersave mode]]. It expected that this issue will be resolved in kernel 2.6.33.<br />
<br />
=Installation=<br />
<br />
Do the standard Arch installation procedure from the ARCH CD ISO using an external USB CDROM drive. Alternatively boot the Arch installer from a USB flash drive.<br />
<br />
The standard Arch kernel is recommended (2.6.34 or later).<br />
<br />
A number of users have used a custom kernel for the following reasons: <br />
* to investigate/resolve the SATA problem (up to 2.6.33)<br />
* to boot with a minimal kernel containing just the required modules and without an initial ramdisk.<br />
<br />
==Custom kernel: without initrd (AUR)==<br />
<br />
An AUR package [http://aur.archlinux.org/packages.php?ID=32042 kernel26-n130] is available. In this kernel most drivers are compiled in and there is no initial ramdisk. The drivers for cpu frequency scaling (acpi-cpufreq), wifi (ath9k, rtl8192e) and webcam (uvcvideo) are compiled as modules (i.e. '''not''' compiled in) so they can be inserted or removed from the kernel to enable or disable those features. MODULES in /etc/rc.conf can be used to enable or disable loading at boot.<br />
<br />
Prepare the directory<br />
$ mkdir ~/builds<br />
$ mkdir ~/builds/kernel26-n130<br />
$ cd ~/builds/kernel26-n130<br />
Get the AUR package and untar it<br />
$ wget http://aur.archlinux.org/packages/kernel26-n130/kernel26-n130.tar.gz<br />
$ tar zxvf kernel26-n130.tar.gz<br />
$ cd kernel26-n130<br />
<br />
At this point you can edit the PKGBUILD file if you need to (i) change the name or version number,<br />
(ii) change options or (iii) add additional patches.<br />
<br />
Check the PKGBUILD. Don't experiment with the CK patchset at this point:<br />
_USE_CK_PATCHSET=0<br />
Compile it (this will take some time...):<br />
$ makepkg -s<br />
Install the kernel from the new .pkg.tar.gz file<br />
$ sudo pacman -U kernel26-n130-2.6.<xx.yy>-<rr>.pkg.tar.gz<br />
<br />
Then, assuming you are using [[GRUB]], insert a new item in your {{Filename|/boot/grub/menu.lst}} to boot the new kernel "kernel26-N130". Note that no initrd line is necessary for this kernel.<br />
<pre><br />
# (0) Arch Linux N130<br />
title Arch Linux Custom N130 Kernel<br />
root (hd0,YOURROOT-1)<br />
kernel /boot/vmlinuz26-N130 root=/dev/sdaYOURROOT resume=/dev/sdaYOURSWAP ro quiet<br />
</pre><br />
And reboot. If you have problems the standard Arch kernel is still installed and selectable from the GRUB menu.<br />
<br />
For [[GRUB2]] {{Filename|/boot/grub/grub.cfg}} the syntax looks like this (sda1 = your root partition; sda2 = your swap partition)<br />
<br />
<pre><br />
menuentry "Arch Linux N130" {<br />
set root=(hd0,1)<br />
linux /boot/vmlinuz26-N130 root=/dev/sda1 resume=/dev/sda2 ro quiet <br />
}<br />
</pre><br />
<br />
{{Note|The kernel26-n130 has the i915 module compiled in with KMS enabled by default. There is no need to set up KMS as described below unless you wish to disable it.}}<br />
<br />
=Configure your installation=<br />
<br />
==Ethernet==<br />
<br />
RTL8101e/8102e fast ethernet. Works out of the box.<br />
<br />
==Wifi==<br />
<br />
The supplied wifi device is either an Atheros AR9285 (PCI ID = 168c:002b) (European markets) or a Realtek RTL8192E (US and UK markets).<br />
<br />
===Atheros AR9285===<br />
02:00.0 Network controller [0280]: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) [168c:002b] (rev 01)<br />
<br />
The kernel module for this device is "ath9k" (AR9285 is supported since 2.6.29).<br />
<br />
Kernels 2.6.30 and 2.6.32-rcN release candidates seem to work fine.<br />
However with kernel 2.6.31 the wireless connection exhibits frequent<br />
disconnects and reattachments,<br />
resulting in periods of bad througput and periods of good throughput.<br />
There is no sign of any patches for 2.6.31.y to fix this regression.<br />
Complain to linux-wireless@vger.kernel.org. To get it working either<br />
downgrade to 2.6.30 or preferably upgrade to 2.6.32.<br />
<br />
The following patch was included in 2.6.32 just before the final release: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=54ab040d24904d1fa2c0a6a27936b7c56a4efb24 . It disables PS (power saving) mode by default, since this mode was found to have problems. See here http://bugzilla.kernel.org/show_bug.cgi?id=14267 . PS mode can also be disabled with the following command, which can be placed in {{Filename|/etc/rc.local}}:<br />
iwconfig wlan0 power off<br />
<br />
===Realtek RTL8192E===<br />
====Open source driver====<br />
The native Linux driver for this wireless device is still in preparation, but it is available as a kernel module "rtl8192e" in "staging" -- i.e. in preparation for inclusion in the kernel and available to try out, but likely to still have some problems. It has been reported as working [https://bbs.archlinux.org/viewtopic.php?id=86454&p=6]. Firmware is required. See <br />
http://lkml.org/lkml/2009/12/15/410<br />
and<br />
https://git.kernel.org/?p=linux/kernel/git/gregkh/firmware.git;a=summary . <br />
<br />
The firmware is available in the <code>linux-firmware</code> package:<br />
<br />
# pacman -S linux-firmware <br />
<br />
Then<br />
$ md5sum /lib/firmware/RTL8192E/*<br />
should return<br />
bb9f64de23939ec247d15dfbeb0ed91e /lib/firmware/RTL8192E/boot.img<br />
db83def0338769de1d4658a00b6f738d /lib/firmware/RTL8192E/data.img<br />
0034020e5a32571f486849aa90a389a7 /lib/firmware/RTL8192E/main.img<br />
<br />
On rebooting, the kernel messages (visible with "dmesg") should now indicate that rtl819xE finds the firmware for loading into the device.<br />
<br />
====Ndiswrapper====<br />
It has been reported as working with [[Wireless_Setup#ndiswrapper|ndiswrapper]] which makes use of the closed source Windows driver under Linux.<br />
<br />
==Cellular 3G Modem==<br />
<br />
''Specifications required''<br />
<br />
==Graphics Adapter==<br />
<br />
The video controller is an Intel chipset that works with the xf86-video-intel driver.<br />
<br />
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 945GME Express Integrated Graphics Controller [8086:27ae] (rev 03)<br />
00:02.1 Display controller [0380]: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller [8086:27a6] (rev 03)<br />
<br />
===Kernel Mode Setting===<br />
<br />
See also [[Intel#KMS_.28Kernel_Mode_Setting.29]].<br />
<br />
[[KMS]] works providing real consoles at the native LCD resolution, 1024x600.<br />
There is a known problem with 2.6.32 kernels (later release candidates up to at least release 2.6.32.8),<br />
which results in screen flickering and blackouts about 5 minutes after resuming<br />
from suspend-to-RAM or suspend-to-disk.<br />
<br />
{{Note|If you encounter screen flickering or blackouts with KMS enabled, try setting '''i915.powersave&#61;0''' as a kernel boot option.}}<br />
<br />
{{Note|Since version 2.10.0 of xf86-video-intel, support for UMS has been removed from the intel driver. This means that KMS is a requirement now.}}<br />
<br />
====Method A====<br />
<br />
If you are using a kernel with no inital ramdisk and you can simply add the required options to the GRUB kernel line:h<br />
<br />
# (0) Arch Linux N130<br />
title Arch Linux Custom N130 Kernel<br />
root (hd0,YOURROOT-1)<br />
kernel /boot/vmlinuz26-N130 root=/dev/sdaYOURROOT resume=/dev/sdaYOURSWAP ro quiet '''i915.powersave=0 i915.modeset=1'''<br />
<br />
====Method B====<br />
<br />
If you are using an initial ramdisk (either the standard kernel or the custom kernel method B above) then do the following:<br />
<br />
Edit {{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options i915 powersave=0 <br />
options i915 modeset=1<br />
Edit {{Filename|/etc/mkinitcpio.conf}}:<br />
MODULES="intel_agp i915"<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
Put keymap early in {{Filename|/etc/mkinitcpio.conf}} HOOKS.<br />
Regenerate the init ramdisk for the kernel(s) you are running:<br />
$ mkinitcpio -p kernel26<br />
or <br />
$ mkinitcpio -p kernel26-n140<br />
Remove any vga= or video= from grub {{Filename|/boot/grub/menu.lst}} kernel line, and reboot.<br />
<br />
====KMS with KDE====<br />
<br />
With earlier versions of KDE, on logout it returned to the F1 real console instead of to [[KDM]].<br />
Uncommenting this entry in {{Filename|/usr/share/config/kdm/kdmrc}} solved the problem:<br />
TerminateServer=true<br />
This setting is now the default.<br />
<br />
===Backlight Brightness===<br />
xbacklight does not work currently.<br />
However the brightness can be set with the following command<br />
<br />
setpci -s 00:02.1 F4.B=hh<br />
<br />
where hh is the level of brightness, in the range 00 to FF. Don't set it to zero<br />
because your backlight will turn off!<br />
<br />
Note this does not require the samsung-laptop patch mentioned above.<br />
<br />
Use the following script to increase and decrease the brightness. Put it in<br />
/sbin/backlight for example. Use xbindkeys to bind commands to the backlight Fn keys.<br />
Obtain sudo permission for user to use those commands with visudo.<br />
<br />
#!/bin/bash<br />
# increase/decrease/set/get the backlight brightness (range 0-255) by 16<br />
#<br />
#get current brightness in hex and convert to decimal<br />
var1=`setpci -s 00:02.1 F4.B`<br />
var1d=$((0x$var1))<br />
case "$1" in<br />
up)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d+16);if (a<255) print a else print 255" | bc`<br />
echo "$0: increasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s 00:02.1 F4.B=$var2<br />
;;<br />
down)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d-16);if (a>15) print a else print 15" | bc`<br />
echo "$0: decreasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s 00:02.1 F4.B=$var2<br />
;;<br />
set)<br />
#n.b. this does allow "set 0" i.e. backlight off<br />
echo "$0: setting brightness to 0x$2"<br />
setpci -s 00:02.1 F4.B=$2<br />
;;<br />
get)<br />
echo "$0: current brightness is 0x$var1"<br />
;;<br />
toggle)<br />
if [ $var1d -eq 0 ] ; then<br />
echo "toggling up"<br />
setpci -s 00:02.1 F4.B=FF<br />
else<br />
echo "toggling down"<br />
setpci -s 00:02.1 F4.B=0<br />
fi<br />
;;<br />
*)<br />
echo "usage: $0 {up|down|set <val>|get|toggle}"<br />
;;<br />
esac<br />
exit 0<br />
<br />
===External VGA===<br />
<br />
External VGA works out of the box with xrandr / krandrtray. Tested at 1920x1080 resolution.<br />
<br />
==Audio==<br />
<br />
The audio device is an Intel HD.<br />
00:1b.0 Audio device [0403]: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller [8086:27d8] (rev 02)<br />
<br />
==Suspend and Hibernate==<br />
<br />
Suspend to RAM with pm-suspend works.<br />
<br />
It is most useful to trigger suspends using [[acpid]].<br />
<br />
To catch the "sleep" function key, edit {{Filename|/etc/acpi/handler.sh}} so that the button/sleep) event calls /usr/sbin/pm-suspend (instead of "echo mem > /sys/power/state" which may leave wifi down after resume):<br />
<pre><br />
button/sleep)<br />
case "$2" in<br />
SLPB) logger "Sleep button pressed, suspending to RAM"<br />
/usr/sbin/pm-suspend<br />
;;<br />
*) logger "ACPI action undefined: $2"<br />
;;<br />
esac<br />
;;<br />
</pre><br />
When catching the lid closure, the button/lid event will be seen twice -- once on suspend<br />
and again on resume. So use the lid state to distinguish between these so that pm-suspend<br />
is not triggered twice:<br />
<br />
Enter the following lines in {{Filename|/etc/acpi/handler.sh}}:<br />
button/lid)<br />
if [ `/bin/awk '{print $2}' /proc/acpi/button/lid/LID0/state` = closed ]; then<br />
/usr/sbin/pm-suspend<br />
fi<br />
;;<br />
<br />
Hibernate works correctly (see [[pm-utils|pm-utils article]]).<br />
<br />
If you are a KDE4 user you can take advantage of powerdevil (included in kdemod-core/kdemod-kdebase-workspace since release 4.2) to manipulate the screen brightness, cpu scaling and hibernate. Suspend<br />
from KDE works too, but if you are using handler.sh to suspend on the button/lid and button/sleep acpi<br />
events, then KDE only needs to lock the screen. Note that cpu scaling requires acpi-cpufreq module<br />
to be loaded in MODULES in /etc/rc.conf.<br />
<br />
==Fn Keys==<br />
<br />
Firstly edit {{Filename|/usr/share/hal/fdi/information/10freedesktop/30-keymap-misc.fdi}}<br />
and insert N140 into the list where you see NC10 already.<br />
<br />
Now in a real console<br />
showkey<br />
<br />
will show presses for the function keys, but ''no releases'' for some of them.<br />
<br />
This is a BIOS issue which was also found on the Samsung NC10. A workaround quirk was put in the<br />
kernel in atkbd.c for the NC10. Patching this routine to apply the same<br />
quirk also works for the N140, and is recommended for 2.6.31 and earlier.<br />
However for 2.6.32 and later (i.e. any current Arch installation) there is a much simpler solution because this quirk can now be applied from user space. Simply edit {{Filename|/etc/rc.local}} and add the following line:<br />
<br />
echo 130,131,132,134,136,137,179,247,249 > /sys/devices/platform/i8042/serio0/force_release<br />
<br />
After this is run, doing "showkey" in a real console will show key presses and releases.<br />
<br />
===Binding Fn keys with xbindkeys===<br />
<br />
The following has been tested with KDE, but should also work for other DEs.<br />
<br />
To bind the Fn keys to action, read [[Extra_Keyboard_Keys#The_quick_way]] and also [[Extra_Keyboard_Keys_in_Xorg#Using_your_Desktop_Environment_tools|Extra Keyboard Keys in Xorg]]. <br />
<br />
The suspend key (Fn+ESC) and disable touchpad (Fn+F10) keys, numlock, scroll lock,<br />
volume controls and mute work out of the box.<br />
<br />
Note, that suspend key is handled in {{Filename|/etc/acpi/handler.sh}} (see "button/sleep" case entry) as <br />
shown above.<br />
<br />
1) install ''xbindkeys''<br />
pacman -S xbindkeys<br />
<br />
2) check the key values with<br />
xbindkeys -mk<br />
<br />
3) edit .xbindkeysrc<br />
<br />
"sudo /sbin/backlight up"<br />
m:0x0 + c:233<br />
"sudo /sbin/backlight down"<br />
m:0x0 + c:232<br />
"/home/user/bin/systeminfo_battery"<br />
m:0x0 + c:244<br />
"sudo /sbin/backlight toggle"<br />
m:0x0 + c:156<br />
"/home/user/bin/systeminfo_disk"<br />
m:0x0 + c:157<br />
"/home/user/bin/systeminfo_cpu"<br />
m:0x0 + c:210<br />
"/home/user/bin/systeminfo_wifi"<br />
m:0x0 + c:246<br />
<br />
4) run xbindkeys, and try it out<br />
xbindkeys<br />
<br />
For KDE4 put a link to {{Filename|/usr/bin/xbindkeys}} in {{Filename|~/.kde4/Autostart}}<br />
ln -s /usr/bin/xbindkeys ~/.kde4/Autostart/xbindkeys.link<br />
<br />
The Fn+F3 ("Euro") key: here Samsung implemented what has been called<br />
an entertaingly hilarious hack:<br />
http://lists.freedesktop.org/archives/hal/2009-August/013536.html<br />
ROFL! Does anyone know a practical use for this key?<br />
Fortunately some (eurozone) models have a real Euro key as well.<br />
<br />
===Binding Fn keys in Openbox===<br />
<br />
In [[Openbox]] one can use the internal keybind setup instead of xbindkeys.<br />
Here is an excerpt from rc.xml:<br />
<br />
<pre><br />
<keybind key="XF86Battery"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/batteryDisplay</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Display"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/monitor</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch1"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/brightnessToggle</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch2"><br />
<action name="Execute"><br />
<command>nice python ~/.config/openbox/scripts/checkmail.py --update</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch3"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/powersaveToggle</command><br />
</action><br />
</keybind><br />
</keybind><br />
<keybind key="XF86AudioMute"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume mute</command><br />
</action><br />
</keybind><br />
<keybind key="XF86WLAN"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/wlanToggle</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioLowerVolume"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume -</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioRaiseVolume"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume +</command><br />
</action><br />
</keybind><br />
<keybind key="XF86MonBrightnessDown"><br />
<action name="PreviousWindow"><br />
<bar>no</bar><br />
<allDesktops>yes</allDesktops><br />
<finalactions><br />
<action name="Focus"/><br />
<action name="Raise"/><br />
</finalactions><br />
</action><br />
</keybind><br />
<keybind key="XF86MonBrightnessUp"><br />
<action name="NextWindow"><br />
<bar>no</bar><br />
<allDesktops>yes</allDesktops><br />
<finalactions><br />
<action name="Focus"/><br />
<action name="Raise"/><br />
</finalactions><br />
</action><br />
</keybind><br />
</pre><br />
<br />
==Saving Power==<br />
Read [[Laptop#Power_Management]]<br />
<br />
Read [[Lightweight Applications]]<br />
<br />
{{Note|Caution is advised here with hdparm settings because the issue with SATA freezing is<br />
related to power management and spindowns. Before you tune the Samsung N130/N140 to minimize power consumption it is strongly recommended that you resolve the SATA freezing issue as discussed above.}}<br />
<br />
The Samsung N130/N140 contains a 1.6 GHz Intel Atom ULV (ultra low voltage) N270 processor, designed for low power consumption. The power consumption of the netbook (not just the processor) can be as low as 6W on idle with HDD spun down, although a typical figure under normal usage would be considerably higher.<br />
<br />
Obviously the battery life depends on battery capacity as well as power consumption.<br />
The supplied battery varies in different markets. This list is a guideline only. Do not rely on this information before purchase -- check with YOUR vendor and update this wiki if it is incorrect:<br />
<pre><br />
Voltage 11.1V<br />
<br />
N130 = 4000mAh [44Wh] (most markets), 5200mAh [57Wh] (Sweden)<br />
N130 (Vodafone) = ? [?] (Spain)<br />
N130 (CMCC) = ? [?] (China)<br />
N140 = 5200mAh [57Wh] (US, Germany, France, Sweden), 5900mAh [65Wh] (UK)<br />
Extended battery = 7800mAh [86Wh]<br />
</pre><br />
Install powertop which is a very useful tool for measuring and tuning power consumption, and htop which is useful for checking the CPU and memory usage of running processes<br />
# pacman -S powertop htop<br />
<br />
Enable CPU frequency scaling (P-states) by loading the driver module "acpi-cpufreq". This is most conveniently done in {{Filename|/etc/rc.conf}}:<br />
MODULES=(acpi-cpufreq ... )<br />
Select the CPU frequency governor by adding the following lines to {{Filename|/etc/rc.local}}: <br />
# Set the CPU frequency scaling governor for each core<br />
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
<br />
{{Note|Contrary to the advice in many places "hdparm -B 255 /dev/sda" does NOT necessarily turn off advanced power management. What happens depends on the disk model. With the Samsung HM160HI disk 255 results in very frequent spindowns}}</div>DonVlahttps://wiki.archlinux.org/index.php?title=Samsung_N140&diff=126947Samsung N1402011-01-05T18:51:25Z<p>DonVla: /* Custom kernel: Arch standard plus libata patch */</p>
<hr />
<div>[[Category:Samsung (English)]]<br />
This article provides information about installing and setting up Arch Linux on the Samsung N140. It is also relevant for the Samsung N130 which is identical except for the omission of Bluetooth and stereo speakers (and possibly a different battery capacity). There are versions of the N130 which include a 3G cellular modem, available from Vodafone and China Mobile. The [[Samsung NC10]] is similar but not identical to the N140, so you may or may not find useful information on that page.<br />
<br />
=Issues=<br />
<br />
==BIOS Issues==<br />
===SATA exception, freeze, reset===<br />
<br />
{{Note|Patches addressing this problem have been included in the kernel since version <b>2.6.34rc1</b>. Please test and report.}}<br />
<br />
A BIOS problem causes a SATA hardreset shortly after boot. This is unresolved up to Samsung N140 BIOS 05CU, and Samsung N130 BIOS 06CM.<br />
See<br />
http://bugzilla.kernel.org/show_bug.cgi?id=14314, http://bugzilla.kernel.org/show_bug.cgi?id=13416,<br />
http://lkml.indiana.edu/hypermail/linux/kernel/0908.2/02809.html<br />
and<br />
http://lkml.indiana.edu/hypermail/linux/kernel/0911.3/01604.html .<br />
<br />
A summary of the status as currently understood:<br />
<br />
About 5 minutes after boot or resume, the BIOS switches on some power saving features which were not enabled at boot. It enables additional (sleepier) processor C-states, and sends power management instructions to the HDD. It does these behind the operating system's back -- not using ACPI, which would be handled correctly by Linux. Instead the sudden change results in a SATA exception at the first disk access following the switch.<br />
At that point the SATA driver resets the disk to resolve the problem. The result: the user sees a complete system freeze for about 30 seconds, after which operation of the machine continues normally. This can occur during the periodic fsck at boot if it is running at switch time. Either Samsung needs to be convinced to fix the BIOS, or the Linux kernel needs to be modified to behave more gracefully (Windows doesn't freeze noticeably if at all).<br />
<br />
It has been reported that some OpenSUSE kernels [http://download.opensuse.org/repositories/Moblin:/Base/openSUSE_11.1/src/kernel-source-2.6.31.7-37.1.src.rpm] do not freeze and testing is progress in the [http://bbs.archlinux.org/viewtopic.php?id=86454 Arch Forums]. The patch [http://marc.info/?l=linux-ide&m=122724081603679&w=2 libata-ata_piix-clear-spurious-IRQ] has been reported to resolve the freezing problem (Hint: to look at the rpm use [http://www.archlinux.org/packages/extra/i686/rpmextract/ rpmextract], and then untar config.tar.bz2 and patches.*.tar.bz2). Until a final kernel patch is created this patch offers an interim solution to the problem and details are given below on how to include it in a custom kernel.<br />
<br />
The N140 and N130 BIOSes have Phoenix FailSafe (you have been warned). It's not clear if the SATA problem has any relation to this.<br />
<br />
Version 01CM of the N130 BIOS has been reported to not cause freezes, unlike all later ones which do.<br />
<br />
Reports about the N130 02II and 02HI BIOSes (for the cellular modem versions) are not yet available.<br />
<br />
This problem is hazardous for your filesystem so take precautions. For example use ext3 (not ext4) with option data=journal and install backup software.<br />
<br />
===No backlight setting via ACPI===<br />
<br />
A workaround is to use "setpci" as shown below.<br />
<br />
Alternatively there is a kernel patch (unrelated to the SATA freeze problem) available which changes the backlight brightness using SMI instead of poking PCI config space. It provides a kernel module called "samsung-laptop". Interestingly we see from a version of this patch which is included in OpenSUSE 11.1 that a special (as yet unreleased?) BIOS for the N130 can be informed that the OS is Linux. The effect of this hasn't been published. Suggestion: run the samsung-laptop module with its debug parameter set to 1 to check whether it does anything at all.<br />
<br />
===No key releases for some Fn keys===<br />
<br />
Some of the Fn keys give key press events but no key releases. This problem was also seen on the NC10 and NC20. A workaround is given below. For kernels 2.6.32 and later this can be done from userspace.<br />
<br />
==Software issues==<br />
<br />
===Frequent wireless disconnects===<br />
With kernel 2.6.31 ath9k wifi exhibits frequent disconnects and reconnects. See http://bugzilla.kernel.org/show_bug.cgi?id=14267. Earlier and later kernels are better.<br />
<br />
===Screen flickering and blackouts===<br />
Some problems have been reported with [[KMS]] enabled for some 2.6.32 kernels. This problem is not specific to the Samsung N130/N140 -- it also affects others using Intel graphics drivers. Until the software is fixed a workaround is to[[Samsung_N140#Kernel_Mode_Setting| disable powersave mode]]. It expected that this issue will be resolved in kernel 2.6.33.<br />
<br />
=Installation=<br />
<br />
Do the standard Arch installation procedure from the ARCH CD ISO using an external USB CDROM drive. Alternatively boot the Arch installer from a USB flash drive.<br />
<br />
The standard Arch kernel is recommended (2.6.34 or later).<br />
<br />
A number of users have used a custom kernel for the following reasons: <br />
* to investigate/resolve the SATA problem (up to 2.6.33)<br />
* to boot with a minimal kernel containing just the required modules and without an initial ramdisk.<br />
<br />
==Custom kernel: without initrd (AUR)==<br />
<br />
An AUR package [http://aur.archlinux.org/packages.php?ID=32042 kernel26-n130] is available. In this kernel most drivers are compiled in and there is no initial ramdisk. The drivers for cpu frequency scaling (acpi-cpufreq), wifi (ath9k, rtl8192e) and webcam (uvcvideo) are compiled as modules (i.e. '''not''' compiled in) so they can be inserted or removed from the kernel to enable or disable those features. MODULES in /etc/rc.conf can be used to enable or disable loading at boot.<br />
<br />
Prepare the directory<br />
$ mkdir ~/builds<br />
$ mkdir ~/builds/kernel26-n130<br />
$ cd ~/builds/kernel26-n130<br />
Get the AUR package and untar it<br />
$ wget http://aur.archlinux.org/packages/kernel26-n130/kernel26-n130.tar.gz<br />
$ tar zxvf kernel26-n130.tar.gz<br />
$ cd kernel26-n130<br />
<br />
At this point you can edit the PKGBUILD file if you need to (i) change the name or version number,<br />
(ii) change options or (iii) add additional patches.<br />
<br />
Check the PKGBUILD. Don't experiment with the CK patchset at this point:<br />
_USE_CK_PATCHSET=0<br />
Compile it (this will take some time...):<br />
$ makepkg -s<br />
Install the kernel from the new .pkg.tar.gz file<br />
$ sudo pacman -U kernel26-n130-2.6.<xx.yy>-<rr>.pkg.tar.gz<br />
<br />
Then, assuming you are using [[GRUB]], insert a new item in your {{Filename|/boot/grub/menu.lst}} to boot the new kernel "kernel26-N130". Note that no initrd line is necessary for this kernel.<br />
<pre><br />
# (0) Arch Linux N130<br />
title Arch Linux Custom N130 Kernel<br />
root (hd0,YOURROOT-1)<br />
kernel /boot/vmlinuz26-N130 root=/dev/sdaYOURROOT resume=/dev/sdaYOURSWAP ro quiet<br />
</pre><br />
And reboot. If you have problems the standard Arch kernel is still installed and selectable from the GRUB menu.<br />
<br />
For [[GRUB2]] {{Filename|/boot/grub/grub.cfg}} the syntax looks like this (sda1 = your root partition; sda2 = your swap partition)<br />
<br />
<pre><br />
menuentry "Arch Linux N130" {<br />
set root=(hd0,1)<br />
linux /boot/vmlinuz26-N130 root=/dev/sda1 resume=/dev/sda2 ro quiet <br />
}<br />
</pre><br />
<br />
{{Note|The kernel26-n130 has the i915 module compiled in with KMS enabled by default. There is no need to set up KMS as described below unless you wish to disable it.}}<br />
<br />
==Custom kernel: Arch standard plus libata patch==<br />
<br />
The following method can be used for kernels up to 2.6.33. Patching is unnecessary from 2.6.34 onwards!!!<br />
<br />
A custom kernel is compiled which is as close as possible to the standard Arch kernel. The only required change is to apply the patch<br />
[http://aur.archlinux.org/packages/kernel26-n130/kernel26-n130/libata-ata_piix-clear-spurious-IRQ libata-ata_piix-clear-spurious-IRQ] to address the SATA problem discussed above.<br />
* get the package files for the standard Arch kernel from [http://repos.archlinux.org/wsvn/packages/kernel26/repos/core-i686/ core-i686] or [[ABS]] or (for the testing kernel) from [http://repos.archlinux.org/wsvn/packages/kernel26/repos/testing-i686/ testing-i686] or [http://aur.archlinux.org/packages.php?ID=17189 AUR/kernel26-source] <br />
<br />
$ sudo abs<br />
$ cp -a /var/abs/core/kernel26 ~/builds/kernel26-n140<br />
<br />
* Change PKGBUILD as follows:<br />
<pre>--- PKGBUILD<br />
+++ PKGBUILD.new<br />
@@ -1,8 +1,8 @@<br />
# $Id: PKGBUILD 69948 2010-02-23 18:46:27Z tpowa $<br />
# Maintainer: Tobias Powalowski <tpowa@archlinux.org><br />
# Maintainer: Thomas Baechler <thomas@archlinux.org><br />
-pkgbase="kernel26"<br />
-pkgname=('kernel26' 'kernel26-firmware' 'kernel26-headers') # Build stock -ARCH kernel<br />
+pkgbase="kernel26-n140"<br />
+pkgname=('kernel26-n140' 'kernel26-n140-firmware' 'kernel26-n140-headers') # Build stock -ARCH kernel<br />
# pkgname=kernel26-custom # Build kernel with a different name<br />
_kernelname=${pkgname#kernel26}<br />
_basekernel=2.6.32<br />
@@ -17,12 +17,14 @@ source=(ftp://ftp.kernel.org/pub/linux/k<br />
# the main kernel config files<br />
config config.x86_64<br />
# standard config files for mkinitcpio ramdisk<br />
- kernel26.preset)<br />
+ kernel26.preset<br />
+ libata-ata_piix-clear-spurious-IRQ)<br />
md5sums=('260551284ac224c3a43c4adac7df4879'<br />
'a0a10c99eead1fa8bc05c03f7f18db36'<br />
'c114c5d89622a93165bb948d62d966b5'<br />
'5c91374d56f115ba4324978d5b002711'<br />
- '25584700a0a679542929c4bed31433b6')<br />
+ '25584700a0a679542929c4bed31433b6'<br />
+ 'd679ed71c2d6f367c7b1f65e82d817fa')<br />
<br />
build() {<br />
cd ${srcdir}/linux-$_basekernel<br />
@@ -30,6 +32,9 @@ build() {<br />
# See http://projects.archlinux.org/linux-2.6-ARCH.git/<br />
patch -Np1 -i ${srcdir}/${_patchname} || return 1<br />
<br />
+ # Patch for Samsung N130/N140<br />
+ patch -Np1 -i ${srcdir}/libata-ata_piix-clear-spurious-IRQ || return 1<br />
+<br />
if [ "$CARCH" = "x86_64" ]; then<br />
cat ../config.x86_64 >./.config<br />
else<br />
@@ -57,7 +62,7 @@ build() {<br />
make bzImage modules || return 1<br />
}<br />
<br />
-package_kernel26() {<br />
+package_kernel26-n140() {<br />
pkgdesc="The Linux Kernel and modules"<br />
groups=('base')<br />
backup=(etc/mkinitcpio.d/${pkgname}.preset)<br />
@@ -104,7 +109,7 @@ package_kernel26() {<br />
rm -rf ${pkgdir}/lib/firmware<br />
}<br />
<br />
-package_kernel26-headers() {<br />
+package_kernel26-n140-headers() {<br />
pkgdesc="Header files and scripts for building modules for kernel26"<br />
mkdir -p ${pkgdir}/lib/modules/${_kernver}<br />
cd ${pkgdir}/lib/modules/${_kernver}<br />
@@ -204,7 +209,7 @@ package_kernel26-headers() {<br />
rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}<br />
}<br />
<br />
-package_kernel26-firmware() {<br />
+package_kernel26-n140-firmware() {<br />
pkgdesc="The included firmware files of the Linux Kernel"<br />
groups=('base')<br />
<br />
</pre><br />
<br />
* compile, install it and add new section in {{Filename|/boot/grub/menu.lst}}, identical to the standard entry but with kernel26 replaced by kernel26-n140. Reboot.<br />
<br />
=Configure your installation=<br />
<br />
==Ethernet==<br />
<br />
RTL8101e/8102e fast ethernet. Works out of the box.<br />
<br />
==Wifi==<br />
<br />
The supplied wifi device is either an Atheros AR9285 (PCI ID = 168c:002b) (European markets) or a Realtek RTL8192E (US and UK markets).<br />
<br />
===Atheros AR9285===<br />
02:00.0 Network controller [0280]: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) [168c:002b] (rev 01)<br />
<br />
The kernel module for this device is "ath9k" (AR9285 is supported since 2.6.29).<br />
<br />
Kernels 2.6.30 and 2.6.32-rcN release candidates seem to work fine.<br />
However with kernel 2.6.31 the wireless connection exhibits frequent<br />
disconnects and reattachments,<br />
resulting in periods of bad througput and periods of good throughput.<br />
There is no sign of any patches for 2.6.31.y to fix this regression.<br />
Complain to linux-wireless@vger.kernel.org. To get it working either<br />
downgrade to 2.6.30 or preferably upgrade to 2.6.32.<br />
<br />
The following patch was included in 2.6.32 just before the final release: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=54ab040d24904d1fa2c0a6a27936b7c56a4efb24 . It disables PS (power saving) mode by default, since this mode was found to have problems. See here http://bugzilla.kernel.org/show_bug.cgi?id=14267 . PS mode can also be disabled with the following command, which can be placed in {{Filename|/etc/rc.local}}:<br />
iwconfig wlan0 power off<br />
<br />
===Realtek RTL8192E===<br />
====Open source driver====<br />
The native Linux driver for this wireless device is still in preparation, but it is available as a kernel module "rtl8192e" in "staging" -- i.e. in preparation for inclusion in the kernel and available to try out, but likely to still have some problems. It has been reported as working [https://bbs.archlinux.org/viewtopic.php?id=86454&p=6]. Firmware is required. See <br />
http://lkml.org/lkml/2009/12/15/410<br />
and<br />
https://git.kernel.org/?p=linux/kernel/git/gregkh/firmware.git;a=summary . <br />
<br />
The firmware is available in the <code>linux-firmware</code> package:<br />
<br />
# pacman -S linux-firmware <br />
<br />
Then<br />
$ md5sum /lib/firmware/RTL8192E/*<br />
should return<br />
bb9f64de23939ec247d15dfbeb0ed91e /lib/firmware/RTL8192E/boot.img<br />
db83def0338769de1d4658a00b6f738d /lib/firmware/RTL8192E/data.img<br />
0034020e5a32571f486849aa90a389a7 /lib/firmware/RTL8192E/main.img<br />
<br />
On rebooting, the kernel messages (visible with "dmesg") should now indicate that rtl819xE finds the firmware for loading into the device.<br />
<br />
====Ndiswrapper====<br />
It has been reported as working with [[Wireless_Setup#ndiswrapper|ndiswrapper]] which makes use of the closed source Windows driver under Linux.<br />
<br />
==Cellular 3G Modem==<br />
<br />
''Specifications required''<br />
<br />
==Graphics Adapter==<br />
<br />
The video controller is an Intel chipset that works with the xf86-video-intel driver.<br />
<br />
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 945GME Express Integrated Graphics Controller [8086:27ae] (rev 03)<br />
00:02.1 Display controller [0380]: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller [8086:27a6] (rev 03)<br />
<br />
===Kernel Mode Setting===<br />
<br />
See also [[Intel#KMS_.28Kernel_Mode_Setting.29]].<br />
<br />
[[KMS]] works providing real consoles at the native LCD resolution, 1024x600.<br />
There is a known problem with 2.6.32 kernels (later release candidates up to at least release 2.6.32.8),<br />
which results in screen flickering and blackouts about 5 minutes after resuming<br />
from suspend-to-RAM or suspend-to-disk.<br />
<br />
{{Note|If you encounter screen flickering or blackouts with KMS enabled, try setting '''i915.powersave&#61;0''' as a kernel boot option.}}<br />
<br />
{{Note|Since version 2.10.0 of xf86-video-intel, support for UMS has been removed from the intel driver. This means that KMS is a requirement now.}}<br />
<br />
====Method A====<br />
<br />
If you are using a kernel with no inital ramdisk and you can simply add the required options to the GRUB kernel line:h<br />
<br />
# (0) Arch Linux N130<br />
title Arch Linux Custom N130 Kernel<br />
root (hd0,YOURROOT-1)<br />
kernel /boot/vmlinuz26-N130 root=/dev/sdaYOURROOT resume=/dev/sdaYOURSWAP ro quiet '''i915.powersave=0 i915.modeset=1'''<br />
<br />
====Method B====<br />
<br />
If you are using an initial ramdisk (either the standard kernel or the custom kernel method B above) then do the following:<br />
<br />
Edit {{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options i915 powersave=0 <br />
options i915 modeset=1<br />
Edit {{Filename|/etc/mkinitcpio.conf}}:<br />
MODULES="intel_agp i915"<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
Put keymap early in {{Filename|/etc/mkinitcpio.conf}} HOOKS.<br />
Regenerate the init ramdisk for the kernel(s) you are running:<br />
$ mkinitcpio -p kernel26<br />
or <br />
$ mkinitcpio -p kernel26-n140<br />
Remove any vga= or video= from grub {{Filename|/boot/grub/menu.lst}} kernel line, and reboot.<br />
<br />
====KMS with KDE====<br />
<br />
With earlier versions of KDE, on logout it returned to the F1 real console instead of to [[KDM]].<br />
Uncommenting this entry in {{Filename|/usr/share/config/kdm/kdmrc}} solved the problem:<br />
TerminateServer=true<br />
This setting is now the default.<br />
<br />
===Backlight Brightness===<br />
xbacklight does not work currently.<br />
However the brightness can be set with the following command<br />
<br />
setpci -s 00:02.1 F4.B=hh<br />
<br />
where hh is the level of brightness, in the range 00 to FF. Don't set it to zero<br />
because your backlight will turn off!<br />
<br />
Note this does not require the samsung-laptop patch mentioned above.<br />
<br />
Use the following script to increase and decrease the brightness. Put it in<br />
/sbin/backlight for example. Use xbindkeys to bind commands to the backlight Fn keys.<br />
Obtain sudo permission for user to use those commands with visudo.<br />
<br />
#!/bin/bash<br />
# increase/decrease/set/get the backlight brightness (range 0-255) by 16<br />
#<br />
#get current brightness in hex and convert to decimal<br />
var1=`setpci -s 00:02.1 F4.B`<br />
var1d=$((0x$var1))<br />
case "$1" in<br />
up)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d+16);if (a<255) print a else print 255" | bc`<br />
echo "$0: increasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s 00:02.1 F4.B=$var2<br />
;;<br />
down)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d-16);if (a>15) print a else print 15" | bc`<br />
echo "$0: decreasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s 00:02.1 F4.B=$var2<br />
;;<br />
set)<br />
#n.b. this does allow "set 0" i.e. backlight off<br />
echo "$0: setting brightness to 0x$2"<br />
setpci -s 00:02.1 F4.B=$2<br />
;;<br />
get)<br />
echo "$0: current brightness is 0x$var1"<br />
;;<br />
toggle)<br />
if [ $var1d -eq 0 ] ; then<br />
echo "toggling up"<br />
setpci -s 00:02.1 F4.B=FF<br />
else<br />
echo "toggling down"<br />
setpci -s 00:02.1 F4.B=0<br />
fi<br />
;;<br />
*)<br />
echo "usage: $0 {up|down|set <val>|get|toggle}"<br />
;;<br />
esac<br />
exit 0<br />
<br />
===External VGA===<br />
<br />
External VGA works out of the box with xrandr / krandrtray. Tested at 1920x1080 resolution.<br />
<br />
==Audio==<br />
<br />
The audio device is an Intel HD.<br />
00:1b.0 Audio device [0403]: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller [8086:27d8] (rev 02)<br />
<br />
==Suspend and Hibernate==<br />
<br />
Suspend to RAM with pm-suspend works.<br />
<br />
It is most useful to trigger suspends using [[acpid]].<br />
<br />
To catch the "sleep" function key, edit {{Filename|/etc/acpi/handler.sh}} so that the button/sleep) event calls /usr/sbin/pm-suspend (instead of "echo mem > /sys/power/state" which may leave wifi down after resume):<br />
<pre><br />
button/sleep)<br />
case "$2" in<br />
SLPB) logger "Sleep button pressed, suspending to RAM"<br />
/usr/sbin/pm-suspend<br />
;;<br />
*) logger "ACPI action undefined: $2"<br />
;;<br />
esac<br />
;;<br />
</pre><br />
When catching the lid closure, the button/lid event will be seen twice -- once on suspend<br />
and again on resume. So use the lid state to distinguish between these so that pm-suspend<br />
is not triggered twice:<br />
<br />
Enter the following lines in {{Filename|/etc/acpi/handler.sh}}:<br />
button/lid)<br />
if [ `/bin/awk '{print $2}' /proc/acpi/button/lid/LID0/state` = closed ]; then<br />
/usr/sbin/pm-suspend<br />
fi<br />
;;<br />
<br />
Hibernate works correctly (see [[pm-utils|pm-utils article]]).<br />
<br />
If you are a KDE4 user you can take advantage of powerdevil (included in kdemod-core/kdemod-kdebase-workspace since release 4.2) to manipulate the screen brightness, cpu scaling and hibernate. Suspend<br />
from KDE works too, but if you are using handler.sh to suspend on the button/lid and button/sleep acpi<br />
events, then KDE only needs to lock the screen. Note that cpu scaling requires acpi-cpufreq module<br />
to be loaded in MODULES in /etc/rc.conf.<br />
<br />
==Fn Keys==<br />
<br />
Firstly edit {{Filename|/usr/share/hal/fdi/information/10freedesktop/30-keymap-misc.fdi}}<br />
and insert N140 into the list where you see NC10 already.<br />
<br />
Now in a real console<br />
showkey<br />
<br />
will show presses for the function keys, but ''no releases'' for some of them.<br />
<br />
This is a BIOS issue which was also found on the Samsung NC10. A workaround quirk was put in the<br />
kernel in atkbd.c for the NC10. Patching this routine to apply the same<br />
quirk also works for the N140, and is recommended for 2.6.31 and earlier.<br />
However for 2.6.32 and later (i.e. any current Arch installation) there is a much simpler solution because this quirk can now be applied from user space. Simply edit {{Filename|/etc/rc.local}} and add the following line:<br />
<br />
echo 130,131,132,134,136,137,179,247,249 > /sys/devices/platform/i8042/serio0/force_release<br />
<br />
After this is run, doing "showkey" in a real console will show key presses and releases.<br />
<br />
===Binding Fn keys with xbindkeys===<br />
<br />
The following has been tested with KDE, but should also work for other DEs.<br />
<br />
To bind the Fn keys to action, read [[Extra_Keyboard_Keys#The_quick_way]] and also [[Extra_Keyboard_Keys_in_Xorg#Using_your_Desktop_Environment_tools|Extra Keyboard Keys in Xorg]]. <br />
<br />
The suspend key (Fn+ESC) and disable touchpad (Fn+F10) keys, numlock, scroll lock,<br />
volume controls and mute work out of the box.<br />
<br />
Note, that suspend key is handled in {{Filename|/etc/acpi/handler.sh}} (see "button/sleep" case entry) as <br />
shown above.<br />
<br />
1) install ''xbindkeys''<br />
pacman -S xbindkeys<br />
<br />
2) check the key values with<br />
xbindkeys -mk<br />
<br />
3) edit .xbindkeysrc<br />
<br />
"sudo /sbin/backlight up"<br />
m:0x0 + c:233<br />
"sudo /sbin/backlight down"<br />
m:0x0 + c:232<br />
"/home/user/bin/systeminfo_battery"<br />
m:0x0 + c:244<br />
"sudo /sbin/backlight toggle"<br />
m:0x0 + c:156<br />
"/home/user/bin/systeminfo_disk"<br />
m:0x0 + c:157<br />
"/home/user/bin/systeminfo_cpu"<br />
m:0x0 + c:210<br />
"/home/user/bin/systeminfo_wifi"<br />
m:0x0 + c:246<br />
<br />
4) run xbindkeys, and try it out<br />
xbindkeys<br />
<br />
For KDE4 put a link to {{Filename|/usr/bin/xbindkeys}} in {{Filename|~/.kde4/Autostart}}<br />
ln -s /usr/bin/xbindkeys ~/.kde4/Autostart/xbindkeys.link<br />
<br />
The Fn+F3 ("Euro") key: here Samsung implemented what has been called<br />
an entertaingly hilarious hack:<br />
http://lists.freedesktop.org/archives/hal/2009-August/013536.html<br />
ROFL! Does anyone know a practical use for this key?<br />
Fortunately some (eurozone) models have a real Euro key as well.<br />
<br />
===Binding Fn keys in Openbox===<br />
<br />
In [[Openbox]] one can use the internal keybind setup instead of xbindkeys.<br />
Here is an excerpt from rc.xml:<br />
<br />
<pre><br />
<keybind key="XF86Battery"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/batteryDisplay</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Display"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/monitor</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch1"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/brightnessToggle</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch2"><br />
<action name="Execute"><br />
<command>nice python ~/.config/openbox/scripts/checkmail.py --update</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch3"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/powersaveToggle</command><br />
</action><br />
</keybind><br />
</keybind><br />
<keybind key="XF86AudioMute"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume mute</command><br />
</action><br />
</keybind><br />
<keybind key="XF86WLAN"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/wlanToggle</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioLowerVolume"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume -</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioRaiseVolume"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume +</command><br />
</action><br />
</keybind><br />
<keybind key="XF86MonBrightnessDown"><br />
<action name="PreviousWindow"><br />
<bar>no</bar><br />
<allDesktops>yes</allDesktops><br />
<finalactions><br />
<action name="Focus"/><br />
<action name="Raise"/><br />
</finalactions><br />
</action><br />
</keybind><br />
<keybind key="XF86MonBrightnessUp"><br />
<action name="NextWindow"><br />
<bar>no</bar><br />
<allDesktops>yes</allDesktops><br />
<finalactions><br />
<action name="Focus"/><br />
<action name="Raise"/><br />
</finalactions><br />
</action><br />
</keybind><br />
</pre><br />
<br />
==Saving Power==<br />
Read [[Laptop#Power_Management]]<br />
<br />
Read [[Lightweight Applications]]<br />
<br />
{{Note|Caution is advised here with hdparm settings because the issue with SATA freezing is<br />
related to power management and spindowns. Before you tune the Samsung N130/N140 to minimize power consumption it is strongly recommended that you resolve the SATA freezing issue as discussed above.}}<br />
<br />
The Samsung N130/N140 contains a 1.6 GHz Intel Atom ULV (ultra low voltage) N270 processor, designed for low power consumption. The power consumption of the netbook (not just the processor) can be as low as 6W on idle with HDD spun down, although a typical figure under normal usage would be considerably higher.<br />
<br />
Obviously the battery life depends on battery capacity as well as power consumption.<br />
The supplied battery varies in different markets. This list is a guideline only. Do not rely on this information before purchase -- check with YOUR vendor and update this wiki if it is incorrect:<br />
<pre><br />
Voltage 11.1V<br />
<br />
N130 = 4000mAh [44Wh] (most markets), 5200mAh [57Wh] (Sweden)<br />
N130 (Vodafone) = ? [?] (Spain)<br />
N130 (CMCC) = ? [?] (China)<br />
N140 = 5200mAh [57Wh] (US, Germany, France, Sweden), 5900mAh [65Wh] (UK)<br />
Extended battery = 7800mAh [86Wh]<br />
</pre><br />
Install powertop which is a very useful tool for measuring and tuning power consumption, and htop which is useful for checking the CPU and memory usage of running processes<br />
# pacman -S powertop htop<br />
<br />
Enable CPU frequency scaling (P-states) by loading the driver module "acpi-cpufreq". This is most conveniently done in {{Filename|/etc/rc.conf}}:<br />
MODULES=(acpi-cpufreq ... )<br />
Select the CPU frequency governor by adding the following lines to {{Filename|/etc/rc.local}}: <br />
# Set the CPU frequency scaling governor for each core<br />
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
<br />
{{Note|Contrary to the advice in many places "hdparm -B 255 /dev/sda" does NOT necessarily turn off advanced power management. What happens depends on the disk model. With the Samsung HM160HI disk 255 results in very frequent spindowns}}</div>DonVlahttps://wiki.archlinux.org/index.php?title=Samsung_N140&diff=126942Samsung N1402011-01-05T18:47:13Z<p>DonVla: /* Custom kernel: without initrd (AUR) */</p>
<hr />
<div>[[Category:Samsung (English)]]<br />
This article provides information about installing and setting up Arch Linux on the Samsung N140. It is also relevant for the Samsung N130 which is identical except for the omission of Bluetooth and stereo speakers (and possibly a different battery capacity). There are versions of the N130 which include a 3G cellular modem, available from Vodafone and China Mobile. The [[Samsung NC10]] is similar but not identical to the N140, so you may or may not find useful information on that page.<br />
<br />
=Issues=<br />
<br />
==BIOS Issues==<br />
===SATA exception, freeze, reset===<br />
<br />
{{Note|Patches addressing this problem have been included in the kernel since version <b>2.6.34rc1</b>. Please test and report.}}<br />
<br />
A BIOS problem causes a SATA hardreset shortly after boot. This is unresolved up to Samsung N140 BIOS 05CU, and Samsung N130 BIOS 06CM.<br />
See<br />
http://bugzilla.kernel.org/show_bug.cgi?id=14314, http://bugzilla.kernel.org/show_bug.cgi?id=13416,<br />
http://lkml.indiana.edu/hypermail/linux/kernel/0908.2/02809.html<br />
and<br />
http://lkml.indiana.edu/hypermail/linux/kernel/0911.3/01604.html .<br />
<br />
A summary of the status as currently understood:<br />
<br />
About 5 minutes after boot or resume, the BIOS switches on some power saving features which were not enabled at boot. It enables additional (sleepier) processor C-states, and sends power management instructions to the HDD. It does these behind the operating system's back -- not using ACPI, which would be handled correctly by Linux. Instead the sudden change results in a SATA exception at the first disk access following the switch.<br />
At that point the SATA driver resets the disk to resolve the problem. The result: the user sees a complete system freeze for about 30 seconds, after which operation of the machine continues normally. This can occur during the periodic fsck at boot if it is running at switch time. Either Samsung needs to be convinced to fix the BIOS, or the Linux kernel needs to be modified to behave more gracefully (Windows doesn't freeze noticeably if at all).<br />
<br />
It has been reported that some OpenSUSE kernels [http://download.opensuse.org/repositories/Moblin:/Base/openSUSE_11.1/src/kernel-source-2.6.31.7-37.1.src.rpm] do not freeze and testing is progress in the [http://bbs.archlinux.org/viewtopic.php?id=86454 Arch Forums]. The patch [http://marc.info/?l=linux-ide&m=122724081603679&w=2 libata-ata_piix-clear-spurious-IRQ] has been reported to resolve the freezing problem (Hint: to look at the rpm use [http://www.archlinux.org/packages/extra/i686/rpmextract/ rpmextract], and then untar config.tar.bz2 and patches.*.tar.bz2). Until a final kernel patch is created this patch offers an interim solution to the problem and details are given below on how to include it in a custom kernel.<br />
<br />
The N140 and N130 BIOSes have Phoenix FailSafe (you have been warned). It's not clear if the SATA problem has any relation to this.<br />
<br />
Version 01CM of the N130 BIOS has been reported to not cause freezes, unlike all later ones which do.<br />
<br />
Reports about the N130 02II and 02HI BIOSes (for the cellular modem versions) are not yet available.<br />
<br />
This problem is hazardous for your filesystem so take precautions. For example use ext3 (not ext4) with option data=journal and install backup software.<br />
<br />
===No backlight setting via ACPI===<br />
<br />
A workaround is to use "setpci" as shown below.<br />
<br />
Alternatively there is a kernel patch (unrelated to the SATA freeze problem) available which changes the backlight brightness using SMI instead of poking PCI config space. It provides a kernel module called "samsung-laptop". Interestingly we see from a version of this patch which is included in OpenSUSE 11.1 that a special (as yet unreleased?) BIOS for the N130 can be informed that the OS is Linux. The effect of this hasn't been published. Suggestion: run the samsung-laptop module with its debug parameter set to 1 to check whether it does anything at all.<br />
<br />
===No key releases for some Fn keys===<br />
<br />
Some of the Fn keys give key press events but no key releases. This problem was also seen on the NC10 and NC20. A workaround is given below. For kernels 2.6.32 and later this can be done from userspace.<br />
<br />
==Software issues==<br />
<br />
===Frequent wireless disconnects===<br />
With kernel 2.6.31 ath9k wifi exhibits frequent disconnects and reconnects. See http://bugzilla.kernel.org/show_bug.cgi?id=14267. Earlier and later kernels are better.<br />
<br />
===Screen flickering and blackouts===<br />
Some problems have been reported with [[KMS]] enabled for some 2.6.32 kernels. This problem is not specific to the Samsung N130/N140 -- it also affects others using Intel graphics drivers. Until the software is fixed a workaround is to[[Samsung_N140#Kernel_Mode_Setting| disable powersave mode]]. It expected that this issue will be resolved in kernel 2.6.33.<br />
<br />
=Installation=<br />
<br />
Do the standard Arch installation procedure from the ARCH CD ISO using an external USB CDROM drive. Alternatively boot the Arch installer from a USB flash drive.<br />
<br />
The standard Arch kernel is recommended (2.6.34 or later).<br />
<br />
A number of users have used a custom kernel for the following reasons: <br />
* to investigate/resolve the SATA problem (up to 2.6.33)<br />
* to boot with a minimal kernel containing just the required modules and without an initial ramdisk.<br />
<br />
==Custom kernel: without initrd (AUR)==<br />
<br />
An AUR package [http://aur.archlinux.org/packages.php?ID=32042 kernel26-n130] is available. In this kernel most drivers are compiled in and there is no initial ramdisk. The drivers for cpu frequency scaling (acpi-cpufreq), wifi (ath9k, rtl8192e) and webcam (uvcvideo) are compiled as modules (i.e. '''not''' compiled in) so they can be inserted or removed from the kernel to enable or disable those features. MODULES in /etc/rc.conf can be used to enable or disable loading at boot.<br />
<br />
Prepare the directory<br />
$ mkdir ~/builds<br />
$ mkdir ~/builds/kernel26-n130<br />
$ cd ~/builds/kernel26-n130<br />
Get the AUR package and untar it<br />
$ wget http://aur.archlinux.org/packages/kernel26-n130/kernel26-n130.tar.gz<br />
$ tar zxvf kernel26-n130.tar.gz<br />
$ cd kernel26-n130<br />
<br />
At this point you can edit the PKGBUILD file if you need to (i) change the name or version number,<br />
(ii) change options or (iii) add additional patches.<br />
<br />
Check the PKGBUILD. Don't experiment with the CK patchset at this point:<br />
_USE_CK_PATCHSET=0<br />
Compile it (this will take some time...):<br />
$ makepkg -s<br />
Install the kernel from the new .pkg.tar.gz file<br />
$ sudo pacman -U kernel26-n130-2.6.<xx.yy>-<rr>.pkg.tar.gz<br />
<br />
Then, assuming you are using [[GRUB]], insert a new item in your {{Filename|/boot/grub/menu.lst}} to boot the new kernel "kernel26-N130". Note that no initrd line is necessary for this kernel.<br />
<pre><br />
# (0) Arch Linux N130<br />
title Arch Linux Custom N130 Kernel<br />
root (hd0,YOURROOT-1)<br />
kernel /boot/vmlinuz26-N130 root=/dev/sdaYOURROOT resume=/dev/sdaYOURSWAP ro quiet<br />
</pre><br />
And reboot. If you have problems the standard Arch kernel is still installed and selectable from the GRUB menu.<br />
<br />
For [[GRUB2]] {{Filename|/boot/grub/grub.cfg}} the syntax looks like this (sda1 = your root partition; sda2 = your swap partition)<br />
<br />
<pre><br />
menuentry "Arch Linux N130" {<br />
set root=(hd0,1)<br />
linux /boot/vmlinuz26-N130 root=/dev/sda1 resume=/dev/sda2 ro quiet <br />
}<br />
</pre><br />
<br />
{{Note|The kernel26-n130 has the i915 module compiled in with KMS enabled by default. There is no need to set up KMS as described below unless you wish to disable it.}}<br />
<br />
==Custom kernel: Arch standard plus libata patch==<br />
<br />
The following method can be used for kernels up to 2.6.33. Patching is unnecessary from 2.6.34 onwards.<br />
<br />
A custom kernel is compiled which is as close as possible to the standard Arch kernel. The only required change is to apply the patch<br />
[http://aur.archlinux.org/packages/kernel26-n130/kernel26-n130/libata-ata_piix-clear-spurious-IRQ libata-ata_piix-clear-spurious-IRQ] to address the SATA problem discussed above.<br />
* get the package files for the standard Arch kernel from [http://repos.archlinux.org/wsvn/packages/kernel26/repos/core-i686/ core-i686] or [[ABS]] or (for the testing kernel) from [http://repos.archlinux.org/wsvn/packages/kernel26/repos/testing-i686/ testing-i686] or [http://aur.archlinux.org/packages.php?ID=17189 AUR/kernel26-source] <br />
<br />
$ sudo abs<br />
$ cp -a /var/abs/core/kernel26 ~/builds/kernel26-n140<br />
<br />
* Change PKGBUILD as follows:<br />
<pre>--- PKGBUILD<br />
+++ PKGBUILD.new<br />
@@ -1,8 +1,8 @@<br />
# $Id: PKGBUILD 69948 2010-02-23 18:46:27Z tpowa $<br />
# Maintainer: Tobias Powalowski <tpowa@archlinux.org><br />
# Maintainer: Thomas Baechler <thomas@archlinux.org><br />
-pkgbase="kernel26"<br />
-pkgname=('kernel26' 'kernel26-firmware' 'kernel26-headers') # Build stock -ARCH kernel<br />
+pkgbase="kernel26-n140"<br />
+pkgname=('kernel26-n140' 'kernel26-n140-firmware' 'kernel26-n140-headers') # Build stock -ARCH kernel<br />
# pkgname=kernel26-custom # Build kernel with a different name<br />
_kernelname=${pkgname#kernel26}<br />
_basekernel=2.6.32<br />
@@ -17,12 +17,14 @@ source=(ftp://ftp.kernel.org/pub/linux/k<br />
# the main kernel config files<br />
config config.x86_64<br />
# standard config files for mkinitcpio ramdisk<br />
- kernel26.preset)<br />
+ kernel26.preset<br />
+ libata-ata_piix-clear-spurious-IRQ)<br />
md5sums=('260551284ac224c3a43c4adac7df4879'<br />
'a0a10c99eead1fa8bc05c03f7f18db36'<br />
'c114c5d89622a93165bb948d62d966b5'<br />
'5c91374d56f115ba4324978d5b002711'<br />
- '25584700a0a679542929c4bed31433b6')<br />
+ '25584700a0a679542929c4bed31433b6'<br />
+ 'd679ed71c2d6f367c7b1f65e82d817fa')<br />
<br />
build() {<br />
cd ${srcdir}/linux-$_basekernel<br />
@@ -30,6 +32,9 @@ build() {<br />
# See http://projects.archlinux.org/linux-2.6-ARCH.git/<br />
patch -Np1 -i ${srcdir}/${_patchname} || return 1<br />
<br />
+ # Patch for Samsung N130/N140<br />
+ patch -Np1 -i ${srcdir}/libata-ata_piix-clear-spurious-IRQ || return 1<br />
+<br />
if [ "$CARCH" = "x86_64" ]; then<br />
cat ../config.x86_64 >./.config<br />
else<br />
@@ -57,7 +62,7 @@ build() {<br />
make bzImage modules || return 1<br />
}<br />
<br />
-package_kernel26() {<br />
+package_kernel26-n140() {<br />
pkgdesc="The Linux Kernel and modules"<br />
groups=('base')<br />
backup=(etc/mkinitcpio.d/${pkgname}.preset)<br />
@@ -104,7 +109,7 @@ package_kernel26() {<br />
rm -rf ${pkgdir}/lib/firmware<br />
}<br />
<br />
-package_kernel26-headers() {<br />
+package_kernel26-n140-headers() {<br />
pkgdesc="Header files and scripts for building modules for kernel26"<br />
mkdir -p ${pkgdir}/lib/modules/${_kernver}<br />
cd ${pkgdir}/lib/modules/${_kernver}<br />
@@ -204,7 +209,7 @@ package_kernel26-headers() {<br />
rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}<br />
}<br />
<br />
-package_kernel26-firmware() {<br />
+package_kernel26-n140-firmware() {<br />
pkgdesc="The included firmware files of the Linux Kernel"<br />
groups=('base')<br />
<br />
</pre><br />
<br />
* compile, install it and add new section in {{Filename|/boot/grub/menu.lst}}, identical to the standard entry but with kernel26 replaced by kernel26-n140. Reboot.<br />
<br />
=Configure your installation=<br />
<br />
==Ethernet==<br />
<br />
RTL8101e/8102e fast ethernet. Works out of the box.<br />
<br />
==Wifi==<br />
<br />
The supplied wifi device is either an Atheros AR9285 (PCI ID = 168c:002b) (European markets) or a Realtek RTL8192E (US and UK markets).<br />
<br />
===Atheros AR9285===<br />
02:00.0 Network controller [0280]: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) [168c:002b] (rev 01)<br />
<br />
The kernel module for this device is "ath9k" (AR9285 is supported since 2.6.29).<br />
<br />
Kernels 2.6.30 and 2.6.32-rcN release candidates seem to work fine.<br />
However with kernel 2.6.31 the wireless connection exhibits frequent<br />
disconnects and reattachments,<br />
resulting in periods of bad througput and periods of good throughput.<br />
There is no sign of any patches for 2.6.31.y to fix this regression.<br />
Complain to linux-wireless@vger.kernel.org. To get it working either<br />
downgrade to 2.6.30 or preferably upgrade to 2.6.32.<br />
<br />
The following patch was included in 2.6.32 just before the final release: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=54ab040d24904d1fa2c0a6a27936b7c56a4efb24 . It disables PS (power saving) mode by default, since this mode was found to have problems. See here http://bugzilla.kernel.org/show_bug.cgi?id=14267 . PS mode can also be disabled with the following command, which can be placed in {{Filename|/etc/rc.local}}:<br />
iwconfig wlan0 power off<br />
<br />
===Realtek RTL8192E===<br />
====Open source driver====<br />
The native Linux driver for this wireless device is still in preparation, but it is available as a kernel module "rtl8192e" in "staging" -- i.e. in preparation for inclusion in the kernel and available to try out, but likely to still have some problems. It has been reported as working [https://bbs.archlinux.org/viewtopic.php?id=86454&p=6]. Firmware is required. See <br />
http://lkml.org/lkml/2009/12/15/410<br />
and<br />
https://git.kernel.org/?p=linux/kernel/git/gregkh/firmware.git;a=summary . <br />
<br />
The firmware is available in the <code>linux-firmware</code> package:<br />
<br />
# pacman -S linux-firmware <br />
<br />
Then<br />
$ md5sum /lib/firmware/RTL8192E/*<br />
should return<br />
bb9f64de23939ec247d15dfbeb0ed91e /lib/firmware/RTL8192E/boot.img<br />
db83def0338769de1d4658a00b6f738d /lib/firmware/RTL8192E/data.img<br />
0034020e5a32571f486849aa90a389a7 /lib/firmware/RTL8192E/main.img<br />
<br />
On rebooting, the kernel messages (visible with "dmesg") should now indicate that rtl819xE finds the firmware for loading into the device.<br />
<br />
====Ndiswrapper====<br />
It has been reported as working with [[Wireless_Setup#ndiswrapper|ndiswrapper]] which makes use of the closed source Windows driver under Linux.<br />
<br />
==Cellular 3G Modem==<br />
<br />
''Specifications required''<br />
<br />
==Graphics Adapter==<br />
<br />
The video controller is an Intel chipset that works with the xf86-video-intel driver.<br />
<br />
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 945GME Express Integrated Graphics Controller [8086:27ae] (rev 03)<br />
00:02.1 Display controller [0380]: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller [8086:27a6] (rev 03)<br />
<br />
===Kernel Mode Setting===<br />
<br />
See also [[Intel#KMS_.28Kernel_Mode_Setting.29]].<br />
<br />
[[KMS]] works providing real consoles at the native LCD resolution, 1024x600.<br />
There is a known problem with 2.6.32 kernels (later release candidates up to at least release 2.6.32.8),<br />
which results in screen flickering and blackouts about 5 minutes after resuming<br />
from suspend-to-RAM or suspend-to-disk.<br />
<br />
{{Note|If you encounter screen flickering or blackouts with KMS enabled, try setting '''i915.powersave&#61;0''' as a kernel boot option.}}<br />
<br />
{{Note|Since version 2.10.0 of xf86-video-intel, support for UMS has been removed from the intel driver. This means that KMS is a requirement now.}}<br />
<br />
====Method A====<br />
<br />
If you are using a kernel with no inital ramdisk and you can simply add the required options to the GRUB kernel line:h<br />
<br />
# (0) Arch Linux N130<br />
title Arch Linux Custom N130 Kernel<br />
root (hd0,YOURROOT-1)<br />
kernel /boot/vmlinuz26-N130 root=/dev/sdaYOURROOT resume=/dev/sdaYOURSWAP ro quiet '''i915.powersave=0 i915.modeset=1'''<br />
<br />
====Method B====<br />
<br />
If you are using an initial ramdisk (either the standard kernel or the custom kernel method B above) then do the following:<br />
<br />
Edit {{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options i915 powersave=0 <br />
options i915 modeset=1<br />
Edit {{Filename|/etc/mkinitcpio.conf}}:<br />
MODULES="intel_agp i915"<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
Put keymap early in {{Filename|/etc/mkinitcpio.conf}} HOOKS.<br />
Regenerate the init ramdisk for the kernel(s) you are running:<br />
$ mkinitcpio -p kernel26<br />
or <br />
$ mkinitcpio -p kernel26-n140<br />
Remove any vga= or video= from grub {{Filename|/boot/grub/menu.lst}} kernel line, and reboot.<br />
<br />
====KMS with KDE====<br />
<br />
With earlier versions of KDE, on logout it returned to the F1 real console instead of to [[KDM]].<br />
Uncommenting this entry in {{Filename|/usr/share/config/kdm/kdmrc}} solved the problem:<br />
TerminateServer=true<br />
This setting is now the default.<br />
<br />
===Backlight Brightness===<br />
xbacklight does not work currently.<br />
However the brightness can be set with the following command<br />
<br />
setpci -s 00:02.1 F4.B=hh<br />
<br />
where hh is the level of brightness, in the range 00 to FF. Don't set it to zero<br />
because your backlight will turn off!<br />
<br />
Note this does not require the samsung-laptop patch mentioned above.<br />
<br />
Use the following script to increase and decrease the brightness. Put it in<br />
/sbin/backlight for example. Use xbindkeys to bind commands to the backlight Fn keys.<br />
Obtain sudo permission for user to use those commands with visudo.<br />
<br />
#!/bin/bash<br />
# increase/decrease/set/get the backlight brightness (range 0-255) by 16<br />
#<br />
#get current brightness in hex and convert to decimal<br />
var1=`setpci -s 00:02.1 F4.B`<br />
var1d=$((0x$var1))<br />
case "$1" in<br />
up)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d+16);if (a<255) print a else print 255" | bc`<br />
echo "$0: increasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s 00:02.1 F4.B=$var2<br />
;;<br />
down)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d-16);if (a>15) print a else print 15" | bc`<br />
echo "$0: decreasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s 00:02.1 F4.B=$var2<br />
;;<br />
set)<br />
#n.b. this does allow "set 0" i.e. backlight off<br />
echo "$0: setting brightness to 0x$2"<br />
setpci -s 00:02.1 F4.B=$2<br />
;;<br />
get)<br />
echo "$0: current brightness is 0x$var1"<br />
;;<br />
toggle)<br />
if [ $var1d -eq 0 ] ; then<br />
echo "toggling up"<br />
setpci -s 00:02.1 F4.B=FF<br />
else<br />
echo "toggling down"<br />
setpci -s 00:02.1 F4.B=0<br />
fi<br />
;;<br />
*)<br />
echo "usage: $0 {up|down|set <val>|get|toggle}"<br />
;;<br />
esac<br />
exit 0<br />
<br />
===External VGA===<br />
<br />
External VGA works out of the box with xrandr / krandrtray. Tested at 1920x1080 resolution.<br />
<br />
==Audio==<br />
<br />
The audio device is an Intel HD.<br />
00:1b.0 Audio device [0403]: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller [8086:27d8] (rev 02)<br />
<br />
==Suspend and Hibernate==<br />
<br />
Suspend to RAM with pm-suspend works.<br />
<br />
It is most useful to trigger suspends using [[acpid]].<br />
<br />
To catch the "sleep" function key, edit {{Filename|/etc/acpi/handler.sh}} so that the button/sleep) event calls /usr/sbin/pm-suspend (instead of "echo mem > /sys/power/state" which may leave wifi down after resume):<br />
<pre><br />
button/sleep)<br />
case "$2" in<br />
SLPB) logger "Sleep button pressed, suspending to RAM"<br />
/usr/sbin/pm-suspend<br />
;;<br />
*) logger "ACPI action undefined: $2"<br />
;;<br />
esac<br />
;;<br />
</pre><br />
When catching the lid closure, the button/lid event will be seen twice -- once on suspend<br />
and again on resume. So use the lid state to distinguish between these so that pm-suspend<br />
is not triggered twice:<br />
<br />
Enter the following lines in {{Filename|/etc/acpi/handler.sh}}:<br />
button/lid)<br />
if [ `/bin/awk '{print $2}' /proc/acpi/button/lid/LID0/state` = closed ]; then<br />
/usr/sbin/pm-suspend<br />
fi<br />
;;<br />
<br />
Hibernate works correctly (see [[pm-utils|pm-utils article]]).<br />
<br />
If you are a KDE4 user you can take advantage of powerdevil (included in kdemod-core/kdemod-kdebase-workspace since release 4.2) to manipulate the screen brightness, cpu scaling and hibernate. Suspend<br />
from KDE works too, but if you are using handler.sh to suspend on the button/lid and button/sleep acpi<br />
events, then KDE only needs to lock the screen. Note that cpu scaling requires acpi-cpufreq module<br />
to be loaded in MODULES in /etc/rc.conf.<br />
<br />
==Fn Keys==<br />
<br />
Firstly edit {{Filename|/usr/share/hal/fdi/information/10freedesktop/30-keymap-misc.fdi}}<br />
and insert N140 into the list where you see NC10 already.<br />
<br />
Now in a real console<br />
showkey<br />
<br />
will show presses for the function keys, but ''no releases'' for some of them.<br />
<br />
This is a BIOS issue which was also found on the Samsung NC10. A workaround quirk was put in the<br />
kernel in atkbd.c for the NC10. Patching this routine to apply the same<br />
quirk also works for the N140, and is recommended for 2.6.31 and earlier.<br />
However for 2.6.32 and later (i.e. any current Arch installation) there is a much simpler solution because this quirk can now be applied from user space. Simply edit {{Filename|/etc/rc.local}} and add the following line:<br />
<br />
echo 130,131,132,134,136,137,179,247,249 > /sys/devices/platform/i8042/serio0/force_release<br />
<br />
After this is run, doing "showkey" in a real console will show key presses and releases.<br />
<br />
===Binding Fn keys with xbindkeys===<br />
<br />
The following has been tested with KDE, but should also work for other DEs.<br />
<br />
To bind the Fn keys to action, read [[Extra_Keyboard_Keys#The_quick_way]] and also [[Extra_Keyboard_Keys_in_Xorg#Using_your_Desktop_Environment_tools|Extra Keyboard Keys in Xorg]]. <br />
<br />
The suspend key (Fn+ESC) and disable touchpad (Fn+F10) keys, numlock, scroll lock,<br />
volume controls and mute work out of the box.<br />
<br />
Note, that suspend key is handled in {{Filename|/etc/acpi/handler.sh}} (see "button/sleep" case entry) as <br />
shown above.<br />
<br />
1) install ''xbindkeys''<br />
pacman -S xbindkeys<br />
<br />
2) check the key values with<br />
xbindkeys -mk<br />
<br />
3) edit .xbindkeysrc<br />
<br />
"sudo /sbin/backlight up"<br />
m:0x0 + c:233<br />
"sudo /sbin/backlight down"<br />
m:0x0 + c:232<br />
"/home/user/bin/systeminfo_battery"<br />
m:0x0 + c:244<br />
"sudo /sbin/backlight toggle"<br />
m:0x0 + c:156<br />
"/home/user/bin/systeminfo_disk"<br />
m:0x0 + c:157<br />
"/home/user/bin/systeminfo_cpu"<br />
m:0x0 + c:210<br />
"/home/user/bin/systeminfo_wifi"<br />
m:0x0 + c:246<br />
<br />
4) run xbindkeys, and try it out<br />
xbindkeys<br />
<br />
For KDE4 put a link to {{Filename|/usr/bin/xbindkeys}} in {{Filename|~/.kde4/Autostart}}<br />
ln -s /usr/bin/xbindkeys ~/.kde4/Autostart/xbindkeys.link<br />
<br />
The Fn+F3 ("Euro") key: here Samsung implemented what has been called<br />
an entertaingly hilarious hack:<br />
http://lists.freedesktop.org/archives/hal/2009-August/013536.html<br />
ROFL! Does anyone know a practical use for this key?<br />
Fortunately some (eurozone) models have a real Euro key as well.<br />
<br />
===Binding Fn keys in Openbox===<br />
<br />
In [[Openbox]] one can use the internal keybind setup instead of xbindkeys.<br />
Here is an excerpt from rc.xml:<br />
<br />
<pre><br />
<keybind key="XF86Battery"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/batteryDisplay</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Display"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/monitor</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch1"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/brightnessToggle</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch2"><br />
<action name="Execute"><br />
<command>nice python ~/.config/openbox/scripts/checkmail.py --update</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch3"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/powersaveToggle</command><br />
</action><br />
</keybind><br />
</keybind><br />
<keybind key="XF86AudioMute"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume mute</command><br />
</action><br />
</keybind><br />
<keybind key="XF86WLAN"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/wlanToggle</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioLowerVolume"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume -</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioRaiseVolume"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume +</command><br />
</action><br />
</keybind><br />
<keybind key="XF86MonBrightnessDown"><br />
<action name="PreviousWindow"><br />
<bar>no</bar><br />
<allDesktops>yes</allDesktops><br />
<finalactions><br />
<action name="Focus"/><br />
<action name="Raise"/><br />
</finalactions><br />
</action><br />
</keybind><br />
<keybind key="XF86MonBrightnessUp"><br />
<action name="NextWindow"><br />
<bar>no</bar><br />
<allDesktops>yes</allDesktops><br />
<finalactions><br />
<action name="Focus"/><br />
<action name="Raise"/><br />
</finalactions><br />
</action><br />
</keybind><br />
</pre><br />
<br />
==Saving Power==<br />
Read [[Laptop#Power_Management]]<br />
<br />
Read [[Lightweight Applications]]<br />
<br />
{{Note|Caution is advised here with hdparm settings because the issue with SATA freezing is<br />
related to power management and spindowns. Before you tune the Samsung N130/N140 to minimize power consumption it is strongly recommended that you resolve the SATA freezing issue as discussed above.}}<br />
<br />
The Samsung N130/N140 contains a 1.6 GHz Intel Atom ULV (ultra low voltage) N270 processor, designed for low power consumption. The power consumption of the netbook (not just the processor) can be as low as 6W on idle with HDD spun down, although a typical figure under normal usage would be considerably higher.<br />
<br />
Obviously the battery life depends on battery capacity as well as power consumption.<br />
The supplied battery varies in different markets. This list is a guideline only. Do not rely on this information before purchase -- check with YOUR vendor and update this wiki if it is incorrect:<br />
<pre><br />
Voltage 11.1V<br />
<br />
N130 = 4000mAh [44Wh] (most markets), 5200mAh [57Wh] (Sweden)<br />
N130 (Vodafone) = ? [?] (Spain)<br />
N130 (CMCC) = ? [?] (China)<br />
N140 = 5200mAh [57Wh] (US, Germany, France, Sweden), 5900mAh [65Wh] (UK)<br />
Extended battery = 7800mAh [86Wh]<br />
</pre><br />
Install powertop which is a very useful tool for measuring and tuning power consumption, and htop which is useful for checking the CPU and memory usage of running processes<br />
# pacman -S powertop htop<br />
<br />
Enable CPU frequency scaling (P-states) by loading the driver module "acpi-cpufreq". This is most conveniently done in {{Filename|/etc/rc.conf}}:<br />
MODULES=(acpi-cpufreq ... )<br />
Select the CPU frequency governor by adding the following lines to {{Filename|/etc/rc.local}}: <br />
# Set the CPU frequency scaling governor for each core<br />
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
<br />
{{Note|Contrary to the advice in many places "hdparm -B 255 /dev/sda" does NOT necessarily turn off advanced power management. What happens depends on the disk model. With the Samsung HM160HI disk 255 results in very frequent spindowns}}</div>DonVlahttps://wiki.archlinux.org/index.php?title=Avahi&diff=121892Avahi2010-11-20T17:01:26Z<p>DonVla: /* Giver */</p>
<hr />
<div>[[Category:Networking (English)]]<br />
[http://avahi.org/ Avahi] is a free Zeroconf (Zero Configuration Networking) implementation, including a system for multicast DNS/DNS-SD service discovery. It allows programs to publish and discover services and hosts running on a local network with no specific configuration. For example you can plug into a network and instantly find printers to print to, files to look at and people to talk to. It is licensed under the GNU Lesser General Public License (LGPL). (Source: [[Wikipedia:Avahi (software)]])<br />
<br />
== Installation ==<br />
Install Avahi with:<br />
<pre><br />
# pacman -S avahi nss-mdns<br />
</pre><br />
After installing Avahi you will need to restart the ''dbus'' daemon before you can start ''avahi-daemon''.<br />
<br />
To start Avahi at boot, add ''avahi-daemon'' to the DAEMONS line of /etc/rc.conf. Note that ''avahi-daemon'' must be started after the ''dbus'' daemon.<br />
<br />
For some reason, I (ArcherSeven) have found that adding avahi-daemon to /etc/rc.conf loads it too early and it fails. To get around this, I added it as '/etc/rc.d/avahi-daemon start' to /etc/rc.local. Might be worth a try if you have issues. (This despite it being the last loaded daemon in rc.conf)<br />
<br />
== Using Avahi ==<br />
<br />
=== Hostname resolution ===<br />
Avahi also allows you to access computers using their hostnames. '''Note:''' you must install <tt>nss-mdns</tt> for this to work.<br />
<br />
Suppose you have machines with names maple, fig and oak, all running avahi. Avahi can be set up so that you don't have to manage a <tt>/etc/hosts</tt> file for each computer. Instead you can simply use <tt>maple.local</tt> to access whatever services <tt>maple</tt> has. However by default, .local querying is disabled in Arch Linux. To enable it edit the file <tt>/etc/nsswitch.conf</tt> and change the line:<br />
hosts: files dns<br />
to<br />
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4<br />
<br />
A small section of users in Ubuntu noticed a slowdown in DNS querying; it was attributed to this change. Whether it applies to Arch Linux too, is not known. (Reference: [https://bugs.launchpad.net/ubuntu/+source/avahi/+bug/94940 Ubuntu Bug 94940]) -- I found this to be true for Arch; However, I just used the line:<br />
hosts: files mdns4_minimal dns mdns4<br />
and I get the correct behavior without slower DNS.<br />
<br />
{{Note|I had to remove '''mdns''' completely to prevent slowdowns. However, '''mdns_minimal''' alone appeared to be sufficient.}} <br />
<br />
Avahi also has quite a few nifty utilities which can help you discover which services are being used on a network. <br />
The <tt>avahi-discover</tt> (Avahi Zeroconf Browser) shows the various services on your network. You can also browse SSH and VNC Servers using <tt>bssh</tt> and <tt>bvnc</tt> respectively.<br />
<br />
There's a good list of software with Avahi support at their website: http://avahi.org/wiki/Avah4users<br />
<br />
===File Sharing===<br />
<br />
====NFS====<br />
If you have an [[NFS]] share set up, you can use Avahi to be able to automount them in zeroconf-enabled browsers (such as Konqueror on KDE and Finder on Mac OS X). Create a .service file in /etc/avahi/services with the following:<br />
<br />
<?xml version="1.0" standalone='no'?><br />
<!DOCTYPE service-group SYSTEM "avahi-service.dtd"><br />
<service-group><br />
<name>Zephyrus Shared Music</name><br />
<service><br />
<type>_nfs._tcp</type><br />
<port>2049</port><br />
<txt-record>path=/data/shared/Music</txt-record><br />
</service><br />
</service-group><br />
<br />
The port is correct if you have ''insecure'' as an option in your /etc/exports; otherwise, it needs to be changed (note that ''insecure'' is needed for OS X clients). The path is the path to your export, or a subdirectory of it. For some reason the automount functionality has been removed from Leopard, however [http://www.macosxhints.com/article.php?story=20071116042238744 a script is available]. This was based upon [http://ubuntuforums.org/showthread.php?p=4387032#post4387032 this post].<br />
<br />
====GShare====<br />
You can grab [[gshare]] from [community] and have shared files between the LAN, with no configuration, no hours in samba hacking, no nothing - it just works.<br />
<br />
====Vsftpd====<br />
Sourced from [http://ubuntuforums.org/showthread.php?t=218630 ubuntuforums.org].<br />
If you would rather use a regular ftp service, install vsftpd and avahi. Change the settings of vsftpd according to what is shown on the ubuntuforums page or according to your own personal preferences (See 'man vsftpd.conf).<br />
<br />
Create a ftp.service file in /etc/avahi/services and paste in that file<br />
<?xml version="1.0" standalone='no'?><br />
<!DOCTYPE service-group SYSTEM "avahi-service.dtd"><br />
<service-group><br />
<name>FTP file sharing</name><br />
<service><br />
<type>_ftp._tcp</type><br />
<port>21</port><br />
</service><br />
</service-group><br />
When you are done, (re)start avahi-daemon and vsftpd in your /etc/rc.d directory.<br />
/etc/rc.d/avahi-daemon restart<br />
/etc/rc.d/vsftpd restart<br />
<br />
You might need to add the following to your /etc/hosts.allow file, so that any person can attempt to log in to your ftp site. See 'man hosts.allow' for other settings that you might want.<br />
'vsftpd: ALL' <br />
<br />
After that you should be able to browse through the ftp server from another computer in your network. The steps shown in this section are created so that the ftp server is 'advertised' by avahi to the local Zeroconf network.<br />
<br />
Unless you are using GNOME or KDE, you might not be able to log in to the ftp server directly through your file manager, and so you will have to use a ftp client pointed to the IP address of the server or the hostname of the machine (as shown in [[Avahi#Hostname_resolution|this section]]).<br />
<br />
====Giver====<br />
[http://code.google.com/p/giver/ Giver] is a mono program that allows simple file-sharing between two desktops when both are running Giver. All you need to do is click and drag the file to the name or picture of the person you wish to send the file to.<br />
<br />
A package is on the [http://aur.archlinux.org/packages.php?ID=17139 AUR].<br />
<br />
Note that this depends on gnome-sharp, which has heavy GNOME dependencies.<br />
<br />
====Pidgin====<br />
[http://www.pidgin.im Pidgin] is an instant messenging client that supports quite a few commonly used IM protocols. In addition to these, it supports Bonjour.<br />
<br />
Just select 'Bonjour' as the protocol type when you add an account, and enter a username. The first and last name you enter in the 'Advanced' tab will be what the other person (whom you are chatting with) sees, and 'local alias' under 'User Options' in the 'Basic' tab will be what you see of your own name (you could try putting in something like I, me or myself).<br />
<br />
Once this is done, other Pidgin (iChat) users who are on the local network will see you and be able to chat with you. To implement file-sharing, you just send and receive files like you would do with a regular IM session.<br />
<br />
== External Resources ==<br />
* [http://avahi.org/ Avahi] - Official project website<br />
* [http://en.wikipedia.org/wiki/Avahi_%28software%29 Wikipedia entry]<br />
* [http://www.apple.com/support/downloads/bonjourforwindows.html Bonjour for Windows] - Enable zeroconf on Windows</div>DonVlahttps://wiki.archlinux.org/index.php?title=Avahi&diff=121890Avahi2010-11-20T17:00:39Z<p>DonVla: /* Giver */</p>
<hr />
<div>[[Category:Networking (English)]]<br />
[http://avahi.org/ Avahi] is a free Zeroconf (Zero Configuration Networking) implementation, including a system for multicast DNS/DNS-SD service discovery. It allows programs to publish and discover services and hosts running on a local network with no specific configuration. For example you can plug into a network and instantly find printers to print to, files to look at and people to talk to. It is licensed under the GNU Lesser General Public License (LGPL). (Source: [[Wikipedia:Avahi (software)]])<br />
<br />
== Installation ==<br />
Install Avahi with:<br />
<pre><br />
# pacman -S avahi nss-mdns<br />
</pre><br />
After installing Avahi you will need to restart the ''dbus'' daemon before you can start ''avahi-daemon''.<br />
<br />
To start Avahi at boot, add ''avahi-daemon'' to the DAEMONS line of /etc/rc.conf. Note that ''avahi-daemon'' must be started after the ''dbus'' daemon.<br />
<br />
For some reason, I (ArcherSeven) have found that adding avahi-daemon to /etc/rc.conf loads it too early and it fails. To get around this, I added it as '/etc/rc.d/avahi-daemon start' to /etc/rc.local. Might be worth a try if you have issues. (This despite it being the last loaded daemon in rc.conf)<br />
<br />
== Using Avahi ==<br />
<br />
=== Hostname resolution ===<br />
Avahi also allows you to access computers using their hostnames. '''Note:''' you must install <tt>nss-mdns</tt> for this to work.<br />
<br />
Suppose you have machines with names maple, fig and oak, all running avahi. Avahi can be set up so that you don't have to manage a <tt>/etc/hosts</tt> file for each computer. Instead you can simply use <tt>maple.local</tt> to access whatever services <tt>maple</tt> has. However by default, .local querying is disabled in Arch Linux. To enable it edit the file <tt>/etc/nsswitch.conf</tt> and change the line:<br />
hosts: files dns<br />
to<br />
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4<br />
<br />
A small section of users in Ubuntu noticed a slowdown in DNS querying; it was attributed to this change. Whether it applies to Arch Linux too, is not known. (Reference: [https://bugs.launchpad.net/ubuntu/+source/avahi/+bug/94940 Ubuntu Bug 94940]) -- I found this to be true for Arch; However, I just used the line:<br />
hosts: files mdns4_minimal dns mdns4<br />
and I get the correct behavior without slower DNS.<br />
<br />
{{Note|I had to remove '''mdns''' completely to prevent slowdowns. However, '''mdns_minimal''' alone appeared to be sufficient.}} <br />
<br />
Avahi also has quite a few nifty utilities which can help you discover which services are being used on a network. <br />
The <tt>avahi-discover</tt> (Avahi Zeroconf Browser) shows the various services on your network. You can also browse SSH and VNC Servers using <tt>bssh</tt> and <tt>bvnc</tt> respectively.<br />
<br />
There's a good list of software with Avahi support at their website: http://avahi.org/wiki/Avah4users<br />
<br />
===File Sharing===<br />
<br />
====NFS====<br />
If you have an [[NFS]] share set up, you can use Avahi to be able to automount them in zeroconf-enabled browsers (such as Konqueror on KDE and Finder on Mac OS X). Create a .service file in /etc/avahi/services with the following:<br />
<br />
<?xml version="1.0" standalone='no'?><br />
<!DOCTYPE service-group SYSTEM "avahi-service.dtd"><br />
<service-group><br />
<name>Zephyrus Shared Music</name><br />
<service><br />
<type>_nfs._tcp</type><br />
<port>2049</port><br />
<txt-record>path=/data/shared/Music</txt-record><br />
</service><br />
</service-group><br />
<br />
The port is correct if you have ''insecure'' as an option in your /etc/exports; otherwise, it needs to be changed (note that ''insecure'' is needed for OS X clients). The path is the path to your export, or a subdirectory of it. For some reason the automount functionality has been removed from Leopard, however [http://www.macosxhints.com/article.php?story=20071116042238744 a script is available]. This was based upon [http://ubuntuforums.org/showthread.php?p=4387032#post4387032 this post].<br />
<br />
====GShare====<br />
You can grab [[gshare]] from [community] and have shared files between the LAN, with no configuration, no hours in samba hacking, no nothing - it just works.<br />
<br />
====Vsftpd====<br />
Sourced from [http://ubuntuforums.org/showthread.php?t=218630 ubuntuforums.org].<br />
If you would rather use a regular ftp service, install vsftpd and avahi. Change the settings of vsftpd according to what is shown on the ubuntuforums page or according to your own personal preferences (See 'man vsftpd.conf).<br />
<br />
Create a ftp.service file in /etc/avahi/services and paste in that file<br />
<?xml version="1.0" standalone='no'?><br />
<!DOCTYPE service-group SYSTEM "avahi-service.dtd"><br />
<service-group><br />
<name>FTP file sharing</name><br />
<service><br />
<type>_ftp._tcp</type><br />
<port>21</port><br />
</service><br />
</service-group><br />
When you are done, (re)start avahi-daemon and vsftpd in your /etc/rc.d directory.<br />
/etc/rc.d/avahi-daemon restart<br />
/etc/rc.d/vsftpd restart<br />
<br />
You might need to add the following to your /etc/hosts.allow file, so that any person can attempt to log in to your ftp site. See 'man hosts.allow' for other settings that you might want.<br />
'vsftpd: ALL' <br />
<br />
After that you should be able to browse through the ftp server from another computer in your network. The steps shown in this section are created so that the ftp server is 'advertised' by avahi to the local Zeroconf network.<br />
<br />
Unless you are using GNOME or KDE, you might not be able to log in to the ftp server directly through your file manager, and so you will have to use a ftp client pointed to the IP address of the server or the hostname of the machine (as shown in [[Avahi#Hostname_resolution|this section]]).<br />
<br />
====Giver====<br />
[http://code.google.com/p/giver/ Giver] is a mono program that allows simple file-sharing between two desktops when both running Giver. All you need to do is click and drag the file to the name or picture of the person you wish to send the file to.<br />
<br />
A package is on the [http://aur.archlinux.org/packages.php?ID=17139 AUR].<br />
<br />
Note that this depends on gnome-sharp, which has heavy GNOME dependencies.<br />
<br />
====Pidgin====<br />
[http://www.pidgin.im Pidgin] is an instant messenging client that supports quite a few commonly used IM protocols. In addition to these, it supports Bonjour.<br />
<br />
Just select 'Bonjour' as the protocol type when you add an account, and enter a username. The first and last name you enter in the 'Advanced' tab will be what the other person (whom you are chatting with) sees, and 'local alias' under 'User Options' in the 'Basic' tab will be what you see of your own name (you could try putting in something like I, me or myself).<br />
<br />
Once this is done, other Pidgin (iChat) users who are on the local network will see you and be able to chat with you. To implement file-sharing, you just send and receive files like you would do with a regular IM session.<br />
<br />
== External Resources ==<br />
* [http://avahi.org/ Avahi] - Official project website<br />
* [http://en.wikipedia.org/wiki/Avahi_%28software%29 Wikipedia entry]<br />
* [http://www.apple.com/support/downloads/bonjourforwindows.html Bonjour for Windows] - Enable zeroconf on Windows</div>DonVlahttps://wiki.archlinux.org/index.php?title=CUPS/Printer-specific_problems&diff=109668CUPS/Printer-specific problems2010-06-26T23:48:05Z<p>DonVla: </p>
<hr />
<div>[[Category:Printers (English)]][[Category:HOWTOs (English)]]<br />
{{i18n|CUPS printer-specific problems}}<br />
{{Article summary start|Summary}}<br />
{{Article summary text|Dealing with printer-specific problems}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|CUPS}}<br />
{{Article summary end}}<br />
<br />
Printer-specific problems and their solutions.<br />
<br />
==Brother==<br />
<br />
===DCP 7020===<br />
See: [[Brother DCP-7020]]<br />
<br />
==Canon==<br />
===MF 4150===<br />
This is required as some Canon printers apparently do not declare their specification correctly for kernel and libusb to recognize them<br />
<br />
* Do NOT blacklist usblp module.<br />
<br />
* Install hal-cups-utils and restart hal<br />
# sudo pacman -S hal-cups-utils<br />
# sudo /etc/rc.d/hal restart<br />
<br />
* Connect the printer<br />
<br />
The printer should now be recognized by the CUPS Add printer dialog. If still having problems, try restarting CUPS.<br />
<br />
* Install UFRII driver ({{Package AUR|ufr2}} from the [[AUR]] and complete the printer installation.<br />
<br />
==Epson==<br />
<br />
===Utility functions===<br />
====escputil====<br />
This section explains how to perform some of the utility functions (such as nozzle cleaning) on Epson printers, by using the escputil utility, part of the gutenprint package.<br />
<br />
With newer printers (like the CX3600/CX3650 or D88) you must first "modprobe usblp" to get escputil working. This creates the "/dev/usb/lp0" node (see the "--raw-device" flag below). Afterwards you have to "rmmod usblp", else the printer won't be recognized by CUPS (version 1.4.x). More here: http://bbs.archlinux.org/viewtopic.php?pid=682455#p682455<br />
<br />
There is a escputil's man-page provides basic information, but it does not touch on how to identify the printer. There are two parameters that can be used to do so:<br />
<br />
* One is <tt>--printer</tt>: it expects the name used to identify the printer when is was configured.<br />
<br />
* The other is <tt>--raw-device</tt>: this option expects a path beginning with "/dev". If the printer is the only serial printer on the system, "/dev/lp0" should be its device node. For USB printers, it is "/dev/usb/lp0". If having more than one printer, they will have names ending in "lp1", "lp2", etc.<br />
<br />
On to the maintenance options:<br />
* To clean the printer heads:<br />
$ escputil -u --clean-head<br />
<br />
* To print the nozzle-check pattern (allows verifying that the previous head cleaning worked, and determining the heads need cleaning):<br />
$ escputil -u --nozzle-check<br />
<br />
If wanting to perform an operation that requires two-way communication with a printer, use the "--raw-device" specification and the user must be root or be a member of the group "lp".<br />
<br />
* The following is an example of getting the printer's internal identification:<br />
$ sudo escputil --raw-device=/dev/usb/lp0 --identify<br />
<br />
* To print out the ink levels of the printer:<br />
$ sudo escputil --raw-device=/dev/usb/lp0 --ink-level<br />
<br />
====mtink====<br />
This is a printer status monitor which enables to get the remaining ink quantity, to print test patterns, to reset printer and to clean nozzle. It use an intuitive graphical user interface. Package can be downloaded from [http://aur.archlinux.org/packages.php?do_Details=1&ID=476&O=0&L=0&C=0&K=mtink&SB=n&SO=a&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd AUR].<br />
<br />
====Stylus-toolbox====<br />
This is a GUI using escputil and cups drivers. It supports nearly all USB printer of Epson and displays ink quantity, can clean and align print heads and print test patterns. It can be downloaded from [http://aur.archlinux.org/packages.php?ID=30319 AUR]<br />
<br />
===AcuLaser CX11(NF)===<br />
Install [http://aur.archlinux.org/packages.php?ID=30424 Epson-ALCX11-filter] from the AUR. Restart CUPS and add the printer using the driver "EPSON AL-CX11, ESC/PageS Filter".<br />
<br />
Both connections, USB and network, should work as expected.<br />
<br />
==FX==<br />
=== C1110 (not model B)===<br />
Keep in mind that these directions assume that the printer is connected and listening on the network.<br />
<br />
*Install cpio and rpmunpack to later unpack the package:<br />
# pacman -S cpio rpmunpack cups ghostscript gsfonts<br />
<br />
*Get the FX GNU/Linux driver [http://www.fujixeroxprinters.com/downloads/uploaded/Drivers/DocuPrint%20C1110%20C1110B/linux/fxlinuxprint-1.0.1-1.i386.zip here].<br />
<br />
*Unzip {{Filename|fxlinuxprint-1.0.1-1.i386.zip}} to /var/tmp (the directory is not important):<br />
$ unzip fxlinuxprint-1.0.1-1.i386.zip -d /var/tmp<br />
<br />
*Continue extracting the file:<br />
$ cd /var/tmp<br />
$ rpmunpack fxlinuxprint-1.0.1-1.i386.rpm<br />
$ gunzip fxlinuxprint-1.0.1-1.cpio.gz<br />
<br />
*Move the cpio DST file (for convenience):<br />
$ mkdir /var/tmp/DST<br />
$ mv fxlinuxprint-1.0.1-1.cpio /var/tmp/DST<br />
<br />
*Extract it:<br />
$ cd /var/tmp/DST<br />
$ cpio -id < fxlinuxprint-1.0.1-1.cpio<br />
<br />
*Filter the relevant files:<br />
$ cd /var/tmp<br />
$ find /var/tmp/DST -type f |cat -n<br />
1 /var/tmp/DST/etc/cups/mimefx.convs<br />
2 /var/tmp/DST/etc/cups/mimefx.types<br />
3 /var/tmp/DST/usr/lib/cups/filter/pdftopjlfx<br />
4 /var/tmp/DST/usr/lib/cups/filter/pstopdffx<br />
5 /var/tmp/DST/usr/lib/cups/filter/pdftopdffx<br />
6 /var/tmp/DST/usr/share/cups/model/FujiXerox/en/fxlinuxprint.ppd<br />
<br />
*Copy the files found in the previous step to /<br />
{{Note|For the PPD use {{Filename|/usr/share/cups/model/fxlinuxprint.ppd}}}}<br />
<br />
*Access http://localhost:631/ and add the lpd://f.q.d.n/queue printer, aunthenticating as root.<br />
<br />
*Go through "Manage Printer" and "Set Printer Options".<br />
<br />
*Print a test page (substitue color103 with the assigned printer name):<br />
$ lpq -P color103<br />
color103 is ready<br />
no entries<br />
<br />
==HP==<br />
===Deskjet 700 Series===<br />
====Printing does not work====<br />
The solution is to install '''pnm2ppa''' printer filter for the HP Deskjet 700 series. Without this, the print jobs will be aborted by the system. A [[Arch Build System|PKGBUILD]] for pnm2ppa can be found in [http://aur.archlinux.org/packages.php?do_Details=1&ID=696&O=0&L=0&C=0&K=pnm&SB=n&SO=a&PP=25&do_MyPackages=0&do_Orphans=0 AUR].<br />
<br />
=== HP LaserJet 1010 ===<br />
A solution to make LaserJet 1010 work with CUPS may be to compile a newer version of GhostScript:<br />
<pre><br />
$ pacman -Qs cups a2ps psutils foo ghost<br />
local/cups 1.1.23-3<br />
The CUPS Printing System<br />
local/a2ps 4.13b-3<br />
a2ps is an Any to PostScript filter<br />
local/psutils p17-3<br />
A set of postscript utilities.<br />
local/foomatic-db 3.0.2-1<br />
Foomatic is a system for using free software printer drivers with common<br />
spoolers on Unix<br />
local/foomatic-db-engine 3.0.2-1<br />
Foomatic is a system for using free software printer drivers with common<br />
spoolers on Unix<br />
local/foomatic-db-ppd 3.0.2-1<br />
Foomatic is a system for using free software printer drivers with common<br />
spoolers on Unix<br />
local/foomatic-filters 3.0.2-1<br />
Foomatic is a system for using free software printer drivers with common<br />
spoolers on Unix<br />
local/espgs 8.15.1-1<br />
ESP Ghostscript<br />
</pre><br />
<br />
Setting <code>LogLevel</code> may also need to be set in {{Filename|/etc/cups/cupsd.conf}} to <code>debug2</code>, this way the logs will show how to circumvent minor issues, such as missing fonts. Search Google for [http://www.google.com/search?q=n019003l+filetype%3Apfb n019003l filetype:pfb]<br />
<br />
The debug solution might work if getting errors similar to 'Unsupport PCL', etc. See: [http://linuxprinting.org/show_printer.cgi?recnum=HP-LaserJet_1010 OpenPrinting database - Printer: HP LaserJet 1010]<br />
<br />
===LaserJet 1020===<br />
====Installation from AUR====<br />
Install the package foo2zjs from AUR and modify the {{Filename|PKGBUILD}}. Change the line:<br />
./getweb all<br />
to<br />
./getweb 1020<br />
<br />
If getting errors with incorrect md5sums, the md5sum of {{Filename|foo2zjs.tar.gz}} in the PKGBUILD should be changed to match the downloaded driver.<br />
<br />
As a last step, add and configure the printer in the CUPS manager. The printer should be recognized automatically, and function for both root and regular users.<br />
<br />
====Manual installation====<br />
{{Warning|This section involves installing packages without pacman. These directions should ideally be automated with a PKGBUILD in order to prevent issues.}}<br />
<br />
First of all, only CUPS and GhostScript needs to be installed. Then follow the links in [http://www.linuxprinting.org/show_printer.cgi?recnum=HP-LaserJet_1020 OpenPrinting database - Printer: HP LaserJet 1020] and [http://foo2zjs.rkkda.com/ foo2zjs: a linux printer driver for ZjStream protocol] to the printer driver page, and follow the install instructions. After login in as root, and downloading all the package and extracted the archives, change into the foo2zjs directory. Now, follow the regular installation instructions with a minor modification to change the 'userid' for printing:<br />
$ make<br />
$ ./getweb 1020<br />
<br />
Open the {{Filename|Makefile}}:<br />
$ nano Makefile<br />
and search for the line:<br />
# LPuid=-olp<br />
modify it to:<br />
# LPuid=-oroot<br />
then continue with the script:<br />
$ make install<br />
$ make install-hotplug<br />
$ make cups<br />
<br />
===Firmware for HPLIP===<br />
Some printers may appear to have been correctly installed by CUPS, but fail to print. It may be that the necessary firmware needs to be downloaded by running:<br />
# hp-setup -i<br />
as root. This situation has been encountered with the LaserJet 1000 and LaserJet 1005.<br />
<br />
==Printer connected to an Airport Express Station==<br />
The first step is to scan the Airport Express station. It seems that there are different addresses depending on the model:<br />
<pre><br />
[root@somostation somos]# nmap 192.168.0.4<br />
<br />
Starting Nmap 4.20 ( http://insecure.org ) at 2007-06-26 00:50 CEST<br />
Interesting ports on 192.168.0.4:<br />
Not shown: 1694 closed ports<br />
PORT STATE SERVICE<br />
5000/tcp open UPnP<br />
9100/tcp open jetdirect<br />
10000/tcp open snet-sensor-mgmt<br />
MAC Address: 00:14:51:70:D5:66 (Apple Computer)<br />
<br />
Nmap finished: 1 IP address (1 host up) scanned in 25.815 seconds<br />
</pre><br />
<br />
The Airport station is accessed like an HP JetDirect printer. Afterwards, edit {{Filename|printer.conf}}:<br />
<pre><br />
# Printer configuration file for CUPS v1.2.11<br />
# Written by cupsd on 2007-06-26 00:44<br />
<Printer LaserSim><br />
Info SAMSUNG ML-1510 gdi<br />
Location SomoStation<br />
DeviceURI socket://192.168.0.4:9100<br />
State Idle<br />
StateTime 1182811465<br />
Accepting Yes<br />
Shared Yes<br />
JobSheets none none<br />
QuotaPeriod 0<br />
PageLimit 0<br />
KLimit 0<br />
OpPolicy default<br />
ErrorPolicy stop-printer<br />
</Printer><br />
</pre><br />
Problems may be resolved by removing foomatic and installing foomatic-db, foomatic-db-engine, foomatic-db-ppd instead.</div>DonVlahttps://wiki.archlinux.org/index.php?title=CUPS/Printer-specific_problems&diff=109667CUPS/Printer-specific problems2010-06-26T23:41:14Z<p>DonVla: </p>
<hr />
<div>[[Category:Printers (English)]][[Category:HOWTOs (English)]]<br />
{{i18n|CUPS printer-specific problems}}<br />
{{Article summary start|Summary}}<br />
{{Article summary text|Dealing with printer-specific problems}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|CUPS}}<br />
{{Article summary end}}<br />
<br />
Printer-specific problems and their solutions.<br />
<br />
==Brother==<br />
<br />
===DCP 7020===<br />
See: [[Brother DCP-7020]]<br />
<br />
==Canon==<br />
===MF 4150===<br />
This is required as some Canon printers apparently do not declare their specification correctly for kernel and libusb to recognize them<br />
<br />
* Do NOT blacklist usblp module.<br />
<br />
* Install hal-cups-utils and restart hal<br />
# sudo pacman -S hal-cups-utils<br />
# sudo /etc/rc.d/hal restart<br />
<br />
* Connect the printer<br />
<br />
The printer should now be recognized by the CUPS Add printer dialog. If still having problems, try restarting CUPS.<br />
<br />
* Install UFRII driver ({{Package AUR|ufr2}} from the [[AUR]] and complete the printer installation.<br />
<br />
==Epson==<br />
<br />
===Utility functions===<br />
====escputil====<br />
This section explains how to perform some of the utility functions (such as nozzle cleaning) on Epson printers, by using the escputil utility, part of the gutenprint package.<br />
<br />
With newer printers (like the CX3600/CX3650 or D88) you must first "modprobe usblp" to get escputil working. This creates the "/dev/usb/lp0" node (see the "--raw-device" flag below). Afterwards you have to "rmmod usblp", else the printer won't be recognized. More here: http://bbs.archlinux.org/viewtopic.php?pid=682455#p682455<br />
<br />
There is a escputil's man-page provides basic information, but it does not touch on how to identify the printer. There are two parameters that can be used to do so:<br />
<br />
* One is <tt>--printer</tt>: it expects the name used to identify the printer when is was configured.<br />
<br />
* The other is <tt>--raw-device</tt>: this option expects a path beginning with "/dev". If the printer is the only serial printer on the system, "/dev/lp0" should be its device node. For USB printers, it is "/dev/usb/lp0". If having more than one printer, they will have names ending in "lp1", "lp2", etc.<br />
<br />
On to the maintenance options:<br />
* To clean the printer heads:<br />
$ escputil -u --clean-head<br />
<br />
* To print the nozzle-check pattern (allows verifying that the previous head cleaning worked, and determining the heads need cleaning):<br />
$ escputil -u --nozzle-check<br />
<br />
If wanting to perform an operation that requires two-way communication with a printer, use the "--raw-device" specification and the user must be root or be a member of the group "lp".<br />
<br />
* The following is an example of getting the printer's internal identification:<br />
$ sudo escputil --raw-device=/dev/usb/lp0 --identify<br />
<br />
* To print out the ink levels of the printer:<br />
$ sudo escputil --raw-device=/dev/usb/lp0 --ink-level<br />
<br />
====mtink====<br />
This is a printer status monitor which enables to get the remaining ink quantity, to print test patterns, to reset printer and to clean nozzle. It use an intuitive graphical user interface. Package can be downloaded from [http://aur.archlinux.org/packages.php?do_Details=1&ID=476&O=0&L=0&C=0&K=mtink&SB=n&SO=a&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd AUR].<br />
<br />
====Stylus-toolbox====<br />
This is a GUI using escputil and cups drivers. It supports nearly all USB printer of Epson and displays ink quantity, can clean and align print heads and print test patterns. It can be downloaded from [http://aur.archlinux.org/packages.php?ID=30319 AUR]<br />
<br />
===AcuLaser CX11(NF)===<br />
Install [http://aur.archlinux.org/packages.php?ID=30424 Epson-ALCX11-filter] from the AUR. Restart CUPS and add the printer using the driver "EPSON AL-CX11, ESC/PageS Filter".<br />
<br />
Both connections, USB and network, should work as expected.<br />
<br />
==FX==<br />
=== C1110 (not model B)===<br />
Keep in mind that these directions assume that the printer is connected and listening on the network.<br />
<br />
*Install cpio and rpmunpack to later unpack the package:<br />
# pacman -S cpio rpmunpack cups ghostscript gsfonts<br />
<br />
*Get the FX GNU/Linux driver [http://www.fujixeroxprinters.com/downloads/uploaded/Drivers/DocuPrint%20C1110%20C1110B/linux/fxlinuxprint-1.0.1-1.i386.zip here].<br />
<br />
*Unzip {{Filename|fxlinuxprint-1.0.1-1.i386.zip}} to /var/tmp (the directory is not important):<br />
$ unzip fxlinuxprint-1.0.1-1.i386.zip -d /var/tmp<br />
<br />
*Continue extracting the file:<br />
$ cd /var/tmp<br />
$ rpmunpack fxlinuxprint-1.0.1-1.i386.rpm<br />
$ gunzip fxlinuxprint-1.0.1-1.cpio.gz<br />
<br />
*Move the cpio DST file (for convenience):<br />
$ mkdir /var/tmp/DST<br />
$ mv fxlinuxprint-1.0.1-1.cpio /var/tmp/DST<br />
<br />
*Extract it:<br />
$ cd /var/tmp/DST<br />
$ cpio -id < fxlinuxprint-1.0.1-1.cpio<br />
<br />
*Filter the relevant files:<br />
$ cd /var/tmp<br />
$ find /var/tmp/DST -type f |cat -n<br />
1 /var/tmp/DST/etc/cups/mimefx.convs<br />
2 /var/tmp/DST/etc/cups/mimefx.types<br />
3 /var/tmp/DST/usr/lib/cups/filter/pdftopjlfx<br />
4 /var/tmp/DST/usr/lib/cups/filter/pstopdffx<br />
5 /var/tmp/DST/usr/lib/cups/filter/pdftopdffx<br />
6 /var/tmp/DST/usr/share/cups/model/FujiXerox/en/fxlinuxprint.ppd<br />
<br />
*Copy the files found in the previous step to /<br />
{{Note|For the PPD use {{Filename|/usr/share/cups/model/fxlinuxprint.ppd}}}}<br />
<br />
*Access http://localhost:631/ and add the lpd://f.q.d.n/queue printer, aunthenticating as root.<br />
<br />
*Go through "Manage Printer" and "Set Printer Options".<br />
<br />
*Print a test page (substitue color103 with the assigned printer name):<br />
$ lpq -P color103<br />
color103 is ready<br />
no entries<br />
<br />
==HP==<br />
===Deskjet 700 Series===<br />
====Printing does not work====<br />
The solution is to install '''pnm2ppa''' printer filter for the HP Deskjet 700 series. Without this, the print jobs will be aborted by the system. A [[Arch Build System|PKGBUILD]] for pnm2ppa can be found in [http://aur.archlinux.org/packages.php?do_Details=1&ID=696&O=0&L=0&C=0&K=pnm&SB=n&SO=a&PP=25&do_MyPackages=0&do_Orphans=0 AUR].<br />
<br />
=== HP LaserJet 1010 ===<br />
A solution to make LaserJet 1010 work with CUPS may be to compile a newer version of GhostScript:<br />
<pre><br />
$ pacman -Qs cups a2ps psutils foo ghost<br />
local/cups 1.1.23-3<br />
The CUPS Printing System<br />
local/a2ps 4.13b-3<br />
a2ps is an Any to PostScript filter<br />
local/psutils p17-3<br />
A set of postscript utilities.<br />
local/foomatic-db 3.0.2-1<br />
Foomatic is a system for using free software printer drivers with common<br />
spoolers on Unix<br />
local/foomatic-db-engine 3.0.2-1<br />
Foomatic is a system for using free software printer drivers with common<br />
spoolers on Unix<br />
local/foomatic-db-ppd 3.0.2-1<br />
Foomatic is a system for using free software printer drivers with common<br />
spoolers on Unix<br />
local/foomatic-filters 3.0.2-1<br />
Foomatic is a system for using free software printer drivers with common<br />
spoolers on Unix<br />
local/espgs 8.15.1-1<br />
ESP Ghostscript<br />
</pre><br />
<br />
Setting <code>LogLevel</code> may also need to be set in {{Filename|/etc/cups/cupsd.conf}} to <code>debug2</code>, this way the logs will show how to circumvent minor issues, such as missing fonts. Search Google for [http://www.google.com/search?q=n019003l+filetype%3Apfb n019003l filetype:pfb]<br />
<br />
The debug solution might work if getting errors similar to 'Unsupport PCL', etc. See: [http://linuxprinting.org/show_printer.cgi?recnum=HP-LaserJet_1010 OpenPrinting database - Printer: HP LaserJet 1010]<br />
<br />
===LaserJet 1020===<br />
====Installation from AUR====<br />
Install the package foo2zjs from AUR and modify the {{Filename|PKGBUILD}}. Change the line:<br />
./getweb all<br />
to<br />
./getweb 1020<br />
<br />
If getting errors with incorrect md5sums, the md5sum of {{Filename|foo2zjs.tar.gz}} in the PKGBUILD should be changed to match the downloaded driver.<br />
<br />
As a last step, add and configure the printer in the CUPS manager. The printer should be recognized automatically, and function for both root and regular users.<br />
<br />
====Manual installation====<br />
{{Warning|This section involves installing packages without pacman. These directions should ideally be automated with a PKGBUILD in order to prevent issues.}}<br />
<br />
First of all, only CUPS and GhostScript needs to be installed. Then follow the links in [http://www.linuxprinting.org/show_printer.cgi?recnum=HP-LaserJet_1020 OpenPrinting database - Printer: HP LaserJet 1020] and [http://foo2zjs.rkkda.com/ foo2zjs: a linux printer driver for ZjStream protocol] to the printer driver page, and follow the install instructions. After login in as root, and downloading all the package and extracted the archives, change into the foo2zjs directory. Now, follow the regular installation instructions with a minor modification to change the 'userid' for printing:<br />
$ make<br />
$ ./getweb 1020<br />
<br />
Open the {{Filename|Makefile}}:<br />
$ nano Makefile<br />
and search for the line:<br />
# LPuid=-olp<br />
modify it to:<br />
# LPuid=-oroot<br />
then continue with the script:<br />
$ make install<br />
$ make install-hotplug<br />
$ make cups<br />
<br />
===Firmware for HPLIP===<br />
Some printers may appear to have been correctly installed by CUPS, but fail to print. It may be that the necessary firmware needs to be downloaded by running:<br />
# hp-setup -i<br />
as root. This situation has been encountered with the LaserJet 1000 and LaserJet 1005.<br />
<br />
==Printer connected to an Airport Express Station==<br />
The first step is to scan the Airport Express station. It seems that there are different addresses depending on the model:<br />
<pre><br />
[root@somostation somos]# nmap 192.168.0.4<br />
<br />
Starting Nmap 4.20 ( http://insecure.org ) at 2007-06-26 00:50 CEST<br />
Interesting ports on 192.168.0.4:<br />
Not shown: 1694 closed ports<br />
PORT STATE SERVICE<br />
5000/tcp open UPnP<br />
9100/tcp open jetdirect<br />
10000/tcp open snet-sensor-mgmt<br />
MAC Address: 00:14:51:70:D5:66 (Apple Computer)<br />
<br />
Nmap finished: 1 IP address (1 host up) scanned in 25.815 seconds<br />
</pre><br />
<br />
The Airport station is accessed like an HP JetDirect printer. Afterwards, edit {{Filename|printer.conf}}:<br />
<pre><br />
# Printer configuration file for CUPS v1.2.11<br />
# Written by cupsd on 2007-06-26 00:44<br />
<Printer LaserSim><br />
Info SAMSUNG ML-1510 gdi<br />
Location SomoStation<br />
DeviceURI socket://192.168.0.4:9100<br />
State Idle<br />
StateTime 1182811465<br />
Accepting Yes<br />
Shared Yes<br />
JobSheets none none<br />
QuotaPeriod 0<br />
PageLimit 0<br />
KLimit 0<br />
OpPolicy default<br />
ErrorPolicy stop-printer<br />
</Printer><br />
</pre><br />
Problems may be resolved by removing foomatic and installing foomatic-db, foomatic-db-engine, foomatic-db-ppd instead.</div>DonVlahttps://wiki.archlinux.org/index.php?title=Bluetooth_GPRS_Howto&diff=107897Bluetooth GPRS Howto2010-06-03T23:19:02Z<p>DonVla: </p>
<hr />
<div>[[Category:Other hardware (English)]]<br />
<br />
This Howto will describe, how to set up a GPRS Internet connection using bluetooth device and compatible mobile phone.<br />
<br />
==Requirements==<br />
# Linux compatible bluetooth device<br />
# Bluetooth enabled mobile phone - I'm using Nokia N70<br />
<br />
==Instructions==<br />
<ol><br />
<li>Install bluez-utils, bluez-libs and dbus (install also ppp if you haven't): <pre>pacman -S bluez-utils bluez-libs dbus</pre></li><br />
<li>Start dbus and bluetooth service: <pre>/etc/rc.d/dbus start<br />
/etc/rc.d/bluetooth start</pre></li><br />
<li>Scan for nearby bluetooth devices: <pre>hcitool scan<br />
Scanning ...<br />
00:19:79:89:13:8E Penpen N70</pre><br />
Now, mark that above address, it's the bluetooth hardware address of your mobile phone (provided that the name in the right matches what you have written in the phone).</li><br />
<li>Scan, which channel is used for Dial-Up Networking: <pre>sdptool search --bdaddr 00:19:79:89:13:8E DUN<br />
Inquiring ...<br />
Searching for DUN on 00:19:79:89:13:8E ...<br />
Service Name: Dial-Up Networking<br />
Service RecHandle: 0x10007<br />
Service Class ID List:<br />
"Dialup Networking" (0x1103)<br />
Protocol Descriptor List:<br />
"L2CAP" (0x0100)<br />
"RFCOMM" (0x0003)<br />
Channel: 3<br />
Language Base Attr List:<br />
code_ISO639: 0x454e<br />
encoding: 0x6a<br />
base_offset: 0x100<br />
Profile Descriptor List:<br />
"Dialup Networking" (0x1103)<br />
Version: 0x0100<br />
</pre>Now check the line beginning with "Channel:" - it contains the channel which is used for Dial-Up Network and it is <strong>not necessarily</strong> 1 and so is the case with my Nokia N70; my phone uses channel 3. Check also that you are reading the right results; the bluetooth hardware address must match your phone's.</li><br />
<li>Now edit /etc/bluetooth/rfcomm.conf , first uncomment the rfcomm0 device section. Then add/change the lines as this (if necessary): <pre>bind yes;<br />
device 00:19:79:89:13:8E;<br />
channel 3;<br />
comment "GPRS dialup";</pre>Of course, you should use your device address and the appropriate channel.</li><br />
<li>Edit the bluetooth conf file in /etc/conf.d to make the rfcomm start when bluetooth system is started: <pre><br />
# Activate rfcomm ports (default: false)<br />
RFCOMM_ENABLE="true"</pre></li><br />
<li>Restart the bluetooth service: <pre>/etc/rc.d/bluetooth restart</pre></li><br />
<li>Look, whether the bluetooth device is bound to the phone. It should look like this: <pre>ls -l /dev/rfcomm0<br />
crw-rw---- 1 root tty 216, 0 2007-08-10 21:32 /dev/rfcomm0</pre></li><br />
<li>Now comes the interesting part. You see, there must be an agreed password for connecting to the phone's modem. This password is set up in the following way: Open up another root terminal and execute <pre>bluez-simple-agent</pre> (if there is an error concerning a .service file, just stop bluetoothd, restart dbus and start bluetooth again). This should give you a message saying the device is ready, don't do anything else here for now, but go to the first terminal and type in <pre>cat /dev/rfcomm0</pre> and press Return. Shortly after the phone should be asking for a code for pairing with the computer. Use whatever code you wish on the phone. Then in the bluez-simple-agent a prompt appears asking for this code. After you have entered it and cofirmed via Return you can CTRL-c it and close the terminal. The phone is now paired with the computer.</li><br />
</ol><br />
==Connection==<br />
===pppd===<br />
Edit the bottom of /etc/ppp/ip-up as following: <pre>echo -e "#generated by ip-up\nsearch local\nnameserver $DNS1\nnameserver $DNS2" > /etc/resolv.conf<br />
chmod a+r /etc/resolv.conf</pre>This change is used to set correct DNS settings after connection.<br />
Now you need scripts to actually use the phone's modem and call your ISP. My ISP is the Finnish saunalahti, mainly because of it's predefined fee for unlimited data access. You must substitute saunalahti for your ISP accordingly through the rest of the document. First we edit the modem setup script for my isp. I'm using script named /etc/ppp/peers/saunalahti and having the following content: <pre>show-password <br />
noauth<br />
/dev/rfcomm0<br />
115200<br />
connect /etc/ppp/peers/saunalahti-connect<br />
disconnect /etc/ppp/peers/saunalahti-disconnect<br />
defaultroute<br />
#replacedefaultroute<br />
noipdefault <br />
#nodetach<br />
usepeerdns<br />
crtscts<br />
local<br />
ipcp-accept-local<br />
#lcp-echo-interval 0<br />
maxfail 10<br />
lcp-echo-failure 0<br />
lcp-echo-interval 0<br />
#lcp-max-configure 0<br />
#lcp-max-failure 10000<br />
#lcp-max-terminate 0<br />
#lcp-restart 30000 <br />
novj<br />
nobsdcomp<br />
novjccomp<br />
nopcomp<br />
noaccomp<br />
linkname saunalahti<br />
mtu 1500<br />
mru 1500</pre> Some remarks: You should possibly first uncomment the nodetach-option, so you can track, whether the call succeeds. Without the option you just get no confirmation. <br />
Some Carrier needs special username and password for connection. In this case you should add:<br />
<pre><br />
user "username"<br />
password "passwd"<br />
</pre><br />
A good list of Carrier's and ther username/password pairs can be found here: http://wiki.openmoko.org/wiki/GPRS<br />
<br />
The lines starting with "connect" and "disconnect" are locations for connect and disconnect chat scripts. Chat scripts are used to "talk" with the modem. Lets take a look at them next.<br />
Now, we edit the connect script. Mine is at /etc/ppp/peers/saunalahti-connect and is like the following: <pre>#!/bin/sh<br />
exec chat \<br />
TIMEOUT 5 \<br />
ECHO ON \<br />
ABORT '\nBUSY\r' \<br />
ABORT '\nERROR\r' \<br />
ABORT '\nNO ANSWER\r' \<br />
ABORT '\nNO CARRIER\r' \<br />
ABORT '\nNO DIALTONE\r' \<br />
ABORT '\nRINGING\r\n\r\nRINGING\r' \<br />
'' \rAT \<br />
TIMEOUT 12 \<br />
SAY "Press CTRL-C to close the connection at any stage!" \<br />
SAY "\ndefining PDP context...\n" \<br />
OK ATH \<br />
OK ATE1 \<br />
OK 'AT+CGDCONT=1,"IP","internet.saunalahti","",0,0' \<br />
OK ATD*99# \<br />
TIMEOUT 22 \<br />
SAY "\nwaiting for connect...\n" \<br />
CONNECT "" \<br />
SAY "\nConnected." \<br />
SAY "\nIf the following ppp negotiations fail,\n" \<br />
SAY "try restarting the phone.\n"</pre>Also some remarks about these: In the place of internet.saunalahti you should have your mobile operators access point name. That can be checked from Settings->Connection->Access points . Hilight the Internet access point and select edit. Go down to section "Access point name". There you have it. One more thing. The modem command "ATD*99#"'s number "*99#" is a special number (at least in Nokia phones) which is used to "call to Internet access point". Pretty clever I'd say; no fiddling around with actual numbers, let the phone handle everything behind the scenes.<br />
Edit the disconnect script (mine's is in /etc/ppp/peers/saunalahti-disconnect). You should have something like this: <pre>#!/bin/sh<br />
exec /usr/sbin/chat -V -s -S \<br />
ABORT "BUSY" \<br />
ABORT "ERROR" \<br />
ABORT "NO DIALTONE" \<br />
SAY "\nSending break to the modem\n" \<br />
"" "\K" \<br />
"" "\K" \<br />
"" "\K" \<br />
"" "+++ATH" \<br />
"" "+++ATH" \<br />
"" "+++ATH" \<br />
SAY "\nPDP context detached\n"</pre><br />
Set executable atribute for files saunalahti-connect and saunalahti-disconnect<pre>chmod +x /etc/ppp/peers/saunalahti*connect</pre><br />
Ok, you have completely set up bluetooth + gprs connection. Yay! Next thing to do is to test it. If you let the "nodetach" option uncommented in section 12, running (again, substitute yourisp for, well your ISP :) <pre>pon yourisp</pre> should return something like this: <pre>Press CTRL-C to close the connection at any stage!<br />
defining PDP context...<br />
rAT<br />
OK<br />
ATH<br />
OK<br />
ATE1<br />
OK<br />
AT+CGDCONT=1,"IP","internet.saunalahti","",0,0<br />
OK<br />
waiting for connect...<br />
<br />
ATD*99#<br />
CONNECT<br />
Connected.<br />
If the following ppp negotiations fail,<br />
try restarting the phone.<br />
<br />
Serial connection established.<br />
Using interface ppp0<br />
Connect: ppp0 <--> /dev/rfcomm0<br />
kernel does not support PPP filtering<br />
Cannot determine ethernet address for proxy ARP<br />
local IP address 85.77.231.188<br />
remote IP address 10.6.6.6<br />
primary DNS address 195.197.54.100<br />
secondary DNS address 195.74.0.47</pre> <br />
<br />
If the output is something similar, you have a working connection . If this is the case, you can press ctrl-c to abort the connection and uncomment the "nodetach" option from section 12. <br />
<br />
Later when you want connection, you can just run <br />
<br />
<pre>pon yourisp</pre> <br />
<br />
and when disconnecting <br />
<br />
<pre>poff yourisp</pre><br />
<br />
You can add "dbus bluetooth" to the DAEMONS section in /etc/rc.conf so you can connect more easily after reboot (be aware that hal already starts dbus).<br />
All done, enjoy!<br />
<br />
<br />
<br />
===wvdial===<br />
Edit the file /etc/wvdial.conf and put the following line on it<br />
<br />
<pre><br />
[Dialer Defaults]<br />
Modem = /dev/modem<br />
Baud = 115200<br />
Init1 = ATZ<br />
Init2 = ATE0<br />
<br />
[Dialer pin]<br />
Init1 = AT+CPIN=YOURPIN<br />
<br />
[Dialer YOURISP]<br />
Modem = /dev/rfcomm0<br />
Init3 = AT+cgdcont=1,"IP","YOURISPAPN"<br />
Phone = *99***1#<br />
Stupid Mode = 1<br />
Username = username<br />
Password = password<br />
</pre><br />
<br />
Replace YOURISP/YOURPIN/YOURISPAPN/username/password with the right data and use <br />
<br />
<pre><br />
# wvdial YOURISP<br />
</pre><br />
<br />
for connect, if you need to pass the PIN number, use<br />
<br />
<pre><br />
# wvdial pin<br />
</pre><br />
<br />
==Use Blueman and NetworkManager==<br />
As of blueman 1.02-1 and networkmanager 0.70-1, there is no need to edit any configuration files anymore, so that we can easily set up bluetooth GRPS dialup purely in GUI. Tested with Nokia N70.<br />
<br />
# Click bluetooth applet and right click in blank area to select "Setup", then Bluetooth Manager will automatically search and setup devices for you, and you can choose to "connect to DialUp networking" if your device support this. After this, check out if you've got /dev/rfcomm0, if so you've got paired.<br />
# Right click on nm-applet and choose "Edit Connections", choose Mobile Broadband tab, click "add" it will pop you up to choose a Mobile Broadband Connection, there you can see your bluetooth device.<br />
# Edit properties of the connection, remember to change up to your own network setting. Normally, you only need to provide number and APN, leave others blank. And uncheck "Use authentication" in PPP tab, otherwise dialup would fail.<br />
# Select and connect to dialup service just like other connection type with networkmanager.</div>DonVlahttps://wiki.archlinux.org/index.php?title=Samsung_N140&diff=88514Samsung N1402009-12-21T21:31:43Z<p>DonVla: </p>
<hr />
<div>[[Category:Samsung (English)]][[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
This article provides information about installing and setting up Arch Linux on the Samsung N140. It is also relevant for the Samsung N130 which is identical except for the omission of Bluetooth and stereo speakers (and possibly a different battery capacity). The [[Samsung NC10]] is similar but not identical, so you may or may not find useful information on that page.<br />
<br />
=Issues=<br />
<br />
==SATA exception, freeze, reset==<br />
<br />
Possible BIOS problem causes a SATA hardreset shortly after boot. This is unresolved up to Samsung N140 BIOS 04CU, and Samsung N130 BIOS 05CM, although a kernel patch is being investigated.<br />
See<br />
http://bugzilla.kernel.org/show_bug.cgi?id=14314, http://bugzilla.kernel.org/show_bug.cgi?id=13416,<br />
http://lkml.indiana.edu/hypermail/linux/kernel/0908.2/02809.html<br />
and<br />
http://lkml.indiana.edu/hypermail/linux/kernel/0911.3/01604.html .<br />
<br />
A summary of the status as currently understood:<br />
<br />
About 5 minutes after boot or resume, the BIOS switches on some power saving features which were not enabled at boot. It enables additional (sleepier) processor C-states, and sends power management instructions to the HDD. It does these behind the operating system's back -- not using ACPI, which would be handled correctly by Linux. Instead the sudden change results in a SATA exception at the first disk access following the switch.<br />
At that point the SATA driver resets the disk to resolve the problem. The result: the user sees a complete system freeze for about 30 seconds, after which operation of the machine continues normally. This can occur during the periodic fsck at boot if it is running at switch time. Either Samsung needs to be convinced to fix the BIOS, or the Linux kernel needs to be modified to behave more gracefully (Windows doesn't freeze noticeably if at all).<br />
<br />
It has been reported that some OpenSUSE kernels [http://download.opensuse.org/repositories/Moblin:/Base/openSUSE_11.1/src/kernel-source-2.6.31.7-37.1.src.rpm] do not freeze and testing is progress in the [http://bbs.archlinux.org/viewtopic.php?id=86454 Arch Forums]. The patch [http://marc.info/?l=linux-ide&m=122724081603679&w=2 libata-ata_piix-clear-spurious-IRQ] has been reported to resolve the freezing problem. (Hint: to look at the rpm use [http://www.archlinux.org/packages/extra/i686/rpmextract/ rpmextract], and then untar config.tar.bz2 and patches.*.tar.bz2).<br />
<br />
There is a kernel patch available which changes the backlight brightness using SMI instead of poking PCI config space. It provides a kernel module called "samsung-laptop". Interestingly a special (as yet unreleased?) BIOS for the N130 can be informed that the OS is Linux by a version of this patch which is included in OpenSUSE 11.1. The effect of this hasn't been published.<br />
<br />
The N140 and N130 BIOSes have Phoenix FailSafe (you have been warned). It's not clear if the SATA problem has any relation to this.<br />
<br />
Version 01CM of the N130 BIOS has been reported to not cause freezes, unlike all later ones which do.<br />
<br />
This problem is hazardous for your filesystem so take precautions. For example use ext3 (not ext4) with option data=journal and install backup software.<br />
<br />
==Frequent wireless disconnects==<br />
With kernel 2.6.31 ath9k wifi exhibits frequent disconnects and reconnects. See http://bugzilla.kernel.org/show_bug.cgi?id=14267. Earlier and later kernels are better.<br />
<br />
=Installation=<br />
<br />
Do the standard Arch installation procedure from the ARCH CD ISO using an external USB CDROM drive. Alternatively boot the Arch installer from a USB flash drive.<br />
<br />
For initial installation and testing you should use the standard Arch kernel.<br />
<br />
However a number of users are currently using a custom kernel for several reasons: (1) to investigate/resolve the SATA problem mentioned above (2) for better wifi and keyboard operation using 2.6.32 (3) to boot with a minimal kernel containing just the required modules and without an initial ramdisk.<br />
<br />
Method A below compiles a minimal kernel without initrd. Method B stays as close as possible to the standard kernel.<br />
<br />
==Custom kernel installation (A) ==<br />
<br />
An AUR package [http://aur.archlinux.org/packages.php?ID=32042 kernel26-n130] has been created for this.<br />
<br />
Prepare the directory<br />
$ mkdir ~/builds<br />
$ mkdir ~/builds/kernel26-n130<br />
$ cd ~/builds/kernel26-n130<br />
Get the AUR package and untar it<br />
$ wget http://aur.archlinux.org/packages/kernel26-n130/kernel26-n130.tar.gz<br />
$ tar zxvf kernel26-n130.tar.gz<br />
$ cd kernel26-n130<br />
<br />
At this point you can edit the PKGBUILD file if you need to (i) change the name or version number,<br />
(ii) change options or (iii) add additional patches. We will change one option.<br />
<br />
Edit PKGBUILD and make sure _USE_LIBATA_PATCH is set to 1. This patch prevents the SATA problem described above.<br />
_USE_LIBATA_PATCH=1<br />
Compile it (this will take some time...):<br />
$ makepkg -s<br />
Install the created .pkg.tar.gz file in the normal pacman way<br />
$ sudo pacman -U kernel26-n130-2.6.32.1-3.pkg.tar.gz (or whatever the created .pkg.tar.gz file is called)<br />
<br />
Then insert a new item in your {{Filename|/boot/grub/menu.lst}} to boot the new kernel "kernel26-N130".<br />
<pre><br />
# (0) Arch Linux N130<br />
title Arch Linux Custom N130 Kernel<br />
root (hd0,YOURROOT-1)<br />
kernel /boot/vmlinuz26-N130 root=/dev/sdaYOURROOT resume=/dev/sdaYOURSWAP ro quiet<br />
</pre><br />
And reboot. If you have problems the standard Arch kernel is still installed and selectable from the GRUB menu.<br />
Note: The kernel26-n130 has the i915 module compiled in with kms enabled by default. <br />
No need to setup kms as described below.<br />
<br />
==Custom kernel installation (B)==<br />
<br />
An alternative approach is to compile a custom kernel which is as close as possible to the standard Arch kernel. The only required change is to apply the patch<br />
[http://aur.archlinux.org/packages/kernel26-n130/kernel26-n130/libata-ata_piix-clear-spurious-IRQ libata-ata_piix-clear-spurious-IRQ] to address the SATA problem discussed above.<br />
* get the package files for the standard Arch kernel from [http://repos.archlinux.org/wsvn/packages/kernel26/repos/core-i686/ core-i686] or [[ABS]] or (for the 2.6.32 kernel) from [http://repos.archlinux.org/wsvn/packages/kernel26/repos/testing-i686/ testing-i686] or [http://aur.archlinux.org/packages.php?ID=17189 AUR/kernel26-source] <br />
* in PKGBUILD change "pkgname=kernel26" to "pkgname=kernel26-n140"<br />
* add an entry for the patch file to files=() and md5sums=() and a "patch" command just after the -ARCH patches line:<br />
<pre><br />
# Add -ARCH patches<br />
# See http://projects.archlinux.org/linux-2.6-ARCH.git/<br />
patch -Np1 -i ${srcdir}/${_patchname} || return 1<br />
<br />
# Patch for Samsung N130/N140<br />
patch -Np1 -i ${srcdir}/libata-ata_piix-clear-spurious-IRQ || return 1<br />
</pre><br />
<br />
* compile, install it and add new section in {{Filename|/boot/grub/menu.lst}}, identical to the standard entry but with kernel26 replaced by kernel26-n140. Reboot.<br />
<br />
=Configure your installation=<br />
<br />
==Ethernet==<br />
<br />
RTL8101e/8102e fast ethernet. Works out of the box.<br />
<br />
==Wifi==<br />
<br />
Supplied wifi is Atheros AR9285 (PCI ID = 168c:002b)<br />
(RTL8192E is reported as being supplied in some markets)<br />
02:00.0 Network controller [0280]: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) [168c:002b] (rev 01)<br />
<br />
Kernel module: ath9k (AR9285 is supported since 2.6.29).<br />
<br />
Kernels 2.6.30 and 2.6.32-rcN release candidates seem to work fine.<br />
However with kernel 2.6.31 the wireless connection exhibits frequent<br />
disconnects and reattachments,<br />
resulting in periods of bad througput and periods of good throughput.<br />
There is no sign of any patches for 2.6.31.y to fix this regression.<br />
Complain to linux-wireless@vger.kernel.org. To get it working either<br />
downgrade to 2.6.30 or compile a 2.6.32 release candidate.<br />
<br />
The following patch was included in 2.6.32 just before the final release: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=54ab040d24904d1fa2c0a6a27936b7c56a4efb24 . It disables PS (power saving) mode by default, since this mode was found to have problems. See here http://bugzilla.kernel.org/show_bug.cgi?id=14267 . PS mode can also be disabled with the following command:<br />
iwconfig wlan0 power off<br />
<br />
==Graphics Adapter==<br />
<br />
The video controller is an Intel chipset that works with the xf86-video-intel driver.<br />
<br />
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 945GME Express Integrated Graphics Controller [8086:27ae] (rev 03)<br />
00:02.1 Display controller [0380]: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller [8086:27a6] (rev 03)<br />
<br />
===Kernel Mode Setting===<br />
<br />
See also [[Intel_Graphics#KMS_.28Kernel_Mode_Setting.29]].<br />
<br />
KMS works at native 1024x600 resolution with kernel 2.6.31.<br />
Problems have been reported for some 2.6.32 kernels (later release candidates up to release 2.6.32.2),<br />
which results in screen flickering and blackouts about 5 minutes after resuming<br />
from suspend-to-RAM or suspend-to-disk.<br />
<br />
If you encouter screen flickering or blackouts with KMS on (modeset=1) you should try forcing KMS off (modeset=0).<br />
<br />
====Method A====<br />
<br />
If you are using the kernel26-n130 kernel from AUR then you have no inital ramdisk and you can simply add '''i915.modeset=1''' to the GRUB kernel line.<br />
<br />
# (0) Arch Linux N130<br />
title Arch Linux Custom N130 Kernel<br />
root (hd0,YOURROOT-1)<br />
kernel /boot/vmlinuz26-N130 root=/dev/sdaYOURROOT resume=/dev/sdaYOURSWAP ro quiet '''i915.modeset=1'''<br />
<br />
====Method B====<br />
<br />
If you are using an initial ramdisk (either the standard kernel or the custom kernel method B above) then do the following:<br />
<br />
Edit {{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options i915 modeset=1<br />
Edit {{Filename|/etc/mkinitcpio.conf}}:<br />
MODULES="intel_agp i915"<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
Put keymap early in {{Filename|/etc/mkinitcpio.conf}} HOOKS.<br />
Regenerate the init ramdisk for the kernel(s) you are running:<br />
$ mkinitcpio -p kernel26<br />
or <br />
$ mkinitcpio -p kernel26-n140<br />
Remove any vga= or video= from grub {{Filename|/boot/grub/menu.lst}} kernel line, and reboot.<br />
<br />
====KMS with KDE====<br />
<br />
With KDE, on logout KDM returns to the F1 real console not KDM.<br />
<br />
Just uncomment this entry in {{Filename|/usr/share/config/kdm/kdmrc}}:<br />
TerminateServer=true<br />
<br />
===Backlight Brightness===<br />
xbacklight does not work currently.<br />
However the brightness can be set with the following command<br />
<br />
setpci -s 00:02.1 F4.B=hh<br />
<br />
where hh is the level of brightness, in the range 00 to FF. Don't set it to zero<br />
because your backlight will turn off!<br />
<br />
Note this does not require the samsung-laptop patch mentioned above.<br />
<br />
Use the following script to increase and decrease the brightness. Put it in<br />
/sbin/backlight for example. Use xbindkeys to bind commands to the backlight Fn keys.<br />
Obtain sudo permission for user to use those commands with visudo.<br />
<br />
#!/bin/bash<br />
# increase/decrease/set/get the backlight brightness (range 0-255) by 16<br />
#<br />
#get current brightness in hex and convert to decimal<br />
var1=`setpci -s 00:02.1 F4.B`<br />
var1d=$((0x$var1))<br />
case "$1" in<br />
up)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d+16);if (a<255) print a else print 255" | bc`<br />
echo "$0: increasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s 00:02.1 F4.B=$var2<br />
;;<br />
down)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d-16);if (a>15) print a else print 15" | bc`<br />
echo "$0: decreasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s 00:02.1 F4.B=$var2<br />
;;<br />
set)<br />
#n.b. this does allow "set 0" i.e. backlight off<br />
echo "$0: setting brightness to 0x$2"<br />
setpci -s 00:02.1 F4.B=$2<br />
;;<br />
get)<br />
echo "$0: current brightness is 0x$var1"<br />
;;<br />
toggle)<br />
if [ $var1d -eq 0 ] ; then<br />
echo "toggling up"<br />
setpci -s 00:02.1 F4.B=FF<br />
else<br />
echo "toggling down"<br />
setpci -s 00:02.1 F4.B=0<br />
fi<br />
;;<br />
*)<br />
echo "usage: $0 {up|down|set <val>|get|toggle}"<br />
;;<br />
esac<br />
exit 0<br />
<br />
===External VGA===<br />
<br />
External VGA works out of the box with xrandr / krandrtray. Tested at 1920x1080 resolution.<br />
<br />
==Audio==<br />
<br />
The audio device is an Intel HD.<br />
00:1b.0 Audio device [0403]: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller [8086:27d8] (rev 02)<br />
<br />
==Suspend and Hibernate==<br />
<br />
Suspend to RAM with pm-suspend works.<br />
<br />
It is most useful to trigger suspends using [[acpid]].<br />
<br />
To catch the "sleep" function key, in handler.sh use the button/sleep) event to<br />
call /usr/sbin/pm-suspend.<br />
<br />
When catching the lid closure, the button/lid event will be seen twice -- once on suspend<br />
and again on resume. So use the lid state to distinguish between these so that pm-suspend<br />
is not triggered twice:<br />
<br />
This is an excerpt from /etc/acpid/handler.sh file:<br />
button/lid)<br />
if [ `/bin/awk '{print $2}' /proc/acpi/button/lid/LID0/state` = closed ]; then<br />
/usr/sbin/pm-suspend<br />
fi<br />
;;<br />
<br />
Hibernate works correctly (see [[pm-utils|pm-utils article]]).<br />
<br />
If you are a KDE4 user you can take advantage of powerdevil (included in kdemod-core/kdemod-kdebase-workspace since release 4.2) to manipulate the screen brightness, cpu scaling and hibernate. Suspend<br />
from KDE works too, but if you are using handler.sh to suspend on the button/lid and button/sleep acpi<br />
events, then KDE only needs to lock the screen. Note that cpu scaling requires acpi-cpufreq module<br />
to be loaded in MODULES in /etc/rc.conf.<br />
<br />
==Fn Keys==<br />
<br />
Firstly edit {{Filename|/usr/share/hal/fdi/information/10freedesktop/30-keymap-misc.fdi}}<br />
and insert N140 into the list where you see NC10 already.<br />
<br />
Now in a real console<br />
showkey<br />
<br />
will show presses for the function keys, but ''no releases'' for some of them.<br />
<br />
An issue found on the Samsung NC10 is also present on the N140. It causes most of the<br />
function keys to send a key press but not a key release. A workaround quirk was put in the<br />
kernel in atkbd.c for the NC10. Patching this routine to apply the same<br />
quirk (for 2.6.31 and earlier) also works for the N140.<br />
<br />
For 2.6.32 and later this can be done from user space. Simply edit {{Filename|/etc/rc.local}} and add the following line:<br />
<br />
echo 130,131,132,134,136,137,179,247,249 > /sys/devices/platform/i8042/serio0/force_release<br />
<br />
Doing "showkey" in a real console should now show presses and releases.<br />
<br />
===Binding Fn keys with xbindkeys===<br />
<br />
The following has been tested with KDE, but should also work for other DEs.<br />
<br />
To bind the Fn keys to action, read [[Extra_Keyboard_Keys#The_quick_way]] and also [[Extra_Keyboard_Keys_in_Xorg#Using_your_Desktop_Environment_tools|Extra Keyboard Keys in Xorg]]. <br />
<br />
The suspend key (Fn+ESC) and disable touchpad (Fn+F10) keys, numlock, scroll lock,<br />
volume controls and mute work out of the box.<br />
<br />
Note, that suspend key is handled in {{Filename|/etc/acpi/handler.sh}} (see "button/sleep" case entry) as <br />
shown above.<br />
<br />
1) install ''xbindkeys''<br />
pacman -S xbindkeys<br />
<br />
2) check the key values with<br />
xbindkeys -mk<br />
<br />
3) edit .xbindkeysrc<br />
<br />
"sudo /sbin/backlight up"<br />
m:0x0 + c:233<br />
"sudo /sbin/backlight down"<br />
m:0x0 + c:232<br />
"/home/user/bin/systeminfo_battery"<br />
m:0x0 + c:244<br />
"sudo /sbin/backlight toggle"<br />
m:0x0 + c:156<br />
"/home/user/bin/systeminfo_disk"<br />
m:0x0 + c:157<br />
"/home/user/bin/systeminfo_cpu"<br />
m:0x0 + c:210<br />
"/home/user/bin/systeminfo_wifi"<br />
m:0x0 + c:246<br />
<br />
4) run xbindkeys, and try it out<br />
xbindkeys<br />
<br />
For KDE4 put a link to {{Filename|/usr/bin/xbindkeys}} in {{Filename|~/.kde4/Autostart}}<br />
ln -s /usr/bin/xbindkeys ~/.kde4/Autostart/xbindkeys.link<br />
<br />
The Fn+F3 ("Euro") key: here Samsung implemented what has been called<br />
an entertaingly hilarious hack:<br />
http://lists.freedesktop.org/archives/hal/2009-August/013536.html<br />
ROFL! Does anyone know a practical use for this key?<br />
Fortunately some (eurozone) models have a real Euro key as well.<br />
<br />
===Binding Fn keys in Openbox===<br />
<br />
In [[Openbox]] one can use the internal keybind setup instead of xbindkeys.<br />
Here is an excerpt from rc.xml:<br />
<br />
<pre><br />
<keybind key="XF86Battery"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/batteryDisplay</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Display"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/monitor</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch1"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/brightnessToggle</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch2"><br />
<action name="Execute"><br />
<command>nice python ~/.config/openbox/scripts/checkmail.py --update</command><br />
</action><br />
</keybind><br />
<keybind key="XF86Launch3"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/powersaveToggle</command><br />
</action><br />
</keybind><br />
</keybind><br />
<keybind key="XF86AudioMute"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume mute</command><br />
</action><br />
</keybind><br />
<keybind key="XF86WLAN"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/wlanToggle</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioLowerVolume"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume -</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioRaiseVolume"><br />
<action name="Execute"><br />
<command>~/.PersonalBin/volume +</command><br />
</action><br />
</keybind><br />
<keybind key="XF86MonBrightnessDown"><br />
<action name="PreviousWindow"><br />
<bar>no</bar><br />
<allDesktops>yes</allDesktops><br />
<finalactions><br />
<action name="Focus"/><br />
<action name="Raise"/><br />
</finalactions><br />
</action><br />
</keybind><br />
<keybind key="XF86MonBrightnessUp"><br />
<action name="NextWindow"><br />
<bar>no</bar><br />
<allDesktops>yes</allDesktops><br />
<finalactions><br />
<action name="Focus"/><br />
<action name="Raise"/><br />
</finalactions><br />
</action><br />
</keybind><br />
</pre><br />
<br />
==Saving Power==<br />
Read [[Laptop#Suggestions_for_saving_power]]<br />
<br />
But, great caution is advised here with hdparm settings because the issue with SATA freezing is<br />
related to power management and spindowns.<br />
<br />
Note also that (contrary to the advice in many places) hdparm -B 255 /dev/sda does NOT<br />
necessarily turn off advanced power management. What happens actually depends on the<br />
disk model. With the Samsung HM160HI disk 255 results in very frequent spindowns.</div>DonVlahttps://wiki.archlinux.org/index.php?title=Samsung_N140&diff=83347Samsung N1402009-11-12T22:57:28Z<p>DonVla: </p>
<hr />
<div>[[Category:Samsung (English)]][[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
This article provides information about installing and setting up Arch Linux on the Samsung N140.<br />
The hardware is similar but not identical to the [[Samsung NC10]], so you may or may not<br />
find useful information on that page.<br />
<br />
=Issues=<br />
<br />
* Possible BIOS ACPI problem causes a SATA hardreset shortly after boot. This is unresolved up to BIOS 04CU. See http://bugzilla.kernel.org/show_bug.cgi?id=14314 and http://bugzilla.kernel.org/show_bug.cgi?id=13416 . This is hazardous for your filesystem so take precautions.<br />
<br />
* With kernel 2.6.31 ath9k wifi exhibits frequent disconnects and reconnects. See http://bugzilla.kernel.org/show_bug.cgi?id=14267. Earlier and later kernels are better.<br />
<br />
=Installation=<br />
<br />
From the ARCH CD iso with an external USB CDROM drive. Alternatively boot from USB flash drive.<br />
<br />
=Configure your installation=<br />
<br />
==Ethernet==<br />
<br />
RTL8101e/8102e fast ethernet. Works out of the box.<br />
<br />
==Wifi==<br />
<br />
Supplied wifi is Atheros AR9285 (PCI ID = 168c:002b)<br />
(RTL8192E is reported as being supplied in some markets)<br />
02:00.0 Network controller [0280]: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) [168c:002b] (rev 01)<br />
<br />
Kernel module: ath9k (AR9285 is supported since 2.6.29).<br />
<br />
Kernels 2.6.30 and 2.6.32-rcN release candidates seem to work fine.<br />
However with kernel 2.6.31 the wireless connection exhibits frequent<br />
disconnects and reattachments,<br />
resulting in periods of bad througput and periods of good throughput.<br />
There is no sign of any patches for 2.6.31.y to fix this regression.<br />
Complain to linux-wireless@vger.kernel.org. To get it working either<br />
downgrade to 2.6.30 or compile a 2.6.32 release candidate.<br />
<br />
==Graphics Adapter==<br />
<br />
The video controller is an Intel chipset that works with the xf86-video-intel driver.<br />
<br />
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 945GME Express Integrated Graphics Controller [8086:27ae] (rev 03)<br />
00:02.1 Display controller [0380]: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller [8086:27a6] (rev 03)<br />
<br />
===Kernel Mode Setting===<br />
<br />
KMS works (at native 1024x600 resolution) after the following:<br />
{{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options i915 modeset=1<br />
{{Filename|/etc/mkinitcpio.conf}}:<br />
MODULES="intel_agp i915"<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
Put keymap early in {{Filename|/etc/mkinitcpio.conf}} HOOKS.<br />
Regenerate the init ramdisk<br />
mkinitcpio -p kernel26<br />
Remove any vga= or video= from grub {{Filename|/boot/grub/menu.lst}} kernel line, and reboot.<br />
<br />
With KDE, on logout KDM returns to the F1 real console not KDM.<br />
<br />
Just uncomment this entry in {{Filename|/usr/share/config/kdm/kdmrc}}:<br />
TerminateServer=true<br />
<br />
===Backlight Brightness===<br />
xbacklight does not work currently.<br />
However the brightness can be set with the following command<br />
<br />
setpci -s 00:02.1 F4.B=hh<br />
<br />
where hh is the level of brightness, in the range 00 to FF. Don't set it to zero<br />
because your backlight will turn off!<br />
<br />
Use the following script to increase and decrease the brightness. Put it in<br />
/sbin/backlight for example. Use xbindkeys to bind commands to the backlight Fn keys.<br />
Obtain sudo permission for user to use those commands with visudo.<br />
<br />
#!/bin/bash<br />
# increase/decrease/set/get the backlight brightness (range 0-255) by 16<br />
#<br />
#get current brightness in hex and convert to decimal<br />
var1=`setpci -s 00:02.1 F4.B`<br />
var1d=$((0x$var1))<br />
case "$1" in<br />
up)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d+16);if (a<255) print a else print 255" | bc`<br />
echo "$0: increasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s 00:02.1 F4.B=$var2<br />
;;<br />
down)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d-16);if (a>15) print a else print 15" | bc`<br />
echo "$0: decreasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s 00:02.1 F4.B=$var2<br />
;;<br />
set)<br />
#n.b. this does allow "set 0" i.e. backlight off<br />
echo "$0: setting brightness to 0x$2"<br />
setpci -s 00:02.1 F4.B=$2<br />
;;<br />
get)<br />
echo "$0: current brightness is 0x$var1"<br />
;;<br />
toggle)<br />
if [ $var1d -eq 0 ] ; then<br />
echo "toggling up"<br />
setpci -s 00:02.1 F4.B=FF<br />
else<br />
echo "toggling down"<br />
setpci -s 00:02.1 F4.B=0<br />
fi<br />
;;<br />
*)<br />
echo "usage: $0 {up|down|set <val>|get|toggle}"<br />
;;<br />
esac<br />
exit 0<br />
<br />
===External VGA===<br />
<br />
External VGA should work out of the box with xrandr.<br />
<br />
==Audio==<br />
<br />
The audio device is an Intel HD.<br />
00:1b.0 Audio device [0403]: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller [8086:27d8] (rev 02)<br />
<br />
==Suspend and Hibernate==<br />
<br />
Suspend to RAM with pm-suspend works.<br />
<br />
It is most useful to trigger suspends using [[acpid]].<br />
<br />
To catch the "sleep" function key, in handler.sh use the button/sleep) event to<br />
call /usr/sbin/pm-suspend.<br />
<br />
When catching the lid closure, the button/lid event will be seen twice -- once on suspend<br />
and again on resume. So use the lid state to distinguish between these so that pm-suspend<br />
is not triggered twice:<br />
<br />
This is an excerpt from /etc/acpid/handler.sh file:<br />
button/lid)<br />
if [ `/bin/awk '{print $2}' /proc/acpi/button/lid/LID0/state` = closed ]; then<br />
/usr/sbin/pm-suspend<br />
fi<br />
;;<br />
<br />
Hibernate works correctly (see [[pm-utils|pm-utils article]]).<br />
<br />
If you are a KDE4 user you can take advantage of powerdevil (included in kdemod-core/kdemod-kdebase-workspace since release 4.2) to manipulate the screen brightness, cpu scaling and hibernate. Suspend<br />
from KDE works too, but if you are using handler.sh to suspend on the button/lid and button/sleep acpi<br />
events, then KDE only needs to lock the screen. Note that cpu scaling requires acpi-cpufreq module<br />
to be loaded in MODULES in /etc/rc.conf.<br />
<br />
==Fn Keys==<br />
<br />
Firstly edit /usr/share/hal/fdi/information/10freedesktop/30-keymap-misc.fdi<br />
and insert N140 into the list where you see NC10 already.<br />
<br />
Now in a real console<br />
showkey<br />
<br />
will show presses for the function keys, but ''no releases'' for some of them.<br />
<br />
An issue found on the Samsung NC10 is also present on the N140. It causes most of the<br />
function keys to send a key press but not a key release. A workaround quirk was put in the<br />
kernel in atkbd.c for the NC10. Patching this routine to apply the same<br />
quirk (for 2.6.31 and earlier) also works for the N140.<br />
<br />
For 2.6.32 and later this can be done from user space. Simply use the following in /etc/rc.local:<br />
<br />
echo 130,131,132,134,136,137,179,247,249 > /sys/devices/platform/i8042/serio0/force_release<br />
<br />
To bind the Fn keys to action, read [[Extra_Keyboard_Keys#The_quick_way]] and also [[Extra_Keyboard_Keys_in_Xorg#Using_your_Desktop_Environment_tools|Extra Keyboard Keys in Xorg]]. <br />
<br />
The suspend key (Fn+ESC) and disable touchpad (Fn+F10) keys, numlock, scroll lock,<br />
volume controls and mute work out of the box.<br />
<br />
Note, that suspend key is handled in /etc/acpi/handler.sh (see "button/sleep" case entry) as <br />
shown above.<br />
<br />
1) install ''xbindkeys''<br />
pacman -S xbindkeys<br />
<br />
2) check the key values with<br />
xbindkeys -mk<br />
<br />
3) edit .xbindkeysrc<br />
<br />
"sudo /sbin/backlight up"<br />
m:0x0 + c:233<br />
"sudo /sbin/backlight down"<br />
m:0x0 + c:232<br />
"/home/user/bin/systeminfo_battery"<br />
m:0x0 + c:244<br />
"sudo /sbin/backlight toggle"<br />
m:0x0 + c:156<br />
"/home/user/bin/systeminfo_disk"<br />
m:0x0 + c:157<br />
"/home/user/bin/systeminfo_cpu"<br />
m:0x0 + c:210<br />
"/home/user/bin/systeminfo_wifi"<br />
m:0x0 + c:246<br />
<br />
4) run xbindkeys, and try it out<br />
xbindkeys<br />
<br />
For KDE4 put a link to /usr/bin/xbindkeys in ~/.kde4/Autostart<br />
ln -s /usr/bin/xbindkeys ~/.kde4/Autostart/xbindkeys.link<br />
<br />
The Fn+F3 ("Euro") key: here Samsung implemented what has been called<br />
an entertaingly hilarious hack:<br />
http://lists.freedesktop.org/archives/hal/2009-August/013536.html<br />
ROFL! Does anyone know a practical use for this key?<br />
Fortunately some (eurozone) models have a real Euro key as well.<br />
<br />
==Saving Power==<br />
Read [[Laptop#Suggestions_for_saving_power]]<br />
<br />
But, great caution is advised here with hdparm settings because the issue with SATA freezing is<br />
related to power management and spindowns.<br />
<br />
Note also that (contrary to the advice in many places) hdparm -B 255 /dev/sda does NOT<br />
necessarily turn off advanced power management. What happens actually depends on the<br />
disk model. With the Samsung HM160HI disk 255 results in very frequent spindowns.</div>DonVlahttps://wiki.archlinux.org/index.php?title=Samsung_N140&diff=83328Samsung N1402009-11-12T22:04:18Z<p>DonVla: </p>
<hr />
<div>[[Category:Laptops (English)]][[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
=Introduction=<br />
This article provides information about installing and setting up Arch Linux on the Samsung N140.<br />
The hardware is similar but not identical to the [[Samsung NC10]], so you may or may not<br />
find useful information on that page.<br />
<br />
=Issues=<br />
<br />
* Possible BIOS ACPI problem causes a SATA hardreset shortly after boot. This is unresolved up to BIOS 04CU. See http://bugzilla.kernel.org/show_bug.cgi?id=14314 and http://bugzilla.kernel.org/show_bug.cgi?id=13416 . This is hazardous for your filesystem so take precautions.<br />
<br />
* With kernel 2.6.31 ath9k wifi exhibits frequent disconnects and reconnects. See http://bugzilla.kernel.org/show_bug.cgi?id=14267. Earlier and later kernels are better.<br />
<br />
=Installation=<br />
<br />
From the ARCH CD iso with an external USB CDROM drive. Alternatively boot from USB flash drive.<br />
<br />
=Configure your installation=<br />
<br />
==Ethernet==<br />
<br />
RTL8101e/8102e fast ethernet. Works out of the box.<br />
<br />
==Wifi==<br />
<br />
Supplied wifi is Atheros AR9285 (PCI ID = 168c:002b)<br />
(RTL8192E is reported as being supplied in some markets)<br />
02:00.0 Network controller [0280]: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) [168c:002b] (rev 01)<br />
<br />
Kernel module: ath9k (AR9285 is supported since 2.6.29).<br />
<br />
Kernels 2.6.30 and 2.6.32-rcN release candidates seem to work fine.<br />
However with kernel 2.6.31 the wireless connection exhibits frequent<br />
disconnects and reattachments,<br />
resulting in periods of bad througput and periods of good throughput.<br />
There is no sign of any patches for 2.6.31.y to fix this regression.<br />
Complain to linux-wireless@vger.kernel.org. To get it working either<br />
downgrade to 2.6.30 or compile a 2.6.32 release candidate.<br />
<br />
==Graphics Adapter==<br />
<br />
The video controller is an Intel chipset that works with the xf86-video-intel driver.<br />
<br />
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 945GME Express Integrated Graphics Controller [8086:27ae] (rev 03)<br />
00:02.1 Display controller [0380]: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller [8086:27a6] (rev 03)<br />
<br />
===Kernel Mode Setting===<br />
<br />
KMS works (at native 1024x600 resolution) after the following:<br />
{{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options i915 modeset=1<br />
{{Filename|/etc/mkinitcpio.conf}}:<br />
MODULES="intel_agp i915"<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
Put keymap early in {{Filename|/etc/mkinitcpio.conf}} HOOKS.<br />
Regenerate the init ramdisk<br />
mkinitcpio -p kernel26<br />
Remove any vga= or video= from grub {{Filename|/boot/grub/menu.lst}} kernel line, and reboot.<br />
<br />
With KDE, on logout KDM returns to the F1 real console not KDM.<br />
<br />
Just uncomment this entry in {{Filename|/usr/share/config/kdm/kdmrc}}:<br />
TerminateServer=true<br />
<br />
===Backlight Brightness===<br />
xbacklight does not work currently.<br />
However the brightness can be set with the following command<br />
<br />
setpci -s 00:02.1 F4.B=hh<br />
<br />
where hh is the level of brightness, in the range 00 to FF. Don't set it to zero<br />
because your backlight will turn off!<br />
<br />
Use the following script to increase and decrease the brightness. Put it in<br />
/sbin/backlight for example. Use xbindkeys to bind commands to the backlight Fn keys.<br />
Obtain sudo permission for user to use those commands with visudo.<br />
<br />
#!/bin/bash<br />
# increase/decrease/set/get the backlight brightness (range 0-255) by 16<br />
#<br />
#get current brightness in hex and convert to decimal<br />
var1=`setpci -s 00:02.1 F4.B`<br />
var1d=$((0x$var1))<br />
case "$1" in<br />
up)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d+16);if (a<255) print a else print 255" | bc`<br />
echo "$0: increasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s 00:02.1 F4.B=$var2<br />
;;<br />
down)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d-16);if (a>15) print a else print 15" | bc`<br />
echo "$0: decreasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s 00:02.1 F4.B=$var2<br />
;;<br />
set)<br />
#n.b. this does allow "set 0" i.e. backlight off<br />
echo "$0: setting brightness to 0x$2"<br />
setpci -s 00:02.1 F4.B=$2<br />
;;<br />
get)<br />
echo "$0: current brightness is 0x$var1"<br />
;;<br />
toggle)<br />
if [ $var1d -eq 0 ] ; then<br />
echo "toggling up"<br />
setpci -s 00:02.1 F4.B=FF<br />
else<br />
echo "toggling down"<br />
setpci -s 00:02.1 F4.B=0<br />
fi<br />
;;<br />
*)<br />
echo "usage: $0 {up|down|set <val>|get|toggle}"<br />
;;<br />
esac<br />
exit 0<br />
<br />
===External VGA===<br />
<br />
External VGA should work out of the box with xrandr.<br />
<br />
==Audio==<br />
<br />
The audio device is an Intel HD.<br />
00:1b.0 Audio device [0403]: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller [8086:27d8] (rev 02)<br />
<br />
==Suspend and Hibernate==<br />
<br />
Suspend to RAM with pm-suspend works.<br />
<br />
It is most useful to trigger suspends using [[acpid]].<br />
<br />
To catch the "sleep" function key, in handler.sh use the button/sleep) event to<br />
call /usr/sbin/pm-suspend.<br />
<br />
When catching the lid closure, the button/lid event will be seen twice -- once on suspend<br />
and again on resume. So use the lid state to distinguish between these so that pm-suspend<br />
is not triggered twice:<br />
<br />
This is an excerpt from /etc/acpid/handler.sh file:<br />
button/lid)<br />
if [ `/bin/awk '{print $2}' /proc/acpi/button/lid/LID0/state` = closed ]; then<br />
/usr/sbin/pm-suspend<br />
fi<br />
;;<br />
<br />
Hibernate works correctly (see [[pm-utils|pm-utils article]]).<br />
<br />
If you are a KDE4 user you can take advantage of powerdevil (included in kdemod-core/kdemod-kdebase-workspace since release 4.2) to manipulate the screen brightness, cpu scaling and hibernate. Suspend<br />
from KDE works too, but if you are using handler.sh to suspend on the button/lid and button/sleep acpi<br />
events, then KDE only needs to lock the screen. Note that cpu scaling requires acpi-cpufreq module<br />
to be loaded in MODULES in /etc/rc.conf.<br />
<br />
==Fn Keys==<br />
<br />
Firstly edit /usr/share/hal/fdi/information/10freedesktop/30-keymap-misc.fdi<br />
and insert N140 into the list where you see NC10 already.<br />
<br />
Now in a real console<br />
showkey<br />
<br />
will show presses for the function keys, but ''no releases'' for some of them.<br />
<br />
An issue found on the Samsung NC10 is also present on the N140. It causes most of the<br />
function keys to send a key press but not a key release. A workaround quirk was put in the<br />
kernel in atkbd.c for the NC10. Patching this routine to apply the same<br />
quirk (for 2.6.31 and earlier) also works for the N140.<br />
<br />
For 2.6.32 and later this can be done from user space. Simply use the following in /etc/rc.local:<br />
<br />
echo 130,131,132,134,136,137,179,247,249 > /sys/devices/platform/i8042/serio0/force_release<br />
<br />
For me adding single keycodes as described above didn't work. But adding a range<br />
<br />
echo 116-245 > /sys/devices/platform/i8042/serio0/force_release<br />
<br />
did the trick.<br />
<br />
To bind the Fn keys to action, read [[Extra_Keyboard_Keys#The_quick_way]] and also [[Extra_Keyboard_Keys_in_Xorg#Using_your_Desktop_Environment_tools|Extra Keyboard Keys in Xorg]]. <br />
<br />
The suspend key (Fn+ESC) and disable touchpad (Fn+F10) keys, numlock, scroll lock,<br />
volume controls and mute work out of the box.<br />
<br />
Note, that suspend key is handled in /etc/acpi/handler.sh (see "button/sleep" case entry) as <br />
shown above.<br />
<br />
1) install ''xbindkeys''<br />
pacman -S xbindkeys<br />
<br />
2) check the key values with<br />
xbindkeys -mk<br />
<br />
3) edit .xbindkeysrc<br />
<br />
"sudo /sbin/backlight up"<br />
m:0x0 + c:233<br />
"sudo /sbin/backlight down"<br />
m:0x0 + c:232<br />
"/home/user/bin/systeminfo_battery"<br />
m:0x0 + c:244<br />
"sudo /sbin/backlight toggle"<br />
m:0x0 + c:156<br />
"/home/user/bin/systeminfo_disk"<br />
m:0x0 + c:157<br />
"/home/user/bin/systeminfo_cpu"<br />
m:0x0 + c:210<br />
"/home/user/bin/systeminfo_wifi"<br />
m:0x0 + c:246<br />
<br />
4) run xbindkeys, and try it out<br />
xbindkeys<br />
<br />
For KDE4 put a link to /usr/bin/xbindkeys in ~/.kde4/Autostart<br />
ln -s /usr/bin/xbindkeys ~/.kde4/Autostart/xbindkeys.link<br />
<br />
The Fn+F3 ("Euro") key: here Samsung implemented what has been called<br />
an entertaingly hilarious hack:<br />
http://lists.freedesktop.org/archives/hal/2009-August/013536.html<br />
ROFL! Does anyone know a practical use for this key?<br />
Fortunately some (eurozone) models have a real Euro key as well.<br />
<br />
==Saving Power==<br />
Read [[Laptop#Suggestions_for_saving_power]]<br />
<br />
But, great caution is advised here with hdparm settings because the issue with SATA freezing is<br />
related to power management and spindowns.<br />
<br />
Note also that (contrary to the advice in many places) hdparm -B 255 /dev/sda does NOT<br />
necessarily turn off advanced power management. What happens actually depends on the<br />
disk model. With the Samsung HM160HI disk 255 results in very frequent spindowns.</div>DonVlahttps://wiki.archlinux.org/index.php?title=AUR_helpers&diff=80081AUR helpers2009-10-23T00:49:33Z<p>DonVla: </p>
<hr />
<div>[[Category:Utilities (English)]]<br />
[[Category:AUR (English)]]<br />
[[Category:Package management (English)]]<br />
<!--<br />
<br />
Please use this template when adding entries to the AUR Helpers page:<br />
<br />
=== AUR Helper foo ===<br />
<br />
Description bar<br />
<br />
*Homepage: <br />
*AUR Package Details:<br />
*Screenshots: <br />
<br />
--><br />
''' Overview '''<br />
----<br />
<br />
This is a list of AUR helper command line tools that search and/or build packages from the Arch User Repository. None of these tools are officially supported. [http://wiki.archlinux.org/index.php/AUR_Helpers#yaourt Yaourt] is one of the most commonly used AUR helpers.<br />
<br />
A list of GUI pacman frontends, some of which also work with the AUR, may be found on the [http://wiki.archlinux.org/index.php/Pacman_GUI_Frontends Pacman GUI Frontends wikipage].<br />
<br />
=== arson ===<br />
<br />
Arson is an AUR searcher and downloader, written in Ruby. It allows you to search the AUR for a package you want, and download it. It does NOT automatically install the downloaded package. It can extract it, but not install. Searching for a package also searches through pacman's db cache (rather than going to each mirror and querying those).<br />
<br />
*Homepage: http://evaryont.github.com/arson/<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=16021<br />
*Screenshots: <br />
<br />
=== aurbuild ===<br />
<br />
[[aurbuild|AURBuild]] is a tool written in Python to download and build packages from the AUR.<br />
<br />
*Homepage: http://aurbuild.berlios.de/<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=1775<br />
*Screenshots:<br />
<br />
=== AurGet ===<br />
<br />
AurGet is a bash script aimed at quickly searching and installing from aur. visually designed to mimic pacman-color, aurget accepts -u to check for and install updates to your installed aur packages, -s to search the aur, -d and -b to download the tarball or build the package respectively, and finally run option-less to install the passed targets.<br />
<br />
*Homepage: http://pbrisbin.com:8080/bin/aurget<br />
*AUR Package Details:<br />
*Screenshots: http://pbrisbin.com:8080/screenshots/aurget_0906130038.png<br />
<br />
=== aurploader ===<br />
<br />
Aurploader prompts the user for an AUR name and password and will then upload passed AUR tarballs to the AUR. Before uploading each package, the user is prompted to select a category. When the uploads have completed, the user is asked if the cookie file should be kept so that the script can be run again without needing the AUR name and password to be re-entered.<br />
<br />
*Homepage: http://xyne.archlinux.ca/info/aurploader<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=23393<br />
*Screenshots: <br />
<br />
=== aurshell ===<br />
<br />
Aurshell is a shell written in Python. With plugins included, it's possible to use AUR, ABS and even wrap pacman.<br />
<br />
*Homepage: http://husio.homelinux.com/static/aurshell/<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=16656<br />
*Screenshots: http://xs128.xs.to/xs128/08231/2008-06-02_13-46-33_screenshot_scrot754.png<br />
<br />
=== autoaur ===<br />
<br />
Autoaur is a script for automatic mass downloading, updating, building, and installing groups of AUR packages.<br />
<br />
*Homepage: http://wiki.archlinux.org/index.php/AUTOAUR<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=6390<br />
*Screenshots:<br />
<br />
=== haskell-archlinux ===<br />
<br />
haskell-archlinux is a library to programmatically access AUR and package metadata from the Haskell programming language.<br />
<br />
*http://hackage.haskell.org/package/archlinux<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=29267<br />
<br />
=== makeaur ===<br />
<br />
Makeaur is is a wrapper for pacman and makepkg that allows users to easily install packages from the Arch User Repository.<br />
<br />
*Homepage:<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=23678<br />
*Screenshots: <br />
<br />
=== makerepo ===<br />
<br />
Makerepo is a tool to simplify building and maintaining a repository. A simple configuration file is use to specify the basic arguments such as database name and directory, package lists, etc. Makerepo is able to build packages from the AUR and from local PKG‐BUILDS such as the ABS tree. It can even build pkgs from CPAN modules if pacpan is installed.<br />
<br />
*Homepage: http://xyne.archlinux.ca/info/makerepo<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=23500<br />
*Screenshots: <br />
<br />
=== pbget ===<br />
<br />
Pbget is a simple command-line tool for retrieving PKGBUILDs and local source files for Arch Linux. It is able to retrieve files from the official SVN and CVS web interface, the AUR and the ABS rsync server.<br />
<br />
*Homepage: http://xyne.archlinux.ca/info/pbget<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=23848<br />
*Screenshots: <br />
<br />
=== pkgman ===<br />
<br />
Pkgman is a bash script which helps to manage a local repository. <br />
It retrieves the PKGBUILD and related files for given name from ABS or AUR and lets you edit them, automatically generates checksums, backs up the source tarball, builds and adds the package to your local repository. Then you can install it as usual with pacman. It also has AUR support for submitting tarballs and leaving comments.<br />
<br />
*Homepage: http://sourceforge.net/apps/mediawiki/pkgman/index.php<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=17100<br />
*Forum Thread: http://bbs.archlinux.org/viewtopic.php?id=49023<br />
*Screenshots: <br />
<br />
=== qpkg ===<br />
<br />
Qpkg is a tool written in python for searching in all known repositories and on AUR. It can install and automatically update packages from AUR and it also can install all needed dependencies of a package from AUR.<br />
<br />
*Homepage: http://qpkg.berlios.de/<br />
*AUR Package Details:<br />
*Screenshots:<br />
<br />
=== slurpy ===<br />
<br />
Slurpy is an aur helper written in python for searching AUR, downloading packages, showing information about packages, checking for updates and uploading a package to AUR. <br />
<br />
*Github Page: http://github.com/rson/slurpy/tree/master<br />
*AUR Packge Details: http://aur.archlinux.org/packages.php?ID=28285<br />
<br />
=== srcman ===<br />
<br />
srcman is a pacman/makepkg wrapper written in bash, which transparently handles pacman operations on `source packages'. This means, for example, that packages can be specified for installation either explicitly (pacman's -U operation) or can be installed from a (source) repository (-S operation). The address of an AUR pacman database can be found in the corresponding forum thread, by the way.<br />
The primary goal of this project is to provide a complete pacman wrapper and therefore, srcman supports all current pacman operations for binary _and_ source packages.<br />
<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=23945<br />
*Forum Thread: http://bbs.archlinux.org/viewtopic.php?id=65501<br />
<br />
=== yaourt === <br />
<br />
Yet Another User Repository Tool. Yaourt is a community-contributed wrapper for pacman which adds seamless access to the AUR, allowing and automating package compilation and installation from your choice of the 11,000+ PKGBUILDs in the AUR, in addition to the many thousands of available Arch binary packages. Yaourt uses the same exact syntax as pacman, which saves you from relearning an entirely new method of system maintenance, but also adds new options. Yaourt expands the power and simplicity of pacman by adding even more useful features and provides pleasing, colorized output, interactive search mode, and much more.<br />
<br />
*Homepage: http://wiki.archlinux.org/index.php/Yaourt<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=5863<br />
*Screenshots: http://archlinux.fr/yaourt-en#Utilisation<br />
<br />
=== yogurt ===<br />
<br />
Yogurt is an ArchLinux related tool useful in building packages for unsupported software which is only provided by the PKGBUILD in the Archlinux User Repository. Yogurt features a rudimental dependency support both for standard repositories and AUR.<br />
<br />
*Homepage: http://wikilinux.altervista.org/dokuwiki/doku.php?id=scriptseprogrammi:yogurt<br />
*AUR Package Details:<br />
*Screenshots: http://wikilinux.altervista.org/dokuwiki/lib/exe/fetch.php?cache=cache&media=scriptseprogrammi%3Ashot_yogurt.jpg</div>DonVlahttps://wiki.archlinux.org/index.php?title=AUR_helpers&diff=80080AUR helpers2009-10-23T00:48:13Z<p>DonVla: </p>
<hr />
<div>[[Category:Utilities (English)]]<br />
[[Category:AUR (English)]]<br />
[[Category:Package management (English)]]<br />
<!--<br />
<br />
Please use this template when adding entries to the AUR Helpers page:<br />
<br />
=== AUR Helper foo ===<br />
<br />
Description bar<br />
<br />
*Homepage: <br />
*AUR Package Details:<br />
*Screenshots: <br />
<br />
--><br />
''' Overview '''<br />
----<br />
<br />
This is a list of AUR helper command line tools that search and/or build packages from the Arch User Repository. None of these tools are officially supported. [http://wiki.archlinux.org/index.php/AUR_Helpers#yaourt Yaourt] is one of the most commonly used AUR helpers.<br />
<br />
A list of GUI pacman frontends, some of which also work with the AUR, may be found on the [http://wiki.archlinux.org/index.php/Pacman_GUI_Frontends Pacman GUI Frontends wikipage].<br />
<br />
=== arson ===<br />
<br />
Arson is an AUR searcher and downloader, written in Ruby. It allows you to search the AUR for a package you want, and download it. It does NOT automatically install the downloaded package. It can extract it, but not install. Searching for a package also searches through pacman's db cache (rather than going to each mirror and querying those).<br />
<br />
*Homepage: http://evaryont.github.com/arson/<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=16021<br />
*Screenshots: <br />
<br />
=== aurbuild ===<br />
<br />
[[aurbuild|AURBuild]] is a tool written in Python to download and build packages from the AUR.<br />
<br />
*Homepage: http://aurbuild.berlios.de/<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=1775<br />
*Screenshots:<br />
<br />
=== AurGet ===<br />
<br />
AurGet is a bash script aimed at quickly searching and installing from aur. visually designed to mimic pacman-color, aurget accepts -u to check for and install updates to your installed aur packages, -s to search the aur, -d and -b to download the tarball or build the package respectively, and finally run option-less to install the passed targets.<br />
<br />
*Homepage: http://pbrisbin.com:8080/bin/aurget<br />
*AUR Package Details:<br />
*Screenshots: http://pbrisbin.com:8080/screenshots/aurget_0906130038.png<br />
<br />
=== aurploader ===<br />
<br />
Aurploader prompts the user for an AUR name and password and will then upload passed AUR tarballs to the AUR. Before uploading each package, the user is prompted to select a category. When the uploads have completed, the user is asked if the cookie file should be kept so that the script can be run again without needing the AUR name and password to be re-entered.<br />
<br />
*Homepage: http://xyne.archlinux.ca/info/aurploader<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=23393<br />
*Screenshots: <br />
<br />
=== aurshell ===<br />
<br />
Aurshell is a shell written in Python. With plugins included, it's possible to use AUR, ABS and even wrap pacman.<br />
<br />
*Homepage: http://husio.homelinux.com/static/aurshell/<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=16656<br />
*Screenshots: http://xs128.xs.to/xs128/08231/2008-06-02_13-46-33_screenshot_scrot754.png<br />
<br />
=== autoaur ===<br />
<br />
Autoaur is a script for automatic mass downloading, updating, building, and installing groups of AUR packages.<br />
<br />
*Homepage: http://wiki.archlinux.org/index.php/AUTOAUR<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=6390<br />
*Screenshots:<br />
<br />
=== haskell-archlinux ===<br />
<br />
haskell-archlinux is a library to programmatically access AUR and package metadata from the Haskell programming language.<br />
<br />
*http://hackage.haskell.org/package/archlinux<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=29267<br />
<br />
=== makeaur ===<br />
<br />
Makeaur is is a wrapper for pacman and makepkg that allows users to easily install packages from the Arch User Repository.<br />
<br />
*Homepage:<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=23678<br />
*Screenshots: <br />
<br />
=== makerepo ===<br />
<br />
Makerepo is a tool to simplify building and maintaining a repository. A simple configuration file is use to specify the basic arguments such as database name and directory, package lists, etc. Makerepo is able to build packages from the AUR and from local PKG‐BUILDS such as the ABS tree. It can even build pkgs from CPAN modules if pacpan is installed.<br />
<br />
*Homepage: http://xyne.archlinux.ca/info/makerepo<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=23500<br />
*Screenshots: <br />
<br />
=== pbget ===<br />
<br />
Pbget is a simple command-line tool for retrieving PKGBUILDs and local source files for Arch Linux. It is able to retrieve files from the official SVN and CVS web interface, the AUR and the ABS rsync server.<br />
<br />
*Homepage: http://xyne.archlinux.ca/info/pbget<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=23848<br />
*Screenshots: <br />
<br />
=== pkgman ===<br />
<br />
Pkgman is a bash script which helps to manage a local repository. <br />
It retrieves the PKGBUILD and related files for given name from ABS or AUR and lets you edit them, automatically generates checksums, backs up the source tarball, builds and adds the package to your local repository. Then you can install it as usual with pacman. It also has AUR support for submitting tarballs and leaving comments.<br />
<br />
*Homepage: http://sourceforge.net/apps/mediawiki/pkgman/index.php?title=Pkgman_man_page<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=17100<br />
*Forum Thread: http://bbs.archlinux.org/viewtopic.php?id=49023<br />
*Screenshots: <br />
<br />
=== qpkg ===<br />
<br />
Qpkg is a tool written in python for searching in all known repositories and on AUR. It can install and automatically update packages from AUR and it also can install all needed dependencies of a package from AUR.<br />
<br />
*Homepage: http://qpkg.berlios.de/<br />
*AUR Package Details:<br />
*Screenshots:<br />
<br />
=== slurpy ===<br />
<br />
Slurpy is an aur helper written in python for searching AUR, downloading packages, showing information about packages, checking for updates and uploading a package to AUR. <br />
<br />
*Github Page: http://github.com/rson/slurpy/tree/master<br />
*AUR Packge Details: http://aur.archlinux.org/packages.php?ID=28285<br />
<br />
=== srcman ===<br />
<br />
srcman is a pacman/makepkg wrapper written in bash, which transparently handles pacman operations on `source packages'. This means, for example, that packages can be specified for installation either explicitly (pacman's -U operation) or can be installed from a (source) repository (-S operation). The address of an AUR pacman database can be found in the corresponding forum thread, by the way.<br />
The primary goal of this project is to provide a complete pacman wrapper and therefore, srcman supports all current pacman operations for binary _and_ source packages.<br />
<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=23945<br />
*Forum Thread: http://bbs.archlinux.org/viewtopic.php?id=65501<br />
<br />
=== yaourt === <br />
<br />
Yet Another User Repository Tool. Yaourt is a community-contributed wrapper for pacman which adds seamless access to the AUR, allowing and automating package compilation and installation from your choice of the 11,000+ PKGBUILDs in the AUR, in addition to the many thousands of available Arch binary packages. Yaourt uses the same exact syntax as pacman, which saves you from relearning an entirely new method of system maintenance, but also adds new options. Yaourt expands the power and simplicity of pacman by adding even more useful features and provides pleasing, colorized output, interactive search mode, and much more.<br />
<br />
*Homepage: http://wiki.archlinux.org/index.php/Yaourt<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=5863<br />
*Screenshots: http://archlinux.fr/yaourt-en#Utilisation<br />
<br />
=== yogurt ===<br />
<br />
Yogurt is an ArchLinux related tool useful in building packages for unsupported software which is only provided by the PKGBUILD in the Archlinux User Repository. Yogurt features a rudimental dependency support both for standard repositories and AUR.<br />
<br />
*Homepage: http://wikilinux.altervista.org/dokuwiki/doku.php?id=scriptseprogrammi:yogurt<br />
*AUR Package Details:<br />
*Screenshots: http://wikilinux.altervista.org/dokuwiki/lib/exe/fetch.php?cache=cache&media=scriptseprogrammi%3Ashot_yogurt.jpg</div>DonVlahttps://wiki.archlinux.org/index.php?title=AUR_helpers&diff=74690AUR helpers2009-08-26T16:35:03Z<p>DonVla: </p>
<hr />
<div>[[Category:Utilities (English)]]<br />
[[Category:AUR]]<br />
<br />
<!--<br />
<br />
Please use this template when adding entries to the AUR Helpers page:<br />
<br />
=== AUR Helper foo ===<br />
<br />
Description bar<br />
<br />
*Homepage: <br />
*AUR Package Details:<br />
*Screenshots: <br />
<br />
--><br />
<br />
''' Overview '''<br />
----<br />
<br />
This is a list of AUR helper command line tools that search and/or build packages from the Arch User Repository. None of these tools are officially supported. [http://wiki.archlinux.org/index.php/AUR_Helpers#yaourt Yaourt] is one of the most commonly used AUR helpers.<br />
<br />
A list of GUI pacman frontends, some of which also work with the AUR, may be found on the [http://wiki.archlinux.org/index.php/Pacman_GUI_Frontends Pacman GUI Frontends wikipage].<br />
<br />
=== arson ===<br />
<br />
Arson is an AUR searcher and downloader, written in Ruby. It allows you to search the AUR for a package you want, and download it. It does NOT automatically install the downloaded package. It can extract it, but not install. Searching for a package also searches through pacman's db cache (rather than going to each mirror and querying those).<br />
<br />
*Homepage: http://evaryont.github.com/arson/<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=16021<br />
*Screenshots: <br />
<br />
=== aurbuild ===<br />
<br />
AURBuild is a tool written in Python to download and build packages from the AUR.<br />
<br />
*Homepage: http://aurbuild.berlios.de/<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=1775<br />
*Screenshots: <br />
<br />
=== AurGet ===<br />
<br />
AurGet is a bash script aimed at quickly searching and installing from aur. visually designed to mimic pacman-color, aurget accepts -u to check for and install updates to your installed aur packages, -s to search the aur, -d and -b to download the tarball or build the package respectively, and finally run option-less to install the passed targets.<br />
<br />
*Homepage: http://pbrisbin.com:8080/bin/aurget<br />
*AUR Package Details:<br />
*Screenshots: http://pbrisbin.com:8080/screenshots/aurget_0906130038.png<br />
<br />
=== aurploader ===<br />
<br />
Aurploader prompts the user for an AUR name and password and will then upload passed AUR tarballs to the AUR. Before uploading each package, the user is prompted to select a category. When the uploads have completed, the user is asked if the cookie file should be kept so that the script can be run again without needing the AUR name and password to be re-entered.<br />
<br />
*Homepage: http://xyne.archlinux.ca/info/aurploader<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=23393<br />
*Screenshots: <br />
<br />
=== aurshell ===<br />
<br />
Aurshell is a shell written in Python. With plugins included, it's possible to use AUR, ABS and even wrap pacman.<br />
<br />
*Homepage: http://husio.homelinux.com/static/aurshell/<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=16656<br />
*Screenshots: http://xs128.xs.to/xs128/08231/2008-06-02_13-46-33_screenshot_scrot754.png<br />
<br />
=== autoaur ===<br />
<br />
Autoaur is a script for automatic mass downloading, updating, building, and installing groups of AUR packages.<br />
<br />
*Homepage: http://wiki.archlinux.org/index.php/AUTOAUR<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=6390<br />
*Screenshots:<br />
<br />
=== haskell-archlinux ===<br />
<br />
haskell-archlinux is a library to programmatically access AUR and package metadata from the Haskell programming language.<br />
<br />
*http://hackage.haskell.org/package/archlinux<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=29267<br />
<br />
=== makeaur ===<br />
<br />
Makeaur is is a wrapper for pacman and makepkg that allows users to easily install packages from the Arch User Repository.<br />
<br />
*Homepage:<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=23678<br />
*Screenshots: <br />
<br />
=== makerepo ===<br />
<br />
Makerepo is a tool to simplify building and maintaining a repository. A simple configuration file is use to specify the basic arguments such as database name and directory, package lists, etc. Makerepo is able to build packages from the AUR and from local PKG‐BUILDS such as the ABS tree. It can even build pkgs from CPAN modules if pacpan is installed.<br />
<br />
*Homepage: http://xyne.archlinux.ca/info/makerepo<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=23500<br />
*Screenshots: <br />
<br />
=== pbget ===<br />
<br />
Pbget is a simple command-line tool for retrieving PKGBUILDs and local source files for Arch Linux. It is able to retrieve files from the official SVN and CVS web interface, the AUR and the ABS rsync server.<br />
<br />
*Homepage: http://xyne.archlinux.ca/info/pbget<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=23848<br />
*Screenshots: <br />
<br />
=== pkgman ===<br />
<br />
Pkgman is a bash script which helps to manage a local repository. <br />
It retrieves the PKGBUILD and related files for given name from ABS or AUR and lets you edit them, automatically generates checksums, backs up the source tarball, builds and adds the package to your local repository. Then you can install it as usual with pacman. It also has AUR support for submitting tarballs and leaving comments.<br />
<br />
*Homepage: http://sourceforge.net/docman/display_doc.php?docid=131846&group_id=242118<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=17100<br />
*Forum Thread: http://bbs.archlinux.org/viewtopic.php?id=49023<br />
*Screenshots: <br />
<br />
=== qpkg ===<br />
<br />
Qpkg is a tool written in python for searching in all known repositories and on AUR. It can install and automatically update packages from AUR and it also can install all needed dependencies of a package from AUR.<br />
<br />
*Homepage: http://qpkg.berlios.de/<br />
*AUR Package Details:<br />
*Screenshots:<br />
<br />
=== yaourt === <br />
<br />
Yet Another User Repository Tool. Yaourt is a community-contributed wrapper for pacman which adds seamless access to the AUR, allowing and automating package compilation and installation from your choice of the 11,000+ PKGBUILDs in the AUR, in addition to the many thousands of available Arch binary packages. Yaourt uses the same exact syntax as pacman, which saves you from relearning an entirely new method of system maintenance, but also adds new options. Yaourt expands the power and simplicity of pacman by adding even more useful features and provides pleasing, colorized output, interactive search mode, and much more.<br />
<br />
*Homepage: http://wiki.archlinux.org/index.php/Yaourt<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=5863<br />
*Screenshots: http://archlinux.fr/yaourt-en#Utilisation<br />
<br />
=== yogurt ===<br />
<br />
Yogurt is an ArchLinux related tool useful in building packages for unsupported software which is only provided by the PKGBUILD in the Archlinux User Repository. Yogurt features a rudimental dependency support both for standard repositories and AUR.<br />
<br />
*Homepage: http://wikilinux.altervista.org/dokuwiki/doku.php?id=scriptseprogrammi:yogurt<br />
*AUR Package Details:<br />
*Screenshots: http://wikilinux.altervista.org/dokuwiki/lib/exe/fetch.php?cache=cache&media=scriptseprogrammi%3Ashot_yogurt.jpg</div>DonVlahttps://wiki.archlinux.org/index.php?title=AUR_helpers&diff=74689AUR helpers2009-08-26T16:32:05Z<p>DonVla: </p>
<hr />
<div>[[Category:Utilities (English)]]<br />
[[Category:AUR]]<br />
<br />
<!--<br />
<br />
Please use this template when adding entries to the AUR Helpers page:<br />
<br />
=== AUR Helper foo ===<br />
<br />
Description bar<br />
<br />
*Homepage: <br />
*AUR Package Details:<br />
*Screenshots: <br />
<br />
--><br />
<br />
''' Overview '''<br />
----<br />
<br />
This is a list of AUR helper command line tools that search and/or build packages from the Arch User Repository. None of these tools are officially supported. [http://wiki.archlinux.org/index.php/AUR_Helpers#yaourt Yaourt] is one of the most commonly used AUR helpers.<br />
<br />
A list of GUI pacman frontends, some of which also work with the AUR, may be found on the [http://wiki.archlinux.org/index.php/Pacman_GUI_Frontends Pacman GUI Frontends wikipage].<br />
<br />
=== arson ===<br />
<br />
Arson is an AUR searcher and downloader, written in Ruby. It allows you to search the AUR for a package you want, and download it. It does NOT automatically install the downloaded package. It can extract it, but not install. Searching for a package also searches through pacman's db cache (rather than going to each mirror and querying those).<br />
<br />
*Homepage: http://evaryont.github.com/arson/<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=16021<br />
*Screenshots: <br />
<br />
=== aurbuild ===<br />
<br />
AURBuild is a tool written in Python to download and build packages from the AUR.<br />
<br />
*Homepage: http://aurbuild.berlios.de/<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=1775<br />
*Screenshots: <br />
<br />
=== AurGet ===<br />
<br />
AurGet is a bash script aimed at quickly searching and installing from aur. visually designed to mimic pacman-color, aurget accepts -u to check for and install updates to your installed aur packages, -s to search the aur, -d and -b to download the tarball or build the package respectively, and finally run option-less to install the passed targets.<br />
<br />
*Homepage: http://pbrisbin.com:8080/bin/aurget<br />
*AUR Package Details:<br />
*Screenshots: http://pbrisbin.com:8080/screenshots/aurget_0906130038.png<br />
<br />
=== aurploader ===<br />
<br />
Aurploader prompts the user for an AUR name and password and will then upload passed AUR tarballs to the AUR. Before uploading each package, the user is prompted to select a category. When the uploads have completed, the user is asked if the cookie file should be kept so that the script can be run again without needing the AUR name and password to be re-entered.<br />
<br />
*Homepage: http://xyne.archlinux.ca/info/aurploader<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=23393<br />
*Screenshots: <br />
<br />
=== aurshell ===<br />
<br />
Aurshell is a shell written in Python. With plugins included, it's possible to use AUR, ABS and even wrap pacman.<br />
<br />
*Homepage: http://husio.homelinux.com/static/aurshell/<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=16656<br />
*Screenshots: http://xs128.xs.to/xs128/08231/2008-06-02_13-46-33_screenshot_scrot754.png<br />
<br />
=== autoaur ===<br />
<br />
Autoaur is a script for automatic mass downloading, updating, building, and installing groups of AUR packages.<br />
<br />
*Homepage: http://wiki.archlinux.org/index.php/AUTOAUR<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=6390<br />
*Screenshots:<br />
<br />
=== haskell-archlinux ===<br />
<br />
haskell-archlinux is a library to programmatically access AUR and package metadata from the Haskell programming language.<br />
<br />
*http://hackage.haskell.org/package/archlinux<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=29267<br />
<br />
=== makeaur ===<br />
<br />
Makeaur is is a wrapper for pacman and makepkg that allows users to easily install packages from the Arch User Repository.<br />
<br />
*Homepage:<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=23678<br />
*Screenshots: <br />
<br />
=== makerepo ===<br />
<br />
Makerepo is a tool to simplify building and maintaining a repository. A simple configuration file is use to specify the basic arguments such as database name and directory, package lists, etc. Makerepo is able to build packages from the AUR and from local PKG‐BUILDS such as the ABS tree. It can even build pkgs from CPAN modules if pacpan is installed.<br />
<br />
*Homepage: http://xyne.archlinux.ca/info/makerepo<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=23500<br />
*Screenshots: <br />
<br />
=== pbget ===<br />
<br />
Pbget is a simple command-line tool for retrieving PKGBUILDs and local source files for Arch Linux. It is able to retrieve files from the official SVN and CVS web interface, the AUR and the ABS rsync server.<br />
<br />
*Homepage: http://xyne.archlinux.ca/info/pbget<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=23848<br />
*Screenshots: <br />
<br />
=== pkgman ===<br />
<br />
Pkgman is a bash script which helps to manage a local repository. It retrieves the PKGBUILD and related files from ABS or AUR and lets you edit them, automatically generates checksums, backs up the source tarball, builds and adds the package to your local repository. Then you can install it as usual with pacman. It also has AUR support for submitting tarballs and leaving comments.<br />
<br />
*Homepage: http://sourceforge.net/docman/display_doc.php?docid=131846&group_id=242118<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=17100<br />
*Forum Thread: http://bbs.archlinux.org/viewtopic.php?id=49023<br />
*Screenshots: <br />
<br />
=== qpkg ===<br />
<br />
Qpkg is a tool written in python for searching in all known repositories and on AUR. It can install and automatically update packages from AUR and it also can install all needed dependencies of a package from AUR.<br />
<br />
*Homepage: http://qpkg.berlios.de/<br />
*AUR Package Details:<br />
*Screenshots:<br />
<br />
=== yaourt === <br />
<br />
Yet Another User Repository Tool. Yaourt is a community-contributed wrapper for pacman which adds seamless access to the AUR, allowing and automating package compilation and installation from your choice of the 11,000+ PKGBUILDs in the AUR, in addition to the many thousands of available Arch binary packages. Yaourt uses the same exact syntax as pacman, which saves you from relearning an entirely new method of system maintenance, but also adds new options. Yaourt expands the power and simplicity of pacman by adding even more useful features and provides pleasing, colorized output, interactive search mode, and much more.<br />
<br />
*Homepage: http://wiki.archlinux.org/index.php/Yaourt<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=5863<br />
*Screenshots: http://archlinux.fr/yaourt-en#Utilisation<br />
<br />
=== yogurt ===<br />
<br />
Yogurt is an ArchLinux related tool useful in building packages for unsupported software which is only provided by the PKGBUILD in the Archlinux User Repository. Yogurt features a rudimental dependency support both for standard repositories and AUR.<br />
<br />
*Homepage: http://wikilinux.altervista.org/dokuwiki/doku.php?id=scriptseprogrammi:yogurt<br />
*AUR Package Details:<br />
*Screenshots: http://wikilinux.altervista.org/dokuwiki/lib/exe/fetch.php?cache=cache&media=scriptseprogrammi%3Ashot_yogurt.jpg</div>DonVlahttps://wiki.archlinux.org/index.php?title=Network_configuration&diff=74596Network configuration2009-08-25T20:20:54Z<p>DonVla: </p>
<hr />
<div>[[Category:Networking (English)]]<br />
[[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|Konfigurace_sítě_(Česky)}}<br />
{{i18n_entry|English|Configuring_network}}<br />
{{i18n_entry|Español|Configurando la Red}}<br />
{{i18n_entry|Italiano|Configuring_network_(Italiano)}}<br />
{{i18n_entry|Nederlands|Netwerk_configureren_(Nederlands)}}<br />
{{i18n_entry|Русский|Настройка_сети_(Русский)}}<br />
{{i18n_entry|Slovensky|Statická IP a DHCP}}<br />
{{i18n_entry|Türkçe|Ağ Ayarları}}<br />
{{i18n_entry|简体中文|网络配置_(简体中文)}}<br />
{{i18n_links_end}}<br />
<br />
== Summary ==<br />
<br />
A simple guide to get your network running.<br />
<br />
<br />
== Load the device module ==<br />
<br />
Udev should detect your network card (NIC) module and load it automatically at startup. Otherwise, you will need to know which module is needed for your particular model:<br />
<br />
hwdetect --show-net<br />
<br />
when you know which module to use, you can load it with:<br />
<br />
# modprobe <modulename><br />
<br />
If udev is not detecting and loading the proper module automatically, you can add it into the '''MODULES=''' array in <code>/etc/rc.conf</code>, so you don't need to modprobe it everytime you boot. For example, if tg3 is the network module:<br />
<br />
MODULES=(!usbserial tg3 snd-cmipci)<br />
<br />
Other common modules are 8139too for cards with the Realtek chipset or sis900 for SiS cards.<br />
<br />
== Configure IP ==<br />
<br />
=== For DHCP IP ===<br />
<br />
For this, you need the dhcpcd package (already available on most installations). Edit <code>/etc/rc.conf</code> like this:<br />
<br />
eth0="dhcp"<br />
INTERFACES=(eth0)<br />
ROUTES=(!gateway)<br />
<br />
If you use DHCP and you do '''not''' want your DNS servers automatically assigned every time you start your network, be sure to use '''one of these 2 methods''':<br />
<br />
==== (1) -C switch ====<br />
Use the "-C" option in <code>DHCPCD_ARGS</code> in <code>/etc/conf.d/dhcpcd</code>. This prevents dhcpcd from rewriting your <code>/etc/resolv.conf</code> every time:<br />
<br />
DHCPCD_ARGS="'''-C resolv.conf''' -q"<br />
<br />
Then, make sure to add (a) valid nameserver(s) to <code>/etc/resolv.conf</code>. A sample <code>/etc/resolv.conf</code>:<br />
<br />
#DHCP with user-specified DNS <br />
nameserver 4.2.2.2<br />
nameserver 4.2.2.4<br />
<br />
'''Note:''' in previous <code>dhcpcd</code> versions, the now deprecated "-R" option was used instead.<br />
<br />
==== (2) /etc/resolv.conf.head and remove domain_name_servers option in /etc/dhcpcd.conf ====<br />
Prevent dhcpcd to add DNS server to /etc/resolv.conf by deleting the ''domain_name_servers'' option in '''/etc/dhcpcd.conf''' so that the line looks like:<br />
option domain_name, domain_search, host_name<br />
<br />
and then add your DNS to '''/etc/resolv.conf.head'''<br />
<br />
==== (3) "nohook resolv.conf" in dhcpcd.conf ====<br />
Prevent dhcpcd to add DNS server to /etc/resolv.conf by adding <br />
nohook resolv.conf<br />
<br />
to /etc/dhcpcd.conf in the hooks section (last section in file). Then add your own DNS nameserver to /etc/resolv.conf.<br />
<br />
==== Finally ====<br />
Whatever the method you choose, make sure to test your new settings by stopping and starting the <code>/etc/rc.d/network</code> daemon as opposed to bringing down your interface and starting dhcp manually. To restart the network daemon: <br />
<br />
/etc/rc.d/network restart<br />
<br />
'''NOTE'''<br />
<br />
You may use openresolv package from AUR if several things wants to control resolv.conf (i.e. dhcpcd and VPN client). No additional configuration for dhcpcd is needed to use openresolv.<br />
<br />
=== DHCP network not starting at boot ===<br />
<br />
If you still have trouble getting your DHCP network to start at boot, I found this solution on the forums: <br />
open <code>/etc/rc.local</code> and add:<br />
dhcpcd -k eth0 dhcpcd -nd eth0<br />
to the file.<br />
<br />
Reboot and you should be good to go. This forum topic has more information about this: http://bbs.archlinux.org/viewtopic.php?id=63940<br />
<br />
=== For Static IP ===<br />
<br />
If you share your internet connection from a Windows box without a router, be sure to use static IPs on both computers. Otherwise you will have LAN issues.<br />
<br />
You need:<br />
<br />
* Your static IP address,<br />
* The netmask,<br />
* The broadcast address,<br />
* Your gateway,<br />
* Your nameservers' IP addresses,<br />
* Your domain name.<br />
<br />
If you are running a private network, it is safe to use IP addresses in 192.168.*.'* for your IPs, with a netmask of 255.255.255.0 and broadcast address of 192.168.*.255. Unless your network has a router, the gateway address does not matter. Edit <code>/etc/rc.conf</code> like this, substituting your own values for the IP, netmask, broadcast, and gateway:<br />
<br />
eth0="eth0 82.137.129.59 netmask 255.255.255.0 broadcast 82.137.129.255"<br />
INTERFACES=(eth0)<br />
gateway="default gw 82.137.129.1"<br />
ROUTES=(gateway)<br />
<br />
and your <code>/etc/resolv.conf</code> like this, substituting your nameservers' IPs and your domain name:<br />
<br />
nameserver 61.23.173.5<br />
nameserver 61.95.849.8<br />
search example.com<br />
<br />
You may include as many nameserver lines as you wish.<br />
<br />
==Other option==<br />
If for some reason dhcpcd eth0 fails, install dhclient (pacman -Sy dhclient)<br />
and use '<code>dhclient eth0</code>' instead.<br />
<br />
== Set computer name ==<br />
<br />
Edit <code>/etc/rc.conf</code> and set HOSTNAME to your desired computer name:<br />
HOSTNAME="banana"<br />
<br />
<br />
== Set host name/IP ==<br />
<br />
Edit <code>/etc/hosts</code> and add the same HOSTNAME you entered in <code>/etc/rc.conf</code> :<br />
127.0.0.1 banana.domain.org localhost.localdomain localhost banana<br />
<br />
This format, including the localhost entries is required for program compatibility.<br />
<br />
== Load configuration ==<br />
To test your settings either reboot the computer, or as root, run <code>/etc/rc.d/network restart</code>.<br />
Try pinging your gateway, DNS server, ISP provider and other Internet sites, in that order, to detect any connection problems along the way.<br />
<br />
<br />
== Some more settings ==<br />
<br />
=== Jumbo Frames ===<br />
<br />
See the [[Jumbo Frames]] article for more information.<br />
<br />
=== Wireless Setup ===<br />
<br />
See the [[Wireless Setup]] article for more information.<br />
<br />
=== Firewall ===<br />
<br />
You can install and configure a [[Firewalls|firewall]] to feel more secure. ;-)<br />
<br />
=== Ifplugd ===<br />
<br />
You can install a daemon which will automatically configure your Ethernet device when a cable is plugged in and automatically unconfigure it if the cable is pulled. This is useful on laptops with onboard network adapters, since it will only configure the interface when a cable is really connected. Another use is when you just need to restart the network but don't want to restart the computer or do it from the shell.<br />
<br />
Installation is very simple since it's in [extra]:<br />
<br />
# pacman -S ifplugd<br />
<br />
By default it is configured to work for eth0 device. This and other settings like delays can be configured in <code>/etc/ifplugd/ifplugd.conf</code>.<br />
<br />
Start it with<br />
<br />
# /etc/rc.d/ifplugd start<br />
<br />
or add it into DAEMONS array in <code>/etc/rc.conf</code>.<br />
<br />
=== bonding ===<br />
You can install 'ifenslave' to bind two real Ethernet cables with one IP address.<br />
/etc/conf.d/bonding<br />
bond_bond0="eth0 eth1"<br />
BOND_INTERFACES=(bond0)<br />
/etc/modprobe.d/modprobe.conf:<br />
{{Note | The new module-init-tools 3.8 package changes the location of the configuration file: /etc/modprobe.conf is no longer read, instead /etc/modprobe.d/modprobe.conf is used. [http://www.archlinux.org/news/450/ link]}}<br />
options bonding miimon=100<br />
/etc/rc.conf<br />
MODULES=(... bonding ...)<br />
bond0="bond0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255"<br />
INTERFACES=(bond0)<br />
restart network by<br />
/etc/rc.d/network restart<br />
<br />
=== IP Aliasing ===<br />
one ip on one card<br />
vi /etc/rc.conf<br />
eth0="eth0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255"<br />
INTERFACES=(lo eth0)<br />
two ip on one card (BUG:/etc/rc.d/network stop)<br />
vi /etc/rc.conf<br />
eth0="eth0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255"<br />
eth0_0="eth0:0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255"<br />
INTERFACES=(lo eth0 eth0_0)<br />
one ip on two card<br />
pacman -S ifenslave<br />
vi /etc/rc.conf<br />
bond0="bond0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255"<br />
INTERFACES=(lo bond0)<br />
MODULES=(... bonding ...)<br />
two ip on two card (BUG:/etc/rc.d/network stop)<br />
pacman -S ifenslave<br />
vi /etc/rc.conf<br />
bond0="bond0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255"<br />
bond01="bond0:1 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255"<br />
INTERFACES=(lo bond0 bond01)<br />
MODULES=(... bonding ...)<br />
<br />
{{Box Note| After you set these options (bonding etc.) you have to change your firewall settings or the network won't work properly. }}<br />
<br />
=== Change MAC/hardware address ===<br />
<br />
Useful in some situations, for example when your ISP binds the access to one of your computers to identify you, but you need to use the connection on more than one computer without running '''ifconfig''' every time. Add the usual '''ifconfig''' option to your card configuration.<br />
<br />
For a ethernet card:<br />
eth0="eth0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 '''hw ether 01:23:45:67:89:ab'''"<br />
<br />
== Troubleshooting ==<br />
<br />
=== Swapping computers on the cable modem ===<br />
<br />
Most domestic cable ISPs (videotron for example) have the cable modem configured to recognise only one client PC, by the MAC address of its network interface. Once the cable modem has learnt the MAC address of the first PC or equipment that talks to it, it will not respond to another MAC address in any way. Thus if you swap one PC for another (or for a router), the new PC (or router) will not work with the cable modem, because the new PC (or router) has a different MAC address to the old one. To reset the cable modem so that it will recognise the new PC, you must power the cable modem off and on again. Once the cable modem has rebooted and gone fully online again (indicator lights settled down), reboot the newly connected PC so that it makes a DHCP request, or manually make it request a new DHCP lease.<br />
<br />
If this method does not work, you will need to clone the MAC address of the original machine.<br />
<br />
=== The TCP Window Scaling Issue ===<br />
<br />
TCP packets contain a "window" value in their headers indicating how much data the other host may send in return. This value is represented with only 16 bits, hence the window size is at most 64Kb. TCP packets are cached for a while (they have to be reordered), and as memory is (or used to be) limited, one host could easily run out of it.<br />
<br />
Back in 1992, as more and more memory became available, [http://www.faqs.org/rfcs/rfc1323.html RFC 1323] was written to improve the situation: Window Scaling. The "window" value, provided in all packets, will be modified by a Scale Factor defined once, at the very beginning of the connection.<br />
<br />
That 8-bit Scale Factor allows the Window to be up to 32 times higher than the initial 64Kb.<br />
<br />
It appears that some broken routers and firewalls on the Internet are rewriting the Scale Factor to 0 which causes misunderstandings between hosts.<br />
<br />
The Linux kernel 2.6.17 introduced a new calculation scheme generating higher Scale Factors, virtually making the aftermaths of the broken routers and firewalls more visible. <br />
<br />
The resulting connection is at best very slow or broken.<br />
<br />
==== How To Diagnose The Problem? ====<br />
<br />
First of all, let's make it clear: this problem is odd. In some cases, you will not be able to use TCP connections (HTTP, FTP, ...) at all and in others, you will be able to communicate with some hosts (very few).<br />
<br />
'''Warning''': <code>dmesg</code>'s output is OK, logs are clean and <code>ifconfig</code> will report normal status &mdash; and actually everything is normal.<br />
<br />
If you can't browse any website, but you can ping some rare hosts, chances are great that you're experiencing this issue: ping uses the ICMP protocol and is not affected by TCP issues.<br />
<br />
You can try to use WireShark. You might see successful UDP and ICMP communications but unsuccessful TCP communications (only to foreign hosts).<br />
<br />
==== How To Fix It? (The bad way) ====<br />
<br />
To fix it the bad way, you can change the tcp_rmem value, on which Scale Factor calculation is based. Although it should work for most hosts, it's not guaranteed, especially for very distant ones.<br />
<br />
echo "4096 87380 174760" > /proc/sys/net/ipv4/tcp_rmem<br />
<br />
Or you can try to remove one of your RAM sticks (yes, sir).<br />
<br />
==== How To Fix It? (The good way) ====<br />
<br />
Simply disable Window Scaling. Even if Window Scaling is a nice TCP feature, it may be uncomfortable especially if you can't fix the broken router. There are several ways to disable Window Scaling, and it seems that the most bulletproof (which will work with most kernels) is to add the following lines to your <code>/etc/rc.local</code>:<br />
<br />
echo 0 > /proc/sys/net/ipv4/tcp_window_scaling<br />
<br />
==== How To Fix It? (The best way) ====<br />
<br />
This issue is caused by broken routers/firewalls, so let's change them. Some users have reported that the broken router was their very own DSL router.<br />
<br />
==== More about it? ====<br />
<br />
This section is based on the LWN article [http://lwn.net/Articles/92727/ TCP window scaling and broken routers] and a Kernel Trap article: [http://kerneltrap.org/node/6723 Window Scaling on the Internet].<br />
<br />
And more recently, some Archers have been hit by this issue:<br />
<br />
* [http://www.archlinux.org/pipermail/arch/2006-June/011250.html Odd network issue]<br />
* [http://www.archlinux.org/pipermail/arch/2006-September/011943.html Kernel 2.6.17 and TCP window scaling] &mdash; the topic which initiated this article<br />
<br />
There are also several relevant threads on the LKML.<br />
<br />
<br />
=== Realtek No Link / WOL issue ===<br />
<br />
Users with Realtek 8168 8169 8101 8111(C) based NICs (cards / and on-board) may notice an issue where the NIC seems to be disabled on boot and has no Link light. This can usually be found on a dual boot system where Windows is also installed. It seems that using the offical Realtek drivers (dated anything after May 2007) under Windows is the cause. These newer drivers disable the Wake-On-LAN feature by disabling the NIC at Windows shutdown time, where it will remain disabled until the next time Windows boots. You will be able to notice if this issue is affecting you if the Link light remains off until Windows boots up; during Windows shutdown the Link light will switch off. Normal operation should be that the link light is always on as long as the system is on, even during POST. This issue will also affect other OS's without newer drivers (eg. Live CD's). Here are a few fixes for this issue:<br />
<br />
==== Method 1 - Rollback/Change Win driver ====<br />
<br />
You can roll back your Windows NIC driver to the Microsoft provided one (if available), or roll back/install an official Realtek driver pre-dating May 2007 (may be on the CD that came with your hardware).<br />
<br />
==== Method 2 - Enable WOL in Windows driver ====<br />
<br />
Probably the best and the fastest fix is to change this setting in the Windows driver. This way it should be fixed system-wide and not only under Arch (eg. live CD's, other OS's). In Windows, under Device Manager, find your Realtek network adapter and double-click it. Under the Advanced tab, change "Wake-on-LAN after shutdown" to Enable.<br />
<br />
In Windows XP (example)<br />
Right click my computer<br />
--> Hardware tab<br />
--> Device Manager<br />
--> Network Adapters<br />
--> "double click" Realtek ...<br />
--> Advanced tab<br />
--> Wake-On-Lan After Shutdown<br />
--> Enable<br />
<br />
* '''Note''': newer Realtek Windows drivers (tested with ''Realtek 8111/8169 LAN Driver v5.708.1030.2008'', dated 2009/01/22, available from GIGABYTE) may refer to this option slightly differently, like ''Shutdown Wake-On-LAN --> Enable''. It seems that switching it to <tt>Disable</tt> has no effect (you will notice the Link light still turns off upon Windows shutdown). One rather dirty workaround is to boot to Windows and just reset the system (perform an ungraceful restart/shutdown) thus not giving the Windows driver a chance to disable LAN. The Link light will remain on and the LAN adapter will remain accessible after POST - that is until you boot back to Windows and shut it down properly again.<br />
<br />
==== Method 3 - Newer Realtek Linux driver ====<br />
<br />
Any newer driver for these Realtek cards can be found for Linux on the realtek site. (untested but believed to also solve the problem).<br />
<br />
==== Method 4 - Enable ''LAN Boot ROM'' in BIOS/CMOS ====<br />
<br />
It appears that setting ''Integrated Peripherals --> Onboard LAN Boot ROM --> Enabled'' in BIOS/CMOS reactivates the Realtek LAN chip on system boot-up, despite the Windows driver disabling it on OS shutdown.<br />
<br><small>This was tested successfully multiple times with GIGABYTE system board GA-G31M-ES2L with BIOS version F8 released on 2009/02/05. YMMV.</small><br />
<br />
=== DLink G604T/DLink G502T DNS issue ===<br />
Users with a DLink G604T/DLink G502T router, using DHCP and have firmware v2.00+ (typically users with AUS firmware) may have issues with certain programs not resolving the DNS. One of these programs are unfortunatley pacman. The problem is basically the router in certain situations is not sending the DNS properly to DHCP, which causes programs to try and connect to servers with an IP of 1.0.0.0 and fail with a connection timed out error<br />
<br />
==== How To Diagnose The Problem? ====<br />
The best way to diagnose the problem is to use a firefox/konqueror/links/seamonkey and to enable wget for pacman. If this is a fresh install of Arch Linux, then you may want to consider installing links through the live CD.<br />
<br />
Firstly enable wget for pacman (since it gives us info about pacman when its downloading packages)<br />
Open /etc/pacman.conf with your favourite editor and uncomment the following line (remove the # if its there)<br />
<br />
XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u<br />
<br />
While your in pacman.conf, check the default mirror that pacman uses to download packages.<br />
<br />
Now open up the default mirror in an internet browser to see if the mirror actually works. If it does work then do pacman -Syy (otherwise pick another working mirror and set it to the pacman default), if you get something similar to the following (notice the 1.0.0.0)<br />
<br />
<nowiki>ftp://mirror.pacific.net.au/linux/archlinux/extra/os/i686/extra.db.tar.gz</nowiki> <br />
<nowiki>=> `/var/lib/pacman/community.db.tar.gz.part'</nowiki> <br />
Resolving mirror.pacific.net.au... 1.0.0.0<br />
<br />
Then you most likely have this problem. The 1.0.0.0 means its unable to resolve the DNS, so we must add it to resolv.conf.<br />
<br />
==== How To Fix It? ====<br />
Basically what we need to do is to manually add the DNS to our /etc/resolv.conf file, The problem is that DHCP automatically deletes and replaces this file on boot, so we need to edit /etc/conf.d/dhcpcd and change the flags to stop DHCP doing this<br />
<br />
When you open up /etc/conf.d/dhcpcd, you should see something close to the following<br />
DHCPCD_ARGS="-t 30 -h $HOSTNAME"<br />
add the -R flag to the arguments, i.e.<br />
DHCPCD_ARGS="-R -t 30 -h $HOSTNAME"<br />
<br />
'''NOTE''': If you are using dhcpcd >= 4.0.2 the -R flag has been deprecated, please look here on ([http://wiki.archlinux.org/index.php/Configuring_network#For_DHCP_IP]) section how to use a custom resolv.conf file<br />
<br />
Save and close, now open /etc/resolv.conf. You should see a single namespace (most likely 10.1.1.1), this is the gateway to your router, which we need to connect to in order to get the DNS of your ISP. Paste the IP into your browser and login to your router. Go to the DNS section and you should see an IP in the Preferred DNS Server, copy it and paste it as a namespace ABOVE the current gateway one.<br />
<br />
i.e. a resolv.conf should look something along the lines of<br />
namespace 10.1.1.1<br />
<br />
If my Primary DNS Server is 211.29.132.12 then chance resolv.conf to<br />
namespace 211.29.132.12<br />
namespace 10.1.1.1<br />
<br />
Now restart the network daemon by doing /etc/rc.d/network restart and do pacman -Syy, if it syncs fine with the server then problem solved<br />
<br />
==== More about it? ====<br />
<br />
This is the whirlpool forum (Australian ISP community) which talks about and gives the same solution to the problem<br />
http://forums.whirlpool.net.au/forum-replies-archive.cfm/461625.html</div>DonVlahttps://wiki.archlinux.org/index.php?title=Talk:Install_bundled_32-bit_system_in_64-bit_system&diff=55947Talk:Install bundled 32-bit system in 64-bit system2008-12-22T01:48:18Z<p>DonVla: </p>
<hr />
<div>Why a C++ program in the "Execute 32bit apps" section for firefox?? Why not just a plain bash script??<br />
<br />
Which commands should be run as root and which as user? Confusing.... for example xhost is not sane as root.</div>DonVlahttps://wiki.archlinux.org/index.php?title=Talk:Install_bundled_32-bit_system_in_64-bit_system&diff=55946Talk:Install bundled 32-bit system in 64-bit system2008-12-22T01:47:31Z<p>DonVla: </p>
<hr />
<div>Why a C++ program in the "Execute 32bit apps" section for firefox?? Why not just a plain bash script??<br />
Which commands should be run as root and which as user? Confusing.... for example xhost is not sane as root.</div>DonVlahttps://wiki.archlinux.org/index.php?title=Synchronization_and_backup_programs&diff=47411Synchronization and backup programs2008-08-10T03:16:35Z<p>DonVla: </p>
<hr />
<div>[[Category:System (English)]]<br />
<br />
== Intro ==<br />
<br />
This wiki page contains information about various backup programs. It's a good idea to ''have'' regular backups of important data, most notably configuration files (<tt>/etc/*</tt>) and local pacman database (usually <tt>/var/lib/pacman/local/*</tt>).<br />
<br />
Few words to end the introduction: before you start trying programs out, try to think about your needs, e.g. consider the following questions:<br />
* What backup medium do I have available?<br />
** cd / dvd<br />
** remote server (With what access? Ssh? Can I install some software on it (necessary for e.g. rsync-based solutions)?)<br />
** external harddrive<br />
* How often do I plan to backup?<br />
** daily?<br />
** weekly?<br />
** less often?<br />
* What goodies do I expect from the backup solution?<br />
** compression? (what algorithms?)<br />
** encryption? (gpg or something more straightforward?)<br />
* Most importantly: how do I plan to restore backups if needed?<br />
<br />
All right, enough with this, let's see some options!<br />
<br />
== Incremental backups ==<br />
<br />
The point with these is that they remember what has been backed up during the last run, and back up only what has changed. Great if you back up often.<br />
<br />
=== Rsync-type backups ===<br />
<br />
The main characteristic of this type of backups is that they maintain a copy of the directory you want to keep a backup of, together with files which describe how did the contents change from the last backup (the so-called 'diffs'). Hence, they are inherently incremental, but usually they don't have compression/encryption. On the other hand, a working copy of everything is immediately available, no decompression/decryption needed. Finally the way it works makes it hard to burn backups to cd/dvd..<br />
<br />
===== command line based =====<br />
*[http://www.samba.org/rsync/ rsync] (in extra repo)<br />
*[http://www.nongnu.org/rdiff-backup/ rdiff-backup] (in community repo)<br />
*[http://www.rsnapshot.org rsnapshot] (in community repo)<br />
*[http://safekeep.sourceforge.net/ safekeep] (in AUR)<br />
* [http://www.scottlu.com/Content/Link-Backup.html Link-Backup] ([http://aur.archlinux.org/packages.php?ID=16929 AUR] may be patched with additional features) is similar to rsync based scripts, but does not use rsync<br />
** creates hard links between a series of backed-up trees (snapshots)<br />
** intelligently handles renames, moves, and duplicate files without additional storage or transfer<br />
** dstdir/.catalog is a catalog of all unique file instances; backup trees hard-link to the catalog<br />
** if a backup tree would be identical to the previous backup tree, it won't be needlessly created<br />
** transfer occurs over standard I/O locally or remotely between a client and server instance of this script<br />
** it copies itself to the server; it does not need to be installed on the server<br />
** remote backups rely on SSH<br />
** it resumes stopped backups; it can even be told to run for n minutes<br />
<br />
===== gui based =====<br />
*[http://www.flyback-project.org/ flyback] (in AUR)<br />
*[http://areca.sourceforge.net/ areca] (in AUR)<br />
*[https://wiki.ubuntu.com/TimeVault timevault] (in AUR)<br />
<br />
=== Not rsync-based ===<br />
<br />
They tend to create (big) archive files (like tar.bz2), and (of course) keep track of what's been archived. Now creating tar.bz2 or tar.gz archives has the advantage that you can extract the backups with just tar/bzip2/gzip, so you don't need to have the backup program around.<br />
<br />
* [[Backup with arch-backup|arch-backup]] (in community repo); [http://code.google.com/p/archlinux-stuff/ website]); trivial backup scripts with simple configuration:<br />
** compression method can be configured<br />
** possible to specify more directories to backup<br />
<br />
* [[Backup with hdup|hdup]] (in extra repo; [http://miek.nl/projects/hdup2/ website]; it's no longer developed, the author develops rdup now (below); but it's still a decent one):<br />
** creates tar.gz or tar.bz2 archives<br />
** supports gpg encryption<br />
** supports pushing over ssh<br />
** possible to specify more directories to backup<br />
<br />
* [http://miek.nl/projects/rdup rdup] (in [http://aur.archlinux.org/packages.php?ID=3728 AUR]) successor to hdup: the program *just determines* which files have changed since the last backup. It's completely up to you what do you want to do with that list. Some helper scripts are supplied, and with them it supports:<br />
** creating tar.gz archives '''or''' rsync-type copy<br />
** encryption (gpg and usual strong (eg. blowfish)), also applies for rsync-type copy<br />
** compression (also for rsync-type copy)<br />
<br />
* [http://www.nongnu.org/duplicity/ duplicity] (in community repo) is similar to hdup, supports tarring and encrypting. But:<br />
** the files backed up are "randomly" distributed between encrypted tar archives, which makes it harder to recover a particular file<br />
** you can backup just one directory at a time (while with hdup you can specify as many as you want in one backup profile)<br />
<br />
* [http://dar.linux.free.fr/ dar] (in community repo): <br />
** it uses its own format for archives (so you need to have it around when you want to restore)<br />
** supports splitting backups into more files by size<br />
** makefile-type config files, some custom scripts are available along with it<br />
** supports basic encryption (not gpg; but also strong, but you need to supply a password every time)<br />
** some gui tools for inspecting backups are also available (kdar, in [http://aur.archlinux.org/packages.php?ID=7586 AUR], but current dar needs beta version)<br />
** a script suitable for running from cron is [http://sarab.sourceforge.net/ sarab] (in [http://aur.archlinux.org/packages.php?ID=17044 AUR]): supports pretty much any backup scheme (Towers of Hanoi, Grandfather-Father-Son, etc..)<br />
<br />
* [http://sourceforge.net/projects/backerupper/ backerupper] (in [http://aur.archlinux.org/packages.php?ID=17441 AUR]) Backerupper is a simple program for backing up selected directories over a local network. Its main intended purpose is backing up a user's personal data.<br />
** GUI based<br />
** creating tar.gz archives<br />
** possible to define : backup frequency, backup time, Max copies<br />
<br />
== Not incremental backups ==<br />
<br />
* "Just copy everything into one big archive, but support writing to cd/dvd"-type: [http://www2.backup-manager.org/ backup-manager] (in [http://aur.archlinux.org/packages.php?ID=4351 AUR])<br />
<br />
== Versioning systems ==<br />
<br />
These are traditionally used for keeping track of software development; but if you want to have a simple way to manage your config files in one directory, it might be a good solution.<br />
<br />
* [http://www.selenic.com/mercurial/wiki/ mercurial] or [http://git.or.cz/ git] (both in extra repo)<br />
* [http://eigenclass.org/hiki/gibak-backup-system-introduction gibak]: a backup system based on git. it also supports binary diffs (for binaries, e-books, pictures, multimedia files, etc). on the homepage there is a short usage advice. it is meant to backup only the $HOME directory. one could also backup other directories (like /etc) by changing the $HOME variable to point to that directory (though i don't really recommend this). gibak is handy for people who are familiar with git. it uses .gitignore to filter files and one can use the git commands to restore files, browse through logs, diffs, etc. if one needs a gui, it is also possible to use gitk or qgit to browse through commits or do whatever these interfaces support. get it from AUR: http://aur.archlinux.org/packages.php?ID=18318.<br />
== Articles ==<br />
<br />
* [http://www.halfgaar.net/backing-up-unix Backing up Linux and other Unix(-like) systems]</div>DonVlahttps://wiki.archlinux.org/index.php?title=AUR_Cleanup_Day/2010&diff=47408AUR Cleanup Day/20102008-08-09T22:12:34Z<p>DonVla: </p>
<hr />
<div>'''NOTE: TU's are currently working through the list'''. You can still add packages but please check the whole page first.<br />
<br />
<br />
The AUR has a large number of obsolete packages which could use cleaning up. Examples of packages that may be cleaned up are:<br />
*packages that have been renamed or replaced<br />
*old and unmaintained developmental (cvs/svn/etc) packages<br />
<br />
Post suggestions of packages on this pages. Trusted Users will get together and go though the list in a couple of weeks and confirm which packages should be removed. '''Please DO NOT REMOVE suggestions from the wiki page but add a comment on why it should be kept instead.''' TUs will not delete any useful package.<br />
<br />
==Package List==<br />
'''Add new packages here''' - check for the package in the sorted lists below before adding<br />
<br />
* [http://aur.archlinux.org/packages.php?ID=1591 apache-tools-mon snapshot-2] - No changes since 2006, contributor seems to be inactive.<br />
* [http://aur.archlinux.org/packages.php?ID=15634 btrfs] - newer version (0.15) available, released May 29th, 2008. -- So this package should maybe be orphaned, no obvious reason to delete it.<br />
* [http://aur.archlinux.org/packages.php?ID=15635 btrfs-progs] - newer version (0.15) available, released May 29th, 2008. -- So this package should maybe be orphaned, no obvious reason to delete it.<br />
* [http://aur.archlinux.org/packages.php?ID=7211 css-mode] - Included in emacs 22.2. <br />
* [http://aur.archlinux.org/packages.php?ID=1731 ecamegapedal] - Do not to compile.<br />
* [http://aur.archlinux.org/packages.php?ID=4493 eclipse-kde] - Dead<br />
* [http://aur.archlinux.org/packages.php?ID=6042 fluxbox-styles-boxwhore] - boxwhore website is dead<br />
* [http://aur.archlinux.org/packages.php?ID=3698 galeon] - doesn't compile (not even the latest version)<br />
* [http://aur.archlinux.org/packages.php?ID=13589 gimp-freetype] - made for gimp 2.0, not available from official gimp website<br />
* [http://aur.archlinux.org/packages.php?ID=3754 gnash-cvs] - gnash use Bazaar now<br />
* [http://aur.archlinux.org/packages.php?ID=6069 gnuserv] - Deprecated in emacs-22+ - Please do not delete : see [http://bbs.archlinux.org/viewtopic.php?pid=383591#p383591] <br />
* [http://aur.archlinux.org/packages.php?ID=5207 gshare] - The package didn't function for me with the latest gnome. Furthermore it looks like this project is dead (website is down, source is no longer available)<br />
* [http://aur.archlinux.org/packages.php?ID=7942 gpsutil] - URL is not available, the link to gpsutil on the gpsbabel page is dead too.<br />
* [http://aur.archlinux.org/packages.php?ID=3689 ii-hg] - outdated, probably discontinued as the project website isn't available anymore (moved maybe?)<br />
** The project website is available at http://www.suckless.org/wiki/tools/irc/irc_it, so it's not dead. It only needs some changes to work again. --[[User:CuleX|CuleX]]<br />
* [http://aur.archlinux.org/packages.php?ID=7884 jfduke3d] - Is not updated by his author anymore, [http://aur.archlinux.org/packages.php?ID=15513 eduke32] was made to remplace it<br />
* [http://aur.archlinux.org/packages.php?ID=7037 kanola] - probably dead project, didn't went past the 0.0.1 release since 2006<br />
* [http://aur.archlinux.org/packages.php?ID=7366 kdeaddons4] - made and submited in 2006, better solutions for kde4 now<br />
* [http://aur.archlinux.org/packages.php?ID=7363 kdeedu4] - same as kdeaddons4<br />
* [http://aur.archlinux.org/packages.php?ID=7357 kdepim4] - same as kdeaddons4<br />
* [http://aur.archlinux.org/packages.php?ID=4448 kdeless] - splited by his maintainer into other package<br />
* [http://aur.archlinux.org/packages.php?ID=3429 lam 7.1.3-1] - Doesn't compile and is orphaned. The successor openmpi works.<br />
* [http://aur.archlinux.org/packages.php?ID=14220 linuxdcpp-cvs] - Old, orphaned CVS version of a package in community<br />
* [http://aur.archlinux.org/packages.php?ID=2008 madman-devel] - problem with Faad, use git now<br />
* [http://aur.archlinux.org/packages.php?ID=7264 mencode] - outdated, tells aur is its homepage<br />
** The package is to install a perl script included in the AUR tarball so it doesn't really have a home page. So it could be kept if the script can still be useful or, at least, the script could be moved to the wiki if there is a page for scripts. --[[User:Snowman|Snowman]]<br />
* [http://aur.archlinux.org/packages.php?ID=4579 menu] - was replace by menu-xdg<br />
* [http://aur.archlinux.org/packages.php?ID=10286 menu-xdg] - renamed to archlinux-xdg-menu and moved to community<br />
* [http://aur.archlinux.org/packages.php?ID=5408 mlame] - just a small bash script, no project page, could be moved to the wiki maybe<br />
* [http://aur.archlinux.org/packages.php?ID=11581 mouseemu] - Project not updated since 2006; xautomation also allows mouse emulation.<br />
* [http://aur.archlinux.org/packages.php?ID=11498 mpd-pausemode] - "Website" is orig. contributor's email addr.; orphaned by this contributor, so presumably no longer developed.<br />
* [http://aur.archlinux.org/packages.php?ID=12051 netscape-navigator] - closed-sources, end of support by netscape<br />
* [http://aur.archlinux.org/packages.php?ID=11374 netkit-ftp] - package exists in [extra]<br />
* [http://aur.archlinux.org/packages.php?ID=10751 poppler-qt4] - use old Qt4 from community<br />
* [http://aur.archlinux.org/packages.php?ID=4319 pynealpm] - use old libalpm<br />
* [http://aur.archlinux.org/packages.php?ID=5627 ppm2mpeg] - included in xvidcap<br />
* [http://aur.archlinux.org/packages.php?ID=7022 qgnokii] - depend on qt3 but still use depend=(qt)<br />
* [http://aur.archlinux.org/packages.php?ID=10514 rt61-cvs] - This driver is included in linus's tree and is therefore obsolete<br />
* [http://aur.archlinux.org/packages.php?ID=10190 sharpmusique] - source is not available anymore<br />
* [http://aur.archlinux.org/packages.php?ID=14905 sidplay] - Website is unreachable --[[User:Doc Angelo|Doc Angelo]]<br />
* [http://aur.archlinux.org/packages.php?ID=494 sonic-rainbow] - dead project, does not compile --[[User:Snowman|Snowman]]<br />
* [http://aur.archlinux.org/packages.php?ID=12451 http://aur.archlinux.org/packages.php?ID=12451] - depend on kernel26 and was not update since 1 year...<br />
* [http://aur.archlinux.org/packages.php?ID=15678 swt-devel] - I only created it to compile tuxguitar against it, but that's not needed. And it seems nobody is using it. <br />
*[http://aur.archlinux.org/packages.php?ID=13499 tcgui] - dependecies (truecrypt-utils) are not satisfied anymore. anyway deprecated, because truecrypt has its own gui<br />
*[http://aur.archlinux.org/packages.php?ID=13497 tcgui-kdemod] - dependecies (truecrypt-utils) are not satisfied anymore. anyway deprecated, because truecrypt has its own gui<br />
* [http://aur.archlinux.org/packages.php?ID=349 umbrello] - released as part of the kdesdk module in KDE4<br />
* [http://aur.archlinux.org/packages.php?ID=3947 viki-svn] - old, pkgbuild is broken<br />
* [http://aur.archlinux.org/packages.php?ID=2820 vim-colorschemes] - Mirror says 404, there is [http://www.vim.org/scripts/script.php?script_id=625 vim-colorsamplerpack] in [extra]<br />
* [http://aur.archlinux.org/packages.php?ID=9753 virtualbox_bin] - It seems the maintainer hasn't been updating the package and thotypous has been posting links to newer packages in the comments section. Perhaps the package needs a new maintainer?<br />
* [http://aur.archlinux.org/packages.php?ID=12067 pidgimpd-svn] - This package is orphaned and it doesn't build. There is mpd support in musictracker.<br />
* [http://aur.archlinux.org/packages.php?ID=15973 weather-wallpaper] - orphaned and references as dep non-existing pymetar<br />
* [http://aur.archlinux.org/packages.php?ID=13091 xen3] - appears to be a duplicate of community/xen (or perhaps it needs a more descriptive name)<br />
* [http://aur.archlinux.org/packages.php?ID=1128 yammi] - No upstream ongoing develeopement, does not build, since arts went away with last KDE update<br />
* [http://aur.archlinux.org/packages.php?ID=1372 ymessenger] - no update since 3 years, PKGBUILD license is GPL !?<br />
<br />
==TU Working Area==<br />
<br />
'''For editing by TUs only!''' The wiki has a history so do not think you can get away with ignoring this... --[[User:Allan|Allan]]<br />
<br />
===Packages to Remove===<br />
* [http://aur.archlinux.org/packages.php?ID=1926 fvwm-trans] last updated over 2 years ago and replaced with [http://aur.archlinux.org/packages.php?ID=7195 fvwm-patched] in AUR --[[User:pressh|pressh]] (I think one feature that is patched is in fvwm by default now, the other is in fvwm-patched too. If user does not want all the patched they can disable the ones they don't want from fvwm-patched)<br />
* [http://aur.archlinux.org/packages.php?ID=16166 jacman] - Jacman doesn't work correctly with pacman3. --[[User:Partition|Partition]]<br />
In community:<br />
* [http://aur.archlinux.org/packages.php?ID=9102 lmctl] - replaced by lomoco --[[User:Allan|Allan]]<br />
* [http://aur.archlinux.org/packages.php?ID=8958 wildfire] - Replaced by openfire. --[[User:pressh|pressh]]<br />
* [http://aur.archlinux.org/packages.php?ID=9114 xchat-systray-integration] - Xchat is integrated with systray without this package -- [[User:angvp|angvp]]<br />
<br />
===Packages to Keep===<br />
* [http://aur.archlinux.org/packages.php?ID=14946 mplayer-w32codecs] - not duplicate package as has more codecs than the "codecs" package.<br />
** Should rename to "codecs-extra" and not provide same files as codecs package --[[User:Allan|Allan]]<br />
<br />
==Remove from Filesystem==<br />
<br />
This is a list of files on the AUR filesystem that have been created when poorly formed packages were uploaded. This is a secondary consideration.<br />
<br />
There are also directories in /packages/ for which the package no longer exists. These probably need to be removed as well. Examples are 4c, 1394commander and 8kingdoms. Also, all the packages that moved to community ALSO still exist here; for example 915resolution. A [http://archlinux.spider007.net/aur-invalid-directories.txt complete list of these directories can be found here]<br />
<br />
<pre><br />
/packages/0verkill-0.16.tar.gz/<br />
/packages/0verkill-0.16/<br />
/packages/2007.02.17-2/<br />
/packages/abakus-0.91-1/<br />
/packages/abakus-0.91.tar.gz/<br />
/packages/abakus-0.91/<br />
/packages/akgregator/<br />
/packages/akregator/<br />
/packages/akregator1.0.2/<br />
/packages/akregator_1.0.2/<br />
/packages/amsn-0.97ec1/<br />
/packages/amsn-0.97rc1/<br />
/packages/amsn-097rc1-1/<br />
/packages/amsn-097rc1/<br />
/packages/amsn-cvs/<br />
/packages/amsn-svn_update/<br />
/packages/amsn096/<br />
/packages/amsn096rc1/<br />
/packages/bashstyle-5.0<br />
/packages/bashstyle-5.0rc1.tar.gz/<br />
/packages/bashstyle-5.0rc1.tar.gz1/<br />
/packages/bashstyle-5.0rc1/<br />
/packages/bashstyle.tar.gz/<br />
/packages/bashstyle-ng/<br />
/packages/bashstyle1/<br />
/packages/braero-svn<br />
/packages/braser-cvs/<br />
/packages/brasero-cvs/<br />
/packages/brasero.svn/<br />
/packages/brlcad-cvs/<br />
/packages/ccd2iso-0.3/<br />
/packages/cdcollect-0.6.0/<br />
/packages/centerim-4.22.2/<br />
/packages/centerim/<br />
/packages/encfs/<br />
/packages/exiftool/exiftool-7.13.tar.gz (/packages/exiftool/exiftool.tar.gz has been uploaded & works)<br />
/packages/ploticus-test/<br />
/packages/test-louipc/<br />
/packages/test/<br />
/packages/test_pkg/<br />
/packages/yacas-1.1.17-2/<br />
/packages/yacas-1.2.2/<br />
/packages/yacas-1.17-2/<br />
/packages/yacas-new/<br />
/packages/yacasnew/<br />
/packages/zzztest/<br />
/packages/zzzztest/<br />
</pre><br />
<br />
==Remove from Filesystem (AUR Bugs)==<br />
<br />
This is a list of files that need to be removed due to AUR bugs as they hinder proper submission and maintenance of packages.<br />
<br />
AUR Bugs<br />
* FS#8672 - http://bugs.archlinux.org/task/8672<br />
<br />
<pre><br />
/packages/isight-firmware-tools<br />
/packages/xcursor-industrial<br />
/packages/zaptel<br />
</pre><br />
<br />
/packages/lib32-dbus is now in community - Allan</div>DonVlahttps://wiki.archlinux.org/index.php?title=Synchronization_and_backup_programs&diff=47399Synchronization and backup programs2008-08-09T20:42:15Z<p>DonVla: </p>
<hr />
<div>[[Category:System (English)]]<br />
<br />
== Intro ==<br />
<br />
This wiki page contains information about various backup programs. It's a good idea to ''have'' regular backups of important data, most notably configuration files (<tt>/etc/*</tt>) and local pacman database (usually <tt>/var/lib/pacman/local/*</tt>).<br />
<br />
Few words to end the introduction: before you start trying programs out, try to think about your needs, e.g. consider the following questions:<br />
* What backup medium do I have available?<br />
** cd / dvd<br />
** remote server (With what access? Ssh? Can I install some software on it (necessary for e.g. rsync-based solutions)?)<br />
** external harddrive<br />
* How often do I plan to backup?<br />
** daily?<br />
** weekly?<br />
** less often?<br />
* What goodies do I expect from the backup solution?<br />
** compression? (what algorithms?)<br />
** encryption? (gpg or something more straightforward?)<br />
* Most importantly: how do I plan to restore backups if needed?<br />
<br />
All right, enough with this, let's see some options!<br />
<br />
== Incremental backups ==<br />
<br />
The point with these is that they remember what has been backed up during the last run, and back up only what has changed. Great if you back up often.<br />
<br />
=== Rsync-type backups ===<br />
<br />
The main characteristic of this type of backups is that they maintain a copy of the directory you want to keep a backup of, together with files which describe how did the contents change from the last backup (the so-called 'diffs'). Hence, they are inherently incremental, but usually they don't have compression/encryption. On the other hand, a working copy of everything is immediately available, no decompression/decryption needed. Finally the way it works makes it hard to burn backups to cd/dvd..<br />
<br />
===== command line based =====<br />
*[http://www.samba.org/rsync/ rsync] (in extra repo)<br />
*[http://www.nongnu.org/rdiff-backup/ rdiff-backup] (in community repo)<br />
*[http://www.rsnapshot.org rsnapshot] (in community repo)<br />
*[http://safekeep.sourceforge.net/ safekeep] (in AUR)<br />
* [http://www.scottlu.com/Content/Link-Backup.html Link-Backup] ([http://aur.archlinux.org/packages.php?ID=16929 AUR] may be patched with additional features) is similar to rsync based scripts, but does not use rsync<br />
** creates hard links between a series of backed-up trees (snapshots)<br />
** intelligently handles renames, moves, and duplicate files without additional storage or transfer<br />
** dstdir/.catalog is a catalog of all unique file instances; backup trees hard-link to the catalog<br />
** if a backup tree would be identical to the previous backup tree, it won't be needlessly created<br />
** transfer occurs over standard I/O locally or remotely between a client and server instance of this script<br />
** it copies itself to the server; it does not need to be installed on the server<br />
** remote backups rely on SSH<br />
** it resumes stopped backups; it can even be told to run for n minutes<br />
<br />
===== gui based =====<br />
*[http://www.flyback-project.org/ flyback] (in AUR)<br />
*[http://areca.sourceforge.net/ areca] (in AUR)<br />
*[https://wiki.ubuntu.com/TimeVault timevault] (in AUR)<br />
<br />
=== Not rsync-based ===<br />
<br />
They tend to create (big) archive files (like tar.bz2), and (of course) keep track of what's been archived. Now creating tar.bz2 or tar.gz archives has the advantage that you can extract the backups with just tar/bzip2/gzip, so you don't need to have the backup program around.<br />
<br />
* [[Backup with arch-backup|arch-backup]] (in community repo); [http://code.google.com/p/archlinux-stuff/ website]); trivial backup scripts with simple configuration:<br />
** compression method can be configured<br />
** possible to specify more directories to backup<br />
<br />
* [[Backup with hdup|hdup]] (in extra repo; [http://miek.nl/projects/hdup2/ website]; it's no longer developed, the author develops rdup now (below); but it's still a decent one):<br />
** creates tar.gz or tar.bz2 archives<br />
** supports gpg encryption<br />
** supports pushing over ssh<br />
** possible to specify more directories to backup<br />
<br />
* [http://miek.nl/projects/rdup rdup] (in [http://aur.archlinux.org/packages.php?ID=3728 AUR]) successor to hdup: the program *just determines* which files have changed since the last backup. It's completely up to you what do you want to do with that list. Some helper scripts are supplied, and with them it supports:<br />
** creating tar.gz archives '''or''' rsync-type copy<br />
** encryption (gpg and usual strong (eg. blowfish)), also applies for rsync-type copy<br />
** compression (also for rsync-type copy)<br />
<br />
* [http://www.nongnu.org/duplicity/ duplicity] (in community repo) is similar to hdup, supports tarring and encrypting. But:<br />
** the files backed up are "randomly" distributed between encrypted tar archives, which makes it harder to recover a particular file<br />
** you can backup just one directory at a time (while with hdup you can specify as many as you want in one backup profile)<br />
<br />
* [http://dar.linux.free.fr/ dar] (in community repo): <br />
** it uses its own format for archives (so you need to have it around when you want to restore)<br />
** supports splitting backups into more files by size<br />
** makefile-type config files, some custom scripts are available along with it<br />
** supports basic encryption (not gpg; but also strong, but you need to supply a password every time)<br />
** some gui tools for inspecting backups are also available (kdar, in [http://aur.archlinux.org/packages.php?ID=7586 AUR], but current dar needs beta version)<br />
** a script suitable for running from cron is [http://sarab.sourceforge.net/ sarab] (in [http://aur.archlinux.org/packages.php?ID=17044 AUR]): supports pretty much any backup scheme (Towers of Hanoi, Grandfather-Father-Son, etc..)<br />
<br />
* [http://sourceforge.net/projects/backerupper/ backerupper] (in [http://aur.archlinux.org/packages.php?ID=17441 AUR]) Backerupper is a simple program for backing up selected directories over a local network. Its main intended purpose is backing up a user's personal data.<br />
** GUI based<br />
** creating tar.gz archives<br />
** possible to define : backup frequency, backup time, Max copies<br />
<br />
== Not incremental backups ==<br />
<br />
* "Just copy everything into one big archive, but support writing to cd/dvd"-type: [http://www2.backup-manager.org/ backup-manager] (in [http://aur.archlinux.org/packages.php?ID=4351 AUR])<br />
<br />
== Versioning systems ==<br />
<br />
These are traditionally used for keeping track of software development; but if you want to have a simple way to manage your config files in one directory, it might be a good solution.<br />
<br />
* [http://www.selenic.com/mercurial/wiki/ mercurial] or [http://git.or.cz/ git] (both in extra repo)<br />
* [http://eigenclass.org/hiki/gibak-backup-system-introduction gibak]: a backup system based on git. it also supports binary diffs (for binaries, e-books, pictures, multimedia files, etc). on the homepage there is a short usage advice. it is meant to backup only the $HOME directory. one could also backup other directories (like /etc) by changing the $HOME variable to point to that directory (though i don't really recommend this). gibak is handy for people who are familiar with git. it uses .gitignore to filter files and one can use the git commands to restore files, browse through logs, diffs, etc. if one needs a gui, it is also possible to use gitk or qgit to browse through commits or do what these interfaces support. get it from AUR: http://aur.archlinux.org/packages.php?ID=18318.<br />
== Articles ==<br />
<br />
* [http://www.halfgaar.net/backing-up-unix Backing up Linux and other Unix(-like) systems]</div>DonVlahttps://wiki.archlinux.org/index.php?title=Synchronization_and_backup_programs&diff=47398Synchronization and backup programs2008-08-09T20:26:10Z<p>DonVla: </p>
<hr />
<div>[[Category:System (English)]]<br />
<br />
== Intro ==<br />
<br />
This wiki page contains information about various backup programs. It's a good idea to ''have'' regular backups of important data, most notably configuration files (<tt>/etc/*</tt>) and local pacman database (usually <tt>/var/lib/pacman/local/*</tt>).<br />
<br />
Few words to end the introduction: before you start trying programs out, try to think about your needs, e.g. consider the following questions:<br />
* What backup medium do I have available?<br />
** cd / dvd<br />
** remote server (With what access? Ssh? Can I install some software on it (necessary for e.g. rsync-based solutions)?)<br />
** external harddrive<br />
* How often do I plan to backup?<br />
** daily?<br />
** weekly?<br />
** less often?<br />
* What goodies do I expect from the backup solution?<br />
** compression? (what algorithms?)<br />
** encryption? (gpg or something more straightforward?)<br />
* Most importantly: how do I plan to restore backups if needed?<br />
<br />
All right, enough with this, let's see some options!<br />
<br />
== Incremental backups ==<br />
<br />
The point with these is that they remember what has been backed up during the last run, and back up only what has changed. Great if you back up often.<br />
<br />
=== Rsync-type backups ===<br />
<br />
The main characteristic of this type of backups is that they maintain a copy of the directory you want to keep a backup of, together with files which describe how did the contents change from the last backup (the so-called 'diffs'). Hence, they are inherently incremental, but usually they don't have compression/encryption. On the other hand, a working copy of everything is immediately available, no decompression/decryption needed. Finally the way it works makes it hard to burn backups to cd/dvd..<br />
<br />
===== command line based =====<br />
*[http://www.samba.org/rsync/ rsync] (in extra repo)<br />
*[http://www.nongnu.org/rdiff-backup/ rdiff-backup] (in community repo)<br />
*[http://www.rsnapshot.org rsnapshot] (in community repo)<br />
*[http://safekeep.sourceforge.net/ safekeep] (in AUR)<br />
* [http://www.scottlu.com/Content/Link-Backup.html Link-Backup] ([http://aur.archlinux.org/packages.php?ID=16929 AUR] may be patched with additional features) is similar to rsync based scripts, but does not use rsync<br />
** creates hard links between a series of backed-up trees (snapshots)<br />
** intelligently handles renames, moves, and duplicate files without additional storage or transfer<br />
** dstdir/.catalog is a catalog of all unique file instances; backup trees hard-link to the catalog<br />
** if a backup tree would be identical to the previous backup tree, it won't be needlessly created<br />
** transfer occurs over standard I/O locally or remotely between a client and server instance of this script<br />
** it copies itself to the server; it does not need to be installed on the server<br />
** remote backups rely on SSH<br />
** it resumes stopped backups; it can even be told to run for n minutes<br />
<br />
===== gui based =====<br />
*[http://www.flyback-project.org/ flyback] (in AUR)<br />
*[http://areca.sourceforge.net/ areca] (in AUR)<br />
*[https://wiki.ubuntu.com/TimeVault timevault] (in AUR)<br />
<br />
=== Not rsync-based ===<br />
<br />
They tend to create (big) archive files (like tar.bz2), and (of course) keep track of what's been archived. Now creating tar.bz2 or tar.gz archives has the advantage that you can extract the backups with just tar/bzip2/gzip, so you don't need to have the backup program around.<br />
<br />
* [[Backup with arch-backup|arch-backup]] (in community repo); [http://code.google.com/p/archlinux-stuff/ website]); trivial backup scripts with simple configuration:<br />
** compression method can be configured<br />
** possible to specify more directories to backup<br />
<br />
* [[Backup with hdup|hdup]] (in extra repo; [http://miek.nl/projects/hdup2/ website]; it's no longer developed, the author develops rdup now (below); but it's still a decent one):<br />
** creates tar.gz or tar.bz2 archives<br />
** supports gpg encryption<br />
** supports pushing over ssh<br />
** possible to specify more directories to backup<br />
<br />
* [http://miek.nl/projects/rdup rdup] (in [http://aur.archlinux.org/packages.php?ID=3728 AUR]) successor to hdup: the program *just determines* which files have changed since the last backup. It's completely up to you what do you want to do with that list. Some helper scripts are supplied, and with them it supports:<br />
** creating tar.gz archives '''or''' rsync-type copy<br />
** encryption (gpg and usual strong (eg. blowfish)), also applies for rsync-type copy<br />
** compression (also for rsync-type copy)<br />
<br />
* [http://www.nongnu.org/duplicity/ duplicity] (in community repo) is similar to hdup, supports tarring and encrypting. But:<br />
** the files backed up are "randomly" distributed between encrypted tar archives, which makes it harder to recover a particular file<br />
** you can backup just one directory at a time (while with hdup you can specify as many as you want in one backup profile)<br />
<br />
* [http://dar.linux.free.fr/ dar] (in community repo): <br />
** it uses its own format for archives (so you need to have it around when you want to restore)<br />
** supports splitting backups into more files by size<br />
** makefile-type config files, some custom scripts are available along with it<br />
** supports basic encryption (not gpg; but also strong, but you need to supply a password every time)<br />
** some gui tools for inspecting backups are also available (kdar, in [http://aur.archlinux.org/packages.php?ID=7586 AUR], but current dar needs beta version)<br />
** a script suitable for running from cron is [http://sarab.sourceforge.net/ sarab] (in [http://aur.archlinux.org/packages.php?ID=17044 AUR]): supports pretty much any backup scheme (Towers of Hanoi, Grandfather-Father-Son, etc..)<br />
<br />
* [http://sourceforge.net/projects/backerupper/ backerupper] (in [http://aur.archlinux.org/packages.php?ID=17441 AUR]) Backerupper is a simple program for backing up selected directories over a local network. Its main intended purpose is backing up a user's personal data.<br />
** GUI based<br />
** creating tar.gz archives<br />
** possible to define : backup frequency, backup time, Max copies<br />
<br />
== Not incremental backups ==<br />
<br />
* "Just copy everything into one big archive, but support writing to cd/dvd"-type: [http://www2.backup-manager.org/ backup-manager] (in [http://aur.archlinux.org/packages.php?ID=4351 AUR])<br />
<br />
== Versioning systems ==<br />
<br />
These are traditionally used for keeping track of software development; but if you want to have a simple way to manage your config files in one directory, it might be a good solution.<br />
<br />
* [http://www.selenic.com/mercurial/wiki/ mercurial] or [http://git.or.cz/ git] (both in extra repo)<br />
* [http://eigenclass.org/hiki/gibak-backup-system-introduction gibak]: a backup system based on git. it also supports binary diffs (for binary files). on the homepage there is a short usage advice. it is meant to backup only the $HOME directory. one could also backup other directories (like /etc) by changing the $HOME variable to point to that directory (though i don't really recommend this). gibak is handy for people who are familiar with git. it uses .gitignore to filter files and one can use the git commands to restore files, browse through logs, diffs, etc. if one needs a gui, it is also possible to use gitk or qgit to browse through commits or do what these interfaces support. get it from AUR: http://aur.archlinux.org/packages.php?ID=18318.<br />
== Articles ==<br />
<br />
* [http://www.halfgaar.net/backing-up-unix Backing up Linux and other Unix(-like) systems]</div>DonVlahttps://wiki.archlinux.org/index.php?title=Synchronization_and_backup_programs&diff=47397Synchronization and backup programs2008-08-09T20:22:10Z<p>DonVla: </p>
<hr />
<div>[[Category:System (English)]]<br />
<br />
== Intro ==<br />
<br />
This wiki page contains information about various backup programs. It's a good idea to ''have'' regular backups of important data, most notably configuration files (<tt>/etc/*</tt>) and local pacman database (usually <tt>/var/lib/pacman/local/*</tt>).<br />
<br />
Few words to end the introduction: before you start trying programs out, try to think about your needs, e.g. consider the following questions:<br />
* What backup medium do I have available?<br />
** cd / dvd<br />
** remote server (With what access? Ssh? Can I install some software on it (necessary for e.g. rsync-based solutions)?)<br />
** external harddrive<br />
* How often do I plan to backup?<br />
** daily?<br />
** weekly?<br />
** less often?<br />
* What goodies do I expect from the backup solution?<br />
** compression? (what algorithms?)<br />
** encryption? (gpg or something more straightforward?)<br />
* Most importantly: how do I plan to restore backups if needed?<br />
<br />
All right, enough with this, let's see some options!<br />
<br />
== Incremental backups ==<br />
<br />
The point with these is that they remember what has been backed up during the last run, and back up only what has changed. Great if you back up often.<br />
<br />
=== Rsync-type backups ===<br />
<br />
The main characteristic of this type of backups is that they maintain a copy of the directory you want to keep a backup of, together with files which describe how did the contents change from the last backup (the so-called 'diffs'). Hence, they are inherently incremental, but usually they don't have compression/encryption. On the other hand, a working copy of everything is immediately available, no decompression/decryption needed. Finally the way it works makes it hard to burn backups to cd/dvd..<br />
<br />
===== command line based =====<br />
*[http://www.samba.org/rsync/ rsync] (in extra repo)<br />
*[http://www.nongnu.org/rdiff-backup/ rdiff-backup] (in community repo)<br />
*[http://www.rsnapshot.org rsnapshot] (in community repo)<br />
*[http://safekeep.sourceforge.net/ safekeep] (in AUR)<br />
* [http://www.scottlu.com/Content/Link-Backup.html Link-Backup] ([http://aur.archlinux.org/packages.php?ID=16929 AUR] may be patched with additional features) is similar to rsync based scripts, but does not use rsync<br />
** creates hard links between a series of backed-up trees (snapshots)<br />
** intelligently handles renames, moves, and duplicate files without additional storage or transfer<br />
** dstdir/.catalog is a catalog of all unique file instances; backup trees hard-link to the catalog<br />
** if a backup tree would be identical to the previous backup tree, it won't be needlessly created<br />
** transfer occurs over standard I/O locally or remotely between a client and server instance of this script<br />
** it copies itself to the server; it does not need to be installed on the server<br />
** remote backups rely on SSH<br />
** it resumes stopped backups; it can even be told to run for n minutes<br />
<br />
===== gui based =====<br />
*[http://www.flyback-project.org/ flyback] (in AUR)<br />
*[http://areca.sourceforge.net/ areca] (in AUR)<br />
*[https://wiki.ubuntu.com/TimeVault timevault] (in AUR)<br />
<br />
=== Not rsync-based ===<br />
<br />
They tend to create (big) archive files (like tar.bz2), and (of course) keep track of what's been archived. Now creating tar.bz2 or tar.gz archives has the advantage that you can extract the backups with just tar/bzip2/gzip, so you don't need to have the backup program around.<br />
<br />
* [[Backup with arch-backup|arch-backup]] (in community repo); [http://code.google.com/p/archlinux-stuff/ website]); trivial backup scripts with simple configuration:<br />
** compression method can be configured<br />
** possible to specify more directories to backup<br />
<br />
* [[Backup with hdup|hdup]] (in extra repo; [http://miek.nl/projects/hdup2/ website]; it's no longer developed, the author develops rdup now (below); but it's still a decent one):<br />
** creates tar.gz or tar.bz2 archives<br />
** supports gpg encryption<br />
** supports pushing over ssh<br />
** possible to specify more directories to backup<br />
<br />
* [http://miek.nl/projects/rdup rdup] (in [http://aur.archlinux.org/packages.php?ID=3728 AUR]) successor to hdup: the program *just determines* which files have changed since the last backup. It's completely up to you what do you want to do with that list. Some helper scripts are supplied, and with them it supports:<br />
** creating tar.gz archives '''or''' rsync-type copy<br />
** encryption (gpg and usual strong (eg. blowfish)), also applies for rsync-type copy<br />
** compression (also for rsync-type copy)<br />
<br />
* [http://www.nongnu.org/duplicity/ duplicity] (in community repo) is similar to hdup, supports tarring and encrypting. But:<br />
** the files backed up are "randomly" distributed between encrypted tar archives, which makes it harder to recover a particular file<br />
** you can backup just one directory at a time (while with hdup you can specify as many as you want in one backup profile)<br />
<br />
* [http://dar.linux.free.fr/ dar] (in community repo): <br />
** it uses its own format for archives (so you need to have it around when you want to restore)<br />
** supports splitting backups into more files by size<br />
** makefile-type config files, some custom scripts are available along with it<br />
** supports basic encryption (not gpg; but also strong, but you need to supply a password every time)<br />
** some gui tools for inspecting backups are also available (kdar, in [http://aur.archlinux.org/packages.php?ID=7586 AUR], but current dar needs beta version)<br />
** a script suitable for running from cron is [http://sarab.sourceforge.net/ sarab] (in [http://aur.archlinux.org/packages.php?ID=17044 AUR]): supports pretty much any backup scheme (Towers of Hanoi, Grandfather-Father-Son, etc..)<br />
<br />
* [http://sourceforge.net/projects/backerupper/ backerupper] (in [http://aur.archlinux.org/packages.php?ID=17441 AUR]) Backerupper is a simple program for backing up selected directories over a local network. Its main intended purpose is backing up a user's personal data.<br />
** GUI based<br />
** creating tar.gz archives<br />
** possible to define : backup frequency, backup time, Max copies<br />
<br />
== Not incremental backups ==<br />
<br />
* "Just copy everything into one big archive, but support writing to cd/dvd"-type: [http://www2.backup-manager.org/ backup-manager] (in [http://aur.archlinux.org/packages.php?ID=4351 AUR])<br />
<br />
== Versioning systems ==<br />
<br />
These are traditionally used for keeping track of software development; but if you want to have a simple way to manage your config files in one directory, it might be a good solution.<br />
<br />
* [http://www.selenic.com/mercurial/wiki/ mercurial] or [http://git.or.cz/ git] (both in extra repo)<br />
* [http://eigenclass.org/hiki/gibak-backup-system-introduction gibak]: a backup system based on git. it also supports binary diffs (for binary files). on the homepage there is a short usage advice. it is meant to backup only the $HOME directory. one could also backup other directories (like /etc) by changing the $HOME variable to point to that directory (though i don't really recommend this). gibak is handy for people who are familiar with git. it uses .gitignore to filter files and one can use the git commands to restore files, browse through logs, diffs, etc. it is also possible to use gitk or qgit to browse through commits (if one needs a gui). get it from AUR: http://aur.archlinux.org/packages.php?ID=18318.<br />
== Articles ==<br />
<br />
* [http://www.halfgaar.net/backing-up-unix Backing up Linux and other Unix(-like) systems]</div>DonVlahttps://wiki.archlinux.org/index.php?title=Synchronization_and_backup_programs&diff=47396Synchronization and backup programs2008-08-09T20:16:59Z<p>DonVla: </p>
<hr />
<div>[[Category:System (English)]]<br />
<br />
== Intro ==<br />
<br />
This wiki page contains information about various backup programs. It's a good idea to ''have'' regular backups of important data, most notably configuration files (<tt>/etc/*</tt>) and local pacman database (usually <tt>/var/lib/pacman/local/*</tt>).<br />
<br />
Few words to end the introduction: before you start trying programs out, try to think about your needs, e.g. consider the following questions:<br />
* What backup medium do I have available?<br />
** cd / dvd<br />
** remote server (With what access? Ssh? Can I install some software on it (necessary for e.g. rsync-based solutions)?)<br />
** external harddrive<br />
* How often do I plan to backup?<br />
** daily?<br />
** weekly?<br />
** less often?<br />
* What goodies do I expect from the backup solution?<br />
** compression? (what algorithms?)<br />
** encryption? (gpg or something more straightforward?)<br />
* Most importantly: how do I plan to restore backups if needed?<br />
<br />
All right, enough with this, let's see some options!<br />
<br />
== Incremental backups ==<br />
<br />
The point with these is that they remember what has been backed up during the last run, and back up only what has changed. Great if you back up often.<br />
<br />
=== Rsync-type backups ===<br />
<br />
The main characteristic of this type of backups is that they maintain a copy of the directory you want to keep a backup of, together with files which describe how did the contents change from the last backup (the so-called 'diffs'). Hence, they are inherently incremental, but usually they don't have compression/encryption. On the other hand, a working copy of everything is immediately available, no decompression/decryption needed. Finally the way it works makes it hard to burn backups to cd/dvd..<br />
<br />
===== command line based =====<br />
*[http://www.samba.org/rsync/ rsync] (in extra repo)<br />
*[http://www.nongnu.org/rdiff-backup/ rdiff-backup] (in community repo)<br />
*[http://www.rsnapshot.org rsnapshot] (in community repo)<br />
*[http://safekeep.sourceforge.net/ safekeep] (in AUR)<br />
* [http://www.scottlu.com/Content/Link-Backup.html Link-Backup] ([http://aur.archlinux.org/packages.php?ID=16929 AUR] may be patched with additional features) is similar to rsync based scripts, but does not use rsync<br />
** creates hard links between a series of backed-up trees (snapshots)<br />
** intelligently handles renames, moves, and duplicate files without additional storage or transfer<br />
** dstdir/.catalog is a catalog of all unique file instances; backup trees hard-link to the catalog<br />
** if a backup tree would be identical to the previous backup tree, it won't be needlessly created<br />
** transfer occurs over standard I/O locally or remotely between a client and server instance of this script<br />
** it copies itself to the server; it does not need to be installed on the server<br />
** remote backups rely on SSH<br />
** it resumes stopped backups; it can even be told to run for n minutes<br />
<br />
===== gui based =====<br />
*[http://www.flyback-project.org/ flyback] (in AUR)<br />
*[http://areca.sourceforge.net/ areca] (in AUR)<br />
*[https://wiki.ubuntu.com/TimeVault timevault] (in AUR)<br />
<br />
=== Not rsync-based ===<br />
<br />
They tend to create (big) archive files (like tar.bz2), and (of course) keep track of what's been archived. Now creating tar.bz2 or tar.gz archives has the advantage that you can extract the backups with just tar/bzip2/gzip, so you don't need to have the backup program around.<br />
<br />
* [[Backup with arch-backup|arch-backup]] (in community repo); [http://code.google.com/p/archlinux-stuff/ website]); trivial backup scripts with simple configuration:<br />
** compression method can be configured<br />
** possible to specify more directories to backup<br />
<br />
* [[Backup with hdup|hdup]] (in extra repo; [http://miek.nl/projects/hdup2/ website]; it's no longer developed, the author develops rdup now (below); but it's still a decent one):<br />
** creates tar.gz or tar.bz2 archives<br />
** supports gpg encryption<br />
** supports pushing over ssh<br />
** possible to specify more directories to backup<br />
<br />
* [http://miek.nl/projects/rdup rdup] (in [http://aur.archlinux.org/packages.php?ID=3728 AUR]) successor to hdup: the program *just determines* which files have changed since the last backup. It's completely up to you what do you want to do with that list. Some helper scripts are supplied, and with them it supports:<br />
** creating tar.gz archives '''or''' rsync-type copy<br />
** encryption (gpg and usual strong (eg. blowfish)), also applies for rsync-type copy<br />
** compression (also for rsync-type copy)<br />
<br />
* [http://www.nongnu.org/duplicity/ duplicity] (in community repo) is similar to hdup, supports tarring and encrypting. But:<br />
** the files backed up are "randomly" distributed between encrypted tar archives, which makes it harder to recover a particular file<br />
** you can backup just one directory at a time (while with hdup you can specify as many as you want in one backup profile)<br />
<br />
* [http://dar.linux.free.fr/ dar] (in community repo): <br />
** it uses its own format for archives (so you need to have it around when you want to restore)<br />
** supports splitting backups into more files by size<br />
** makefile-type config files, some custom scripts are available along with it<br />
** supports basic encryption (not gpg; but also strong, but you need to supply a password every time)<br />
** some gui tools for inspecting backups are also available (kdar, in [http://aur.archlinux.org/packages.php?ID=7586 AUR], but current dar needs beta version)<br />
** a script suitable for running from cron is [http://sarab.sourceforge.net/ sarab] (in [http://aur.archlinux.org/packages.php?ID=17044 AUR]): supports pretty much any backup scheme (Towers of Hanoi, Grandfather-Father-Son, etc..)<br />
<br />
* [http://sourceforge.net/projects/backerupper/ backerupper] (in [http://aur.archlinux.org/packages.php?ID=17441 AUR]) Backerupper is a simple program for backing up selected directories over a local network. Its main intended purpose is backing up a user's personal data.<br />
** GUI based<br />
** creating tar.gz archives<br />
** possible to define : backup frequency, backup time, Max copies<br />
<br />
== Not incremental backups ==<br />
<br />
* "Just copy everything into one big archive, but support writing to cd/dvd"-type: [http://www2.backup-manager.org/ backup-manager] (in [http://aur.archlinux.org/packages.php?ID=4351 AUR])<br />
<br />
== Versioning systems ==<br />
<br />
These are traditionally used for keeping track of software development; but if you want to have a simple way to manage your config files in one directory, it might be a good solution.<br />
<br />
* [http://www.selenic.com/mercurial/wiki/ mercurial] or [http://git.or.cz/ git] (both in extra repo)<br />
* [http://eigenclass.org/hiki/gibak-backup-system-introduction gibak]: a backup system based on git. it also supports binary diffs (for binary files). on the homepage there is a short usage advice. it is meant to backup only the $HOME directory. one could also backup other directories (like /etc) by changing the $HOME variable to point to that directory (though i don't really recommend this). gibak is handy for people who are familiar with git. it uses .gitignore to filter files and one can use the git commands to restore files, browse through logs, diffs, etc. get it from AUR: http://aur.archlinux.org/packages.php?ID=18318.<br />
== Articles ==<br />
<br />
* [http://www.halfgaar.net/backing-up-unix Backing up Linux and other Unix(-like) systems]</div>DonVlahttps://wiki.archlinux.org/index.php?title=Synchronization_and_backup_programs&diff=47395Synchronization and backup programs2008-08-09T20:14:36Z<p>DonVla: </p>
<hr />
<div>[[Category:System (English)]]<br />
<br />
== Intro ==<br />
<br />
This wiki page contains information about various backup programs. It's a good idea to ''have'' regular backups of important data, most notably configuration files (<tt>/etc/*</tt>) and local pacman database (usually <tt>/var/lib/pacman/local/*</tt>).<br />
<br />
Few words to end the introduction: before you start trying programs out, try to think about your needs, e.g. consider the following questions:<br />
* What backup medium do I have available?<br />
** cd / dvd<br />
** remote server (With what access? Ssh? Can I install some software on it (necessary for e.g. rsync-based solutions)?)<br />
** external harddrive<br />
* How often do I plan to backup?<br />
** daily?<br />
** weekly?<br />
** less often?<br />
* What goodies do I expect from the backup solution?<br />
** compression? (what algorithms?)<br />
** encryption? (gpg or something more straightforward?)<br />
* Most importantly: how do I plan to restore backups if needed?<br />
<br />
All right, enough with this, let's see some options!<br />
<br />
== Incremental backups ==<br />
<br />
The point with these is that they remember what has been backed up during the last run, and back up only what has changed. Great if you back up often.<br />
<br />
=== Rsync-type backups ===<br />
<br />
The main characteristic of this type of backups is that they maintain a copy of the directory you want to keep a backup of, together with files which describe how did the contents change from the last backup (the so-called 'diffs'). Hence, they are inherently incremental, but usually they don't have compression/encryption. On the other hand, a working copy of everything is immediately available, no decompression/decryption needed. Finally the way it works makes it hard to burn backups to cd/dvd..<br />
<br />
===== command line based =====<br />
*[http://www.samba.org/rsync/ rsync] (in extra repo)<br />
*[http://www.nongnu.org/rdiff-backup/ rdiff-backup] (in community repo)<br />
*[http://www.rsnapshot.org rsnapshot] (in community repo)<br />
*[http://safekeep.sourceforge.net/ safekeep] (in AUR)<br />
* [http://www.scottlu.com/Content/Link-Backup.html Link-Backup] ([http://aur.archlinux.org/packages.php?ID=16929 AUR] may be patched with additional features) is similar to rsync based scripts, but does not use rsync<br />
** creates hard links between a series of backed-up trees (snapshots)<br />
** intelligently handles renames, moves, and duplicate files without additional storage or transfer<br />
** dstdir/.catalog is a catalog of all unique file instances; backup trees hard-link to the catalog<br />
** if a backup tree would be identical to the previous backup tree, it won't be needlessly created<br />
** transfer occurs over standard I/O locally or remotely between a client and server instance of this script<br />
** it copies itself to the server; it does not need to be installed on the server<br />
** remote backups rely on SSH<br />
** it resumes stopped backups; it can even be told to run for n minutes<br />
<br />
===== gui based =====<br />
*[http://www.flyback-project.org/ flyback] (in AUR)<br />
*[http://areca.sourceforge.net/ areca] (in AUR)<br />
*[https://wiki.ubuntu.com/TimeVault timevault] (in AUR)<br />
<br />
=== Not rsync-based ===<br />
<br />
They tend to create (big) archive files (like tar.bz2), and (of course) keep track of what's been archived. Now creating tar.bz2 or tar.gz archives has the advantage that you can extract the backups with just tar/bzip2/gzip, so you don't need to have the backup program around.<br />
<br />
* [[Backup with arch-backup|arch-backup]] (in community repo); [http://code.google.com/p/archlinux-stuff/ website]); trivial backup scripts with simple configuration:<br />
** compression method can be configured<br />
** possible to specify more directories to backup<br />
<br />
* [[Backup with hdup|hdup]] (in extra repo; [http://miek.nl/projects/hdup2/ website]; it's no longer developed, the author develops rdup now (below); but it's still a decent one):<br />
** creates tar.gz or tar.bz2 archives<br />
** supports gpg encryption<br />
** supports pushing over ssh<br />
** possible to specify more directories to backup<br />
<br />
* [http://miek.nl/projects/rdup rdup] (in [http://aur.archlinux.org/packages.php?ID=3728 AUR]) successor to hdup: the program *just determines* which files have changed since the last backup. It's completely up to you what do you want to do with that list. Some helper scripts are supplied, and with them it supports:<br />
** creating tar.gz archives '''or''' rsync-type copy<br />
** encryption (gpg and usual strong (eg. blowfish)), also applies for rsync-type copy<br />
** compression (also for rsync-type copy)<br />
<br />
* [http://www.nongnu.org/duplicity/ duplicity] (in community repo) is similar to hdup, supports tarring and encrypting. But:<br />
** the files backed up are "randomly" distributed between encrypted tar archives, which makes it harder to recover a particular file<br />
** you can backup just one directory at a time (while with hdup you can specify as many as you want in one backup profile)<br />
<br />
* [http://dar.linux.free.fr/ dar] (in community repo): <br />
** it uses its own format for archives (so you need to have it around when you want to restore)<br />
** supports splitting backups into more files by size<br />
** makefile-type config files, some custom scripts are available along with it<br />
** supports basic encryption (not gpg; but also strong, but you need to supply a password every time)<br />
** some gui tools for inspecting backups are also available (kdar, in [http://aur.archlinux.org/packages.php?ID=7586 AUR], but current dar needs beta version)<br />
** a script suitable for running from cron is [http://sarab.sourceforge.net/ sarab] (in [http://aur.archlinux.org/packages.php?ID=17044 AUR]): supports pretty much any backup scheme (Towers of Hanoi, Grandfather-Father-Son, etc..)<br />
<br />
* [http://sourceforge.net/projects/backerupper/ backerupper] (in [http://aur.archlinux.org/packages.php?ID=17441 AUR]) Backerupper is a simple program for backing up selected directories over a local network. Its main intended purpose is backing up a user's personal data.<br />
** GUI based<br />
** creating tar.gz archives<br />
** possible to define : backup frequency, backup time, Max copies<br />
<br />
== Not incremental backups ==<br />
<br />
* "Just copy everything into one big archive, but support writing to cd/dvd"-type: [http://www2.backup-manager.org/ backup-manager] (in [http://aur.archlinux.org/packages.php?ID=4351 AUR])<br />
<br />
== Versioning systems ==<br />
<br />
These are traditionally used for keeping track of software development; but if you want to have a simple way to manage your config files in one directory, it might be a good solution.<br />
<br />
* [http://www.selenic.com/mercurial/wiki/ mercurial] or [http://git.or.cz/ git] (both in extra repo)<br />
* [http://eigenclass.org/hiki/gibak-backup-system-introduction gibak]: a backup system based on git. it also supports binary diffs (for binary files). on the homepage there is a short usage advice. it is meant to backup only the $HOME directory. one could also backup other directories (like /etc) by changing the $HOME variable to point to that directory (though i don't really recommend this). gibak is handy for people who are familiar with git. it uses .gitignore to filter files and one can use also the git commands to restore files, browse through logs, diffs, etc. get it from AUR: http://aur.archlinux.org/packages.php?ID=18318.<br />
== Articles ==<br />
<br />
* [http://www.halfgaar.net/backing-up-unix Backing up Linux and other Unix(-like) systems]</div>DonVlahttps://wiki.archlinux.org/index.php?title=Synchronization_and_backup_programs&diff=47394Synchronization and backup programs2008-08-09T20:11:02Z<p>DonVla: </p>
<hr />
<div>[[Category:System (English)]]<br />
<br />
== Intro ==<br />
<br />
This wiki page contains information about various backup programs. It's a good idea to ''have'' regular backups of important data, most notably configuration files (<tt>/etc/*</tt>) and local pacman database (usually <tt>/var/lib/pacman/local/*</tt>).<br />
<br />
Few words to end the introduction: before you start trying programs out, try to think about your needs, e.g. consider the following questions:<br />
* What backup medium do I have available?<br />
** cd / dvd<br />
** remote server (With what access? Ssh? Can I install some software on it (necessary for e.g. rsync-based solutions)?)<br />
** external harddrive<br />
* How often do I plan to backup?<br />
** daily?<br />
** weekly?<br />
** less often?<br />
* What goodies do I expect from the backup solution?<br />
** compression? (what algorithms?)<br />
** encryption? (gpg or something more straightforward?)<br />
* Most importantly: how do I plan to restore backups if needed?<br />
<br />
All right, enough with this, let's see some options!<br />
<br />
== Incremental backups ==<br />
<br />
The point with these is that they remember what has been backed up during the last run, and back up only what has changed. Great if you back up often.<br />
<br />
=== Rsync-type backups ===<br />
<br />
The main characteristic of this type of backups is that they maintain a copy of the directory you want to keep a backup of, together with files which describe how did the contents change from the last backup (the so-called 'diffs'). Hence, they are inherently incremental, but usually they don't have compression/encryption. On the other hand, a working copy of everything is immediately available, no decompression/decryption needed. Finally the way it works makes it hard to burn backups to cd/dvd..<br />
<br />
===== command line based =====<br />
*[http://www.samba.org/rsync/ rsync] (in extra repo)<br />
*[http://www.nongnu.org/rdiff-backup/ rdiff-backup] (in community repo)<br />
*[http://www.rsnapshot.org rsnapshot] (in community repo)<br />
*[http://safekeep.sourceforge.net/ safekeep] (in AUR)<br />
* [http://www.scottlu.com/Content/Link-Backup.html Link-Backup] ([http://aur.archlinux.org/packages.php?ID=16929 AUR] may be patched with additional features) is similar to rsync based scripts, but does not use rsync<br />
** creates hard links between a series of backed-up trees (snapshots)<br />
** intelligently handles renames, moves, and duplicate files without additional storage or transfer<br />
** dstdir/.catalog is a catalog of all unique file instances; backup trees hard-link to the catalog<br />
** if a backup tree would be identical to the previous backup tree, it won't be needlessly created<br />
** transfer occurs over standard I/O locally or remotely between a client and server instance of this script<br />
** it copies itself to the server; it does not need to be installed on the server<br />
** remote backups rely on SSH<br />
** it resumes stopped backups; it can even be told to run for n minutes<br />
<br />
===== gui based =====<br />
*[http://www.flyback-project.org/ flyback] (in AUR)<br />
*[http://areca.sourceforge.net/ areca] (in AUR)<br />
*[https://wiki.ubuntu.com/TimeVault timevault] (in AUR)<br />
<br />
=== Not rsync-based ===<br />
<br />
They tend to create (big) archive files (like tar.bz2), and (of course) keep track of what's been archived. Now creating tar.bz2 or tar.gz archives has the advantage that you can extract the backups with just tar/bzip2/gzip, so you don't need to have the backup program around.<br />
<br />
* [[Backup with arch-backup|arch-backup]] (in community repo); [http://code.google.com/p/archlinux-stuff/ website]); trivial backup scripts with simple configuration:<br />
** compression method can be configured<br />
** possible to specify more directories to backup<br />
<br />
* [[Backup with hdup|hdup]] (in extra repo; [http://miek.nl/projects/hdup2/ website]; it's no longer developed, the author develops rdup now (below); but it's still a decent one):<br />
** creates tar.gz or tar.bz2 archives<br />
** supports gpg encryption<br />
** supports pushing over ssh<br />
** possible to specify more directories to backup<br />
<br />
* [http://miek.nl/projects/rdup rdup] (in [http://aur.archlinux.org/packages.php?ID=3728 AUR]) successor to hdup: the program *just determines* which files have changed since the last backup. It's completely up to you what do you want to do with that list. Some helper scripts are supplied, and with them it supports:<br />
** creating tar.gz archives '''or''' rsync-type copy<br />
** encryption (gpg and usual strong (eg. blowfish)), also applies for rsync-type copy<br />
** compression (also for rsync-type copy)<br />
<br />
* [http://www.nongnu.org/duplicity/ duplicity] (in community repo) is similar to hdup, supports tarring and encrypting. But:<br />
** the files backed up are "randomly" distributed between encrypted tar archives, which makes it harder to recover a particular file<br />
** you can backup just one directory at a time (while with hdup you can specify as many as you want in one backup profile)<br />
<br />
* [http://dar.linux.free.fr/ dar] (in community repo): <br />
** it uses its own format for archives (so you need to have it around when you want to restore)<br />
** supports splitting backups into more files by size<br />
** makefile-type config files, some custom scripts are available along with it<br />
** supports basic encryption (not gpg; but also strong, but you need to supply a password every time)<br />
** some gui tools for inspecting backups are also available (kdar, in [http://aur.archlinux.org/packages.php?ID=7586 AUR], but current dar needs beta version)<br />
** a script suitable for running from cron is [http://sarab.sourceforge.net/ sarab] (in [http://aur.archlinux.org/packages.php?ID=17044 AUR]): supports pretty much any backup scheme (Towers of Hanoi, Grandfather-Father-Son, etc..)<br />
<br />
* [http://sourceforge.net/projects/backerupper/ backerupper] (in [http://aur.archlinux.org/packages.php?ID=17441 AUR]) Backerupper is a simple program for backing up selected directories over a local network. Its main intended purpose is backing up a user's personal data.<br />
** GUI based<br />
** creating tar.gz archives<br />
** possible to define : backup frequency, backup time, Max copies<br />
<br />
== Not incremental backups ==<br />
<br />
* "Just copy everything into one big archive, but support writing to cd/dvd"-type: [http://www2.backup-manager.org/ backup-manager] (in [http://aur.archlinux.org/packages.php?ID=4351 AUR])<br />
<br />
== Versioning systems ==<br />
<br />
These are traditionally used for keeping track of software development; but if you want to have a simple way to manage your config files in one directory, it might be a good solution.<br />
<br />
* [http://www.selenic.com/mercurial/wiki/ mercurial] or [http://git.or.cz/ git] (both in extra repo)<br />
* [http://eigenclass.org/hiki/gibak-backup-system-introduction gibak]: a backup system based on git. it also supports binary diffs (for binary files). on the homepage there is a short usage advice. it is meant to backup only the $HOME directory. one could also backup other directories (like /etc) by changing the $HOME variable to point to that directory (though i don't really recommend this). gibak is handy for people who are familiar with git. one can use also the git commands to restore files, browse through logs, diffs, etc. get it from AUR: http://aur.archlinux.org/packages.php?ID=18318.<br />
== Articles ==<br />
<br />
* [http://www.halfgaar.net/backing-up-unix Backing up Linux and other Unix(-like) systems]</div>DonVla