Witam ponownie.
Powracam niestety z moim błędem dotyczącym przemontowywania partycji EXT4 w tryb read-only.
Dla przypomnienia sprawa dotyczy netbooka asus 1201n BIOS 0326 z dyskiem Hitachi HTS545032B9A300. Obecnie mam zainstalowane Kubuntu 12.10 kernel 21.2. Również dla przypomnienia napiszę, że odkąd mam (pamiętam) tego netbooka na linuxie trapił mnie problem pseudo-losowych (czasem raz na tydzień czasem parę razy dziennie) dziwnych zawieszeń, freez' ów dysku na paręnaście sekund i podobnych do tych błędów w dmesg:
Kod: Zaznacz cały
ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x19d0000 action 0x6 frozen
ata1.00: cmd ea/00:00:00:00:00/00:00:00:00:00/a0 tag 0
res 40/00:00:00:4f:c2/00:01:00:00:00/00 Emask 0x4 (timeout)
ata1: hard resetting link
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata1.00: configured for UDMA/133
ata1.00: retrying FLUSH 0xea Emask 0x4
ata1.00: device reported invalid CHS sector 0
ata1: EH complete
Niestety od jakiegoś czasu oprócz tych błędów dochodzi jeszcze przemontowywanie partycji EXT4 w tryb read-only. Piszę że od jakiegoś czasu bo jak już pisałem myślałem najpierw że to wina kernela 21.1 ale jak wróciłem do 21.0 dalej było to samo. Wyłączyłem Zram i dalej to samo i teraz na 21.2 znowu dziś przemontowało mi partycje w tryb read-only jak laptop wstawał z hibernacji. Może to wina jakiś plików konfiguracyjnych w samym Kubuntu 12.10 bo na 100% nie przemontowało mi nigdy partycji w tryb read-only na Kubuntu 12.04?
Na
https://bugs.launchpad.net/ubuntu/+sour ... bug/379831 znalazłem potwierdzenie, że sprawa dotyczy również innych sprzętów z tym samym dyskiem twardym niestety porada tam zawarta (stara i może dlatego):
Kod: Zaznacz cały
I found out that it is also possible to use the libata option "force=noncq". It may be implemented under Debian (and Ubuntu perhaps too, I don't have it so please verify) by adding the line
libata force=noncq
to the file "/etc/initramfs-tools/modules" and then doing a "update-initramfs -u".
Further more I created a new file "options.conf" in the directory "/etc/modprobe.d" with the line
options libata force=noncq
in it and then rebooted. My linux then booted without the mysterious SATA errors in AHCI mode. I have a Hitachi Disk HTS545032B9A300 in my 3810T.
I don't know which option is better "libata noacpi=1" or "libata force=noncq". Found the clue for disabling NCQ on a website: http://lkml.indiana.edu/hypermail/linux/kernel/0706.1/0237.html .Probably not all hard disk drives support the NCQ (Native command queuing, see Wikipedia http://en.wikipedia.org/wiki/Native_command_queuing). If someone knows more, thanks for telling me.
Remark: For adding the kernel boot parameters it did not work for me to just add "libata.force=noncq" or "libata.noacpi=1" to the grub parameters. It did not recognize the option and ignored it. This is why I did the "more complicated" way described above, works also if you prefer using the noacpi=1 variant.
nie pomaga to znaczy przed tą operacją mój dmesg | grep -i EXT4 wygląda tak:
Kod: Zaznacz cały
EXT4-fs (sda7): mounted filesystem with ordered data mode. Opts: (null)
EXT4-fs (sda7): re-mounted. Opts: errors=remount-ro
EXT4-fs (sda6): mounted filesystem with ordered data mode. Opts: (null)
EXT4-fs (sda7): re-mounted. Opts: errors=remount-ro,commit=600
EXT4-fs (sda7): re-mounted. Opts: errors=remount-ro,commit=600
i po zastosowaniu "libata force=noncq" dmesg wygląda dokładnie tak samo
Kod: Zaznacz cały
EXT4-fs (sda7): mounted filesystem with ordered data mode. Opts: (null)
EXT4-fs (sda7): re-mounted. Opts: errors=remount-ro
EXT4-fs (sda6): mounted filesystem with ordered data mode. Opts: (null)
EXT4-fs (sda7): re-mounted. Opts: errors=remount-ro,commit=600
EXT4-fs (sda7): re-mounted. Opts: errors=remount-ro,commit=600
Czyli na mój gust "ordered data mode" sugeruje że NCQ jest cały czas wyłączone?
W danych smart też niczego podejrzanego nie widzę
Kod: Zaznacz cały
sudo smartctl -a /dev/sda
smartctl 5.43 2012-06-30 r3573 [x86_64-linux-3.6.6-ext73-f1-21.2-atom-ags-cfs] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Model Family: Hitachi Travelstar 5K500.B
Device Model: Hitachi HTS545032B9A300
Serial Number: 100223PBPC001DCGLUDL
LU WWN Device Id: 5 000cca 5eec6a3d7
Firmware Version: PB3OC60N
User Capacity: 320,072,933,376 bytes [320 GB]
Sector Size: 512 bytes logical/physical
Device is: In smartctl database [for details use: -P show]
ATA Version is: 8
ATA Standard is: ATA-8-ACS revision 6
Local Time is: Sat Nov 10 10:54:24 2012 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 645) seconds.
Offline data collection
capabilities: (0x5b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 106) minutes.
SCT capabilities: (0x003d) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 100 100 062 Pre-fail Always - 0
2 Throughput_Performance 0x0005 100 100 040 Pre-fail Offline - 0
3 Spin_Up_Time 0x0007 173 173 033 Pre-fail Always - 2
4 Start_Stop_Count 0x0012 096 096 000 Old_age Always - 7435
5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0
7 Seek_Error_Rate 0x000b 100 100 067 Pre-fail Always - 0
8 Seek_Time_Performance 0x0005 100 100 040 Pre-fail Offline - 0
9 Power_On_Hours 0x0012 091 091 000 Old_age Always - 4299
10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 098 098 000 Old_age Always - 4318
191 G-Sense_Error_Rate 0x000a 100 100 000 Old_age Always - 65536
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 82
193 Load_Cycle_Count 0x0012 092 092 000 Old_age Always - 89853
194 Temperature_Celsius 0x0002 183 183 000 Old_age Always - 30 (Min/Max 11/48)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Always - 0
223 Load_Retry_Count 0x000a 100 100 000 Old_age Always - 0
SMART Error Log Version: 1
ATA Error Count: 5
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.
Error 5 occurred at disk power-on lifetime: 3869 hours (161 days + 5 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
10 51 01 f0 9d b6 e0 Error: IDNF 1 sectors at LBA = 0x00b69df0 = 11967984
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
25 20 01 f0 9d b6 e0 08 00:01:05.800 READ DMA EXT
25 20 01 00 00 00 e0 08 00:01:05.700 READ DMA EXT
c6 00 10 01 00 00 ef 08 00:01:05.700 SET MULTIPLE MODE
91 20 3f 01 00 00 ef 08 00:01:05.700 INITIALIZE DEVICE PARAMETERS [OBS-6]
10 20 01 01 00 00 e0 08 00:01:05.400 RECALIBRATE [OBS-4]
Error 4 occurred at disk power-on lifetime: 3869 hours (161 days + 5 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
10 51 01 f0 9d b6 e0 Error: IDNF 1 sectors at LBA = 0x00b69df0 = 11967984
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
25 20 01 f0 9d b6 e0 08 00:00:25.400 READ DMA EXT
25 20 01 00 00 00 e0 08 00:00:25.300 READ DMA EXT
c6 00 10 01 00 00 ef 08 00:00:25.300 SET MULTIPLE MODE
91 20 3f 01 00 00 ef 08 00:00:25.300 INITIALIZE DEVICE PARAMETERS [OBS-6]
10 20 01 01 00 00 e0 08 00:00:25.300 RECALIBRATE [OBS-4]
Error 3 occurred at disk power-on lifetime: 3869 hours (161 days + 5 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
10 51 01 f0 9d b6 e0 Error: IDNF 1 sectors at LBA = 0x00b69df0 = 11967984
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
25 20 01 f0 9d b6 e0 08 00:51:09.300 READ DMA EXT
25 20 01 00 00 00 e0 08 00:51:09.300 READ DMA EXT
c6 00 10 01 00 00 ef 08 00:51:09.300 SET MULTIPLE MODE
91 20 3f 01 00 00 ef 08 00:51:09.300 INITIALIZE DEVICE PARAMETERS [OBS-6]
10 20 01 01 00 00 e0 08 00:51:09.300 RECALIBRATE [OBS-4]
Error 2 occurred at disk power-on lifetime: 3869 hours (161 days + 5 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
10 51 01 f0 9d b6 e0 Error: IDNF 1 sectors at LBA = 0x00b69df0 = 11967984
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
25 20 01 f0 9d b6 e0 08 00:51:08.100 READ DMA EXT
25 20 01 00 00 00 e0 08 00:51:08.000 READ DMA EXT
c6 00 10 01 00 00 ef 08 00:51:08.000 SET MULTIPLE MODE
91 20 3f 01 00 00 ef 08 00:51:08.000 INITIALIZE DEVICE PARAMETERS [OBS-6]
10 20 01 01 00 00 e0 08 00:51:07.700 RECALIBRATE [OBS-4]
Error 1 occurred at disk power-on lifetime: 3869 hours (161 days + 5 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
10 51 01 f0 9d b6 e0 Error: IDNF 1 sectors at LBA = 0x00b69df0 = 11967984
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
25 20 01 f0 9d b6 e0 08 00:50:54.300 READ DMA EXT
25 20 01 00 00 00 e0 08 00:50:54.300 READ DMA EXT
c6 00 10 01 00 00 ef 08 00:50:54.300 SET MULTIPLE MODE
91 20 3f 01 00 00 ef 08 00:50:54.300 INITIALIZE DEVICE PARAMETERS [OBS-6]
10 20 01 01 00 00 e0 08 00:50:54.300 RECALIBRATE [OBS-4]
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 3358 -
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
Teraz moje podejżenie pada na tą linijkę z dmesg
EXT4-fs (sda7): re-mounted. Opts: errors=remount-ro,commit=600
da radę gdzieś zmienić Opts: errors=remount-ro na Opts: errors=remount-rw?