Author | Message |
---|
Eltaron Заслуженный участник форума
Joined: 13 Jan 2009 Posts: 280
Location: Екатеринбург
| Posted: 25.06.2010 13:09 | |
| Внимание! Все написанное ниже тестировалось только с контроллером дисплея Apollo PVI-6001! Как поведет себя с контроллером Epson - неизвестно. В любом случае автор не несет никакой отвественности ни за что Но старался всё сделать наиболее безопасным для применения.
Что такое вейвформы?
Вейвформ (waveform, WF) - это последовательность изменений напряжения, которую нужно подать на экран, чтобы стереть или вывести на него изображение. Технология производства eink-дисплеев еще настолько сыра, что параметры полученных экранов очень разнятся между собой. Чтобы заставить изображение на них выглядеть более-менее одинаково, производитель к каждой партии дисплеев прилагает уникальный набор вейвформ.
Где хранятся вейвформы?
В отдельной микросхеме памяти (обычно NOR flash), подключенной напрямую к контроллеру дисплея. Обычный размер вейвформ - 64 килобайта ровно.
Для чего нужно менять WF?
Первый случай, когда WF нужно менять практически в обязательном порядке - это смена дисплея. Особенно если менялся старый ED060SC1 на новые ED060SC3/4. Еще можно поиграться со сменой вейвформ тогда, когда изображение на дисплее имеет явные артефакты при перелистывании. Некоторые наборы вейвформ можно найти в этой теме
Как читать/писать WF
В рамках проекта eb600utils я написал утилиты для работы с WF. Скачать их можно по ссылке - http://ifolder.ru/18302327 Запуск выполняется прямо на книжке. Два варианта:
Вариант простой - используя средства для запуска скриптов, которые предоставляет книжка (см. раздел ниже)
Вариант сложный - через подключенный дата-кабель. Подробности его подключения - в теме по дебрикингу. Нужно получить доступ к linux-консоли и прямо там выполнить нужные команды. Учтите, что модуль экрана - einkfb.ko - должен быть загружен.
Чтение WF
Для чтения используется команда wfdump синтаксис - Code: | wfdump -s address -l length /dev/fb0 waveform.bin |
где address - адрес первого байта читаемого блока, length - его длина (оба параметра могут быть как в десятичном, так и в 16ричном виде), /dev/fb0 - имя устройства экрана, waveform.bin - файл, в который будут записанны считанные данные. По умолчанию address = 0x0000, length = 0x10000, то есть читаются первые 64кб флэш-памяти - как раз то место, где вейвформы и хранятся.
Запись WF
Во-первых, сто раз подумайте, прежде чем что-то записывать. Обязательно сделайте бэкап старых вейвформ. Для записи используется команда wfwrite с синтаксисом
Code: | wfwrite -s address /dev/fb0 waveform.bin |
где address - адрес в памяти, по которому нужно писать WF, /dev/fb0 - устройство экрана, waveform.bin - файл с данными WF. Файл пишется весь полностью начиная с указанного адреса
Примеры использования
Читаем вейвформу
Code: | wfdump -s 0 -l 0x10000 /dev/fb0 waveform.bin |
Для PocketBook - читаем серийник
Code: | wfdump -s 0x1F0000 -l 800 /dev/fb0 sn.bin |
Пишем вейвформу
Code: | wfwrite -s 0x0000 /dev/fb0 waveform.bin | , где waveform.bin - файл длиной 64 килобайта
Где взять исходный код программ?
На странице проекта eb600utils на SourceForge
А если у меня контроллер Epson?
Действуйте на свой страх и риск. Судя по коду ядра, Epson работает через эмуляцию PVI, и все должно работать, но черт его знает. Лучше попробуйте взять norread и norwrite из небезызвестного FB-TO-PB.EXE (ссылку не даю, разумеется ) UPD: на Epson работать не будет, более того, книжка умрет. Подробней
Приложение A - запуск программ "простым" методом
Простой метод, т.е. без припаивания терминального кабеля. Способ работает на Explay, Orsio и некоторых других устройствах. Не работает на PocketBook (кто знает, как запустить на PB скрипт с правами root - пишите).
Чтение вейвформ - качаем архив и распаковываем прямо в корень SD-карты (точно так же, как при обновлении прошивки). Включаем устройство, ждем окончания загрузки, выключаем. В корне карты появился файл waveform_backup.bin - это и есть наши WF. После этого файлы update_kernel и wfdump желательно удалить с SD-карты, иначе чтение вейвформ будет выполняться при каждом включении книжки.
Заключение
to be continued... (в т.ч. готовые скрипты для запуска без терминального кабеля) Просьба тем, кому вышенаписанное интересно, отписаться о результатах тестирования и выложить дампы своих вейвформ.[/url] _________________ Siemens C55 + ReadManiac -> Siemens SX1 + BReader -> Fujitsu-Siemens Pocket Loox 720 + Haali Reader -> Explay TXT.BOOK 3.0
Last edited by Eltaron on 21.07.2010 18:53; edited 4 times in total |
|
| |
Eltaron Заслуженный участник форума
Joined: 13 Jan 2009 Posts: 280
Location: Екатеринбург
| Posted: 26.06.2010 21:09 | |
| Ну раз никто пока не рискнул, вот вейвформы от покетбука, вытащенные из их прошивок - http://dl.dropbox.com/u/4166599/waveforms.zip там и для старых, и для новых экранов _________________ Siemens C55 + ReadManiac -> Siemens SX1 + BReader -> Fujitsu-Siemens Pocket Loox 720 + Haali Reader -> Explay TXT.BOOK 3.0 |
|
| |
Antuan Член клуба The eBook
Joined: 30 Sep 2009 Posts: 11643
Location: Киев
| Posted: 26.06.2010 21:24 | |
| Eltaron Я рискнул, но у меня EB500, потому ни чего не получилось, одни нули записались. Попробовал также nordump, что-то сохранилось. Сравнил с теми, что Вы выложили, совершенно не то. _________________ PB 360° (v.15.3) | PB Pro 602 Grey (v.2.2.1a fastdrv) | PB A7 (v.1.3.1583) - подарок от PocketBook. |
|
| |
Eltaron Заслуженный участник форума
Joined: 13 Jan 2009 Posts: 280
Location: Екатеринбург
| Posted: 26.06.2010 21:39 | |
| Antuan wrote: | Eltaron Я рискнул, но у меня EB500, потому ни чего не получилось, одни нули записались. Попробовал также nordump, что-то сохранилось. Сравнил с теми, что Вы выложили, совершенно не то. |
а как, консольный кабель припаян? wfdump при работе никаких ошибок не выводила? _________________ Siemens C55 + ReadManiac -> Siemens SX1 + BReader -> Fujitsu-Siemens Pocket Loox 720 + Haali Reader -> Explay TXT.BOOK 3.0 |
|
| |
Antuan Член клуба The eBook
Joined: 30 Sep 2009 Posts: 11643
Location: Киев
| Posted: 26.06.2010 22:11 | |
| Eltaron wrote: | а как, консольный кабель припаян? |
Без кабеля, я использовал программу poterm.app, это виртуальный терминал для покетов.
Eltaron wrote: | wfdump при работе никаких ошибок не выводила? |
Нет, отработал без ошибок и бодро сообщил, что данные сохранены, но открыв файл увидел одни нули. _________________ PB 360° (v.15.3) | PB Pro 602 Grey (v.2.2.1a fastdrv) | PB A7 (v.1.3.1583) - подарок от PocketBook. |
|
| |
Eltaron Заслуженный участник форума
Joined: 13 Jan 2009 Posts: 280
Location: Екатеринбург
| Posted: 26.06.2010 22:30 | |
| Antuan wrote: | Без кабеля, я использовал программу poterm.app, это виртуальный терминал для покетов. |
Все *.app работают не от рута, а с правами пользователя "reader". А у него нету прав на такой доступ к устройствам. Полдня сегодня думал, как это обойти... Так и не придумал _________________ Siemens C55 + ReadManiac -> Siemens SX1 + BReader -> Fujitsu-Siemens Pocket Loox 720 + Haali Reader -> Explay TXT.BOOK 3.0 |
|
| |
Mollari Активный участник форума
Joined: 15 Nov 2009 Posts: 197
| Posted: 26.06.2010 22:43 | |
| Eltaron А ежели пароль забрутфорсить рутовый? Или старый трюк с init=/bin/sh в загрузчике? |
|
| |
Antuan Член клуба The eBook
Joined: 30 Sep 2009 Posts: 11643
Location: Киев
| Posted: 26.06.2010 22:45 | |
| Eltaron wrote: | Все *.app работают не от рута, а с правами пользователя "reader" |
nordump что-то сохранил, но это явно не вейвформы, больше похоже не кусок программного кода, часто встречается Code: | Linux pocketbook 2.6.18.2 #750 Thu May 6 11:35:57 EEST 2010 armv4tl |
_________________ PB 360° (v.15.3) | PB Pro 602 Grey (v.2.2.1a fastdrv) | PB A7 (v.1.3.1583) - подарок от PocketBook. |
|
| |
Eltaron Заслуженный участник форума
Joined: 13 Jan 2009 Posts: 280
Location: Екатеринбург
| Posted: 26.06.2010 23:08 | |
| Mollari wrote: | Eltaron А ежели пароль забрутфорсить рутовый? Или старый трюк с init=/bin/sh в загрузчике? |
а тама нету пароля ни у одного юзверя init= конечно сработает, но чтоб до uboot'а добраться потребуется хирургическое вмешательство
Я когда увидел, что у покетбука прошивка подписывается RSA-ключом, а софт работает не из-под рута, долго удивлялся, зачем так наворочено. Счас, блин, понял
Antuan wrote: | nordump что-то сохранил, но это явно не вейвформы, больше похоже не кусок программного кода, часто встречается Code: | Linux pocketbook 2.6.18.2 #750 Thu May 6 11:35:57 EEST 2010 armv4tl |
|
ага, у меня он точно так же работает просто мусор из системной области какой-то _________________ Siemens C55 + ReadManiac -> Siemens SX1 + BReader -> Fujitsu-Siemens Pocket Loox 720 + Haali Reader -> Explay TXT.BOOK 3.0 |
|
| |
Antuan Член клуба The eBook
Joined: 30 Sep 2009 Posts: 11643
Location: Киев
| Posted: 27.06.2010 01:08 | |
| Eltaron wrote: | просто мусор из системной области какой-то |
Или кусок загрузчика uBoot, он ведь записан в NOR. _________________ PB 360° (v.15.3) | PB Pro 602 Grey (v.2.2.1a fastdrv) | PB A7 (v.1.3.1583) - подарок от PocketBook. |
|
| |
Eltaron Заслуженный участник форума
Joined: 13 Jan 2009 Posts: 280
Location: Екатеринбург
| Posted: 27.06.2010 08:09 | |
| Antuan wrote: | Eltaron wrote: | просто мусор из системной области какой-то |
Или кусок загрузчика uBoot, он ведь записан в NOR. |
нет, uboot в NAND'е его через nandread /dev/mtd0 можно прочесть, если хочется _________________ Siemens C55 + ReadManiac -> Siemens SX1 + BReader -> Fujitsu-Siemens Pocket Loox 720 + Haali Reader -> Explay TXT.BOOK 3.0 |
|
| |
Gubin_ss Бывалый участник форума
Joined: 08 Feb 2009 Posts: 106
Location: Омск
| Posted: 20.07.2010 17:17 | |
| Здравствуйте Господа!!! Может подскажет кто нибудь из корифеев, как переписать вейформу на EB100, тобиш Explay V1 или Orsio 721, заранее спасибо, всем успехов _________________ Если чайка летит жопой вперёд, значит ветер сильный "Народная примета" |
|
| |
Eltaron Заслуженный участник форума
Joined: 13 Jan 2009 Posts: 280
Location: Екатеринбург
| Posted: 21.07.2010 10:42 | |
| Gubin_ss Сколько лет, сколько зим
А вот неизвестно. На орсиевском форуме пытались, но ничего не вышло. У тебя ведь явно кабель на ком-порт спаян? Попробуй в терминале wfwrite запустить. Судя по всему она вылетит, но интересно с какой ошибкой _________________ Siemens C55 + ReadManiac -> Siemens SX1 + BReader -> Fujitsu-Siemens Pocket Loox 720 + Haali Reader -> Explay TXT.BOOK 3.0 |
|
| |
DmitryZ Кандидат в члены клуба The eBook
Joined: 29 Dec 2006 Posts: 295
| Posted: 21.07.2010 16:37 | |
| Eltaron, добавь плз в первое сообщение - ни в коем случае не пытайтесь перезаписать вейвформу на эпсоновском контроллере! На самом деле там вейвформа расположена по адресу 0x1000, а начиная с 0 там некая command area, которую если повредить, то девайс умирает совсем, спасает только перепайка SPI флешки. И формат вейвформ там совсем другой, по нему вообще никакой инфы нет. |
|
| |
Eltaron Заслуженный участник форума
Joined: 13 Jan 2009 Posts: 280
Location: Екатеринбург
| Posted: 21.07.2010 18:54 | |
| DmitryZ фигасе... добавил _________________ Siemens C55 + ReadManiac -> Siemens SX1 + BReader -> Fujitsu-Siemens Pocket Loox 720 + Haali Reader -> Explay TXT.BOOK 3.0 |
|
| |
Gubin_ss Бывалый участник форума
Joined: 08 Feb 2009 Posts: 106
Location: Омск
| Posted: 22.07.2010 14:50 | |
| Чёрт побери, подумал может быть попробовать на cybook NB100 попробовать прошить, на них визплексы стоят, и вайформу перешить может сама прошивка, но не нашёл я прошивки то, забанены все ссылки, может у кого осталась? _________________ Если чайка летит жопой вперёд, значит ветер сильный "Народная примета" |
|
| |
radugaif Член клуба The eBook
Joined: 16 Dec 2004 Posts: 1017
Location: Деревня Moskow
| Posted: 30.07.2010 12:22 | |
| я выложил набор рабочих Waveform's для Lbook Собственно подходят для эксплей и орсий на PVI контроллере тут собственно самые последние, середнячек , самые лучшие из старых и для LG матриц-
http://ifolder.ru/18708390
********************************
ищу инфу как их подписать для прошивки Покета 301 на PVI - там вроде что-то MD5 128 bit должна быть но цифири не те - так что как она просчитана не докумекаю.
если менять содержимое WF а Хэш оставить старым - покет пишет что прошивка битая и WF не меняет.
может кто поможет ?
http://ifolder.ru/18714274
это рабочие waveform's для Покета.. но старые .
Требуемый просчета Хэш в начале файла. _________________ Ремонт электронных книг в Москве. |
|
| |
Eltaron Заслуженный участник форума
Joined: 13 Jan 2009 Posts: 280
Location: Екатеринбург
| Posted: 30.07.2010 16:20 | |
| radugaif wrote: | ищу инфу как их подписать для прошивки Покета 301 на PVI - там вроде что-то MD5 128 bit должна быть но цифири не те - так что как она просчитана не докумекаю.
|
там цифровая подпись через, кажется, AES 128 Не зная ключа (а его только покетбук знает) ничего не выйдет. А подбирать без квантового компьютера бессмысленно Проще swupdate крякнуть, чтоб он мог ставить прошивки, подписанные кем угодно _________________ Siemens C55 + ReadManiac -> Siemens SX1 + BReader -> Fujitsu-Siemens Pocket Loox 720 + Haali Reader -> Explay TXT.BOOK 3.0 |
|
| |
DmitryZ Кандидат в члены клуба The eBook
Joined: 29 Dec 2006 Posts: 295
| Posted: 30.07.2010 22:26 | |
| Вейвформу на покете подписывать не нужно, подпись проверяется только для файловой системы и ядра. А MD5 ессно нужно пересчитать. |
|
| |
Gubin_ss Бывалый участник форума
Joined: 08 Feb 2009 Posts: 106
Location: Омск
| Posted: 16.09.2010 13:15 | |
| Здравствуйте господа программисты. Тут небольшой вопросик, записать вайформу с флешки, это надо просто переименовать в update_kernel
mount -o remount,rw /dev/mmcblk0 mount -o remount,rw /dev/mmcblk0p1 DIR=$(echo $0 | sed s/`basename $0`$//) ${DIR}wfdump /dev/fb0 ${DIR}waveform_backup.bin sync mount -o remount,ro /dev/mmcblk0 mount -o remount,ro /dev/mmcblk0p1
wfdump в wfwrite. Больше ни чего править не надо? _________________ Если чайка летит жопой вперёд, значит ветер сильный "Народная примета" |
|
| |