LINUX.ORG.RU

Сообщения luminary

 

SanDisk Extreme Portable SSD 500 GB (Модель: sdssde60-500g) - История о том что делать не стоит.

Форум — Linux-hardware

Тема для тех кто решит повторить мой путь. Хотел где-то сохранить, а то в гугле пусто на этот счет.

Пользуюсь я вообщем SSDшниками с портативными системами для разных целей и загрузки их на разных компьютерах. Часто для быстрого удаления и очистки накопителя использовал ATA Secure Erase - фичу из прошлого. И как-то всегда все было гладко, даже с накопителями воткнутыми в USB-Sata Enclosur’ы, пока я не решил повторить такое для этого SSD от SanDisk…

Далее порядок действий что делал и как починил: Девайс: SanDisk Extreme Portable SSD 500 GB (sdssde60-500g)

ВНИМАНИЕ: НИКОГДА НЕ ИСПОЛЬЗОВАТЬ linux + hdparm для Secure Erase !!!

Причина: Диск блокируется без возможности восстановления (нужно разбирать для восстановления).

Подробное описание проблемы: Для очистки диска были выполнены команды в Linux через утилиту hdparm: –security-set-pass … –security-erase … После первой команды диск перешел в режим защиты (как и должен), но на вторую выдал ошибку. После нескольких попыток выполнить очистку, пришлось пытаться его вернуть в исходное состояние, но и тут облом… Дальнейшие попытки его разблокировать так же не работали: hdparm выдавал ошибку SG_IO bad/missing… Далее диск был отключен от компьютера. Для следующих попыток восстановления (на следующий день), диск был подключен к компьютеру (к разным компьютерам и ОС Linux Windows …). Его состояние изменилось на security enabled, locked. А команды hdparm security-* так же выдавали ошибки: SG_IO bad/missing … 70 00 05 00 00 00 00 0a 00 00 00 00 24. Диск зависал в системе на несколько минут после подключения так как было запрещено чтение и запись (Windows тупил, Linux сыпал красными сообщениями в dmesg). При попытках работы с диском возникали ошибки input-output error (т.к. диск заблокирован (locked) на чтение запись и все остальное). Официальная утилита SSD Dashboard от SanDisk диск в системе видела, но не выполняла очистку - говорила что диск запаролен BIOS’ом, просила пароль для начала операции, а далее «Сбой очистки». Live-USB linux-система от SSD Dashboard так же выдавала ошибки и не могла разблокировать или очистить диск. Искал утилиту под Windows на подобии hdparm, но все время натыкался на платный мусор, пока не нашел одну утилитку. Бесплатная утилита TxBENCH для работы с дисками под Windows диск видела, но не могла очистить. Утилита Password Removal от TxBENCH для сброса пароля так же не могла выполнить сброс пароля и разблокировать.

Я немного помучался, вернуть ли его по гарантии (год еще не прошел) или сыграть в рулетку на 7к руб. Подумал что неизвестность что же за косяк я словил перевесила, и я решил разобраться.

Диск был разобран, сам накопитель был отсоединен от слота M2 и подключен к компьютеру со слотом M2-SATA. Выполнить разблокировку через hdparm так же не удалось, снова те же ошибки: SG_IO bad/missing … и 70 00 05 00 00 00 00 0a 00 00 00 00 24. Тут я расстроился, оказалось что косячит SSDшник а не коробка с конвертером интерфейса SATA в USB. При этом заметил что счетчик попыток начал работать верно, тоесть при нескольких попытках ввести пароль или разблокировать диск его состояние менялось с not expired: security count, на expired (это видно в hdparm -I /dev/sdX)…

Загрузил Windows снова попробовал утилитой TxBENCH - появилась возможность запустить очистку Secure Erase, но неудача - ошибка. Снова попробовал выполнить разблокировку через утилиту от TxBENCH для сброса пароля - сработало! Далее назад в утилиту TxBENCH - состояние диска, not locked, security not enabled. Снова попытка выполнить Secure Erase - сработало! Далее попытка выполнить Secure Erase через SSD Dashboard от SanDisk - сработало!

После перезапуска в Linux и проверки состояние в hdparm диск оказался очищен, разблокирован, а безопасность снята. Проблема решена.

Помогла утилита TxBENCH, которая как-то смогла снять блокировку и защиту…

ДОПОЛНИТЕЛЬНО:

  • Для очистки современных SSD есть команда Sanitize - специальная современная функция, нужно использовать ее.
  • Этот SSD от SanDisk очищать только командой Sanitize через Live USB с Linux, созданную в SanDisk Dashboard (программа от WesternDigital). (В самой программе Dashboard процесс Sanitize завершается успешно, но диск остается не очищен… Так же в программе присутствует пункт Secure Erase хотя в Live USB Linux системе написано что это ДЕЛАТЬ НЕЛЬЗЯ, так как этот диск не поддерживает Secure Erase, а нужно делать только Sanitize)

ССЫЛКИ по теме:

 ,

luminary
()

FlightGear

Форум — Games

 ,

luminary
()

(Пере-)нумерация разделов на диске.

Форум — General

На HDD с MS-DOS MBR можно разместить не более 4х основных разделов, т.к. имеется 4 участка памяти (если не ошибасюь по 16 байт).
В Linux они нумеруются как sdX1, sdX2, sdX3, sdX4. Если сами разделы будут расположены не по порядку (первая запись о разделе, будет содержать информацию о разделе расположенном в конце диска; а последняя запись о разделе будет содержать информацию о разделе расположенном в начале диска), то в Linux (в программах для работы с дисками) они будут отображаться как:
/dev/sdX4
/dev/sdX2
/dev/sdX3
/dev/sdX1

Вопрос:
Как правильно перенумеровать разделы, без переноса тех 16 байтовых участков памяти?
Чем это можно сделать «просто»?

 , , , ,

luminary
()

Убрать рамку в GRUB2.

Форум — General

Как убрать рамку в GRUB2?
Надо сделать вид в убунтовом GRUB'е таким же как в Fedora...

Вот из такого: http://cdn3.howtogeek.com/wp-content/uploads/2011/02/sshot-3.png
Сделать такое: http://i985.photobucket.com/albums/ae339/nkpnsw/Screenshot-290314-111719_zpse...
(без фона цветов и т.п., просто минималистичный вид, без надписей и уродской рамки).

Поковыряв исходники GRUB2 в Fedora и Ubuntu выяснил что в Fedora добавлены патчи:
1) 0470-Don-t-draw-a-border-around-the-menu.patch

From 7e4ef1b81a27e6e69e5e615a38f9ec10137f43e6 Mon Sep 17 00:00:00 2001
From: William Jon McCann <william.jon.mccann@gmail.com>
Date: Wed, 15 May 2013 16:47:33 -0400
Subject: [PATCH 470/482] Don't draw a border around the menu

It looks cleaner without it.
---
 grub-core/normal/menu_text.c | 38 --------------------------------------
 1 file changed, 38 deletions(-)

diff --git a/grub-core/normal/menu_text.c b/grub-core/normal/menu_text.c
index b6ec32a..faf1d3e 100644
--- a/grub-core/normal/menu_text.c
+++ b/grub-core/normal/menu_text.c
@@ -108,42 +108,6 @@ grub_print_message_indented (const char *msg, int margin_left, int margin_right,
   grub_print_message_indented_real (msg, margin_left, margin_right, term, 0);
 }
 
-static void
-draw_border (struct grub_term_output *term, const struct grub_term_screen_geometry *geo)
-{
-  int i;
-
-  grub_term_setcolorstate (term, GRUB_TERM_COLOR_NORMAL);
-
-  grub_term_gotoxy (term, geo->first_entry_x - 1, geo->first_entry_y - 1);
-  grub_putcode (GRUB_UNICODE_CORNER_UL, term);
-  for (i = 0; i < geo->entry_width + 1; i++)
-    grub_putcode (GRUB_UNICODE_HLINE, term);
-  grub_putcode (GRUB_UNICODE_CORNER_UR, term);
-
-  for (i = 0; i < geo->num_entries; i++)
-    {
-      grub_term_gotoxy (term, geo->first_entry_x - 1, geo->first_entry_y + i);
-      grub_putcode (GRUB_UNICODE_VLINE, term);
-      grub_term_gotoxy (term, geo->first_entry_x + geo->entry_width + 1,
-                       geo->first_entry_y + i);
-      grub_putcode (GRUB_UNICODE_VLINE, term);
-    }
-
-  grub_term_gotoxy (term, geo->first_entry_x - 1,
-                   geo->first_entry_y - 1 + geo->num_entries + 1);
-  grub_putcode (GRUB_UNICODE_CORNER_LL, term);
-  for (i = 0; i < geo->entry_width + 1; i++)
-    grub_putcode (GRUB_UNICODE_HLINE, term);
-  grub_putcode (GRUB_UNICODE_CORNER_LR, term);
-
-  grub_term_setcolorstate (term, GRUB_TERM_COLOR_NORMAL);
-
-  grub_term_gotoxy (term, geo->first_entry_x - 1,
-                   (geo->first_entry_y - 1 + geo->num_entries
-                    + GRUB_TERM_MARGIN + 1));
-}
-
 static int
 print_message (int nested, int edit, struct grub_term_output *term, int dry_run)
 {
@@ -396,8 +360,6 @@ grub_menu_init_page (int nested, int edit,
 
   grub_term_normal_color = grub_color_menu_normal;
   grub_term_highlight_color = grub_color_menu_highlight;
-  if (geo->border)
-    draw_border (term, geo);
   grub_term_normal_color = old_color_normal;
   grub_term_highlight_color = old_color_highlight;
   geo->timeout_y = geo->first_entry_y + geo->num_entries
-- 
1.8.2.1

2) 0469-Don-t-print-GNU-GRUB-header.patch
From e600b91cdae6a5e2bbf93f4062a2d005cd5681f3 Mon Sep 17 00:00:00 2001
From: William Jon McCann <william.jon.mccann@gmail.com>
Date: Wed, 15 May 2013 13:53:48 -0400
Subject: [PATCH 469/482] Don't print GNU GRUB header

No one cares.
---
 grub-core/normal/main.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c
index 70f6162..3344e0a 100644
--- a/grub-core/normal/main.c
+++ b/grub-core/normal/main.c
@@ -251,6 +251,7 @@ grub_normal_init_page (struct grub_term_output *term,
  
   grub_term_cls (term);
 
+#if 0
   msg_formatted = grub_xasprintf (msg, PACKAGE_VERSION);
   if (!msg_formatted)
     return;
@@ -274,6 +275,7 @@ grub_normal_init_page (struct grub_term_output *term,
   grub_putcode ('\n', term);
   grub_putcode ('\n', term);
   grub_free (unicode_msg);
+#endif
 }
 
 static void
-- 
1.8.2.1


Соответственно что бы убрать рамку, нужно либо пропатчить GRUB2 в Ubuntu, либо установить левую тему...

Если не ошибаюсь то за отображение меню в GRUB отвечает модуль normal.mod, заменив который, возможно, вид изменится.

Главное я понял что не проглядел параметры отвечающие за отображение меню GRUB, и мне стало ясно «как там все работает».

Изменив вид, отмечу тему как решенную.

 ,

luminary
()

Через раз работает клавиатура и тачпад на ASUS Eee PC 1225B.

Форум — Linux-hardware

Имею недоноутбук: ASUS Eee PC 1225B.
Периодически при включении питания (загрузка ОС, выход из спящего режима и т.п.) у него не работают клавиатура и тачпад. Вебка, вайфай при этом работают. Так же работают внешние клавитуры/мыши, подключенные по USB.
До загрузки, в GRUB, клавиатура работает, после загрузки - уже нет.
Случается из раза в раз, после нескольких перезагрузок и отключения питания от сети проблема исчезает.
При возникновении проблемы, любое выключение и перезагрузка приводит к зависанию компьютера на последней стадии выключения (когда должно выключится питание и погаснуть все лампочки).
Клавиатура и тачпад как то связаны с i8042 (не знаю что это за контроллер).
DSDT выковыривал, пересобрал, были 2 ошибки с синтаксисом... Но на этом остановился т.к. никогда с DSDT не сталкивался.
acpi_os_name=«Microsoft Windows NT» пробовал передавать ядру - эффекта ноль. Все как работало багнуто так и работает (в DSDT такая запись была) (кстати в DSDT было еще куча записей, включая FreeBSD, Linux, Microsoft Windows, и Windows 2009, Windows 2006, и т.п. - это так к слову).
Прописал acpi=off: несколько перезагрузок - работает только клавиатура.

  • lsusb - не видит устройства. Поправка, устройства кажется не USB, а PS/2 работающие через контроллер i8042.
  • В /dev/input/by-id их тоже соответственно нет.
  • dmesg | grep input не выдает ничего, говорящего о том что девайсы есть.
  • В предустановленной винде, да и вообще в винде такого никогда не было.
  • Проблема не появилась недавно, так было всегда в Linux. (Любые современные распространенные дистрибутивы)


Вопрос что может быть не так и как это исправить?

P.S. Сейчас перед ноутом, могу выдать логи чего-нибудь...

 , ,

luminary
()

POP

Форум — General

Здравствуйте! Подскажите пожалуйста существует ли реализация (пусть даже на самом примитивном уровне) пакета офисных программ на языке Python? Желательно полный набор, но основное это тестовый и табличный процессор. Также интересует браузер на pure-python. Это вот 2 основные программы времени на которые у нас нет а найти существующие решения пока не удалось.

Дело в том, что я и 2 мои друга делаем ОС на основе ядра Linux основанную исключительно на программах написанных на языке Python (Python OS Project или сокращенно - POP). Скоро будет готова альфа версия доступная для тестирования (там пока еще не все на питоне но большая часть, в том числе базовая система), в том числе инсталлятор.

Сразу хочу ответить товарищам, кто будет кричать, что python - это тормозное говно. Как показывают наши бенчмарки скорость работы и отзывчивость системы ничем не хуже того же Арча. А некоторые приложения работают даже быстрее. Если кому-то интересна система - в ближайшее время, после выхода публичной версии мы будем приглашать заинтересовавшихся разработчиков, готовых помочь в нашем проекте и еще глубже изучить такой замечательный язык как Python.

В наших планах обогнать по популярности Ubuntu и со временем занять доминирующее положение на рынке операционных систем.

p.s. Вот кстати говорят, что GNU/Linux это операционная система с открытым исходным кодом и любой может ее поправить, то что ему не нравиться. На деле же, это как правило очень сложно. Т.к. толко “въехать” в такой большой проект как ядро Linux нужно несколько дней а то и больше. С ОС же на чистом питоне - поменять что-то можно очень быстро и даже не заморачиваться компиляцией, именно поэтому наш проект является по настоящему Open-Source.

 , ,

luminary
()

Resize картинок разного размера и соотношения сторон.

Форум — Multimedia

Доброго дня. Имеется задача изменить размер нескольких сотен тысяч изображений. Да не просто изменить а сделать это так что бы изображение не получилось меньше установленного предельного размера. Пример: pic1 WxH=400x300px pic2 WXH=300x300px Нужно уменьшить до 40x30px

С первым нет проблем, но второе имеет другое соотношение сторон. Поэтому второе должно быть уменьшено таким образом что бы ни одна из сторон не стала меньше установленного предела (40x30px) соответственно второе изображение должно уменьшиться до 40x40px. Исходные изображения могут иметь разные размеры, ориентацию и соотношение сторон.

Собственно вопрос: чем это можно сделать? Особенно хочется отметить консольность такой аппки т.к. большое кол-во файликов GUI'овый софт не вытянет...

P.S. В основном интересует софтина для ресайза с описанным условием, остальное можно заскриптовать. Файлы: jpg|png

 ,

luminary
()

Google Chrome выключает звук в TvTime

Форум — Multimedia

Давно не могу побороть одну проблему связанную с ТВ-карточкой.

Дано: BeholdTV 403 FM (saa7134). Звук идет через saa7134_alsa (если не ошибаюсь то это по PCI). Просмотр каналов осуществляется через TvTime. Звук вывожу 2мя способами: 1) PulseAudio + module-loopback ... 2) arecord -d hw:N,M | aplay ...

Проблема: при запуске (только) Google Chrome/Chromium вырубается звук с ТВ карты. Для восстановления звука достаточно переключить каналы вперед-назад и все начинает работать. При запуске любых других программ, воспроизводящих звук, такого не происходит (Clementine/и тп). При запуске Chrom'а звук пропадает не в системе а только с ТВ карты.

Метод научного тыка: 1) strace + google-chrome мне ничего не дали по крайней мере я не нашел ничего интересного. 2) Если запустить воспроизведение через arecord и воспроизвести проблему с отключением звука, а после перезапустить вывод звука через arecord - звука все равно нет. Переключив каналы - все начинает работать.

Не знаю полной картины работы звука в Linux => не могу понять в чем дело, как обнаружить и исправить проблему. Давно не могу побороть эту проблему нужна помощь.

Linux: да любой, за 2 года ничего не поменялось. Что на 2.6, что на >3.1 ничего не меняется. Дистрибутив: Fedora|Ubuntu.

 ,

luminary
()

RSS подписка на новые темы