Ubuntu 12.04 SSD root frequent random read only file system
I really need your help. I've got Dell Inspiron 1545 with 8GB of RAM and Sandisk Extreme 240GB SSD. The disk is seperated into three partitions, /root, /swap - 8GB, /home
blkid:
/dev/sda1: UUID="7cd24cc2-ad1a-4601-944a-b958c002c09b" TYPE="ext4"
/dev/sda3: UUID="2cce638f-c3fd-44e8-8787-e2df10f7b593" TYPE="ext4"
/dev/sda5: UUID="27fa814e-c4e8-4622-b115-bb1f3537971e" TYPE="swap"
/dev/zram0: UUID="a286239a-f0bc-405d-b355-e4c8f7db29da" TYPE="swap"
I keep having random system problems which force me to restart and when I do that, on boot it goes through File System checks and asks me to press f to fix errors. I checked the drive for bad sectors and errors, it was clean, as well as S.M.A.R.T. report and could not see any problems. I've reinstalled the os and the problem is still happening. It happens at random and sometimes during high disk usage or just after a normal shutdown.
Here my fstab, I've modified it in hope it would help but the it didn't change much:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
# / was on /dev/sda1 during installation
UUID=7cd24cc2-ad1a-4601-944a-b958c002c09b / ext4 discard,noat$
# /home was on /dev/sda3 during installation
UUID=2cce638f-c3fd-44e8-8787-e2df10f7b593 /home ext4 discard,noat$
# swap was on /dev/sda5 during installation
UUID=27fa814e-c4e8-4622-b115-bb1f3537971e none swap sw $
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
I've been googling for last week and a half about this problem and still cannot find a way to fix it. Some people saying that the problem is cause by the kernel update and the ext4 file system.
uname -a:
Linux juri-laptop 3.5.0-25-generic #39~precise1-Ubuntu SMP Tue Feb 26 00:11:13 UTC 2013 i686 i686 i386 GNU/Linux
I'm not an expert in Linux, so please be gentle with me on some command and reports.
Thank you in advance guys.
Juri
edited - better copy of fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
# / was on /dev/sda1 during installation
UUID=7cd24cc2-ad1a-4601-944a-b958c002c09b / ext4 discard,noatime,nodiratime,errors=remount-ro 0 1
# /home was on /dev/sda3 during installation
UUID=2cce638f-c3fd-44e8-8787-e2df10f7b593 /home ext4 discard,noatime,nodiratime,defaults 0 2
# swap was on /dev/sda5 during installation
UUID=27fa814e-c4e8-4622-b115-bb1f3537971e none swap sw 0 0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
Here are some snippits of my dmesg log, hopefully this might shed some light on the problem. I've search "error" in the file and here is what I've got:
[ 4.167274] EXT4-fs warning (device sda1): ext4_clear_journal_err:4407: Filesystem error recorded from previous mount: IO failure
[ 4.167278] EXT4-fs warning (device sda1): ext4_clear_journal_err:4408: Marking fs in need of filesystem check.
[ 9.487927] EXT4-fs (sda1): re-mounted. Opts: discard,errors=remount-ro
[ 24.081103] ERROR @wl_cfg80211_get_station : Could not get rate (-1)
[ 24.081110] ERROR @wl_cfg80211_get_station : Could not get rssi (-1)
[ 24.081115] ERROR @wl_cfg80211_get_station : Could not get rate (-1)
[ 24.081117] ERROR @wl_cfg80211_get_station : Could not get rssi (-1)
[ 24.081122] ERROR @wl_dev_intvar_get : error (-1)
[ 24.081124] ERROR @wl_cfg80211_get_tx_power : error (-1)
[ 42.749595] res 51/40:20:e8:68:5d/00:00:07:00:00/40 Emask 0x409 (media error) <F>
[ 42.749600] ata1.00: error: { UNC }
[ 42.770408] Sense Key : Medium Error [current] [descriptor]
[ 42.770434] Add. Sense: Unrecovered read error - auto reallocate failed
[ 42.770448] end_request: I/O error, dev sda, sector 123562216
OK guys, here it goes. I think it's been solved now, all thanks to hours of googling, testing and stubbornness.
As I've mentioned above, I've fixed the read only filesystem problem by upgrading my Kernel to 3.8.2 but then it caused problems with my wifi drivers (Broadcom Corporation BCM4312 802.11b/g LP-PHY [14e4:4315] (rev 01)). I could not get the wifi working as it seemed to be the problem with the wl module.
Nevertheless, I've found this article (http://www.mindwerks.net/2012/06/wireless-bcm4312-with-the-3-4-and-3-5-kernel/), which helped me fix the wifi problem. So I've decided to give kernel 3.8.2 one more try with the wifi fix and it worked.
To summarise:
If you have read only filesystem issues and nothing is working, check what version of kernel you are running uname -a
. If its below 3.8.2 then upgrade to it by following these steps:
The simplest set of instructions I always used for kernel upgrade / downgrade are by ubuntuforums.org user by the name of lykwydchykyn (url modified by me for this post):
Go here: http://kernel.ubuntu.com/~kernel-ppa/mainline/ Download 3 (maybe 4) debs to a folder somewhere: linux-headers-VERSION-NUMBER_all.deb linux-headers-VERSION-NUMBER_amd64.deb linux-image-VERSION-NUMBER_amd64.deb linux-image-extra-VERSION-NUMBER_amd64.deb # if available Install the debs with whatever package manager front-end you use (is gdebi still around?), or use these commands: cd /path/to/folder/where/you/put/the/debs sudo dpkg -i *.deb
Source: http://ubuntuforums.org/showthread.php?p=11391743#post11391743
If you have wifi problems after upgrading the kernel. Then try these steps:
Download the 32 or 64-bit version: http://www.broadcom.com/support/802.11/linux_sta.php Download my patches: bc_wl_abiupdate.patch and switch_to.patch Extract the sources: cd ~/Downloads; mkdir -p wl; cd wl; tar xf ../hybrid-portsrc*.tar.gz Patch and compile the sources: patch -p0 src/wl/sys/wl_linux.c < ~/Downloads/switch_to.patch; patch -p0 src/wl/sys/wl_linux.c < ~/Downloads/bc_wl_abiupdate.patch; make; sudo make install; sudo depmod; sudo modprobe wl
Give Ubuntu a few seconds after loading the “wl” kernel module, then eventually the Network Manager will start looking for wireless networks.
That's it, should work.
Good luck to all of you.