- <div class="title"><a href="http://people.skolelinux.org/pere/blog/Debian__the_Linux_distribution_of_choice_for_LEGO_designers_.html">Debian, the Linux distribution of choice for LEGO designers?</a></div>
- <div class="date">11th May 2013</div>
- <div class="body"><P>In January,
-<a href="http://people.skolelinux.org/pere/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html">I
-announced a</a> new <a href="irc://irc.debian.org/%23debian-lego">IRC
-channel #debian-lego</a>, for those of us in the Debian and Linux
-community interested in <a href="http://www.lego.com/">LEGO</a>, the
-marvellous construction system from Denmark. We also created
-<a href="http://wiki.debian.org/LegoDesigners">a wiki page</a> to have
-a place to take notes and write down our plans and hopes. And several
-people showed up to help. I was very happy to see the effect of my
-call. Since the small start, we have a debtags tag
-<a href="http://debtags.debian.net/search/bytag?wl=hardware::hobby:lego">hardware::hobby:lego</a>
-tag for LEGO related packages, and now count 10 packages related to
-LEGO and <a href="http://mindstorms.lego.com/">Mindstorms</a>:</p>
-
-<p><table>
-<tr><td><a href="http://packages.qa.debian.org/brickos">brickos</a></td><td>alternative OS for LEGO Mindstorms RCX. Supports development in C/C++</td></tr>
-<tr><td><a href="http://packages.qa.debian.org/leocad">leocad</a></td><td>virtual brick CAD software</td></tr>
-<tr><td><a href="http://packages.qa.debian.org/libnxt">libnxt</a></td><td>utility library for talking to the LEGO Mindstorms NX</td></tr>
-<tr><td><a href="http://packages.qa.debian.org/lnpd">lnpd</a></td><td>daemon for LNP communication with BrickOS</td></tr>
-<tr><td><a href="http://packages.qa.debian.org/nbc">nbc</a></td><td>compiler for LEGO Mindstorms NXT bricks</td></tr>
-<tr><td><a href="http://packages.qa.debian.org/nqc">nqc</a></td><td>Not Quite C compiler for LEGO Mindstorms RCX</td></tr>
-<tr><td><a href="http://packages.qa.debian.org/python-nxt">python-nxt</a></td><td>python driver/interface/wrapper for the Lego Mindstorms NXT robot</td></tr>
-<tr><td><a href="http://packages.qa.debian.org/python-nxt-filer">python-nxt-filer</a></td><td>simple GUI to manage files on a LEGO Mindstorms NXT</td></tr>
-<tr><td><a href="http://packages.qa.debian.org/scratch">scratch</a></td><td>easy to use programming environment for ages 8 and up</td></tr>
-<tr><td><a href="http://packages.qa.debian.org/t2n">t2n</a></td><td>simple command-line tool for Lego NXT</td></tr>
-</table></p>
-
-<p>Some of these are available in Wheezy, and all but one are
-currently available in Jessie/testing. leocad is so far only
-available in experimental.</p>
-
-<p>If you care about LEGO in Debian, please join us on IRC and help
-adding the rest of the great free software tools available on Linux
-for LEGO designers.</p>
+ <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>