+ <div class="entry">
+ <div class="title"><a href="http://people.skolelinux.org/pere/blog/How_to_fix_a_Thinkpad_X230_with_a_broken_180_GB_SSD_disk.html">How to fix a Thinkpad X230 with a broken 180 GB SSD disk</a></div>
+ <div class="date">17th July 2013</div>
+ <div class="body"><p>Today I switched to
+<a href="http://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230_.html">my
+new laptop</a>. I've previously written about the problems I had with
+my new Thinkpad X230, which was delivered with an
+<a href="http://people.skolelinux.org/pere/blog/Intel_SSD_520_Series_180_GB_with_Lenovo_firmware_still_lock_up_from_sustained_writes.html">180
+GB Intel SSD disk with Lenovo firmware</a> that did not handle
+sustained writes. My hardware supplier have been very forthcoming in
+trying to find a solution, and after first trying with another
+identical 180 GB disks they decided to send me a 256 GB Samsung SSD
+disk instead to fix it once and for all. The Samsung disk survived
+the installation of Debian with encrypted disks (filling the disk with
+random data during installation killed the first two), and I thus
+decided to trust it with my data. I have installed it as a Debian Edu
+Wheezy roaming workstation hooked up with my Debian Edu Squeeze main
+server at home using Kerberos and LDAP, and will use it as my work
+station from now on.</p>
+
+<p>As this is a solid state disk with no moving parts, I believe the
+Debian Wheezy default installation need to be tuned a bit to increase
+performance and increase life time of the disk. The Linux kernel and
+user space applications do not yet adjust automatically to such
+environment. To make it easier for my self, I created a draft Debian
+package <tt>ssd-setup</tt> to handle this tuning. The
+<a href="http://anonscm.debian.org/gitweb/?p=collab-maint/ssd-setup.git">source
+for the ssd-setup package</a> is available from collab-maint, and it
+is set up to adjust the setup of the machine by just installing the
+package. If there is any non-SSD disk in the machine, the package
+will refuse to install, as I did not try to write any logic to sort
+file systems in SSD and non-SSD file systems.</p>
+
+<p>I consider the package a draft, as I am a bit unsure how to best
+set up Debian Wheezy with an SSD. It is adjusted to my use case,
+where I set up the machine with one large encrypted partition (in
+addition to /boot), put LVM on top of this and set up partitions on
+top of this again. See the README file in the package source for the
+references I used to pick the settings. At the moment these
+parameters are tuned:</p>
+
+<ul>
+
+<li>Set up cryptsetup to pass TRIM commands to the physical disk
+ (adding discard to /etc/crypttab)</li>
+
+<li>Set up LVM to pass on TRIM commands to the underlying device (in
+ this case a cryptsetup partition) by changing issue_discards from
+ 0 to 1 in /etc/lvm/lvm.conf.</li>
+
+<li>Set relatime as a file system option for ext3 and ext4 file
+ systems.</li>
+
+<li>Tell swap to use TRIM commands by adding 'discard' to
+ /etc/fstab.</li>
+
+<li>Change I/O scheduler from cfq to deadline using a udev rule.</li>
+
+<li>Run fstrim on every ext3 and ext4 file system every night (from
+ cron.daily).</li>
+
+<li>Adjust sysctl values vm.swappiness to 1 and vm.vfs_cache_pressure
+ to 50 to reduce the kernel eagerness to swap out processes.</li>
+
+</ul>
+
+<p>During installation, I cancelled the part where the installer fill
+the disk with random data, as this would kill the SSD performance for
+little gain. My goal with the encrypted file system is to ensure
+those stealing my laptop end up with a brick and not a working
+computer. I have no hope in keeping the really resourceful people
+from getting the data on the disk (see
+<a href="http://xkcd.com/538/">XKCD #538</a> for an explanation why).
+Thus I concluded that adding the discard option to crypttab is the
+right thing to do.</p>
+
+<p>I considered using the noop I/O scheduler, as several recommended
+it for SSD, but others recommended deadline and a benchmark I found
+indicated that deadline might be better for interactive use.</p>
+
+<p>I also considered using the 'discard' file system option for ext3
+and ext4, but read that it would give a performance hit ever time a
+file is removed, and thought it best to that that slowdown once a day
+instead of during my work.</p>
+
+<p>My package do not set up tmpfs on /var/run, /var/lock and /tmp, as
+this is already done by Debian Edu.</p>
+
+<p>I have not yet started on the user space tuning. I expect
+iceweasel need some tuning, and perhaps other applications too, but
+have not yet had time to investigate those parts.</p>
+
+<p>The package should work on Ubuntu too, but I have not yet tested it
+there.</p>
+
+<p>As for the answer to the question in the title of this blog post,
+as far as I know, the only solution I know about is to replace the
+disk. It might be possible to flash it with Intel firmware instead of
+the Lenovo firmware. But I have not tried and did not want to do so
+without approval from Lenovo as I wanted to keep the warranty on the
+disk until a solution was found and they wanted the broken disks
+back.</p>
+</div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title"><a href="http://people.skolelinux.org/pere/blog/Intel_SSD_520_Series_180_GB_with_Lenovo_firmware_still_lock_up_from_sustained_writes.html">Intel SSD 520 Series 180 GB with Lenovo firmware still lock up from sustained writes</a></div>
+ <div class="date">10th July 2013</div>
+ <div class="body"><p>A few days ago, I wrote about
+<a href="http://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230_.html">the
+problems I experienced with my new X230 and its SSD disk</a>, which
+was dying during installation because it is unable to cope with
+sustained write. My supplier is in contact with
+<a href="http://www.lenovo.com/">Lenovo</a>, and they wanted to send a
+replacement disk to try to fix the problem. They decided to send an
+identical model, so my hopes for a permanent fix was slim.</p>
+
+<p>Anyway, today I got the replacement disk and tried to install
+Debian Edu Wheezy with encrypted disk on it. The new disk have the
+same firmware version as the original. This time my hope raised
+slightly as the installation progressed, as the original disk used to
+die after 4-7% of the disk was written to, while this time it kept
+going past 10%, 20%, 40% and even past 50%. But around 60%, the disk
+died again and I was back on square one. I still do not have a new
+laptop with a disk I can trust. I can not live with a disk that might
+lock up when I download a new
+<a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> ISO or
+other large files. I look forward to hearing from my supplier with
+the next proposal from Lenovo.</p>
+
+<p>The original disk is marked Intel SSD 520 Series 180 GB,
+11S0C38722Z1ZNME35X1TR, ISN: CVCV321407HB180EGN, SA: G57560302, FW:
+LF1i, 29MAY2013, PBA: G39779-300, LBA 351,651,888, LI P/N: 0C38722,
+Pb-free 2LI, LC P/N: 16-200366, WWN: 55CD2E40002756C4, Model:
+SSDSC2BW180A3L 2.5" 6Gb/s SATA SSD 180G 5V 1A, ASM P/N 0C38732, FRU
+P/N 45N8295, P0C38732.</p>
+
+<p>The replacement disk is marked Intel SSD 520 Series 180 GB,
+11S0C38722Z1ZNDE34N0L0, ISN: CVCV315306RK180EGN, SA: G57560-302, FW:
+LF1i, 22APR2013, PBA: G39779-300, LBA 351,651,888, LI P/N: 0C38722,
+Pb-free 2LI, LC P/N: 16-200366, WWN: 55CD2E40000AB69E, Model:
+SSDSC2BW180A3L 2.5" 6Gb/s SATA SSD 180G 5V 1A, ASM P/N 0C38732, FRU
+P/N 45N8295, P0C38732.</p>
+
+<p>The only difference is in the first number (serial number?), ISN,
+SA, date and WNPP values. Mentioning all the details here in case
+someone is able to use the information to find a way to identify the
+failing disk among working ones (if any such working disk actually
+exist).</p>
+</div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
<div class="entry">
<div class="title"><a href="http://people.skolelinux.org/pere/blog/July_13th__Debian_Ubuntu_BSP_and_Skolelinux_Debian_Edu_developer_gathering_in_Oslo.html">July 13th: Debian/Ubuntu BSP and Skolelinux/Debian Edu developer gathering in Oslo</a></div>
<div class="date"> 9th July 2013</div>
</div>
<div class="padding"></div>
- <div class="entry">
- <div class="title"><a href="http://people.skolelinux.org/pere/blog/Fixing_the_Linux_black_screen_of_death_on_machines_with_Intel_HD_video.html">Fixing the Linux black screen of death on machines with Intel HD video</a></div>
- <div class="date">11th June 2013</div>
- <div class="body"><p>When installing RedHat, Fedora, Debian and Ubuntu on some machines,
-the screen just turn black when Linux boot, either during installation
-or on first boot from the hard disk. I've seen it once in a while the
-last few years, but only recently understood the cause. I've seen it
-on HP laptops, and on my latest acquaintance the Packard Bell laptop.
-The reason seem to be in the wiring of some laptops. The system to
-control the screen background light is inverted, so when Linux try to
-turn the brightness fully on, it end up turning it off instead. I do
-not know which Linux drivers are affected, but this post is about the
-i915 driver used by the
-<a href="http://www.linlap.com/packard_bell_easynote_lv">Packard Bell
-EasyNote LV</a>, Thinkpad X40 and many other laptops.</p>
-
-<p>The problem can be worked around two ways. Either by adding
-i915.invert_brightness=1 as a kernel option, or by adding a file in
-/etc/modprobe.d/ to tell modprobe to add the invert_brightness=1
-option when it load the i915 kernel module. On Debian and Ubuntu, it
-can be done by running these commands as root:</p>
-
-<pre>
-echo options i915 invert_brightness=1 | tee /etc/modprobe.d/i915.conf
-update-initramfs -u -k all
-</pre>
-
-<p>Since March 2012 there is
-<a href="http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4dca20efb1a9c2efefc28ad2867e5d6c3f5e1955">a
-mechanism in the Linux kernel</a> to tell the i915 driver which
-hardware have this problem, and get the driver to invert the
-brightness setting automatically. To use it, one need to add a row in
-<a href="http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/i915/intel_display.c">the
-intel_quirks array</a> in the driver source
-<tt>drivers/gpu/drm/i915/intel_display.c</tt> (look for "<tt>static
-struct intel_quirk intel_quirks</tt>"), specifying the PCI device
-number (vendor number 8086 is assumed) and subdevice vendor and device
-number.</p>
-
-<p>My Packard Bell EasyNote LV got this output from <tt>lspci
--vvnn</tt> for the video card in question:</p>
-
-<p><pre>
-00:02.0 VGA compatible controller [0300]: Intel Corporation \
- 3rd Gen Core processor Graphics Controller [8086:0156] \
- (rev 09) (prog-if 00 [VGA controller])
- Subsystem: Acer Incorporated [ALI] Device [1025:0688]
- Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- \
- ParErr- Stepping- SE RR- FastB2B- DisINTx+
- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- \
- <TAbort- <MAbort->SERR- <PERR- INTx-
- Latency: 0
- Interrupt: pin A routed to IRQ 42
- Region 0: Memory at c2000000 (64-bit, non-prefetchable) [size=4M]
- Region 2: Memory at b0000000 (64-bit, prefetchable) [size=256M]
- Region 4: I/O ports at 4000 [size=64]
- Expansion ROM at <unassigned> [disabled]
- Capabilities: <access denied>
- Kernel driver in use: i915
-</pre></p>
-
-<p>The resulting intel_quirks entry would then look like this:</p>
-
-<p><pre>
-struct intel_quirk intel_quirks[] = {
- ...
- /* Packard Bell EasyNote LV11HC needs invert brightness quirk */
- { 0x0156, 0x1025, 0x0688, quirk_invert_brightness },
- ...
-}
-</pre></p>
-
-<p>According to the kernel module instructions (as seen using
-<tt>modinfo i915</tt>), information about hardware needing the
-invert_brightness flag should be sent to the
-<a href="http://lists.freedesktop.org/mailman/listinfo/dri-devel">dri-devel
-(at) lists.freedesktop.org</a> mailing list to reach the kernel
-developers. But my email about the laptop sent 2013-06-03 have not
-yet shown up in
-<a href="http://lists.freedesktop.org/archives/dri-devel/2013-June/thread.html">the
-web archive for the mailing list</a>, so I suspect they do not accept
-emails from non-subscribers. Because of this, I sent my patch also to
-the Debian bug tracking system instead as
-<a href="http://bugs.debian.org/710938">BTS report #710938</a>, to make
-sure the patch is not lost.</p>
-
-<p>Unfortunately, it is not enough to fix the kernel to get Laptops
-with this problem working properly with Linux. If you use Gnome, your
-worries should be over at this point. But if you use KDE, there is
-something in KDE ignoring the invert_brightness setting and turning on
-the screen during login. I've reported it to Debian as
-<a href="http://bugs.debian.org/711237">BTS report #711237</a>, and
-have no idea yet how to figure out exactly what subsystem is doing
-this. Perhaps you can help? Perhaps you know what the Gnome
-developers did to handle this, and this can give a clue to the KDE
-developers? Or you know where in KDE the screen brightness is changed
-during login? If so, please update the BTS report (or get in touch if
-you do not know how to update BTS).</p>
-</div>
- <div class="tags">
-
-
- Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
-
-
- </div>
- </div>
- <div class="padding"></div>
-
- <div class="entry">
- <div class="title"><a href="http://people.skolelinux.org/pere/blog/Third_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html">Third alpha release of Debian Edu / Skolelinux based on Debian Wheezy</a></div>
- <div class="date">10th June 2013</div>
- <div class="body"><p>The third wheezy based alpha release of Debian Edu was wrapped up
-today. This is the release announcement:</p>
-
-<p><strong>New features for Debian Edu 7.0.0 alpha2 released
-2013-06-10</strong></p>
-
-<p>This is the release notes for for Debian Edu / Skolelinux 7.0.0 edu
-alpha2, based on Debian with codename "Wheezy".</p>
-
-<p><strong>About Debian Edu and Skolelinux</strong></p>
-
-<p><a href="http://www.skolelinux.org/">Debian Edu, also known as
-Skolelinux</a>, is a Linux distribution based on Debian providing an
-out-of-the box environment of a completely configured school
-network. Immediately after installation a school server running all
-services needed for a school network is set up just waiting for users
-and machines being added via GOsa², a comfortable Web-UI. A netbooting
-environment is prepared using PXE, so after initial installation of
-the main server from CD, DVD or USB stick all other machines can be
-installed via the network. The provided school server provides LDAP
-database and Kerberos authentication service, centralized home
-directories, DHCP server, web proxy and many other services. The
-desktop contains
-<a href="http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html">more
-than 60 educational software packages</a> and more are available from
-the Debian archive, and schools can choose between KDE, Gnome, LXDE
-and Xfce desktop environment.</p>
-
-<p>This is the third test release based on Debian Wheezy. Basically
-this is an updated and slightly improved version compared to the
-Squeeze release.</p>
-
-<p><strong>Software updates</strong></p>
-
-<ul>
-
-<li>Iceweasel was updated from 10 to 17. (DSA 2699-1)
-<li>Updated libxv (DSA-2674), libxvmc (DSA-2675), libxfixes (DSA-2676), libxrender (DSA-2677), mesa (DSA-2678), xserver-xorg-video-openchrome (DSA-2679), libxt (DSA-2680), libxcursor (DSA-2681), libxext (DSA-2682), libxi (DSA-2683), libxrandr (DSA-2684), libxp (DSA-2685), libxcb (DSA-2686), libfs (DSA-2687), libxres (DSA-2688), libxtst (DSA-2689), libxxf86dga (DSA-2690), libxinerama (DSA-2691), libxxf86vm (DSA-2692), libx11 (DSA-2693), chromium-browser (DSA-2695), gnutls26 (DSA-2697), wireshark (DSA-2700), krb5 (DSA-2701), telepathy-gabble (DSA-2702) and subversion (DSA-2703).
-<li>Switched xrdp on thin client servers to use tightvncserver instead of xvnc4.
-<li>Now install software oscilloscope xoscope by default.
-<li>Now install music tools gtick, lingot and pianobooster by default.
-
-</ul>
-
-<p><strong>Other changes</strong></p>
-
-<ul>
-
-<li>The subnet-change script is now able to change all files needing a change on the main-server when changing the IP network used.
-<li>Updated translation of the installation.
-<li>New Romanian translation.
-<li>Fix security problem causing root and first user password to no longer show up in /var/cache/debconf/templates.dat.
-<li>Fix roaming workstation setup (Closed in libpam-mklocaluser/0.8, libpam-mklocaluser/0.8~deb7u1: #706753: libpam-mklocaluser: Fail to create local user during first login).
-<li>Made roaming workstation setup more robust in non-Debian Edu environments.
-<li>New script debian-edu-bless to transform a Debian installation to a Debian Edu profile.
-<li>Adjust Iceweasel setup to improve performance when $HOME is on NFS.
-<li>More testsuite tests.
-<li>Make automatic proxy configuration more robust.
-<li>Adjust GOsa² GUI configuration.
-
-<li>Update thin client and diskless workstation setup to work with
-LTSP in Wheezy.</li>
-
-<li>Diskless workstations now run out of the box -- no need to set
-them up with GOsa².</li>
-
-<li>Update IMAP server setup. </li>
-
-<li>Fix login into Skolelinux Backup Tool (Closed in
-slbackup-php/0.4.4-1: #700257: slbackup-php: Fails to submit correctly
-entered password). </li>
-
-</ul>
-
-<p><strong>Known issues</strong></p>
-
-<ul>
-
-<li>DVD binary and source images are not yet ready.</li>
-
-<li>No mass import of user account data in GOsa (ldif or csv)
-available yet (Open in gosa/2.7.4-4: #698840: gosa-plugin-ldapmanager:
-missing import feature).</li>
-
-<li>Missing artwork for the KDE desktop (and probably a few others). </li>
-
-<li>KDE Debian submenu lacks icons (Closed: #502192: menu-xdg: invents
-own icon names instead of using existing). This will remain
-unfixed.</li>
-
-</ul>
-
-<p><strong>Where to get it</strong></p>
-
-<p>To download the multiarch netinstall CD release you can use</p>
-
-<ul>
-
-<li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.0+edu0~a2-CD.iso">ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.0+edu0~a2-CD.iso</a></li>
-
-<li><a href="http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.0+edu0~a2-CD.iso">http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.0+edu0~a2-CD.iso</a></li>
-
-<li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.0+edu0~a2-CD.iso .</li>
-
-</ul>
-
-<p>The MD5SUM of this image is: 27bbcace407743382f3c42c08dbe8178
-<br>The SHA1SUM of this image is: e35f7d7908566cd3075375b3721fa10ee420d419</p>
-
-<p><strong>How to report bugs</strong></p>
-
-<p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a>
-</div>
- <div class="tags">
-
-
- Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
-
-
- </div>
- </div>
- <div class="padding"></div>
-
<p style="text-align: right;"><a href="index.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS feed" width="36" height="14" /></a></p>
<div id="sidebar">
<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
-<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (4)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (6)</a></li>
</ul></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
- <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (81)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (83)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (137)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
- <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (207)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (209)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (21)</a></li>